|
IPTables i dziwne zachowanie serwera
giver - 26-08-2009 19:12
######################################### #sudo chmod 700 firewall.sh # #sudo cp firewall.sh /etc/init.d/ # #sudo update-rc.d firewall.sh default # ######################################### echo "Konfiguracja firewalla rozpoczeta" # czyscimy wszystko iptables -F
iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP
################ # blokujemy # ################ #### wlaczenie loopback iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A FORWARD -o lo -j ACCEPT
iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED iptables -A INPUT -p icmp -j ACCEPT -m state --state RELATED
# www i DNS iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p udp --dport 53 -j ACCEPT
# ssh iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p udp --dport 22 -j ACCEPT
# http i https iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p udp --dport 80 -j ACCEPT #iptables -A INPUT -p tcp --dport 443 -j ACCEPT #iptables -A INPUT -p udp --dport 443 -j ACCEPT
# ftp iptables -A INPUT -p tcp --dport 20 -j ACCEPT iptables -A INPUT -p udp --dport 20 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p udp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT
# smtp oraz pop3 - oba z ssl iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A INPUT -p udp --dport 25 -j ACCEPT #iptables -A INPUT -p tcp --dport 110 -j ACCEPT #iptables -A INPUT -p udp --dport 110 -j ACCEPT #iptables -A INPUT -p tcp --dport 465 -j ACCEPT #iptables -A INPUT -p udp --dport 465 -j ACCEPT #iptables -A INPUT -p tcp --dport 995 -j ACCEPT #iptables -A INPUT -p udp --dport 995 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
echo "Konfiguracja firewalla zakonczona"
Problem polega na tym, że serwer po jakimś czasie po odpaleniu regułek głupieje, czytaj nie można z nim nawiązać połączenie przez ssh. Gdy serwer jeszcze pracuje poprawnie, a wydam mu polecenie:
iptables -F
nagle przestaje odpowiadać i tylko restart pomaga. Może to kwestia jakiegoś moduły? Niestety, ale problem dotyczy VPS na OpenVZ, więc o załadowanie ewentualnie jakiegoś dodatkowego modułu będę musiał prosić administratora.
grochu - 26-08-2009 19:34
Co do zachowania po wydaniu komendy:
iptables -F
to jest ono prawidłowe. Poleceniem tym (w uproszczeniu) czyścisz regułki, ale nie czyścisz polityk, czyli zostaje dla ,,INPUT'' i ,,FORWARD'' polityka ,,DROP''. Gdybyś chciał wyłączyć zupełnie zaporę to wydaj polecenie:
iptables -P INPUT ACCEPT
oraz:
iptables -P FORWARD ACCEPT
Jeżeli chodzi o to dziwne zachowanie to co pokazuje nmap, porty są otwarte?
giver - 26-08-2009 19:38
Tak, są te otwarte, dla których jest polityka ,,ACCEPT'' - inaczej niż gdy iptables jest wyłączone (wtedy jest więcej otwartych portów), więc teoretycznie iptables spełnia swoje zadanie, a jednak coś się krzaczy po jakimś czasie. sudo iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state ESTABLISHED ACCEPT udp -- anywhere anywhere state ESTABLISHED ACCEPT icmp -- anywhere anywhere state ESTABLISHED ACCEPT icmp -- anywhere anywhere state RELATED ACCEPT tcp -- anywhere anywhere tcp dpt:www ACCEPT tcp -- anywhere anywhere tcp dpt:domain ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:ssh ACCEPT udp -- anywhere anywhere udp dpt:ssh ACCEPT tcp -- anywhere anywhere tcp dpt:www ACCEPT udp -- anywhere anywhere udp dpt:www ACCEPT tcp -- anywhere anywhere tcp dpt:ftp-data ACCEPT udp -- anywhere anywhere udp dpt:20 ACCEPT tcp -- anywhere anywhere tcp dpt:ftp ACCEPT udp -- anywhere anywhere udp dpt:fsp ACCEPT tcp -- anywhere anywhere tcp dpts:49152:65534 ACCEPT tcp -- anywhere anywhere tcp dpt:1050 ACCEPT udp -- anywhere anywhere udp dpt:1050 ACCEPT tcp -- anywhere anywhere tcp dpt:smtp ACCEPT udp -- anywhere anywhere udp dpt:25
Nmap przed dodaniem reguł:
21/tcp open ftp 22/tcp open ssh 25/tcp open smtp 53/tcp open domain 80/tcp open http 6662/tcp filtered radmind 6665/tcp filtered irc 6666/tcp filtered irc 6667/tcp filtered irc 6668/tcp filtered irc 6669/tcp filtered irc
i po dodaniu reguł:
20/tcp closed ftp-data 21/tcp open ftp 22/tcp open ssh 25/tcp open smtp 53/tcp open domain 80/tcp open http 1050/tcp closed java-or-OTGfileshare 49400/tcp closed compaqdiag 50000/tcp closed iiimsf 50002/tcp closed iiimsf 54320/tcp closed bo2k 61439/tcp closed netprowler-manager 61440/tcp closed netprowler-manager2 61441/tcp closed netprowler-sensor 65301/tcp closed pcanywhere
[Dodano: 2009-08-26, 20:30] Przy okazji znalazłem jeszcze jeden problem z iptables. Nie mogę się połączyć przez EKG, na którym są dodane reguły. Myślałem, że pomyliłem porty, więc na chwilę otworzyłem wszystkie porty powyżej 1024 dla TCP i nic. To samo gdy ustawię politykę na ,,ACCEPT'' dla ,,INPUT'' i usunę wszystkie reguły.
Iptables -L
pokazuje, że nie ma dodanych żadnych reguł, tak samo jak po restarcie, a wtedy mimo to EKG się łączy poprawnie.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|