Portál AbcLinuxu, 7. května 2025 05:25
Dobrý den,,
Snažím se napsat si jednoduchý firewall, který by mohl být i dobrým startem pro všechny budoucí začátečníky. Bohužel se mi to však nedaří a tak bych rád poprosil o radu a pomoc zdatnější kolegy. S FreeBSD systémem jsem nikdy nepracoval a tak syntaxi IPFW moc nerozumím, ale snažím se jí porozumět. Hledám na netu, překládám si a tak "nějak" to lepím dohromady. Konec konců, tak se člověk asi i nejvíc naučí.
Firewall je jednoduchý a je psán spíš pro účely domácí brány, která i zároveň poskytuje pár služeb okolnímu světu. V systému jsou dvě síťové karty (fxp0=WAN a fxp1=LAN). Z LAN budou moct přistupovat na síť pouze uvedené IP adresy, kde bude ještě rozšířena kontrola o MAC adresy (pomocí statického ARPu).
Obecně by měla platit tato pravidla:
1) zakaž veškerou komunikaci na rozhrani WAN a LAN
2) povol z internetu přístup ke službám na WAN rozhrani (22, 80, 443, ICMP)
3) povol přístup do internetu z LAN - pouze však pro uvedené IP adresy
4) pokud přijde z internetu požadavek na RDP, tak ho přesměruj na WIN server uvnitř LAN.
Přikládám svůj skript a jestli můžu, tak bych poprosil o informaci/radu, co mám kde špatně.
Budu velice rád, když zachováte strukturu mého skriptu včetně komentářů - má to být pro naprosté začátečníky user-friendly.
Děkuji a přeji pěkný víkend.
Priznam se, ze pri procitani skriptu jsem skoncil skoro hned na zacatku, kde zakazujete prakticky veskerou komunikaci. IPFW, podobne jako iptables v linuxu nebo ACL v IOSu a na rozdil od IPF funguje tak, ze prvni vyhovujici pravidlo rozhodne o osudu daneho paketu (az na par vyjimek).
Pokud mate standardni kernel, tak je implicitni DENY vseho na konci pravidel, proto jsou radky:
$ipfw add deny all from any to any in via $WAN0
$ipfw add deny all from any to any out via $WAN0
$ipfw add deny all from any to any in via $LAN0
$ipfw add deny all from any to any out via $LAN0
zbytecne a na tom miste, kde je mate, spise nezadouci.
Mimochodem, ipfw je dobre popsano na http://www.freebsd.org/doc/en/books/handbook/firewalls-ipfw.html a i v manualove strance.
Tomas
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.