Portál AbcLinuxu, 15. července 2025 09:56


Dotaz: iptables

15.8.2005 16:56 secido
iptables
Přečteno: 225×
Odpovědět | Admin
Mám router a potrebujem na ňom nastaviť iptables tak, aby bolo blokované všetko okrem mnou zvolených portov. Myslím, že sa to bude týkať chainu FORWARD, eth0 je von, eth1 je lokálna:
#!/bin/bash
NET="192.168.1.0/24"
IPT="/sbin/iptables"
TCP="ssh,smtp,www,https,ftp,ftp-data,irc,5190,pop3,pop3s"

$IPT -P FORWARD DROP

$IPT -A FORWARD -m multiport -p tcp -i eth1 \
    --dports $TCP -s $NET -j ACCEPT

$IPT -A FORWARD -m multiport -p tcp -o eth1 \
    --sports $TCP -d $NET -j ACCEPT

$IPT -A FORWARD -m multiport -p udp -i eth1 \
    --dports domain -j ACCEPT
Zdá sa, že to negunguje dokonale, kde mám chybu?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.8.2005 18:08 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jenom taková blbost a přes jaké zařízení to má odcházet když to má routovat ?

Přijímání a odesílání těch portů máš pouze na eth1 a o jiném zařízení tam není ani řeči :-) takže dodat pravidla pro eth0 a taktéž pro input a output neboť ten router taky určitě musí nějak komunikovat i když třeba jenom přes lo. (127.0.0.1).

PS. Podívej se na internetu je hromada firewallů a trochu to nastuduj a předělej.
15.8.2005 18:28 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: iptables
V tom bych neviděl problém, pokud nezablokuje INPUT a OUTPUT, může klidně FORWARD nechat takhle, i když já bych pochopitelně raději psal '-i eth0 -o eth1' resp. naopak. No, vlastně bych spíš psal spíš '-i $EXTIF -o $INTIF'… :-)
15.8.2005 18:08 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
  $IPT -A FORWARD -m multiport -p tcp -o eth1 \
      --sports $TCP -d $NET -j ACCEPT
Tak tohle je přímo ukázková chyba. Tím totiž nepovolujete odpovědi na své dotazy na vybrané služby ale jakoukoli TCP komunikaci do vnitřní sítě, použije-li útočník jako zdrojový některý z vyjmenovaných portů. To ovšem není nejmenší problém a vzhledem k tomu, že tam máte i neprivilegované porty, nepotřebuje k tomu ani práva roota na svém počítači.

Správnější by bylo místo toho použít

  iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
To by mohlo řešit i váš problém, který by mohl spočívat v tom, že sice povolujete DNS dotazy ven, ale už ne odpovědi na ně. Jestli to nepomůže, nezbyde než odtajnit informaci, co konkrétně znamená vaše "to negunguje dokonale".
15.8.2005 18:52 karel
Rozbalit Rozbalit vše Re: iptables
němelo by to být obráceně? nejdřív povolit potřebný služby a pak na konci vše zakázat. ( ne zakazat a pak povolovat. to mi nidky nešlo). Co vubec znamena to -m state --state ESTABLISHED,RELATED -j ACCEPT ?
15.8.2005 19:04 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: iptables
Na pořadí nezáleží, politika je nezávislá na obsahu chainu. Problém to může být jedině v případě, že zadáváte příkazy postupně (interaktivně) shellu při vzdáleném připojení. Co se týká významu toho pravidla, to je popsáno prakticky v jakémkoli dostupném tutorialu, takže to ponecháme laskavému čtenáři k nastudování. :-)
16.8.2005 17:52 secido
Rozbalit Rozbalit vše Re: iptables
Tak som to urobil cez state, ale problém je, že spojenia, ktoré boli nadviazané predtým, to nechá bežať, čo je nežiadúce.

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.