Portál AbcLinuxu, 25. dubna 2024 08:36


Dotaz: Pravidla pro iptables

Petr Ullmann avatar 22.9.2005 17:56 Petr Ullmann | skóre: 19 | blog: Linuxový bloček | Praha - Kobylisy
Pravidla pro iptables
Přečteno: 237×
Odpovědět | Admin
Dobrý podvečer, podařilo se mi zprovoznit router pro mojí domácí síť a nyní stojím před napsáním pravidel pro iptables. Má dvě síťovky eth0 vede do internetu a eth1 je pro vnitřní síť. Zatím se mi podařilo napsat pár, podle mě, základních pravidel. Správa routeru se dělá přes telnet (bude ssh) a to jenom z vnitřní sítě. V síti je pět počítačů - 3x win a 2x linux. Chtěl bych vás poprosit, jestli byste mohli moje pravidla zkouknout a říct mi, co si myslíte. Budu moc vděčný za každou kritiku a radu. Dělám něco podobného poprvé. Předem děkuji.
iptables -A INPUT -i eth1 -p tcp --dport 23 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 21 -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth1 -p icmp -j ACCEPT
iptables -A INPUT -p icmp -i eth1 --icmp-type 0 -j ACCEPT
iptables -A INPUT -p icmp -i eth1 --icmp-type 3 -j ACCEPT
iptables -A INPUT -p icmp -i eth1 --icmp-type 8 -j ACCEPT
iptables -A INPUT -p icmp -i eth1 --icmp-type 11 -j ACCEPT
iptables -A INPUT -p all -i lo -j ACCEPT
iptables -P INPUT DROP

iptables -A OUTPUT -p icmp -o eth1 --icmp-type 0 -j ACCEPT
iptables -A OUTPUT -p icmp -o eth1 --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp --sport 23 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp --sport 21 -j ACCEPT
iptables -P OUTPUT DROP

iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
iptables -P FORWARD ACCEPT
Forza Linux!!!
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.9.2005 18:13 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Pravidla pro iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co to dělá nebudu hodnotit (nechce se mi takhle večer přemýšlet :-) ), ale tahle kontrukce je podivuhodná (dovolil jsem si přehodit pořadí parametrů):
...
iptables -A INPUT -p icmp -i eth1                -j ACCEPT
iptables -A INPUT -p icmp -i eth1 --icmp-type 0  -j ACCEPT
iptables -A INPUT -p icmp -i eth1 --icmp-type 3  -j ACCEPT
iptables -A INPUT -p icmp -i eth1 --icmp-type 8  -j ACCEPT
iptables -A INPUT -p icmp -i eth1 --icmp-type 11 -j ACCEPT
...
22.9.2005 19:46 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Pravidla pro iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
Možná bych filtroval i FORWARD chain. Něco jako
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P FORWARD DROP
Quando omni flunkus moritati
22.9.2005 20:19 georgewh
Rozbalit Rozbalit vše Re: Pravidla pro iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
pozri http://deja-vix.sk/sysadmin/firewall.html#top
22.9.2005 23:26 Rozik | skóre: 14
Rozbalit Rozbalit vše Re: Pravidla pro iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud neni nutne otevirat telnet, tak bych jej vyhodil. RAdeji si pustte ssh. chain OUTPUT, bych vubec neresil. U icmp nechapu, proc nejprve povolite vse a pote znovu typ 0,3,8,11.

Pro inspiraci :-) Tento script mam v kanclu na oviskovi.
#!/bin/sh
# IP adresa a vnejsi rozhrani
INET_IP="192.168.65.4"
INET_IFACE="wlan0"

# IP, broadcast adresa a rozhrani vnitrni site
LAN1_IP="192.168.65.180"
LAN1_BCAST="192.168.65.191"
LAN1_IFACE="eth0"

# Lokalni loopback rozhrani
LO_IFACE="lo"
LO_IP="127.0.0.1/8"

# Cesta k programu iptables
IPTABLES="iptables"

# Nastaveni implicitni politiky - Input a Forward mazat, Output prijmout
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT

#$IPTABLES -N SAMBANET

# Povoleni Mac, ktere budou moci do site bez omezeni... (bezpecne adresy)
$IPTABLES -N MACADR
$IPTABLES -A MACADR -m mac --mac-source 00:C0:9F:0D:52:CC -s 192.168.65.124 -j ACCEPT   # NOTEBOOK HP - XE4400 (ethernet)
#$IPTABLES -A MACADR -m mac --mac-source 00:4F:62:00:53:13 -s 192.168.65.3 -j ACCEPT   # router doma
#$IPTABLES -A MACADR -m mac --mac-source 00:4F:62:00:53:13 -s 192.168.65.170/28 -j ACCEPT   # sit doma
$IPTABLES -A MACADR -s 192.168.65.160/28 -j ACCEPT   # sit doma
$IPTABLES -A MACADR -s 192.168.65.210 -j ACCEPT

