Firewalle i proxy serwery

Mark Grennan, markg@netplus.net
v0.4, 8 listopad 1996
Wersja polska: Ziemek Borowski ziembor@ziembor.waw.pl v0.1 8 lipiec 1997


Dokument ten powsta� w celu uczenia podstaw system�w firewalli oraz dostarczenia niekt�rych szczeg��w w zakresie ustawania (konfigurowania) filtruj�cych i posredniczacych firwalli na Linuxie. Oryginalna wersja tego dokumentu znajduje si� pod adresem: http://okcforum.org/~markg/Firewall-HOWTO.html za� polskie t�umaczenie: http://www.ziembor.waw.pl/~ziembor/JTZ/Firewall-HOWTO.pl.html Niniejsza wersja opisuje stan z 1997 roku. Je�li nadal u�ywasz j�der z serii 2.0 (nie 2.2 lub 2.4) to jest to dokument dla Ciebie. Nast�pna wersja tego dokumentu opisuje ew. poza ipfwadm tak�e ipchains (dost�pne z j�drami 2.2) -- zawiera tyle b��d�w, �e nale�a�oby je napisa� od nowa. Je�li szukasz informacji na temat budowania firewalli pod linuksem odsy�am raczej do t�umacze� dokumentacji IPtables wykonanych przez �ukasza Bromirskiego http://mr0vka.eu.org/.

1. Wprowadzenie

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.

1.1 Informacja zwrotna, uwagi.

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

1.2 Deklaracje

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.

1.3 Copyright

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.

1.4 Moje pobudki do tej pracy.

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.

1.5 TODO (do zrobienia)

1.6 Zobacz tak�e:

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.

2. Understanding Firewalls

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.

2.1 Wady firewalli

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.

2.2 Typy firewalli

Istniej� dwa typy firewalli:

  1. firewalle filtruj�ce IP - blokuj� ca�y ruch, ale przepuszczaj� dopuszczony.
  2. serwery proxy - serwery po��czeniowe - wykonuj� po��czenie sieciowe za ciebie.

Filtuj�ce firwalle

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

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.

3. Ustawianie firewalla

3.1 Wymagania sprz�towe.

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 ; -).

4. Oprogramowanie dla firewalli

4.1 Dost�pne pakiety

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:

  1. SOCKS
  2. TIS Firewall Toolkit (FWTK)

4.2 TIS Firewall Toolkit kontra SOCKS

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.

5. Przygotowanie Linuxa

5.1 Kompilacja j�dra.

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

  1. Under General setup
    1. Turn Networking Support ON
  2. Under Networking Options
    1. Turn Network firewalls ON
    2. Turn TCP/IP Networking ON
    3. Turn IP forwarding/gatewaying OFF (UNLESS you wish to use IP filtering)
    4. Turn IP Firewalling ON
    5. Turn IP firewall packet loggin ON (this is not required but it is a good idea)
    6. Turn IP: masquerading OFF (I am not covering this subject here.)
    7. Turn IP: accounting ON
    8. Turn IP: tunneling OFF
    9. Turn IP: aliasing OFF
    10. Turn IP: PC/TCP compatibility mode OFF
    11. Turn IP: Reverse ARP OFF
    12. Turn Drop source routed frames ON
  3. Under Network device support
    1. Turn Network device support ON
    2. Turn Dummy net driver support ON
    3. Turn Ethernet (10 or 100Mbit) ON
    4. Select your network card

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�.

5.2 Ustawienie dw�ch kart sieciowych

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 " 

5.3 Ustawienie adres�w sieciowych

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 declarations
Mo�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.

5.4 Testowanie twojej sieci

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.

5.5 Zabezpieczanie firewalla.

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.

6. Konfigurowanie filtrowania IP (IPFWADM)

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 -f
Teraz 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/24
Je�li potrzebowa�e� firewalla filtruj�cego mo�esz sko�czy� lektur�. Mi�ego konfigurowania. ; -)

7. Instalowania serwera proxy - TIS

7.1 Pobranie oprogramowania

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>
 #endif
Druga zmiana polega�a na stworzeniu pliku Makefile. Skopiowa�em jeden z innej ,,bramy'' i zast�pi�em nazw� tego modu�u nazw� ssl-gw.

7.2 Kompilacja TIS FWTK

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=-lgdbm
Ostania 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
 #endif
Je�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.

7.3 Instalacja TIS FWTK

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.

7.4 Konfiguracja firewalla TIS FWTK

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 netperm-table

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.telnetd
I 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.

Plik inetd.conf

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

Plik /etc/services

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

8. Serwer proxy SOCKS

8.1 Konfigurowanie serwera Proxy

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

8.2 Konfiguracja serwera proxy

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.

Plik dost�pu.Access File

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:

Identyfikator to 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.255
zezwalam 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.0
zezwala 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.0
daj�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.0
Zwr�� 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 trasowania

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.0
W 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.

DNS zza firewalla Ustawienie us�ugi DNS zza firewalla jest prostymzadaniem. Potrzeba jedynie ustawienia DNS na maszynie z firewallem.I inne maszyny za firewallem b�d� go u�ywa�y.

8.3 Wsp�praca z serwerami proxy

Unix

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.

MS Windows i Trumpet Winsock

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.

Ustawienie serwera po�rednicz�cego do pracy z pakietami UDP.

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.

8.4 Wady serwer�w proxych

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.

9. Konfiguracja zaawansowana.

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.

9.1 Wielkie sieci wymagaj� po�o�enia nacisku na bezpiecze�stwo

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:

  1. Poziom zewn�trzny - ukazywany wszystkim, tutaj werbujesz i zdobywasz nowych ochotnik�w.
  2. Troop poziom ten przeznaczony jest dla ludzi kt�rzy otrzymali dost�p z poziomu zewn�trznego. Tutaj jest miejsce gdzie uczysz o rz�dzie dusz i jak zrobi� bomb�.
  3. Mercenary Tutaj jest miejsce gdzie naprawd� planujesz chroni�. Tutaj sk�adujesz wszelkie informacje o tym jak rz�dy trzeciego �wiata zamierzaj� podbi� �wiat, twoje plany dla Newt Gingich, Oklahoma City, sk�adujesz tajne informacje.

Konfiguracja sieci

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.

Serwer proxy

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.

  1. Nie ka�dy mo�e u�y� serwera plik�w dla dost�pu do Interntu. Wystawia to go na wirusy i inne brzydkie rzeczu.
  2. Nie chcemy zezwoli� sieci Troop na dost�p do WWW. Przechodz� szkolenie I jaki kolwiek przep�y informacji m�g�by zniszczy� jego efekty.

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.255
a w stacji przeznaczonej dla Mercenary:

  deny 192.168.2.23 255.255.255.255
Teraz w stacji linuxowej sieci Troop wpisujemy:

  deny 0.0.0.0 0.0.0.0 eq 80
Ten 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.0
by 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...

10. Od t�umacza.

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