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