# Retezec FORWARD
$IPTABLES -A FORWARD -i $INET_IFACE -p ICMP -j ACCEPT
$IPTABLES -A FORWARD -i $INET_IFACE -j MACADR
$IPTABLES -A FORWARD -i $INET_IFACE -p TCP --dport 137:139 -j SAMBANET  #Samba
$IPTABLES -A FORWARD -i $INET_IFACE -p TCP --dport 445 -j SAMBANET  #Samba
$IPTABLES -A FORWARD -i $INET_IFACE -p UDP --dport 137:139 -j SAMBANET  #Samba
$IPTABLES -A FORWARD -i $INET_IFACE -p UDP --dport 445 -j SAMBANET  #Samba
$IPTABLES -A FORWARD -i $INET_IFACE -p TCP --dport 3389 -j SAMBANET  #Vzd. pl.
$IPTABLES -A FORWARD -i $LAN1_IFACE -j ACCEPT
$IPTABLES -A FORWARD -i $INET_IFACE -o $LAN1_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INET_IFACE -s 192.168.0.0/16 -j REJECT

# Retezec INPUT
$IPTABLES -A INPUT -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 23 -j ACCEPT  #TELNET
$IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 80 -j ACCEPT  #WWW server
$IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 113 -j REJECT --reject-with tcp-reset #AUTH server
$IPTABLES -A INPUT -i $INET_IFACE -p ICMP -j ACCEPT
$IPTABLES -A INPUT -i $INET_IFACE -j MACADR
$IPTABLES -A INPUT -i $INET_IFACE -s $INET_IP -j ACCEPT
$IPTABLES -A INPUT -i $LO_IFACE -j ACCEPT
$IPTABLES -A INPUT -i $LAN1_IFACE -j ACCEPT
$IPTABLES -A INPUT -i $LAN1_IFACE -d $LAN1_BCAST -j ACCEPT
$IPTABLES -A INPUT -d 192.168.100.252 -j ACCEPT
$IPTABLES -A INPUT -i $INET_IFACE -s 192.168.0.0/16 -j REJECT
-- Zadny uceny z nebe nespad --
Petr Ullmann avatar 23.9.2005 00:04 Petr Ullmann | skóre: 19 | blog: Linuxový bloček | Praha - Kobylisy
Rozbalit Rozbalit vše Re: Pravidla pro iptables
U toho ICMP se mi první řádek, který všechno povoluje, tam dostal omylem. Děkuju za inspiraci, juknu na to.
Forza Linux!!!
Petr Ullmann avatar 23.9.2005 00:13 Petr Ullmann | skóre: 19 | blog: Linuxový bloček | Praha - Kobylisy
Rozbalit Rozbalit vše Re: Pravidla pro iptables
chain OUTPUT, bych vubec neresil.

myslíte použít něco jako: iptables -P OUTPUT ACCEPT

Forza Linux!!!
23.9.2005 11:22 Rozik | skóre: 14
Rozbalit Rozbalit vše Re: Pravidla pro iptables
Presne tak.
-- Zadny uceny z nebe nespad --
23.9.2005 07:31 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Pravidla pro iptables
Chain OUTPUT, bych vubec neresil.

Filtrovanie OUTPUT môže mať zmysel. Predstav si napríklad, že máš za FW sieť a na tú sieť sa dostane nejaká neplecha (nebudeme teraz riešiť, ako sa tam dostala) v takom prípade môžeš potrebovať filtrovať output, aby sa neplecha nemohla robiť flood, alebo sa nebodaj pripájať k svojmu tvorcovi. Spravidla nie je dôvod, aby z LAN odchádzalo niečo iné ako http a smtp.

23.9.2005 11:29 Rozik | skóre: 14
Rozbalit Rozbalit vše Re: Pravidla pro iptables
Presne tak muze myt smysl. Ve vetsine pripadech si vsak myslim, ze je to zbytecny. V output jde o to, co odchazi z routeru, nikoliv ze site. To, co odchazi ze site, prefiltruji v chainu FORWARD. Predpokladam, ze ve vetsine pripadech na routeru nebezi nic nebezpecneho.
-- Zadny uceny z nebe nespad --
23.9.2005 11:50 Rozik | skóre: 14
Rozbalit Rozbalit vše Re: Pravidla pro iptables
A jeste jsem zapomnel dodat, ze na oviska jsou z APcka odroutovany veskere rozsahy, ktere pouzivam na vnitri siti, takze tam nepouzivam NAT. Je dost pravdepodobne, ze budete mit pridelenou jen jednu IP, takze nezapomenout na radek typu
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -s 192.168.65.160/28 -j SNAT --t
o-source $INET_IP
-- Zadny uceny z nebe nespad --
25.9.2005 23:04 jirka
Rozbalit Rozbalit vše Re: Pravidla pro iptables
No moc mi to není jasný:
# Retezec INPUT
$IPTABLES -A INPUT -i $INET_IFACE -s $INET_IP -j ACCEPT
Proč povolujete tuto adresu, pokud je to lokální, tak to pokryje přece:
# Retezec INPUT
$IPTABLES -A INPUT -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
23.9.2005 00:24 puchy | skóre: 11
Rozbalit Rozbalit vše Re: Pravidla pro iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus se podívat na http://www.petricek.cz/mpfw/
Rozdejte hesla chudým
23.9.2005 11:39 Rozik | skóre: 14
Rozbalit Rozbalit vše Re: Pravidla pro iptables
Vrele doporucuji si precist jeho tutorial. Nicmene upozornuji, ze po pouziti jeho scriptu, se tu jiz nekolikrat objevila otazka typu "iptables - co je spatne". Rozhodhodne ten script nehanim, je pekny a sam jsem z neho vychazel (viz promenne v mem scriptu), jenze je psan pro jine podminky, nez maji ctenari. Takze pokud jej pouzijete a nepujde Vam to, tak si probledejte ABC.
-- Zadny uceny z nebe nespad --

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.