Linux за българи: Форуми

Сигурност => Системна Сигурност => Темата е започната от: toti84 в Mar 14, 2010, 13:25



Титла: Повече сигурност с iptables. Как ?
Публикувано от: toti84 в Mar 14, 2010, 13:25
Здравейте колеги,
Проблема ми е следния, който произлиза от факта, че до сега не съм отварял от така наречените публичните поротве
като в този случай е 80, Като притесненията ми са, че е напълно възможно да ме бомбандират с "лоши" tcp/ip пакети, кънекции и т.н.
правилата, който съм сложил до този момент са:

Код:
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j HTTPD 
-A HTTPD -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "iptables bad 1: "
-A HTTPD -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP         
-A HTTPD -f -j LOG --log-prefix "iptables bad fragment: "                                     
-A HTTPD -f -j DROP                                                                           
-A HTTPD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j LOG --log-prefix "iptables bad 2: "     
-A HTTPD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP                 
-A HTTPD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j LOG --log-prefix "iptables bad 3: "
-A HTTPD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP     
-A HTTPD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j LOG --log-prefix "iptables bad 4: "
-A HTTPD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP                       
-A HTTPD -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "iptables bad 5: "     
-A HTTPD -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP                                     
-A HTTPD -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j LOG --log-prefix "iptables bad 6: "     
-A HTTPD -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP                                     
-A HTTPD -p tcp -m tcp --tcp-flags FIN,ACK FIN -j LOG --log-prefix "iptables bad 7: "         
-A HTTPD -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP                                         
-A HTTPD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j LOG --log-prefix "iptables bad 8: "
-A HTTPD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j DROP         
-A HTTPD -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j LOG --log-prefix "trafic80 "
-A HTTPD -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 25 --connlimit-mask 32 -j DROP
-A HTTPD -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

Ако може да предложите някои правила да подсиля защитаната стена ще съм много благодарен
Забравих и да спомента че направих и някои промени в насторойките на ядрото :
Код:
/etc/sysctl.conf                                                                                     
net.ipv4.icmp_echo_ignore_broadcasts = 1                                                             
net.ipv4.icmp_echo_ignore_all = 1                                                                   
net.ipv4.tcp_syncookies = 1                                                                         
net.ipv4.conf.all.rp_filter = 1                                                                     
net.ipv4.conf.all.log_martians = 1                                                                   
net.ipv4.conf.all.accept_source_route = 0                                                           
net.ipv4.conf.all.accept_redirects = 0                                                               
net.ipv4.conf.all.secure_redirects = 0                                                               
net.ipv4.conf.all.send_redirects = 0

ОС: Fedora 12; Web server: Apache2


Титла: Re: Повече сигурност с iptables. Как ?
Публикувано от: zeridon в Mar 14, 2010, 19:37
махни net.ipv4.icmp_echo_ignore_all = 1
по скоро пречи в дебъгването на някои ситуации

може да сложиш и нещо то сорта на mod_bwlimit за апача

можеш да добавиш и:
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1


Титла: Re: Повече сигурност с iptables. Как ?
Публикувано от: Warstomp в Mar 15, 2010, 08:46
Това ако е за раздел начинаещи - евала  :D


Титла: Re: Повече сигурност с iptables. Как ?
Публикувано от: VladSun в Mar 15, 2010, 10:48
Не съм разглеждал подробно правилата, но веднага ти казвам да сложиш limit match на всяко -j LOG - иначе си правиш log-flood :)