[OpenVPN] [Ubuntu] reguły iptables dla logowania się SSH oraz FTP

Jak powinienem sonfigurować reguły iptables aby możliwy był ruch wychodzący i przychodzący po połączeniu się z VPN do:

  1. Logowania sie SSH

  2. Korzystania z FTP.

Po nawiązaniu sesji VPN logujesz się adresem lokalnym. Jak wygląda konfiguracja sieci, w ktorej jest Ubuntu? Masz ustawione jakieś reguły iptables?

Skobfigurowaleś porty pasywne w konfiguracji FTP?

Jeśli chodzi o ruch przychodzący, to w łańcuchu input akceptujesz ruch na port docelowy. Jeśli przed Ubuntu jest system z iptables, to łańcuch forward. Ruch wychodzący dotyczy nawiązywania połączeń z maszyny. Tu zostawiasz domyślnie accept lub zezwalasz na nawiazywanie nowych połączeń i ruch z połączeń już nawiązanych.

Istniejące reguły iptables.

Jestem początkującym użytkownikiem.

  1. Jak sprawdzić czy czy mam porty pasywne FTP?
  2. Jak zaakceptować ruch na port docelowy i inne połączenia o których piszesz pod pytaniem o FTP?

Jeśli chodzi o ruch przychodzący, to w łańcuchu input akceptujesz ruch na port docelowy. Jeśli przed Ubuntu jest system z iptables, to łańcuch forward. Ruch wychodzący dotyczy nawiązywania połączeń z maszyny. Tu zostawiasz domyślnie accept lub zezwalasz na nawiazywanie nowych połączeń i ruch z połączeń już nawiązanych.

Straszny śmietnik masz w IPTables. Jeśli używasz skryptów typu Fail2Ban, które robią właśnie taki śmietnik, lepiej tego nie ruszaj lub zrezygnuj z Fail2Ban i skonfiguruj iptables ręcznie. Ja stosuję wszędzie takie podstawowe reguły. UWAGA! Zanim je zastosujesz, upewnij się, że dodałeś swoje IP do wyjątków, bo odetniesz sobie dostęp do serwera.

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

## W tym miejscu dodajesz reguły zezwalające na ruch. Ponizej przyklad. ##
# iptables -A INPUT -p tcp -s X.X.X.X --dport 20:22 -j ACCEPT
# iptables -A INPUT -p tcp -s X.X.X.X --dport 40000:50000 -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

X.X.X.X to IP, z którego dozwolone jest łączenie się na porty 20, 21, 22 i 40000 do 50000 (załóżmy, że takie porty pasywne ustawisz w FTP). Wówczas fail2 ban jest Tobie zbędny. Lepiej jest wyłączyć dostęp do SSH i włączać go na żądanie poprzez tak zwany port knocking.

Nie wiem jaki serwer FTP postawiłeś. Podejrzewam, że popularny ProFTPd. W proftpd.conf podajesz dyrektywę PassivePorts.