filtrovanie podla IP a MAC
Zbyněk Burget
zburget at burgnet.cz
Fri Mar 26 18:23:49 CET 2010
Dne 26.3.2010 16:37, icovnik napsal(a):
> No ja som sa len snazil zistit, ako sa da cez akykolvek firewall na
> FreeBSD urobit tato jedna vec (ak ma zdrojovy paked spravnu zdrojovu
> IP a MAC, prepustit, ak nie, tak TCP/80 zNATovat, ostatne zahodit). No
> poskusam este google...
No tak fajn, zkusime dat dohromady to, po cem touzis, ale pamatuj, ze
komu neni rady, tomu neni pomoci.
Pokud bys popatral kousek do historie fora, nasel bys naprosto detailni
popis pruchodu packetu routerem. Pro nase ucely ale bude stacit
zjednoduseny model. Pro zacatek je potreba si uvedomit jednu vec, ktera
z konfiguraku IPFW z distribude neni vubec zrejma, z Linuxu s tim ale
budes mit zkusenost. Packet prochazejici routerem skrz do firewallu
vstupuje bud ve dvou nebo ve ctyrech mistech. Konfigurace z distribuce
je v tomto smeru dost nestastna, protoze se pri kazdem pruchodu packetu
firewallem prochazi jedna a tataz sada pravidel. Doporucuju si napsat
komplet vlastni konfiguraci firewallu, kde tento nedostatek bude reseny.
Defaultne neni povolen vstup do firewallu v layer2, musis ho explicitne
povolit pomoci sysctl net.link.ether.ipfw=1 (pro normalni provoz zapsat
do /etc/sysctl.conf).
Pak je pruchod packetu routerem nasledujici:
-> {in iface -> ipfw l2 -> ipfw l3} -> jadro -> {ipfw l3 -> ipfw l2 ->
out iface} ->
Packte ted pujde do firewallu 4x!!! v miste vstupu v layer2 je v packetu
informace o IP i MAC, v layer3 informace o MAC neni!!! V layer3 pak s
packetem nejdou delat vsechny operace, jako v layer3 (napr. nejde provoz
shapovat apod.)
Doporucuju firewall sestavit zhruba nasledujicim zpusobem:
ipfw add 10 skipto 1000 all from any to any layer2 in recv ${iif}
ipfw add 10 skipto 2000 all from any to any not layer2 in recv ${iif}
ipfw add 10 skipto 3000 all from any to any not layer2 out xmit ${oif}
ipfw add 10 skipto 4000 all from any to any layer2 out xmit ${oif}
ipfw add 10 skipto 5000 all from any to any layer2 in recv ${oif}
ipfw add 10 skipto 6000 all from any to any not layer2 in recv ${oif}
ipfw add 10 skipto 7000 all from any to any not layer2 out xmit ${iif}
ipfw add 10 skipto 8000 all from any to any layer2 out xmit ${iif}
pokud v nekterem pruchodu packetu firewallem nechces nic resit, zmen
skipto za allow.
Rozmysli si, co ve ktere casti konfigurace budes resit - filtrovani,
shaping, NAT,...
Dej si pozor na to, aby kazda cast konfigurace byla ukoncena
deny all from any to any
aby se ti packet nezatoulal do casti pravidel, kde nema co delat.
Nezapomen v nekterem miste poresit povoleni provozu na lo0, resp.
zakazat provoz na lo0, ktery tam nema co delat apod.
Prijdes na to, ze je IPFW daleko logictejsi, nez iptables (aspon mne
osobne tak pripada).
...jen dodatek, nejsem si jist tim, jestli muzes packet forwardnout v
layer2 - po pravde tomu neverim. Budes ho muset asi otagovat a pak v
prislusnem miste forwardnout, kam potrebujes.
> Co sa tyka dizajnu celeho, urcite nie je idealny. V kazdom pripade,
> spoofnutu IP routra aj tak staticka ARP tabulka na routri neriesi,
ze si nekdo doma nastavi IP routeru je hodne blba chyba, ktera odstavi
cely segment site. Da se proti ni ale branit pomoci inteligentnejsiho
switche. Je ale tak malo casta, ze toto riziko na svoji siti v klidu
preziju.
Skoro vsechny problemy s podvrhnutim ostatnich IP adres velice jednoduse
resi zminena staticka ARP tabulka. Nebude to dokonale s presmerovanim na
varovnou stranku, nedojde ale hlavne k tomu, ze stanice se spatne
nastavenou IP adresou ustrihne jineho klienta, ktery ma vse v poradku.
To je vsak vec, kterou bych ja osobne povazoval za daleko uzitecnejsi,
nez nejaka varovna webova stranka. Klientovi s blbou IP internet
fungovat nebude. Pokud to bude umyslne zmenena IP, brzo zjisti, ze mu
nic jineho, nez ta jeho jedina spravna nepojede a prestane blbnout.
Pokud to bude omyl a neprijde na nej, zavola, coze se deje, ze mu nebezi
sit. A to uz nejak date dohromady i po telefonu.
> Svet, kde by vsetci na sieti pouzivali nejaky *NIX ako obycajny user
> (a ja by som mal roota ;) ) by bol pekny, ale zial, nie je v mojom
Tak takovy svet za moc pekny nepovazuju - pri predstave, ze bych se
takhle a musel starat o nekolik set stroju a zodpovidalza ne, se mi dela
nevolno ;-)
Zbynek
More information about the Users-l
mailing list