5. Regu�y firewalla

Wi�kszo�� pracy mamy ju� za sob�. Pozosta�o ju� tylko ustalenie regu� firewalla, po czym b�dzie mo�na dokona� prze�adowania systemu i powinni�my otrzyma� dzia�aj�cego firewalla. Zdaj� sobie spraw�, �e zbi�r regu� zale�y od indywidualnych potrzeb, stara�em si� jednak przygotowa� regu�y odpowiednie dla wi�kszo�ci u�ytkownik�w ��cz komutowanych. Mo�na je oczywi�cie dostosowa� samodzielnie, traktuj�c poni�sze regu�y jako punkt wyj�cia. Zacznijmy od zamkni�tego firewalla: z za�o�enia wszystkie pakiety s� blokowane, przepuszcza� b�dziemy jedynie to, co jest nam rzeczywi�cie potrzebne. Regu�y powinny najpierw okre�la�, co jest przepuszczane, potem co jest blokowane. Podajemy wi�c wszystkie regu�y przepuszczaj�ce, a potem nakazujemy blokowa� ca�� reszt�. :)

Stw�rzmy teraz katalog /etc/firewall. W nim utw�rzmy plik fwrules, zgodnie z tym, co napisali�my w rc.conf. Mo�emy oczywi�cie nazwa� ten plik jak nam si� �ywnie podoba, proponowana tu nazwa jest jedn� z mo�liwo�ci.

Sp�jrzmy teraz na przyk�adowy plik firewalla, opatrzony komentarzami.

# Regu�y firewalla
# Autor: Marc Silver (marcs@draenor.org)
# http://draenor.org/ipfw
#

# Definicja komendy firewalla (jak w /etc/rc.firewall) upraszcza
# jej wywo�ywanie i czyni plik bardziej czytelnym.
fwcmd="/sbin/ipfw"

# Wyczyszczenie aktualnie obowi�zuj�cych regu�.
$fwcmd -f flush

# Przekierowanie wszystkich pakiet�w przez interfejs tun0.
$fwcmd add divert natd all from any to any via tun0

# Przepuszczanie danych przesy�anych przez kart� sieciow� i lokalnie.
# Upewnij si�, �e wpisa�e� tu w�a�ciw� kart� (w moim przypadku fxp0)
# zanim prze�adujesz system. :)
$fwcmd add allow ip from any to any via lo0
$fwcmd add allow ip from any to any via fxp0

# Przepuszczanie wszystkich po��cze� nawi�zywanych przez nas.
$fwcmd add allow tcp from any to any out xmit tun0 setup

# Pozwalamy, by po��czenia nawi�zane mog�y pozosta� otwarte.
$fwcmd add allow tcp from any to any via tun0 established

# Zezwolenie na po��czenia z zewn�trz z okre�lonymi us�ugami na
# naszej maszynie. Przyk�adowo dopuszczamy po��czenia z ssh i apache.
$fwcmd add allow tcp from any to any 80 setup
$fwcmd add allow tcp from any to any 22 setup

# Wysy�amy RESET w odpowiedzi na pakiety ident.
$fwcmd add reset log tcp from any to any 113 in recv tun0

# Pozwalamy na wychodz�ce zapytania DNS do wybranych serwer�w.
$fwcmd add allow udp from any to x.x.x.x 53 out xmit tun0

# I oczywi�cie pozwalamy im odpowiedzie�... :)
$fwcmd add allow udp from x.x.x.x 53 to any in recv tun0

# Dopuszczenie pakiet�w ICMP (dzi�ki kt�rym dzia�aj� ping i traceroute).
# Mo�na zdecydowa� si� na ich blokowanie, ja jednak my�l�, �e mi si�
# przydadz�.
$fwcmd add allow icmp from any to any

# Odrzucenie ca�ej reszty.
$fwcmd add deny log ip from any to any

Zbudowali�my w pe�ni sprawny firewall zezwalaj�cy na po��czenia z portami 80 i 22, oraz rejestruj�cy pr�by po��czenia z czymkolwiek innym. Po prze�adowaniu systemu powinien ju� nale�ycie funkcjonowa�. Je�eli jakiekolwiek z podanych tu informacji oka�� si� b��dne, b�d� b�d� powodowa� problemy, prosz� o zawiadomienie emailem. Mile widziane s� r�wnie� pomys�y na ulepszenie niniejszej strony.

This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.

# # # #

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:21