Firewall

Tyman Vladimir vladimir.tyman at i.cz
Thu Feb 26 00:50:40 CET 2004


Večeřa Antonín wrote:
>>Pokud se ptate se na kombinaci ipf+ipnat jinymi slovy ipfilter od 
>>D.Reeda tak tedy ipfilter funguje pokud me pamet neklame takto:
>>
>>input-paket->input-iface->ipnat->ipf->kernel->ipf->ipnat->outp
>>ut-iface->output-paket
>>
>>Pokud je to tak jak jste to napsal pak v ipf(outside) opravdu 
>>nepoznate 
>>src adresu, ale otazka je proc to chcete takhle zkonfigurovat?
> 
> 
> Chci router/firewall pro domaci sit.
> Aby slo provozovat hry,icq,atd. z domaci site + web server.
> Vim, ze by mne mnoho lidi ukamenovalo za to, ze kombinuji
> firewall s web serverem, ale chci to domu, chci to levne a bezpecne.
> 

Ten webserver bude primo na FW nebo ve vnitrni siti?
- Pokud bude primo na FW pak si proste povolite v ipf(outside) port 80 
(443) na vnejsi IP adresu.
- Pokud bude ve vnitrni siti pouzijete v ipnat.rules redirect "rdr" neco 
jako:

rdr outside_iface from any to outside_ip_adresa port = 80 -> \ 
interni_adresa_web_serveru port 80 tcp

> 
>>Ve vasem pripade vidim tyto moznosti:
>>1. I primo v ipnatu (map/rdr pravidle) muzete provadet (jednoduchou; 
>>src/dst/proto/port) filtraci co se ma/nema prekladat (tzv. 
>>policy nat).
> 
> 
> To mne nenapadlo, muzete to blizeji rozvest?

Opet v ipnat.rules neco jako napr.:

map inside_iface from sit/host/any port = XX to sit/host/any -> host

apod. Prectete si "man 5 ipnat" tam je receno vse co muzete pouzit.

> 
> 
>>2. Je skutecne nezbytne prekladat paket pred jeho prichodem do 
>>ipf(outside) a ne az v ipnat(inside)?
> 
> 
> No, mysli, ze ano. Pred prekladem ma paket cilovou adresu meho vnejsiho
> rozhrani. Jak by se pak dany paket dostal na rozhrani me vnitrni site?

Mate pravdu v tomto pripade se to musi (je logicke) prekladat na vnejsim 
iface.

Co se s paketem pri prichodu na vnejsi iface stane zalezi na tom o jaky 
paket se jedna:
- Pokud je to paket, ktery "nejak" prislusi k session otevirane z 
vnitrni site tak to stavovy filter pozna a pusti dovnitr (pomoci 
stavovych pravidel viz. nize) a zacit natovat vam staci pri odchodu 
paketu ven z vnejsiho rozhrani. Napr. v /etc/ipnat.rules neco jako:

map outside_iface interni_sit -> outside_addr

- Pokud paket neprislusi k zadne session tak se uplatni to co mate 
nakonfigurovane pro ipf(outside) smer dovnitr. Napr. si povolite ten 
vstup pro http/https na vas webserver, ssh, ping a traceroute na sebe 
atd. Samozrejme musite jeste pro to co jde zevnitr vytvorit stavove 
filtry - v /etc/ipf.rules bude neco jako:

pass out quick proto tcp from localhost to any keep state keep \
  frags group 101
pass out quick proto tcp from outside_addr to any keep state \
keep frags group 101
pass out quick proto udp from outside_addr to any keep state \
group 102
pass out quick proto icmp from outside_addr to any \
keep state group 103

groupy 10[1-3] jsou ipf groups pro TCP/UDP/ICMP na vnejsim iface pro 
odchozi pakety. Ty grupy nemusite pouzivat, ale pokud byste chtel tak by 
se konfigurovaly na zacatku ipf.rules napr. nejak takhle:

# skupina 100 pro vsechny pakety, ktere jdou z externiho iface
block out log on outside_iface all head 100
# skupina 101 pro vsechny TCP pakety se SYN flagem v grupe 100
block out log proto tcp all flags S head 101 group 100
# skupina 102 pro vsechny UDP pakety ve skupine 100
block out log proto udp all head 102 group 100
# skupina 103 pro vsechny ICMP pakety ve skupine 100
block out log proto icmp all head 103 group 100

a obdobne by to bylo pro dalsi smery toku paketu a dalsi ifacy.

P.S. Vsude si za outside_[iface,addr] apod. doplnte ty vase :-)


VT

-- 
Vladimir Tyman
ICZ a.s.




More information about the Users-l mailing list