![]() |
|
Dokument ten Firewall-HOWTO zosta� napisany przez Davida Ruddera mailto:drig@execpc.com. Chcia�bym Mu podzi�kowa� za zezwolenie na uaktualnienie jego pracy.
Firewalle zyska�y ostatnio wielk� s�aw� jako defintywne rozwi�zanie w dziedzinie bezpiecze�stwa Internetu. Wi�kszo�� tej s�awy jest zas�u�ona, jednak cz�� wynika z nieporozumienia. To JTZ ma na celu przegl�d: czym s� firewalle, jak je konfigurowa�, czym s� serwery proxy i jak je konfigurowa� oraz aplikacje (zastosowania) tej technologii poza zakresem bezpiecze�stwa.
Wszelkie uwagi b�d� mile widziane. Prosz�: DONO�CIE O WSZELKICH NIE�CIS�O�CIACH W TYM DOKUMENCIE . Jestem cz�owiekiem, i jestem omylny. Je�li znajdziesz jakie� popraw je (w moim najwy�szym interesie). B�d� pr�bowa� odpowiedzie� na wszystkie listy, ale jestem zaj�tym cz�owiekiem, tak wi�c nie obra�aj si� prosz� je�li nie odpowiem.
M�j adres: markg@netplus.net
NIE ODPOWIADAM ZA JAKIEKOLWIEK ZNISZCZENIA WYNIKAJ�CE ZE STOSOWANIA TEGO DOKUMENTU Dokument ten jest pomy�lany jako wprowadzenie do technologii firewalli i serwer�w proxy. Nie jestem, i nie zamierzam sobie ro�ci� pretensji do bycia ekspertem w sprawach bezpiecze�stwa. Jestem po prostu cz�owiekiem kt�ry przeczyta� co nieco, i pasjonuje si� komputerami bardziej ni� inni. Prosz�, pisz�c ten tekst chc� pom�c ludziom zaznajomi� si� z tym tematem, i nie jestem got�w dawa� g�owy za dok�adno�� podawanych przeze mnie danych.
Je�li nie jest powiedziane inaczej, prawa autorskie dokumenty z serii Linux Jak To Zrobi� nale�� do ka�dego z autor�w. Mog� by� powielane i rozpowszechniane w w ca�o�ci w cz�ciach, w formie ,,papierowej'' i elektronicznej dop�ki wsz�dzie (w ka�dej z cz�ci) zachowana jest informacja o prawach i autorstwie. Komercyjna redystrybucja jest dozwolona i wskazana; jednak�e, autor powinien by� poinformowany o tym fakcie.
Wszystkie t�umaczenia, poprawki j�zykowe, i prace w��czaj�ce musz� zawiera� niniejsz� not� o prawach autorskich.
Je�li masz jakie� zapytania, prosz� o kontakt: Mark Grennan mailto:markg@netplus.net.
Pomimo wielu dyskusji w grupach comp.os.linux.* (w ci�gu ostatniego roku) na temat firewalli wydaje mi si� trudnym znalezienie informacji kt�rych potrzebowa�em do ustawienia i skonfigurowania firewalla. Oryginalna wersja tego HOWto by�a pomocna, ale nieaktualna. Mam nadziej�, �e ta poprawiona wersja ,,Firewall HOWto'' autorstwa Davida Ruddera dostarczy wszystkim informacji jakiej potrzebuj� do stworzenia dzia�aj�cych ,,�cian ognia'' w ci�gu godzin, nie tygodni.
Poza tym uwa�am �e powinienem zwr�ci� m�j d�ug spo�eczno�ci Linuxowej.
W�ze� paj�czyny nale��cy do Trusted Information System's (TIS) posiada wspania�a kolekcj� dokumentacji dotycz�cej firewalli i pokrewnych temat�w.
Poza tym pracuj� na projektem dotycz�cym bezpiecze�stwa: ,,Bezpieczny Linux''. W miejscu tym zgromadzi�em wszystkie informacje, dokumentacje i programy potrzebne do stworzenia bezpiecznego Linuxa. Napisz do mnie je�li chcesz otrzyma� wi�cej informacji.
Firewall - ,,�ciana ogniowa'' jest terminem wzi�tym z konstrukcji samochodu. W samochodach firewalle fizycznynie oddzielaj� silnik od pasa�er�w. To znaczy, �e chroni� one pasa�er�w w wypadku gdy silnik zapali si� ca�y czas dostarczaj�c kontroli nad nim.
Komputerowe firewalle s� urz�dzeniami, kt�re chroni� sieci prywatne od cz�ci publicznej (jakiej jak Internet).
Komputer b�d�cy ,,�cian� ognia'' od tej chwili nazywany ,,firewallem'' mo�e (musi) by� obecny tak w sieci chronionej jak i w Internecie. Chroniona sie� nie mo�e by� osi�galna z Internetu, podobnie jak Internet nie mo�e by� osi�galny z chronionej sieci.
Dla niekt�rych dosi�gni�cie Internetu z izolowanej sieci jest mo�liwe jedynie poprzez zalogowanie si� na firewallu (telnetem) i penetracja Sieci stamt�d.
Najprostsz� form� firewalla jest podw�jnie zadomowiony system (tj. system z podw�jnym po��czeniem sieciowym). Je�li mo�esz ZAUFA� WSZYSTKIM swoim u�ytkownikom, mo�esz prosto skonfigurowa� Linuxa (wy��czaj�c przy kompilacji j�dra forwarding / gatewaying) Mog� oni logowa� si� na tym systemie i u�ywa� aplikacji sieciowych takich jak telnet, FTP, czyta� poczt� i innych jakich dostarczasz.
Z takim ustawieniem, tylko jeden komputer z twojej sieci widzi reszt� �wiata poza firewallem. Pozosta�e systemy w twojej chronionej sieci nie potrzebuj� nawet ustawienia domy�lnego routingu.
Aby powy�szy firewall dzia�a� MUSISZ UFA� WSZYSTKIM SWOIM U�YTKOWNIKOM Nie jest to zalecane rozwi�zanie.
Problemem filtruj�cych firewalli jest to, �e ograniczaj� dost�p do twojej sieci z Internetu. Tylko us�ugi na filtrowanie kt�rych zezwoli�e� s� dost�pne. Na serwerach proxych u�ytkownicy mog� autoryzowa� si� na firewallu i dopiero wtedy maj� (z systemu wewn�trz sieci prywatnej) dost�p do Internetu.
Poza tym, nowe typy klient�w sieciowych i serwer�w przybywaj� prawie codziennie. Musisz wtedy wynale�� nowy spos�b zezwolenia na kontrolowany ich dost�p do twojej sieci, zanim b�d� u�yte.
Istniej� dwa typy firewalli:
Firewalle filtruj�ce dzia�aj� na poziomie pakiet�w IP. S� zaprojektowane do kontroli przep�ywu bazuj�c na adresie �r�d�owym, docelowym, porcie i typie pakietu (zawartych w ka�dym z pakiet�w).
Ten typ firewalli jest bardzo bezpieczny, ale traci wiele typ�w zapisu. Mo�e zablokowa� ludziom z dost�p z sieci prywatnej, ale nie powie, kto dosta� si� do twojego systemu publicznego, ani kto wyszed� z sieci lokalnej do Internetu.
Filtruj�ce firewalle s� bezwzgl�dnymi filtrami. Nawet je�li chcesz da� komu� z zewn�trz dost�p do twoich serwer�w ,,prywatnych'' nie jeste� w stanie bez dania tego dost�pu wszystkim (t�um. jak rozumiem spod tego adresu)
Linux posiada opcj� filtrowania pakiet�w w j�drach powy�ej 1.3.x.
Serwery proxy pozwalaj� na niebezpo�redni dost�p do Internetu, przez firewall. Najlepszym przyk�adem jak to pracuje jest osoba telnetuj�ca si� do systemu i stamt�d wykonuj�ca nast�pne po��czenie. Tylko �e w wypadku serwer�w proxy proces ten nast�puje automatycznie. Gdy ��czysz si� z proxy serwerem za pomoc� oprogramowania klienckiego startuje on swojego klienta i dostarcza ci danych kt�rych zarz�dza�e�.
Poniewa� serwery proxy podwajaj� ka�de po��czenie, mo�liwe jest zapisywanie ka�dego z nich.
Wspania�� rzecz� w serwerach proxy jest to, �e s� w pe�ni bezpieczne, gdy s� prawid�owo ustawione. Nie pozwalaj� nikomu przej��. Nie dokonuj� bezpo�redniego routingu.
Naszym przyk�adem nich b�dzie komputer i486-DX66 z 16 Mb RAMu oraz 500Mb partycj� Linuxow�. System ten posiada dwie karty sieciowe, jedn� po��czon� z nasz� sieci� prywatn�, a drug� do sieci lokalnej nazywanej stref� zdemilitaryzowan� (DMZ). DMZ posiada router po��czony do Internetu.
Jest to ca�kiem przyjemny standard dla biznesu. Powiniene� u�y� jednej karty sieciowej oraz modemu z PPP do intenetu.
Firewall powinien posiada� dwa adresy IP.
Znam wielu ludzi posiadaj�cych ma�e LANy w domu z dwoma lub trzema komputerami. Mo�esz rozpatrzy� nast�puj�cy model: w�o�y� wszystkie modemy do komputera z Linuxem (np. star� i386) i po��czy� wszystkie do Internetu ��czem komutowanym. Z takim ustawieniem, gdy tylko jedna osoba ci�gnie dane mo�e u�y� wszystkich modem�w (a wi�c i dzia�a� 2-3 krotnie szybciej ; -).
Je�li wszystkim czego potrzebujesz jest filtruj�cy firewall potrzebujesz jedynie Linuxa i podstawowych pakiet�w sieciowych. Jednym z pakiet�w kt�ry mo�e nie zawiera� si� w twojej dystrybucji jest IP Firewall Administration tool (przyp. t�um. w RedHacie 4.0 i Debianie 1.2.* jest) (IPFWADM) z http://www.xos.nl/linux/ipfwadm/
Je�li chcesz postawi� serwer proxy potrzebujesz jednego z ni�ej wymienionych pakiet�w:
Trusted Information System ( http://www.tis.com) jest fragmentem kolekcji program�w zaprojektowanych dla firewalli. Program ten udost�pnia podobne rzeczy jak SOCK, ale jest zbudowany na innych zasadach. Tam gdzie Socks posiada jeden program przeprowadzaj�cy wszystkie transakcje s internetem, TIS dostarcza jednego programu dla ka�dego z narz�dzi kt�rych chcesz u�y� w firrewallu.
Dla pokazania kontrastu u�yjmy przyk�ad�w WWW i dost�pu za pomoc� telnetu. U�ywaj�c SOCKS, ustawiasz jeden plik konfiguracyjny i jednego demona. U�ywaj�c tego pliku tak telnet jak i WWW s� dost�pne, podobnie jak inne us�ugi kt�rych nie zakaza�e�.
W pakiecie TIS ustawiasz jednego demona dla (osobno) WWW i Telnetu z osobnymi plikami konfiguracyjnymi. Po zrobieniu tego inne us�ugi internetowe s� zakazane dop�ki ich explicite nie ustawisz. Je�li demon dla specyficznych us�ug jest niedost�pny (tak jak talk), istniej� ,,plug-in-y'' dla demona, ale nie tak elastyczne i �atwe w konfiguracji jak inne narz�dzia.
R�nica wygl�da na niewielk�, jest jednak istotna. SOCKS pozwala Ci by� spokojnym. Przy kiepsko ustawionym SOCKS serwerze kto� z wewn�trz mo�e uzyska� wi�kszy dost�p do Internetu ni� by�o pocz�tkowo planowane. Z pakietem TIS ludzie wewn�trz sieci maj� jedynie taki dost�p na jaki zezwoli� administrator.
SOCKS s� �atwiejszy do konfiguracji, �atwiejszy do kompilacji i pozwala na wi�ksz� elastyczno��. TIS jest bardziej bezpieczny, jesli chcesz ustawia� u�ytkownik�w wewn�trz chronionej sieci. Oba dostarczaj� ca�kowitego bezpiecze�stwa z zewn�trz.
Opisz� proces instalacji obydwu.
Zacznij od �wie�ej instalacji twojej dystrybucji Linuxowej (ja u�y�em RedHata 3.0.3 (Picasso) i poni�sze przyk�ady bazuj� na tej dystrybucji). Im mniej oprogramowania zainstalujesz tym mniej b�dzie w nim dziur, tylnych wej�� i / lub b��d�w wprowadzaj�cych do twojego systemu problem bezpiecze�stwa, wi�c zainstaluj jedynie minimalny zestaw aplikacji.
U�yj stabilnego j�dra. Ja u�y�em 2.0.14. Oto jest dokumentacja podstawowych ustawie�:
B�dziesz potrzebowa� rekompilowa� j�dro sytemu z odpowiednimi
opcjami. (patrz Kernel-HOWto, Ethernet-HOWto oraz NET-2 HOWto je�li
nie zrobi�e� tego wcze�niej).
Oto s� sieciowe ustawienia kt�re pozna�em wykonuj�c komend� make
config
Teraz mo�esz dokona� rekompilacji i reinstalacji j�dra oraz zrestartowa� system. Twoja karta/y sieciowa/e powinny pojawi� si� w trakcie procedury startowej. Jesli tak si� nie dzieje sprawd� w innych JTZ, i pr�buj dop�ki nie b�d� dzia�a�.
Je�li masz dwie kary sieciowe w swoim komputerze w wi�kszo�ci
przypadk�w potrzebujesz doda� twierdzenie w pliku
/etc/lilo.conf
opisuj�ce ich IRQ i adresy. W moim wypadku
wygl�da to tak:
append= " ether=12,0x300,eth0 ether=15,0x340,eth1 "
Jest to naprawd� interesuj�ca cz��. Teraz jest czas na podj�cie kilku decyzji. Dop�ki nie chcemy da� dost�pu komputerom z Internetu do �adnej z cz�ci naszej sieci lokalnej nie musimy u�ywa� prawdziwych adres�w. Istniej� numery wydzielone z internetowych do ustawienia odr�bnych sieci prywatnych (przyp. t�umacza: klasa A 10.0.0.0-10.255.255.255, klasy B, i klasy C: 192.168.0.0.0-192.166.255.255) Poniewa� ka�dy potrzebuje wi�cej adres�w i poniewa� adres nie mog� si� powtarza� w Internecie jest to dobry wyb�r.
Wybrali�my jedn� z tych klas: 192.168.2.xxx, i u�yjemy jej w naszym przyk�adzie.
Tw�j serwer proxy b�dzie cz�onkiem obu sieci i b�dzie przekazywa� dane do i z sieci prywatnej.
199.1.2.10 __________ 192.168.2.1 192.168.2.2 _ __ _ \ | | / ____/__________ | \/ \/ | \| Firewall |/ | Stacja | / Internet \--------| |------------| Robocza | \_/\_/\_/\_/ |__________| |_______________|
Je�li u�ywasz filtruj�cego firewalla mo�esz u�ywa� tych numer�w stosuj�c IP masquearading Firewall b�dzie przesy�a� pakiety i t�umaczy� numery IP na ,,PRAWDZIWE'' adresy w Internecie.
Musisz przydzieli� prawdziwy adres IP karcie sieciowej widocznej z Internetu (na zewn�trz). I przydzieli� adres 192.168.2.1 karcie Ethernetowej wewn�trz. To b�dzie adres IP twojego gatewaya/proxy. Mo�esz przydzieli� pozosta�ym maszynom ze swojej sieci numery z zakresu 192.168.2.2-192.168.2.254.
Odk�d u�ywam RedHat Linux
do ustawienia sieci przy starcie dodaj� plik ifcfg-eth1
w katalogu /etc/sysconfig/network-scripts/
. Jest on czytany
w trakcie startu systemu i ustawiania sieci i tablic routingu.
M�j ifcfg-eth1
wygl�da nast�puj�co:
#!/bin/sh #>>>Device type: ethernet #>>>Variable declarations: DEVICE=eth1 IPADDR=192.168.2.1 NETMASK=255.255.255.0 NETWORK=192.168.2.0 BROADCAST=192.168.2.255 GATEWAY=199.1.2.10 ONBOOT=yes #>>>End variable declarationsMo�esz tak�e u�y� tego skryptu do automatycznego po��czenia modemowego do twojego IPS. Sp�jrz na skrypt
ipup-pop
Je�li u�ywasz modemu do ��czenia si� z sieci� tw�j zewn�trzny adres b�dzie przydzielony w trakcie po��czenia.
Zacznij od sprawdzenia ifconfig
i trasowania (routingu)
je�li masz dwie karty wynik polecenia ifconfig
powinien
wygl�da�
nast�puj�co:
#ifconfig lo Link encap:Local Loopback inet addr:127.0.0.0 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:1620 errors:0 dropped:0 overruns:0 TX packets:1620 errors:0 dropped:0 overruns:0 eth0 Link encap:10Mbps Ethernet HWaddr 00:00:09:85:AC:55 inet addr:199.1.2.10 Bcast:199.1.2.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0 Interrupt:12 Base address:0x310 eth1 Link encap:10Mbps Ethernet HWaddr 00:00:09:80:1E:D7 inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0 Interrupt:15 Base address:0x350
a twoja tablica trasowania mniej wi�cej tak:
#route -n Kernel routing table Destination Gateway Genmask Flags MSS Window Use Iface 199.1.2.0 * 255.255.255.0 U 1500 0 15 eth0 192.168.2.0 * 255.255.255.0 U 1500 0 0 eth1 127.0.0.0 * 255.0.0.0 U 3584 0 2 lo default 199.1.2.10 * UG 1500 0 72 eth0
Uwaga: 199.1.2.0 jest numerem interface po internetowej stronie firewalla za� 192.168.2.0 jest wewn�trz.
Teraz spr�buj pingn�� si� do Internetu z firewalla. Ja zwyk�em u�ywa�
nic.dnn.mil jako punktu testowego (w Polsce doradza�bym
bilbo.nask.org.pl
148.81.16.51). Jest to wci�� dobry test,
ale nie dostarcza tylu informacji ile by si� chcia�o.
Je�li nie rusza za pierwszym razem spr�buj zapuka� do innych komputer�w poza swoj� sieci� lokaln�. Je�li nie dzia�a to znaczy �e twoje po��czenie PPP jest �le ustawione. Przeczytaj jeszcze raz Net-2 HOWto i spr�buj jeszcze raz.
Nast�pnie pingnij si� z firewalla do komputera wewn�trz chronionej sieci. Ka�dy komputer powinien m�c sondowa� inny. Je�li nie sp�jrz jeszcze raz do Net-2 HOWto i popraw ustawienia w swojej sieci.
Teraz spr�buj pingn�� zewn�trzny adres z wewn�trznej cz�ci chronionej sieci.
(Notka: to nie jest �aden z numer�w IP zaczynaj�cych si� od: 192.168.2.xxx.) Je�li jest to mo�liwe, to znaczy �e nie wy��czy�e� przesy�ania IP w konfiguracji j�dra. Upewnij si�, �e tego chcesz. Je�li zostawisz t� opcj� w��czon�, musisz zapozna� si� z cz�ci� tego dokumentu opisuj�c� filtrowanie pakiet�w IP.
Teraz spr�buj sondowa� internet zza swojego firewalla. U�yj tego samego adresu co poprzednio (np. bilbo.nask.org.pl). Znowu, je�li wy��czy�e� IP Forwarding nie powinno dzia�a�. Albo powinno, je�li w��czy�e�.
Je�li masz ustawiony IP Forwarding i u�ywasz ,,PRAWDZIWYCH'' (nie 192.168.2.*) adres�w IP i nie mo�esz wyj�� na zewn�trz, ale mo�esz si� dosta� do internetowej strony swego firewalla sprawd� czy nast�pny router przepuszcza pakiety z twojej sieci lokalnej (tw�j dostawca us�ug internetowych powinien co� o tym wiedzie�).
Je�li przydzieli�e� swojej sieci adresy 192.168.2.*
pakiety i tak nie b�d� filtrowane. Je�li przechodz� mimo wszystko
i masz
IP masquerading
w��czone ten test te� zosta� zdany.
Masz teraz podstawow� konfiguracj� systemu.
Firewall nie spe�nia swojego zadania je�li zostawia otwarte okno dla atak�w przez nieu�ywane us�ugi. ,,�li ch�opcy'' mog� zdoby� twierdz� i zmodyfikowa� j� dla swoich potrzeb.
Zacznij wy��cza� niepotrzebne us�ugi. Sp�jrz na
/etc/inetd.conf
.
Plik ten kontroluje co� co jest nazywane ,,super serwerem''.
Kontroluje uruchamianie us�ug na ��danie.
Kompletnie wy��cz: netstat, systat, tftp, bootp oraz finger. Aby wy��czy� us�ug� wystarczy postawi� znak # (tzw. hash) jako pierwszy znak w linii. kiedy to zrobisz wy�lij sygna� HUP do procesu inetd pisz�c: " kill -HUP < pid > " , gdzie < pid > jest numerem procesu inetd. Spowoduje to powt�rne przeczytanie przez inetd pliku konfiguracyjnego
(inetd.conf) i restart.
Sprawd� teraz czy jeste� w stanie dosta� si� do portu obs�uguj�cego
netstat
telnet localhost 15
Je�li otrzymasz wynik z netstata nie zrestartowa�e� inetd
prawid�owo.
By zacz�� musisz w��czy� przesy�anie pakiet�w IP w swoim j�drze i tw�j system powinien odsy�a� wszystko co mu si� prze�le. Twoja tablica trasowania powinna by� ustawiona i powiniene� mi� dost�p tak wewn�trz jak do zewn�trznej Sieci.
Ale budujemy firwalla tak wi�c trzeba ograniczy� wszystkim dost�p do niego.
W moim systemie stworzy�em par� skrypt�w ustawiaj�cych zasady
odsy�ania pakiet�w i polityki dost�pu. Wywo�uj� je z w skryptach
z /etc/rc.d
w czasie konfiguracji.
Domy�lnie IP Forwarding
w j�drze systemu odsy�a wszystko.
Dlatego twoje skrypty startowe firewalla powinny rozpoczyna� swoja
prac� od
zakazania dost�pu dla wszystkich i zerwania wszelkich po��cze�
dozwolonych w
poprzednim uruchomieniu ipfw.
Skrypt ten wykorzystuje pewien trick.
# # Ustawianie rozliczania i odsy�ania pakiet�w IP # # Forwarding # # Domy�lnie wszystkie us�ugi s� zakazane. ipfwadm -F -p deny # Zerwij wszystkie po��czenia ipfwadm -F -f ipfwadm -I -f ipfwadm -O -fTeraz mamy doskona�y firewall. Nic nie przechodzi. Bez w�tpliwo�ci pewna cze�� us�ug powinna by� przesy�ana (i tego dotyczy nast�pny przyk�ad).
# przesy�anie poczty do twojego MTA ipfwadm -F -a accept -b -P tcp -S 0.0.0.0/0 1024:65535 -D 192.1.2.10 25 # przesy�anie po��cze� pocztowych do innych MTA ipfwadm -F -a accept -b -P tcp -S 196.1.2.10 25 -D 0.0.0.0/0 1024:65535 # przesy�anie WWW do twojego serwera /sbin/ipfwadm -F -a accept -b -P tcp -S 0.0.0.0/0 1024:65535 -D 196.1.2.11 80 # przesy�anie WWW do serwer�w zewn�trznych /sbin/ipfwadm -F -a accept -b -P tcp -S 196.1.2.* 80 -D 0.0.0.0/0 1024:65535 # przesy�anie ruchu DNS /sbin/ipfwadm -F -a accept -b -P udp -S 0.0.0.0/0 53 -D 196.1.2.0/24
Mo�esz byc zaintersowany w rozliczaniu ruchu przechodz�cego przez tw�j firewall. Poni�szy skrypt liczy ka�dy z pakiet�w. Powiniene� doda� lini� albo liczy� ruch tylko dla jednego systemu.
# Zerwanie wszystkich po��cze� ipfwadm -A -f # Rozliczanie /sbin/ipfwadm -A -f /sbin/ipfwadm -A out -i -S 196.1.2.0/24 -D 0.0.0.0/0 /sbin/ipfwadm -A out -i -S 0.0.0.0/0 -D 196.1.2.0/24 /sbin/ipfwadm -A in -i -S 196.1.2.0/24 -D 0.0.0.0/0 /sbin/ipfwadm -A in -i -S 0.0.0.0/0 -D 196.1.2.0/24Je�li potrzebowa�e� firewalla filtruj�cego mo�esz sko�czy� lektur�. Mi�ego konfigurowania. ; -)
TIS FWTK jest dost�pny pod adresem: ftp://ftp.tis.com/.
Nie pope�nij tego b��du co ja. Kiedy dostaniesz si� na serwer TIS PRZECZYTAJ ,,README'' Pakiet TIS fwtk jest w ukrytym katalogu na ich serwerze.
TIS wymaga by� wys�a� email do fwtk-request@tis.com zawieraj�cego tylko s�owo SEND w ,,ciele'' wiadomo�ci aby pozna� nazw� tego ukrytego katalogu (nie jest potrzebny temat dla tego listu). Ich system wy�le Ci wiadomo�� z nazw� katalogu w ci�gu 12 godzin.
Pisz� o wersji 2.0 (beta) TIS FWTK. Wersja ta kompiluje si� dobrze (z pewnymi wyj�tkami) i wygl�da �e wszystko pracuje (u mnie). Gdy zostanie opublikowana wersja pe�na uaktualni� to HowTo.
Aby zainstalowa� FWTK stw�rz katalog fwtk-2.0
w /usr/src
. Przenie� tak kopi� (fwtk-2.0.tar.gz)
odpakuj j� (tar zxf fwtk-2.0.tar.gz).
FWTK nie po�redniczy w przekazywaniu SSL (bezpieczne dokumenty w WWW) ale posiada dodatek napisany przez Jean-Christophe Touvet. Jest on dost�pny pod adresem ftp://ftp.edelweb.fr/pub/contrib/fwtk/ssl-gw.tar.Z. Touvet nie �wiadczy wsparcia technicznego dla tego kodu.
U�ywam zmodyfikowanej wersji: w��czy�em modu� dost�pu do bezpiecznych serwer�w news Netscape napisany przez Eric Wedel ftp://mdi.meridian-data.com/pub/tis.fwtk/ssl-gw/ssl-gw2.tar.Z.
W naszych przyk�adach b�d� u�ywa� wersji Wedel'a.
Aby go zainstalowa� po prostu strw� katalog ssl-gw
w
katalogu
/usr/src/fwtk-2.0
i wsad� tam odpowiednie pliki.
Kiedy instalowa�em t� bram� potrzebne by�y drobne zmiany zanim mog�em
skompilowa�
reszt� zestawu.
Pierwsza zmiana nast�pi�a w pliku ssl-gw.c
.
Nie potrafi� w��czy� jednego z plik�w include.
#if defined(__linux) #include <sys/ioctl.h> #endifDruga zmiana polega�a na stworzeniu pliku
Makefile
.
Skopiowa�em jeden z innej ,,bramy'' i zast�pi�em nazw� tego modu�u
nazw� ssl-gw
.
Wersja 2.0 FWTK kompiluje si� �atwiej ni� poprzednie. Wci�� jednak jest kilka rzeczy kt�re powinny by� zmienione zanim wersja beta b�dzie si� kompilowa� bez przeszk�d. Pozostaje mie� nadziej�, �e do tak si� stanie w pe�nej wersji.
Aby to poprawi� zacznij zmiany od katalogu
/usr/src/fwtk/fwtk
i skopiuj plik Makefile.config.linux
na
Makefile.config
.
Nie uruchamiaj FIXMAKE. Instrukcja m�wi by� to zrobi�. Je�li chcesz zniszczy� Makefile we wszystkich podkatalogach...
Wykona�em poprawk� do fixmake
Problem polega� na tym,
�e fixmake
dodawa� '.' i '' do w��czanych do
Makefile
linii.
sed 's/^include[ ]*\([^ ].*\)/include \1/' $name .proto > $name
Nast�pnie b�dziemy musieli wyedytowa� Makeconfig.file
.
Potrzebne b�d� dwie zmiany.
Autor programu ustawi� �r�d�a programu w swoim $HOME/
.
My kompilujemy w /usr/src
i powinni�my zmieni� zmienn�
FWTKSRCDIR.
FWTKSRCDIR=/usr/src/fwtk/fwtk
Po drugie, przynajmniej niekt�re Linuxy u�ywaj� bazy danych w
formacie
gdbm
. W Makefile.config
jest u�ywana dbm
Zapewne b�dziesz musia� to zmieni�.
Ja w RedHacie 3.0.3 musia�em.
DBMLIB=-lgdbmOstania poprawka jest w katalogu x-gw. B��d w wersji beta jest w pliku
socket.c
. Poprawka polega na usuni�ciu tych linii.
#ifdef SCM_RIGHTS /* 4.3BSD Reno and later */ + sizeof(un_name->sun_len) + 1 #endifJe�li doda�e�
ssl-gw
do swojego katalogu �r�de� trzeba
jeszcze doda�
do listy katalog�w w Makefile.
DIRS= smap smapd netacl plug-gw ftp-gw tn-gw rlogin-gw http-gw x-gw ssl-gw
Teraz uruchom make.
Uruchom make install
.
Standardowo katalogiem instalacyjnym jest /usr/local/etc
.
Mo�esz to zmieni� (ja tego nie zrobi�em) na bardziej bezpieczny
katalog.
Ja zmieni�em prawa dost�pu do niego na chmod 700
.
Na koniec pozosta�a nam konfiguracja firewalla.
Teraz naprawd� rozpoczynamy. Musisz nauczy� system wywo�ywania tych nowych us�ug i stworzy� tablice do ich kontroli.
Nie pr�buj� przepisywa� tutaj dokumentacji do TIS FWTK. Chc� pokaza� takie ustawienia jakie u mnie dzia�a�y i wyja�ni� problemy jakie spotka�em.
Istniej� trzy pliki kontroluj�ce firewalla.
Aby uzyska� poprawne funkcjonowanie FWTK powiniene� wyedytowa� te
pliki
poczynaj�c od g�ry. Edycja jedynie services
bez inetd.conf
i
netperm-table ustawionych prawid�owo uczyni tw�j system
niedost�pnym.
Plik ten odpowiada za kontrol� kto ma dost�p do us�ug nadzorowanych przez TIS FWTK. Powiniene� my�le� o ruch z obu stron firewalla. Ludzie z zewn�trz twojej sieci powinni zidentyfikowa� si� przed otrzymaniem dost�pu, ale ludzie z wewn�trz mog� zosta� dopuszczeni od razu.
Aby ludzie moli si� zidentyfikowa� firewall u�ywa programu o nazwie authsrv do trzymania bazy danych o u�ytkownikach i ich has�ach. Sekcja dotycz�ca autentyfikacji w netperm-table pozwala kontrolowa� gdzie jest trzymana baza danych i kto ma do niej dost�p.
Mia�em troch� k�opot�w z blokowaniem dost�pu do us�ug. We� pod
uwag� �e linia
kt�r� pokazuj� u�ywa '*' do dawania dost�pu dla ka�dego do tej
us�ugi.
Prawid�owe ustawienie tej linii jest nast�puj�ce:
'' authsrv: premit-hosts localhost
je�li chcesz zachowa�
j� pracuj�c�.
# # tablica konfiguracji serwera proxy # # Autentyfikacja: regu�y serwera i klienta authsrv: database /usr/local/etc/fw-authdb authsrv: permit-hosts * authsrv: badsleep 1200 authsrv: nobogus true # Aplikacje klienckie u�ywaj�ce serwera autentyfikacji *: authserver 127.0.0.1 114
Aby zaincjalizowa� baz� danych wykonaj su
do root`a i
uruchom
./authsrv w katalogu /var/local/etc
by stworzy� rekord opisuj�cy administratora systemu.
Oto jest przyk�adowa sesja.
Przeczytaj dokumentacj� FWTK, by dowiedzie� si� jak doda� u�ytkownik�w i grupy.
# # authsrv authsrv# list authsrv# adduser admin " Auth DB admin " ok - user added initially disabled authsrv# ena admin enabled authsrv# proto admin pass changed authsrv# pass admin " plugh " Password changed. authsrv# superwiz admin set wizard authsrv# list Report for users in database user group longname ok? proto last ------ ------ ------------------ ----- ------ ----- admin Auth DB admin ena passw never authsrv# display admin Report for user admin (Auth DB admin) Authentication protocol: password Flags: WIZARD authsrv# ^D EOT #Kontrola przez bram� telnetu (tn-gw) polega na prostym przes�aniu i jest to pierwsza kt�r� powiniene� ustawi�.
W moim przyk�adzie pozwoli�em komputerom z wn�trza sieci prywatnej na dost�p bez autentyfikacji (permit-hosts 19961.2.* -passok).
Ale inni u�ytkownicy powinni wprowadzi� swoj� nazw� u�ytkownika i has�o. (permit-hosts * -auth)
Poza tym pozwoli�em jednemu innemu systemowi (196.1.2.202) na
dost�p
do firewalla bezpo�rednio, bez przechodzenia przez procedury na
nim.
Sprawiaj� to dwie linie z inetacl-in.telnetd
Wyja�ni� ich dzia�anie potem.
Powiniene� zachowa� kr�tki czas timeoutu.
# regu�y dost�pu telnetu do firewalla: tn-gw: denial-msg /usr/local/etc/tn-deny.txt tn-gw: welcome-msg /usr/local/etc/tn-welcome.txt tn-gw: help-msg /usr/local/etc/tn-help.txt tn-gw: timeout 90 tn-gw: permit-hosts 196.1.2.* -passok -xok tn-gw: permit-hosts * -auth # Tylko administrator mo�e wykona� telnet na port 24 firewalla. netacl-in.telnetd: permit-hosts 196.1.2.202 -exec /usr/sbin/in.telnetdI to samo z r-command.
# regu�y dost�pu rlogin do firewalla rlogin-gw: denial-msg /usr/local/etc/rlogin-deny.txt rlogin-gw: welcome-msg /usr/local/etc/rlogin-welcome.txt rlogin-gw: help-msg /usr/local/etc/rlogin-help.txt rlogin-gw: timeout 90 rlogin-gw: permit-hosts 196.1.2.* -passok -xok rlogin-gw: permit-hosts * -auth -xok # Tylko administrator mo�e wykona� telnet na port 24 firewalla. netacl-rlogind: permit-hosts 196.1.2.202 -exec /usr/libexec/rlogind -a
Nie powiniene� dawa� nikomu bezpo�redniego dost�pu do firewalla, w��czaj�c w to dost�p prze FTP (tak pobieranie jak i wk�adanie).
Jeszcze raz, linie zawieraj�ce permit-hosts pozwalaj� ka�demu w chronionej na wolny dost�p do Internetu, za� wszyscy inni musz� si� autentyfikowa�. W��czy�em zapisywanie ka�dego pliku pobranego i wys�anego do mojej konfiguracji.
(-log { retr stor })
Timeouty FTP daj� ci kontrol� nad tym jak d�ugo b�d� utrzymywane ,,z�e'' po��czenia i jak d�ugo b�d� utrzymywane po��czenia bez �adnej aktywno�ci.
# regu�y dost�pu ftp do firewalla ftp-gw: denial-msg /usr/local/etc/ftp-deny.txt ftp-gw: welcome-msg /usr/local/etc/ftp-welcome.txt ftp-gw: help-msg /usr/local/etc/ftp-help.txt ftp-gw: timeout 300 ftp-gw: permit-hosts 196.1.2.* -log { retr stor } ftp-gw: permit-hosts * -authall -log { retr stor }WWW, Gopher i bazuj�ce na przegl�darkach FTP jest kontrolowane przez http-gw. Pierwsze dwie linie tworz� katalog gdzie b�d� sk�adowane pliki i dokumenty z FTP i WWW. Przy czym s� one w�asno�ci� root`a i s� sk�adowane w katalogu dost�pnym tylko dla niego.
Po��czenia WWW powinny by� bardzo kr�tki. W ten spos�b mo�na kontrolowa� jak d�ugo u�ytkownicy b�d� utrzymywa� b��dne po��czenia.
# regu�y dost�pu dla WWW i Gophera http-gw: userid root http-gw: directory /jail http-gw: timeout 90 http-gw: default-httpd www.afs.net http-gw: hosts 196.1.2.* -log { read write ftp } http-gw: deny-hosts *
ssl-gw
ustawia si� tak samo ja i inne bramy. B�d� z ni�
ostro�ny.
W tym przyk�adzie pozwalam wszystkim z sieci chronionej na ��czenie
si�
z ka�dym z serwer�w na zewn�trz z wyj�tkiem adres�w 127.0.0.*
i 192.1.1.*
oraz (wtedy) na otwieranie port�w 443 do 563 u�ywanych jako znane
porty
dla SSL.
# zasady dla bramy ssl: ssl-gw: timeout 300 ssl-gw: hosts 196.1.2.* -dest { !127.0.0.* !192.1.1.* *:443:563 } ssl-gw: deny-hosts *
Poni�ej znajduje si� przyk�ad jak u�y� plug-gw
aby pozwoli�
na
po��czenie do serwera news. W tym przyk�adzie zezwalam ka�demu z
sieci
lokalnej na dost�p do tylko jednego systemu i tylko na porcie
zaj�tym przez
news.
W drugiej linii pozwalam serwerowi news przes�a� dane z powrotem do chronionej sieci.
Poniewa� wi�kszo�� klient�w spodziewa si�, �e pozostaje pod��czenie w czasie gdy u�ytkownik czyta wiadomo�ci timeout dla news powinien by� d�ugi.
# brama dla modu�u plug-gw i NetNews plug-gw: timeout 3600 plug-gw: port nntp 196.1.2.* -plug-to 199.5.175.22 -port nntp plug-gw: port nntp 199.5.175.22 -plug-to 196.1.2.* -port nntp
Brama dla fingera jest prosta. Ka�dy z chronionej sieci powinien si� za�ogowa� i wtedy pozwalamy mu na u�ycie fingera na firewallu. Pozostali nie po prostu dostaj� wiadomo��.
# uruchomienie us�ugi finger netacl-fingerd: permit-hosts 196.1.2.* -exec /usr/libexec/fingerd netacl-fingerd: permit-hosts * -exec /bin/cat /usr/local/etc/finger.txt
Nie mam ustawionych us�ug dla poczty elektronicznej i X-Windows wi�c nie daj� przyk�ad�w. Je�li kto� ma dzia�aj�cy przyk�ad, prosz� o przys�anie mi.
Oto jest kompletny plik /etc/inetd.conf
.
Wszystkie niepotrzebne us�ugi zosta�y wykomentowane.
W��czy�em pe�ny plik aby pokaza� co wy��czy� i jak ustawi� now�
us�ug�
w �cianie ognia.
{od t�umacza: nie przek�adam typowych dla tego pliku linii}
#echo stream tcp nowait root internal #echo dgram udp wait root internal #discard stream tcp nowait root internal #discard dgram udp wait root internal #daytime stream tcp nowait root internal #daytime dgram udp wait root internal #chargen stream tcp nowait root internal #chargen dgram udp wait root internal # brama FTP w �cianie ognia ftp-gw stream tcp nowait.400 root /usr/local/etc/ftp-gw ftp-gw # brama Telnetu w �cianie ognia telnet stream tcp nowait root /usr/local/etc/tn-gw /usr/local/etc/tn-gw # local telnet services telnet-a stream tcp nowait root /usr/local/etc/netacl in.telnetd # brama Gophera w �cianie ognia gopher stream tcp nowait.400 root /usr/local/etc/http-gw /usr/local/etc/http-gw # brama WWW w �cianie ognia http stream tcp nowait.400 root /usr/local/etc/http-gw /usr/local/etc/http-gw # SSL w �cianie ognia ssl-gw stream tcp nowait root /usr/local/etc/ssl-gw ssl-gw # NetNews firewall proxy (using plug-gw) nntp stream tcp nowait root /usr/local/etc/plug-gw plug-gw nntp #nntp stream tcp nowait root /usr/sbin/tcpd in.nntpd # SMTP (email) w �cianie ognia #smtp stream tcp nowait root /usr/local/etc/smap smap # # Shell, login, exec and talk are BSD protocols. # #shell stream tcp nowait root /usr/sbin/tcpd in.rshd #login stream tcp nowait root /usr/sbin/tcpd in.rlogind #exec stream tcp nowait root /usr/sbin/tcpd in.rexecd #talk dgram udp wait root /usr/sbin/tcpd in.talkd #ntalk dgram udp wait root /usr/sbin/tcpd in.ntalkd #dtalk stream tcp waut nobody /usr/sbin/tcpd in.dtalkd # # Pop and imap mail services et al # #pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d #pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d #imap stream tcp nowait root /usr/sbin/tcpd imapd # # The Internet UUCP service. # #uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l # # Tftp service is provided primarily for booting. Most sites # run this only on machines acting as " boot servers. " Do not uncomment # this unless you *need* it. # #tftp dgram udp wait root /usr/sbin/tcpd in.tftpd #bootps dgram udp wait root /usr/sbin/tcpd bootpd # # Finger, systat and netstat give out user information which may be # valuable to potential "system crackers." Many sites choose to disable # some or all of these services to improve security. # # cfinger is for GNU finger, which is currently not in use in RHS Linux # finger stream tcp nowait root /usr/sbin/tcpd in.fingerd #cfinger stream tcp nowait root /usr/sbin/tcpd in.cfingerd #systat stream tcp nowait guest /usr/sbin/tcpd /bin/ps -auwwx #netstat stream tcp nowait guest /usr/sbin/tcpd /bin/netstat -f inet # # Time service is used for clock syncronization. # #time stream tcp nowait root /usr/sbin/tcpd in.timed #time dgram udp wait root /usr/sbin/tcpd in.timed # # Authentication # auth stream tcp wait root /usr/sbin/tcpd in.identd -w -t120 authsrv stream tcp nowait root /usr/local/etc/authsrv authsrv # # End of inetd.conf
Tutaj si� wszystko zaczyna. Gdy klient ��czy si� ze �cian� ognia
dzieje si� to na tzw. dobrze znanym porcie (ni�szym od
1024).
Na przyk�ad telnet ��czy si� na porcie 23. Serwer inetd
s�yszy pro�b� o po��czenie, i szuka nazwy tej us�ugi w
/etc/services
. P�niej wzywa programy wyznaczony dla tej
us�ugi
w /etc/inedt.conf
Niekt�re z us�ug nie s� normalnie tworzone przez wywo�anie w
/etc/serwices
.
Mo�na przydziela� niekt�re porty jak chcemy, Na przyk�ad ja
przydzia�em us�udze ,,telnet administratora'' (telnet-a) port 24.
Ty mo�esz przydzieli� t� us�ug� na portowi 2323, je�li chcesz.
Dla administratora (CIEBIE) bezpo�rednie po��czenie ze �cian� ognia
na porcie 24 nie 23 no�e by� potrzebne, je�li masz ustawion� swoj�
chronionej sieci.
telnet-a 24/tcp ftp-gw 21/tcp # this named changed auth 113/tcp ident # User Verification ssl-gw 443/tcp
SOCKS proxy server dost�pny jest z adresu:
ftp://sunsite.unc.edu/pub/Linux/system/Network/misc/socks-linux-src.tgz.
Zawiera przyk�adowy plik konfiguracyjny w katalogu nazwanym:
" socks-conf " . Zdekompresuj i untaruj te pliki
w dowolnym katalogu i post�puj wed�ug instrukcji.
Mia�em kilka problem�w kiedy kompilowa�em go. Upewnij si�, �e tw�j
Makefile
jest prawid�owy.
Jedn� z wa�niejszych rzeczy jest pami�tanie o konieczno�ci dodania
serwera proxy do /etc/inetd.conf
.
Aby m�c odpowiedzie� na ��dania musisz dopisa� nast�puj�c� lini�:
socks stream tcp nowait nobody /usr/local/etc/sockd sockd
Program SOCKS potrzebuje dw�ch oddzielnych plik�w konfiguracyjnych. Jeden z nich m�wi tym komu udzieli� dost�pu a drugi w jaki spos�b przekazywa� ��dania do w�a�ciwego serwera proxy. Plik decyduj�cy o dost�pie powinien znajdowa� si� na serwerze. Plik dotycz�cy przekazywania dost�pu (routingu) powinien znajdowa� si� na ka�dej z maszyn Unixowych. W wypadku DOSa i cz�ciowo MaC�w komputery powinny mie� sw�j w�asny routing.
W wersji 4.2 Beta SOCSKs�w plik dost�pu nazywa si� " sockd.conf " . powinien zawiera� dwie linie: zezwolenia i zakazu. Ka�da z linii posiada trzy pozycje:
permit
lub deny
Powiniene� u�y� obu: ka�dy we w�a�ciwej linii.
Adres IP powinien zawiera� czterobajtowy adres w typowej dal IP
notacji.
np. 192.168.2.0.
Modyfikator adresu tak�e jest normalnym IP i pracuje jak maska.
Rozwini�cie tego adresu da 32 bity (1 albo zero).
Na przyk�ad, w tej linii:
permit 192.168.2.23 255.255.255.255zezwalam na dost�p maszynom w kt�rych adres pasuje co do bitu z zadanym: pasuje tu tylko 192.168.2.23
permit 192.168.2.0 255.255.255.0zezwala na dost�p maszynom z gdyby od 192.168.2.0 do 192.168.2.255, w formie ca�ej klasy C.
Nie powiniene� mie� nast�puj�cej linii:
permit 192.168.2.0 0.0.0.0daj�cej dost�p dla wszystkich adres�w.
Tak wi�c pierwsza linia daje zezwolenie dla tych adres�w kt�rym chcesz go da�, a druga zakazuje reszcie. Aby zezwoli� na dost�p wszystkim z klasy 192.168.2.xxx potrzeba linii:
permit 192.168.2.0 255.255.255.0 deny 0.0.0.0 0.0.0.0Zwr�� uwag� na pierwsze " 0.0.0.0 " w linii zakazu. Z mask� 0.0.0.0 taki adres nie istnieje. Wszystkie zera zosta�y tam wprowadzone bo s� �atwe do zapisu.
Dopuszczalne jest umieszczenie wi�kszej ilo�ci jeden zapis�w w
ka�dej
z linii.
Konkretni u�ytkownicy mog� ponadto otrzyma� lub traci� prawo
dost�pu.
jest to wykonywane przy pomocy autentyfikacji przy pomocy
ident
. Nie wszystkie systemu u�ywaj� ident
,
w��czaj�c w to
Trumpet Winsock
, dlatego te� nie w��czam tu przyk�ad�w.
Dokumentacja do SOCKS jest ca�kiem dobra w tej kwestii.
Tablica routingu w SOCS jest niestety nazywana
socks.conf
.
Tablica routingu m�wi klientom SOCKS kiedy u�ywa� socks a kiedy nie. Na przyk�ad, w twojej sieci 192.168.2.3 nie potrzebuje u�ywania socks do po��czenia z 192.168.2.1. Po prostu ��czy si� bezpo�rednio, po Ethernecie. Definiuje si� automatycznie 127.0.0.1 jako loopback. Oczywiste jest, �e nie potrzebujesz rozmawia� przez �cian� ogniow� z samym sob�...
S� trzy typy rekord�w:
Deny
m�wi SOCKS kiedy ma odm�wi� ��daniu. Rekord ten ma
takie
same trzy pola jak sockd.conf
: identyfikator, adres i
maska.
Og�lnie, dop�ki jest to modyfikowane przez sockd.conf
,
maska w pliku dost�pu jest ustawiona na 0.0.0.0. Je�li chcesz
pozwoli�
na dzwonienie do siebie mo�esz to zrobi� tutaj.
Rekord direct
m�wi kt�re do kt�rych adres�w nie u�ywa�
SOCKS.
Te adresy b�d� dor�czone bez serwera proxy.
Jeszcze raz, mamy trzy pola: identyfikator, adres i maska.
direct 192.168.2.0 255.255.255.0W ten spos�b kierujesz bezpo�rednio ca�y ruch w chronionej sieci.
Rekord z sockd
m�wi komputerowi kt�re z host�w s� serwerem SOCKS
Sk�adnia jest nast�puj�ca:
sockd @=<serverlist> <IP address> <modifier>Zwr�� uwag� na fragment: @= . Pozwala on na wprowadzenie listy serwer�w proxy. W naszym przyk�adzie u�ywamy tylko jednego. Ale mo�esz mie� wiele w celu zwi�kszenia przepustowo�ci i obni�enia mo�liwo�ci awarii.
Pola adresu IP i maski dzia�aj� jak w innych przyk�adach. Specyfikujesz adres i zakres jego obowi�zywania.
Aby twoje aplikacje dzia�a�y z serwerami proxy
potrzebujesz je zsockisy... ( " sockified " ).
B�dziesz potrzebowa� dw�ch r�nych telnet�w (jeden do komunikacji
bezpo�redniej drugi przez serwer proxy). SOCKS przychodz� z
instrukcj� jak zSOCKifikowa� program, i z paroma programami
przygotowanymi na t� mod��. Je�li u�ywasz zSOCKIfowanej wersji
gdziekolwiek bezpo�rednio SOCKS automatycznie prze��czy ci� na
w�a�ciw�
wersj�. Z tego powodu trzeba zmieni� nazwy wszystkich program�w w
naszej
chronionej sieci i zst�pi� je wersjami
zSOCKisowanymi. Finger
stanie
si� finger.orig
, telnet
stanie si�
telnet.orig
i
tak dalej.
Musisz powiedzie� SOCKS o ka�dym w pliku include/socks.h
.
Dobre programy s� w stanie dostarcza� tablic trasowania i zsocksifikowa� si� same. Jednym z nich jest Netscape Navigator. Mo�esz u�ywa� serwer�w proxy przez wprowadzenie adresu serwera (192.168.2.1 w naszym wypadku) w polu SOCKs w Menu Proxies. Ka�da aplikacja potrzebuje przynajmniej minimalnej informacji o tym co jest serwerem proxy.
Trumpet Winsock przychodzi z wbudowanymi mo�liwo�ciami wsp�pracy z
serwerem proxy. W
setup
menu wprowad� adres serwera, i adresy
komputer�w dost�pnych bezpo�rednio. Program przekieruje na serwer
wszystkie pakiety maj�ce wyj�� na zewn�trz.
Pakiet SOCKS pracuje jedynie z pakietami TCP, pomijaj�c UDP.
Powoduje to troch� mniejsz� jego u�yteczno��. Wiele u�ytecznych
program�w, takich jak na przyk�ad talk
i Archie
u�ywa UDP. Jest jednak pakiet
kt�ry mo�e by� u�yty jako serwer proxy dla UDP: UDPrelay
stworzony
przez Toma Fitzgeralda
fitz@wang.com. Niestety w chwili
pisania tego tekstu nie jest on zgodny z Linuxem.
Serwer proxy, jak pokaza�em powy�ej jest
narz�dziem bezpiecze�stwa
.
U�ywanie go zwi�ksza dost�pno�� do Internetu z ograniczon� liczb�
adres�w
wi��e si� jednak z wieloma niedogodno�ciami. Serwer proxy
pozwala
na wi�ksz� dost�pno�� internetu z sieci chronionej, ale pozostawia
wn�trze
ca�kowicie niedost�pne z zewn�trz. Oznacza to brak mo�liwo�ci
uruchomienia
wewn�trz sieci rozmaitych serwer�w, talk
i archie, oraz
bezpo�redniego wysy�ania list�w do chronionej sieci.
Poni�sze uchybienia wygl�daj� nieznacz�ca, ale spos�b my�lenia
przebiega nast�puj�co:
Przypadek FTP pokazuje jeszcze jeden problem z serwerami
proxymi. Kiedy pobieram pliki lub wydaj� komend� ls
,
serwer FTP otwiera gniazdo (,,socket'') na maszynie klienckiej
i wysy�a o tym informacj�. Serwer proxy nie pozwala na to, tak
wi�c FTP nie dzia�a w spos�b prawid�owy.
Poza tym serwery po�rednicz�ce dzia�aj� powoli. Z powodu wi�kszej wydajno�ci wi�kszo�� innych metod dost�pu do Internetu b�dzie szybsza.
Je�li masz przydzielony adres IP, i nie martwisz si� o bezpiecze�stwo,
nie u�ywaj �cian ogniowych i/lub serwer�w proxych.
Je�li nie masz nr. IP, i tak�e nie martwisz si� o bezpiecze�stwo
swojej sieci, mo�esz u�y� jednego z ,,emulator�w IP'' takich jak
Term
, Slirp
lub TIA
. Term jest dost�pny z
ftp://sunsite.unc.edu/, Slirp z
ftp://blitzen.canberra.edu.au/pub/slirp, za� TIA z
http://markertplace.com/.
Pakiety te pracuj� szybciej, pozwalaj� na szybsze po��czenia i na
wi�kszy dost�p z sieci wewn�trznej do internetu.
Serwery po�rednicz�ce s� dobre dla tych kt�ry maj� du�e sieci
z komputerami maj�cymi mie� dost�p ,,w locie'' do internetu
z jednorazowym ustawieniem, i minimalnym wk�adem pracy potem.
Przedstawi�em jedn� konfiguracj�, kt�r� wypr�bowa�em przez stworzeniem tego dokumentu. Przy czym ten zarys powinien wystarczy� dla wi�kszo�ci ludzi. My�l� �e poni�szy opis zaawansowanych konfiguracji mo�e rozwia� pozosta�e w�tpliwo�ci. Je�li opr�cz tego masz jeszcze jakie� pytania poza tym co opisa�em, albo ci� to po prostu interesuj� ci� szczeg�y zwi�zane ze firewallami i serwerami proxy mo�esz przeczyta� poni�szy fragment.
Powiedzmy, na przyk�ad, �e jeste� szefem milicji obywatelskiej i chcesz ,,usieciow�'' swoj� siedzib�. Masz pi��dziesi�t komputer�w i 32 nr IP (5 bit�w). Potrzebujesz mo�liwo�ci dania r�nych poziom�w dost�pu do sieci poniewa� powierzasz swoim wsp�pracownikom r�ne zadania. Poza tym b�dziesz potrzebowa� izolacji okre�lonych miejsc w sieci od reszty.
Poziomy dost�pu:
Numery IP s� ustawione w nast�puj�cy spos�b:
Teraz budujemy dwie izolowane sieci, ka�da w innym pokoju. S� one trasowane przez ekranowany ethernet i s� kompletnie niewidoczne z innych pomieszcze�. Na szcz�cie ekranowany Ethernet zachowuje si� tak samo jak zwyczajny ethernet.
Ka�da z tych sieci jest po��czona do jednej ze stacji linuxowych na dodatkowych adresach IP.
S� to serwery plik�w po��czone do obu chronionych sieci. Jest tak, poniewa� planujemy da� dost�p tak dla sieci Troops ja i wy�szej.
Serwer plik�w nosi numery 192.168.2.17 dla sieci Troop i
192.168.2.23 dla sieci Mercenary.
Maj� r�ne adresy poniewa� maj� dwie r�ne karty sieciowe.
network. IP Forwarding
jest wy��czony.
IP Forwarding
na obu stacjach linuxowych tak�e jest wy��czony.
Router nie powinien przesy�a� pakiet�w przeznaczonych dla sieci
192.168.2.xxx dop�ki mu tego wprost nie powiemy, tak wi�c dost�p do
internetu pozostaje wy��czony. Wy��czenie przesy�ania IP ma na celu
zablokowanie po��cze� z sieci Troop do sieci Mercenary na odwr�t.
Serwer NFS mo�e ponadto oferowa� r�ne pliki dla r�nych sieci.
To �atwe przy drobnych operacjach z symbolicznymi odniesieniami mo�na zrobi� w ten spos�b �e wsp�lne pliki s� dzielone przez wszystkich. U�ycie tego typu ustawie� i r�nych kart sieciowych umo�liwia Ci zastosowanie jednego serwera plik�w dla trzech sieci.
Teraz, dop�ki wszystkie trzy poziomu b�d� mo�liwe do pracy w ramach wyznaczonych zada� b�d� potrzebowa�y dost�pu do sieci. Zewn�trzna sie� jest po��czona bezpo�rednio z internetem, tak wi�c nie ma tu zastosowania dla serwera po�rednicz�cego. Sieci Mercenary i Troop znajduj� si� za �cian� ogniow� wi�c potrzebny im serwer proxy. Konfiguracja obu jest bardzo podobna. Oba maj� takie same adresu IP. Jedyna r�nica polega na nieco innych parametrach.
Tak wi�c w pliku sockd.conf
w linuxie w sieci Troop znajdzie
si� nast�puj�ca linia.
deny 192.168.2.17 255.255.255.255a w stacji przeznaczonej dla Mercenary:
deny 192.168.2.23 255.255.255.255Teraz w stacji linuxowej sieci Troop wpisujemy:
deny 0.0.0.0 0.0.0.0 eq 80Ten tekst m�wi �e zabraniamy dost�pu wszystkich maszynom pr�buj�cym si� dosta� do portu r�wnego (eq) 80 (http). Nadal pozwala si� na dost�p do wszystkich us�ug z wyj�tkiem WWW.
Teraz oba pliki powinny zawiera� linie:
permit 192.168.2.0 255.255.255.0by zezwoli� wszystkim komputerom z sieci 192.168.2.xxx na u�ycie tego serwera po�rednicz�cego zamiast tego kt�ry zosta� zakazany (np. serwer plik�w i dost�p do WWW z sieci Troop).
W sieci Troop w pliku sockd.conf
powinien wygl�da� w ten
spos�b:
deny 192.168.2.17 255.255.255.255 deny 0.0.0.0 0.0.0.0 eq 80 permit 192.168.2.0 255.255.255.0
a w sieci Mercenary mniej wi�cej tak:
deny 192.168.2.23 255.255.255.255 permit 192.168.2.0 255.255.255.0
To powinno zako�czy� konfiguracj� wszystkiego. Ka�da z sieci jest izolowana, z prawid�owymi ustawieniami interakcji. Ka�dy powinien by� szcz�liwy.
Dalej... Podbij �wiat...
Zdaj� sobie spraw� ile w tym tekscie jest potkni�� j�zykowych, przeinacze�.
Je�li kt�re� ci� dra�ni� prze�lij mi swoje uwagi.
Aha, jeszcze jedno. Wyra�enia firewall
i �ciana ogniowa
oraz proxy
i serwer po�rednicz�cy
traktuj�
(przynajmniej na razie) zamiennie. (choc ju� wi�kszo�� polskich
odpowiednik�w (na �yczenie publiczno�ci) usun��em.
Celowo pozostawiam tekst bez zwyczajowego (c) t�umacza ;-)
# # # #
Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:22