Kirjoittaja Aihe: mielipidettä Iptables lippu määritykset SYN jne.  (Luettu 2005 kertaa)

Laplinux

  • Käyttäjä
  • Viestejä: 148
    • Profiili
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.  :o
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







« Viimeksi muokattu: 16.02.10 - klo:20.35 kirjoittanut Laplinux »