firewoll sekce forward

Růžička ruzicka na sis.znojmo.cz
Pátek Říjen 31 10:17:39 CET 2003


Hallo,

># Paket je oznacen jako NEW, ale nema nastaveny priznak SYN, pryc s nim
>$IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP

Zcela zbytecne, novy TCP paket bez priznaku SYN je INVALID, nikdy NEW.

># Nechceme rezervovane adresy na internetovem rozhrani
>$IPTABLES -A FORWARD -i $INET_IFACE -j IN_FW

OK. Mimochodem to resi stavovy firewall, ktery zvenku nepropusti nova
spojeni...

># Routing zevnitr site ven neomezujeme
>#$IPTABLES -A FORWARD -i $LAN1_IFACE -j ACCEPT

Tady bych spis doporucil

$IPTABLES -A FORWARD -o $INET_IFACE -j ACCEPT

Rozdil poznate v okamziku, kdy pridate sitovou kartu pro dalsi vnitrni
sit...

Jeste lepsi by mozna bylo (kdyz uz mame ten stavovy firewall...)

$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -o $INET_IFACE -m state --state NEW -j ACCEPT

>************************************************************************
>
>Tak a tady ja potrebuju aby ven mohli jen vybrani uzivatele podle
>vnitrni ip adresy.
>Standartne je tam vsechni z venku vsude. vis up ; ).
>
>Tak jsem tam pripsal
>
>$IPTABLES -A FORWARD -s 223.233.100143 -j ACCEPT

Uz jste nahore povolil vse z vnitrni site, toto pravidlo se tedy uplatni
pouze v pripade, ze z vnejsku prijde novy paket s adresou 223.233.100.143,
coz se muze stat, protoze adresa neni z rozsahu vyhrazeneho pri lokalni
site, coz muze byt pricina tech logu...

>Proc se ptam protoze to normalne funguje muzu normalne ven ale presto mi
>to nejaky pakety zahazuje.
>Coz je jaksi nesmysl nebo uz nevidim kde je chyba.
>Log vypisuje:
>Forward drop: IN=eth1 OUT=eth0 src=223.233.100.143 dst=81.101.131.130
>len=1210 tos=0x00 prec=0x00 ttl=127 id=3146 DF proto=tcp spt=3397
>dpt=4662 window=65351 res=0x00 ack psh urgp=0

Nenapsal jste, ktere xxxx_IFACE je eth0 a ktere eth1. Pokud mate lokalni sit
maskaradovanou (prip. SNATovanou), je lepsi pro lokalni adresy pouzit
vyhrazene rozsahy (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/24).

>************************************************************************
>
>
># Routing zvenku dovnitr pouze pro navazana spojeni (stavovy firewall)
>$IPTABLES -A FORWARD -i $INET_IFACE -o $LAN1_IFACE \
>  -m state --state ESTABLISHED,RELATED -j ACCEPT

To by uz vsechno resilo pravidlo vyse, ktere povoli vsechna navazana
spojeni:

$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

============

Cili shrnuto - za prve si nastavte IP adresy do vnitrni site tak, aby
spadaly do vyhrazenych rozsahu - napr. 192.168.1.1-192.168.1.254, tedy
sitova maska 255.255.255.0, a pote rozdelit strojum adresy tak, aby napr.
ty, ktere nemaji mit pristup na Inet, dostaly IP mezi
192.168.1.1-192.168.1.127, a ty, ktere mohou ven, IP mezi
192.168.1.128-192.168.1.254 .

Pravidla by mohla vypadat takto:

# povolene IP adresy (napr.)
LOCALNET="192.168.1.128/25"
# povolime vsechna navazana spojeni
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# ven mohou jit i nova spojeni z vyhrazenych adres 192.168.1.128/25,
# tzn. vsechny stroje s IP mezi 192.168.1.128 - 192.168.1.254 .
$IPTABLES -A FORWARD -s $LOCAL_NET -o $INET_IFACE -m state \
  --state NEW -j ACCEPT
$IPTABLES -A FORWARD -m limit --limit 12/h -j LOG \
  --log-prefix "forward drop: "

Jak jednoduche, proste a funkcni - viva stavovy firewall :-).

Samozrejme je nutne nezapomenout na SNAT (maskaradu).

--
David Ruzicka




Další informace o konferenci Linux