Tervehdys arvon raadille
Olen harjoitus mielessä tehnyt iptables palomuuria Ubuntu 9.04
Haluaisin selvyyttä tähän lippu asiaan laitan muurin sitten kokonaisuudessaan tänne näytille kommentoitavaksi ja lainattavaksi.
SYN lippu määritykset ovat varsin mielenkiintoisia.
Onko toimiva jos alla olevat lippu määritykset tulevat samaan palomuuriin joka toimisi ns. päämuurina
kolme liitäntää
eth0 wan
eth1 toinen server jossa NAT sekä 2 aliverkkoa
eth2 DMZ apache
Minkälaisia lippumäärityksiä käytätte ?
onko tuossa pahoja päällekkäisyyksiä ja miten noiden sääntöjen järjestys
#
http://linux.die.net/man/8/iptables#lontoon murre iptables kotsivu
http://www.netfilter.org/documentation/index.html#documentation-howto#
http://www.h3c.com/portal/Products___Solutions/Technology/Security_and_VPN/Technology_White_Paper/200812/624110_57_0.htm#
http://www.knowplace.org/pages/howtos/firewalling_with_netfilter_iptables/ip_overview.php#
http://nmap.org/book/man-port-scanning-techniques.html#sisääntulossa ei saa olla syn bitti on asennossa
#uloslähdössä ei saa olla syn/ack bitti on asennossa
# sallitaan TCP SYN cookie suojaus from SYN floods
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# salli lahde osoitteiden spoof suojaus
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
#tämä ei estä ddos hyokkayksia mutta synflood ok
iptables -N synflood
iptables -A synflood -m limit --limit 10/second --limit-burst 24 -j RETURN
iptables -A synflood -j REJECT
iptables -A INPUT -p tcp --syn -j synflood
#+--pakettien rajoitus--+
sudo iptables -A INPUT -m limit –-limit 5/m –-limit-burst 10 –-syn -j ACCEPT
#+--pudotetaan kaikki ping paketit jotka ovat isompia kuin 85 tavua--+
#sudo iptables -A INPUT -p icmp --icmp-type echo-request -m length --length 86:0xffff -j DROP
#+--sallitaan vain siina tapauksessa kun olemme yhteyden aloittaneet kohteeseen--+
sudo iptables -A INPUT -i $wanportti -p tcp --syn -j DROP
#+--Syn-flood suojaus--+
sudo iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
#+--portti scannereille--+
sudo iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#+--pingauksen kiusaus--+
sudo iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#
http://netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-7.html# pudotetaan kaikki jotka eivät aloita yhteyttä syn lipulla
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#+--INVALID pakettien pudotus--+
sudo iptables -A FORWARD -i eth0 -m state ! --state NEW -j DROP
# pudotetaan kaikki paketit joita ei tunnisteta
iptables -A INPUT -m state --state INVALID -j DROP
#+--tcp pakettien tarkistus--+
iptables -A INPUT -p tcp –-tcp-flags SYN, ACK, FIN SYN -j DROP
#ALL is synonymous with SYN,ACK,FIN,RST,URG,PSH but only SYN and ACK should be set.
#
http://netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-7.html#vain SYN ja ACK lippu sallitaan
#all korvaa muut syn ack sallitaan
iptables -A INPUT -p tcp --tcp-flags ALL SYN,ACK -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP #xmas
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP #pahat
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP #null paketit
iptables -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,PSH,URG -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,FIN,PSH SYN,FIN,PSH -j DROP #pahat
iptables -A INPUT -p tcp --tcp-flags SYN,FIN,RST SYN,FIN,RST -j DROP #pahat
iptables -A INPUT -p tcp --tcp-flags SYN,FIN,RST,PSH SYN,FIN,RST,PSH -j DROP #pahat
iptables -A INPUT -p tcp --tcp-flags ALL ACK,RST,SYN,FIN -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags FIN FIN -j DROP #FIN ainostaan
iptables -A INPUT -p tcp --tcp-flags ALL SYN -j DROP #FIN ainostaan
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP #FIN ainostaan
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP #FIN ainostaan
iptables -A INPUT -p tcp --tcp-flags FIN,ACK FIN -j DROP #FIN
Kiitokset raadille etukäteen
EDIT muutama typo fiksattu