![]() |
|
Nast�pnym krokiem jest przygotowanie regu� firewalla, zabezpieczaj�cych sie� wewn�trzn�. Wi��e si� to z pewnymi utrudnieniami, gdy� nie wszystkie mo�liwo�ci firewalla mog� by� wykorzystywane w przypadku pakiet�w przechodz�cych przez most. Trzeba te� wiedzie�, �e mi�dzy pakietami przekazywanymi, a odbieranymi przez maszyn� lokaln� jest pewna r�nica. Pakiety przychodz�ce przechodz� przez firewall tylko raz, a nie dwa razy jak w zwyk�ych warunkach. M�wi�c dok�adniej, s� one filtrowane tylko przy odbiorze, tak wi�c regu�y zawieraj�ce out lub xmit b�d� bezu�yteczne. Ja osobi�cie u�ywam starszej sk�adni in via, kt�r� rozs�dniej si� czyta. Trzeba r�wnie� pami�ta�, �e filtruj�c pakiety przechodz�ce przez most, mo�na u�ywa� tylko polece� pass lub drop. Bardziej wymy�lne polecenia, jak divert, forward czy reject s� niedozwolone. Mo�na z nich korzysta� tylko w odniesieniu do pakiet�w wysy�anych przez maszyn� mostu lub do niej przychodz�cych (je�li oczywi�cie ma ona adres IP).
Nowo�ci� w FreeBSD 4.0 jest filtrowanie z utrzymywaniem stanu. Jest ono znacznym u�atwieniem obs�ugi komunikacji przez UDP, polegaj�cej najcz�ciej na wys�aniu ��dania, a za chwil� odebraniu odpowiedzi, z takimi samymi adresami IP i numerami port�w (przy czym nadawca i odbiorca s� oczywi�cie zamienieni miejscami). Praktycznie nie da si� potraktowa� takiej wymiany jako pojedynczej sesji, pos�uguj�c si� firewallem nie przechowuj�cym informacji o stanie po��czenia. Jednak�e gdy firewall potrafi “zapami�ta�” wychodz�cy pakiet UDP i zezwoli� na odpowied� w ci�gu kilku nast�pnych minut, w�wczas zarz�dzanie komunikacj� UDP staje si� dziecinnie proste. Jak to zrobi�, pokazuje poni�szy przyk�ad. Podobnie mo�na traktowa� pakiety TCP, chroni to przed niekt�rymi atakami przez uniemo�liwienie dzia�ania oraz innymi figlami, prowadzi jednak do szybkiego rozrastania si� tablicy stan�w.
Sp�jrzmy na przyk�adow� konfiguracj�. Zwr��my uwag�, �e na pocz�tku pliku /etc/rc.firewall umieszczono domy�lne regu�y dla interfejsu pseudosieci lo0, nie trzeba si� wi�c ju� nimi przejmowa�. Inne regu�y powinny by� umieszczone w oddzielnym pliku (np. /etc/rc.firewall.local), kt�ry by�by do��czany podczas �adowania systemu dzi�ki zmianie w pliku /etc/rc.conf tego wiersza, w kt�rym typ firewalla by� zdefiniowany jako otwarty:
firewall_type="/etc/rc.firewall.local"
WA�NE: Nale�y tu poda� pe�n� �cie�k�, w przeciwnym razie plik nie zostanie za�adowany, co grozi utrat� dost�pu do sieci.
Na potrzeby przyk�adu przyjmujemy, �e interfejs fxp0 po��czony jest z Internetem, natomiast xl0 z sieci� wewn�trzn� (LAN). Adres IP maszyny mostu to 1.2.3.4 (w rzeczywisto�ci dostawca us�ug interenetowych nie m�g�by przydzieli� adresu klasy A, jednak �wietnie nadaje si� on jako przyk�ad).
# Szybkie przepuszczanie pakiet�w, kt�rych stan zosta� zapami�tany add check-state # Blokada sieci z RFC 1918 add drop all from 10.0.0.0/8 to any in via fxp0 add drop all from 172.16.0.0/12 to any in via fxp0 add drop all from 192.168.0.0/16 to any in via fxp0 # Maszyna b�d�ca mostem mo�e wysy�a� co tylko zechce # (je�li maszyna nie ma adresu IP, pomi� poni�sze wiersze) add pass tcp from 1.2.3.4 to any setup keep-state add pass udp from 1.2.3.4 to any keep-state add pass ip from 1.2.3.4 to any # Stacje sieci wewn�trznej mog� wysy�a� co tylko zechc� add pass tcp from any to any in via xl0 setup keep-state add pass udp from any to any in via xl0 keep-state add pass ip from any to any in via xl0 # Protok� TCP # Przepuszczanie SSH add pass tcp from any to any 22 in via fxp0 setup keep-state # Przepuszczanie SMTP jedynie do serwera poczty add pass tcp from any to relay 25 in via fxp0 setup keep-state # Informacje o obszarach mog� by� przesy�ane tylko przez podrz�dny # serwer nazw [dns2.nic.it] add pass tcp from 193.205.245.8 to ns 53 in via fxp0 setup keep-state # Przepuszczanie zapyta� ident - takie rozwi�zanie jest lepsze # ni� oczekiwanie na przekroczenie czasu add pass tcp from any to any 113 in via fxp0 setup keep-state # Przepuszczenie zakresu port�w dynamicznych add pass tcp from any to any 49152-65535 in via fxp0 setup keep-state # Protok� UDP # Przepuszczanie zapyta� DNS jedynie do serwera DNS add pass udp from any to ns 53 in via fxp0 keep-state # Przepuszczenie zakresu port�w dynamicznych add pass udp from any to any 49152-65535 in via fxp0 keep-state # Protok� ICMP # Przepuszczanie 'ping�w' add pass icmp from any to any icmptypes 8 keep-state # Przepuszczanie komunikat�w o b��dach generowanych przez 'traceroute' add pass icmp from any to any icmptypes 3 add pass icmp from any to any icmptypes 11 # Wszystko inne jest podejrzane add drop log all from any to any
Czytelnicy maj�cy ju� do�wiadczenie z konfiguracj� firewalla mog� zwr�ci� uwag� na brak pewnych rzeczy. W szczeg�lno�ci, brakuje regu� zapobiegaj�cych podszywaniu si�. Rzeczywi�cie, w�r�d powy�szych regu� nie by�o takiej:
add deny all from 1.2.3.4/8 to any in via fxp0
Nakazuje ona odrzucanie pakiet�w, kt�re nadchodz� z zewn�trz, a udaj�, �e s� z sieci wewn�trznej. Jest to zwykle stosowane w celu zabezpieczenia si� przed pr�bami prze�lizni�cia si� przez filtrowanie, polegaj�cymi na tworzeniu fa�szywych pakiet�w, wygl�daj�cych jak wys�ane z sieci wewn�trznej. K�opot w tym, �e jest co najmniej jedna stacja po��czona z interfejsem zewn�trznym, kt�rej nie mo�na zignorowa�: jest ni� ruter. Zwykle jednak ochrona przed podszywaniem si� realizowana jest przez dostawc� us�ug internetowych na jego ruterze, nie trzeba si� wi�c tym przejmowa�.
Ostatnia regu�a jest bardzo podobna do regu�y przyjmowanej domy�lnie, czyli odrzucania wszystkiego, co nie jest �ci�le dozwolone. Jest jednak r�nica: wszystko, co jest podejrzane, jest rejestrowane.
Dwie regu�y odpowiedzialne s� za przekazywanie pakiet�w SMTP i DNS do serwera poczty i serwera nazw, o ile takowe serwery s�. Zestaw regu� powinien by� oczywi�cie dostosowany do w�asnych potrzeb, tutaj pokazany jest tylko pewien przyk�ad (sk�adnia regu� jest dok�adnie opisana w dokumentacji systemowej ipfw(8)). Trzeba mie� na uwadze, �e aby poprawnie dzia�a�y “relay” i “ns”, wymagane jest, by zapytania DNS dzia�a�y zanim prac� rozpoczyna most. Dzi�ki temu mo�na te� si� przekona�, czy adres IP zosta� przypisany do w�a�ciwiej karty sieciowej. Alternatywnym rozwi�zaniem jest wpisanie adresu IP zamiast nazwy stacji (jest to jedyna mo�liwo�� w przypadku, gdy maszyna nie ma adresu IP).
Osoby, kt�re ju� kiedy� mia�y pewne do�wiadczenia z konfiguracj� firewalla, przyzwyczajone s� zapewne do regu� reset lub forward dla pakiet�w ident (port TCP o numerze 113). Niestety, w przypadku mostu takie rozwi�zanie nie wchodzi w gr�, najlepiej jest po prostu przepu�ci� owe pakiety do ich adresata. Jest to stosunkowo niegro�ne, gdy adresat ma wy��czon� us�ug� ident. Mo�na tak�e blokowa� po��czenia z portem 113, co powoduje pewne problemy np. z us�ug� IRC (poniewa� zapytanie ident musi przekroczy� czas oczekiwania).
Niezrozumia�a mo�e wyda� si� obecno�� oddzielnych regu�, z kt�rych jedne zezwalaja na wysy�anie maszynie b�d�cej mostem, drugie natomiast stacjom sieci wewn�trznej. Jest tak dlatego, �e pakiety wysy�ane przez maszyn� lokaln� docieraj� do filtra inn� drog� ni� pakiety wys�ane z sieci wewn�trznej. Te ostatnie musz� przej�� przez most, natomiast pakiety wys�ane lokalnie trafiaj� na stos IP maszyny. Osobne zestawy regu� obs�uguj� obydwa przypadki. Z kolei regu�y zawieraj�ce in via fxp0 odnosz� si� do obu rodzaj�w pakiet�w. M�wi�c og�lnie, pisz�c regu�y in via trzeba zrobi� wyj�tek dla pakiet�w wysy�anych z lokalnej maszyny, poniewa� one nie przysz�y przez �aden z interfejs�w.
Poprzedni | Spis tre�ci | Nast�pny |
Uruchamianie mostu | Podzi�kowania |
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