  Firewalle i proxy serwery

  v.0.1 8 lipiec 1997

  Mark Grennan,

  markg@netplus.net

  tumacz: Ziemek Borowski <ziembor@ziembor.waw.pl>
  v0.4, 8 listopad 1996

  Dokument ten powsta w celu uczenia podstaw systemw firewalli

  oraz  dostarczenia  niektrych szczegw w zakresie ustawania

  (konfigurowania) filtrujcych i posredniczacych firwalli na Linuxie.
  Oryginalna wersja tego dokumentu znajduje si pod

  adresem:

  <http://okcforum.org/~markg/Firewall-HOWTO.html>

  za polskie tumaczenie:

  <http://www.ziembor.waw.pl/~ziembor/JTZ/Firewall-HOWTO.pl.html>
  ______________________________________________________________________

  Table of Contents:

  1.      Wprowadzenie

  1.1.    Informacja zwrotna, uwagi.

  1.2.    Deklaracje

  1.3.    Copyright

  1.4.    Moje pobudki do tej pracy.

  1.5.    TODO (do zrobienia)

  1.6.    Zobacz take:

  2.      Understanding Firewalls

  2.1.    Wady firewalli

  2.2.    Typy firewalli

  2.2.1.  Filtujce firwalle

  2.2.2.  Serwery proxy

  3.      Ustawianie firewalla

  3.1.    Wymagania sprztowe.

  4.      Oprogramowanie dla firewalli

  4.1.    Dostpne pakiety

  4.2.    TIS Firewall Toolkit kontra SOCKS

  5.      Przygotowanie Linuxa

  5.1.    Kompilacja jdra.

  5.2.    Ustawienie dwch kart sieciowych

  5.3.    Ustawienie adresw sieciowych

  5.4.    Testowanie twojej sieci

  5.5.    Zabezpieczanie firewalla.

  6.      Konfigurowanie filtrowania IP (IPFWADM)

  7.      Instalowania serwera proxy - TIS

  7.1.    Pobranie oprogramowania

  7.2.    Kompilacja  TIS FWTK

  7.3.    Instalacja TIS FWTK

  7.4.    Konfiguracja firewalla TIS FWTK

  7.4.1.  Plik netperm-table

  7.4.2.  Plik inetd.conf

  7.4.3.  Plik /etc/services

  8.      Serwer proxy SOCKS

  8.1.    Konfigurowanie serwera Proxy

  8.2.    Konfiguracja serwera proxy

  8.2.1.  Plik dostpu.  Access File

  8.2.2.  Tablica trasowania

  8.2.3.  DNS zza firewalla   Ustawienie usugi DNS zza firewalla jest
  prostym  zadaniem. Potrzeba jedynie ustawienia DNS na maszynie z
  firewallem.  I inne maszyny za firewallem bd go uyway.

  8.3.    Wsppraca z serwerami proxy

  8.3.1.  Unix

  8.3.2.  MS Windows i Trumpet Winsock

  8.3.3.  Ustawienie serwera poredniczcego do pracy z pakietami UDP.

  8.4.    Wady serwerw proxych

  9.      Konfiguracja zaawansowana.

  9.1.    Wielkie sieci wymagaj pooenia nacisku na bezpieczestwo

  9.1.1.  Konfiguracja sieci

  9.1.2.  Serwer proxy

  10.     Od tumacza.
  ______________________________________________________________________

  11..

  WWpprroowwaaddzzeenniiee

  Dokument ten Firewall-HOWTO zosta napisany przez Davida Ruddera

  <mailto:drig@execpc.com>.

  Chciabym Mu podzikowa za zezwolenie na uaktualnienie jego pracy.

  Firewalle zyskay ostatnio wielk saw jako defintywne

  rozwizanie w dziedzinie bezpieczestwa Internetu. Wikszo tej

  sawy jest zasuona, jednak cz wynika z nieporozumienia. To JTZ

  ma na celu przegld: czym s firewalle, jak je konfigurowa, czym

  s serwery proxy i jak je konfigurowa oraz aplikacje

  (zastosowania) tej technologii poza zakresem bezpieczestwa.

  11..11..

  IInnffoorrmmaaccjjaa zzwwrroottnnaa,, uuwwaaggii..

  Wszelkie uwagi bd mile widziane.

   PPrroosszz:: DDOONNOOCCIIEE OO WWSSZZEELLKKIICCHH

  NNIIEECCIISSOOCCIIAACCHH WW TTYYMM DDOOKKUUMMEENNCCIIEE .

  Jestem czowiekiem, i jestem

  omylny. Jeli znajdziesz jakie popraw je (w moim najwyszym

  interesie). Bd prbowa odpowiedzie na wszystkie listy, ale

  jestem zajtym czowiekiem, tak wic nie obraaj si prosz jeli

  nie odpowiem.

  _M__j _a_d_r_e_s_:     <<mmaarrkkgg@@nneettpplluuss..nneett>

  11..22..

  DDeekkllaarraaccjjee

   NNIIEE OODDPPOOWWIIAADDAAMM ZZAA JJAAKKIIEEKKOOLLWWIIEEKK ZZNNIISSZZCCZZEENNIIAA WWYYNNIIKKAAJJCCEE ZZEE

  SSTTOOSSOOWWAANNIIAA TTEEGGOO DDOOKKUUMMEENNTTUU  Dokument ten jest pomylany jako

  wprowadzenie do technologii firewalli i serwerw proxy.

  Nie jestem, i nie zamierzam sobie roci pretensji do bycia ekspertem

  w sprawach bezpieczestwa. Jestem po prostu czowiekiem ktry

  przeczyta co nieco, i pasjonuje si komputerami bardziej ni inni.

  Prosz, piszc ten tekst chc pomc ludziom zaznajomi si z tym

  tematem, i nie jestem gotw dawa gowy za dokadno podawanych

  przeze mnie danych.

  11..33..

  CCooppyyrriigghhtt

  Jeli nie jest powiedziane inaczej, prawa autorskie

  dokumenty z serii  _L_i_n_u_x

  _J_a_k _T_o _Z_r_o_b_i_

  nale do kadego z autorw. Mog by powielane i rozpowszechniane w

  w caoci w czciach, w formie ,,papierowej'' i elektronicznej

  dopki wszdzie (w kadej z czci) zachowana jest informacja o

  prawach

  i autorstwie. Komercyjna redystrybucja jest dozwolona i wskazana;

  jednake, autor powinien by poinformowany o tym fakcie.

  Wszystkie tumaczenia, poprawki jzykowe, i prace wczajce

  musz zawiera niniejsz not o prawach autorskich.

  Jeli masz jakie zapytania, prosz o kontakt:

  Mark Grennan

  <mailto:markg@netplus.net>.

  11..44..

  MMoojjee ppoobbuuddkkii ddoo tteejj pprraaccyy..

  Pomimo wielu dyskusji w grupach comp.os.linux.* (w cigu ostatniego

  roku) na temat firewalli wydaje mi si trudnym znalezienie

  informacji ktrych potrzebowaem do ustawienia i skonfigurowania

  firewalla. Oryginalna wersja tego HOWto bya pomocna, ale

  nieaktualna. Mam nadziej, e ta poprawiona wersja

  ,,Firewall HOWto'' autorstwa Davida Ruddera dostarczy wszystkim

  informacji jakiej potrzebuj do stworzenia dziaajcych ,,cian

  ognia'' w cigu godzin, nie tygodni.

  Poza tym uwaam e powinienem zwrci mj dug spoecznoci
  Linuxowej.

  11..55..

  TTOODDOO ((ddoo zzrroobbiieenniiaa))

    Instrukcje na temat ustawie klientw

    Znalezienie dobrych serwerw proxych dla usug

     bazujcych na UDP dziaajcych na Linuxie.

  11..66..

  ZZoobbaacczz ttaakkee::

    NET-2 HOWTO <http://www.ippt.gov.pl/~ppogorze/Linux/JTZ/zrobione/>

    The Ethernet HOWTO

    The Multiple Ethernet Mini HOWTO

    Networking with Linux

    The PPP HOWTO

    TCP/IP Network Administrator's Guide by O'Reilly and

     Associates

    The Documentation for the TIS Firewall Toolkit

  Wze pajczyny nalecy do Trusted  Information System's (TIS)
  posiada wspaniaa

  kolekcj dokumentacji dotyczcej firewalli i pokrewnych tematw.

  Poza  tym pracuj na projektem dotyczcym bezpieczestwa:

  ,,Bezpieczny  Linux''.  W  miejscu  tym  zgromadziem wszystkie
  informacje, dokumentacje i programy

  potrzebne do stworzenia bezpiecznego Linuxa. Napisz do mnie jeli

  chcesz otrzyma wicej informacji.

  22..  UUnnddeerrssttaannddiinngg FFiirreewwaallllss

  Firewall - ,,ciana ogniowa'' jest terminem wzitym z konstrukcji

  samochodu.  W  samochodach  firewalle  fizycznynie

  oddzielaj silnik od pasaerw. To znaczy, e chroni one

  pasaerw w wypadku gdy silnik zapali si cay czas dostarczajc

  kontroli nad nim.

  Komputerowe firewalle s urzdzeniami, ktre chroni sieci

  prywatne od czci publicznej (jakiej jak Internet).

  Komputer bdcy ,,cian ognia'' od tej chwili nazywany

  ,,firewallem'' moe (musi) by obecny tak w sieci chronionej jak i w

  Internecie. Chroniona sie nie moe by osigalna z Internetu,

  podobnie jak Internet nie moe by osigalny z chronionej sieci.

  Dla niektrych dosignicie Internetu z izolowanej sieci jest

  moliwe

  jedynie poprzez zalogowanie si na firewallu (telnetem) i penetracja

  Sieci stamtd.

  Najprostsz   form  firewalla  jest  podwjnie

  zadomowiony system (tj. system z podwjnym poczeniem sieciowym).

  Jeli moesz ZAUFA WSZYSTKIM swoim uytkownikom,

  moesz prosto skonfigurowa

  Linuxa (wyczajc przy kompilacji jdra forwarding / gatewaying)

  Mog oni logowa si na tym systemie i uywa 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. Pozostae systemy w twojej chronionej

  sieci nie potrzebuj nawet ustawienia domylnego routingu.

  Aby powyszy firewall dziaa MMUUSSIISSZZ UUFFAA WWSSZZYYSSTTKKIIMM SSWWOOIIMM UUYYTTKKOOWWNNIIKKOOMM
  Nie jest to zalecane

  rozwizanie.

  22..11..  WWaaddyy ffiirreewwaallllii

  Problemem filtrujcych firewalli jest to, e ograniczaj dostp do

  twojej sieci z Internetu. Tylko usugi na filtrowanie ktrych

  zezwolie s dostpne. Na serwerach proxych uytkownicy mog

  autoryzowa si na firewallu i dopiero wtedy maj (z systemu

  wewntrz sieci prywatnej) dostp do Internetu.

  Poza tym, nowe typy klientw sieciowych i serwerw przybywaj prawie

  codziennie.  Musisz  wtedy wynale nowy sposb zezwolenia na

  kontrolowany ich dostp do twojej sieci, zanim bd uyte.

  22..22..

  TTyyppyy ffiirreewwaallllii

  Istniej dwa typy firewalli:

  1. firewalle filtrujce IP - blokuj cay ruch, ale

     przepuszczaj dopuszczony.

  2. serwery proxy   - serwery poczeniowe - wykonuj poczenie

     sieciowe za ciebie.

  22..22..11..  FFiillttuujjccee ffiirrwwaallllee

  Firewalle  filtrujce  dziaaj  na  poziomie  pakietw IP. S

  zaprojektowane do kontroli przepywu bazujc na adresie rdowym,

  docelowym, porcie i typie pakietu (zawartych w kadym z pakietw).

  Ten typ firewalli jest bardzo bezpieczny, ale traci wiele typw

  zapisu. Moe zablokowa ludziom z dostp z sieci prywatnej, ale nie

  powie, kto dosta si do twojego systemu publicznego, ani kto

  wyszed

  z sieci lokalnej do Internetu.

  Filtrujce firewalle s bezwzgldnymi filtrami. Nawet jeli chcesz da

  komu z zewntrz dostp do twoich serwerw ,,prywatnych'' nie jeste

  w stanie bez dania tego dostpu wszystkim (tum. jak rozumiem spod

  tego adresu)

  Linux posiada opcj filtrowania pakietw w jdrach powyej 1.3.x.

  22..22..22..

  SSeerrwweerryy pprrooxxyy

  Serwery proxy pozwalaj na niebezporedni dostp do Internetu, przez

  firewall.  Najlepszym  przykadem  jak  to pracuje jest osoba

  telnetujca si do systemu i stamtd wykonujca nastpne poczenie.

  Tylko  e  w  wypadku  serwerw  proxy  proces ten nastpuje

  automatycznie.  Gdy  czysz  si  z  proxy serwerem za pomoc

  oprogramowania klienckiego startuje on swojego klienta i dostarcza

  ci danych ktrych zarzdzae.

  Poniewa serwery proxy podwajaj kade poczenie, moliwe jest

  zapisywanie kadego z nich.

  Wspania rzecz w serwerach proxy jest to, e s w peni

  bezpieczne,

  gdy s prawidowo ustawione. Nie pozwalaj nikomu przej. Nie

  dokonuj bezporedniego routingu.

  33..

  UUssttaawwiiaanniiee ffiirreewwaallllaa

  33..11..

  WWyymmaaggaanniiaa sspprrzzttoowwee..

  Naszym przykadem nich bdzie komputer i486-DX66 z 16 Mb RAMu oraz

  500Mb partycj Linuxow. System ten posiada dwie karty sieciowe,

  jedn poczon z nasz sieci prywatn, a drug do sieci lokalnej

  nazywanej  stref  zdemilitaryzowan (DMZ). DMZ posiada router

  poczony do Internetu.

  Jest to cakiem przyjemny standard dla biznesu. Powiniene uy

  jednej karty sieciowej oraz modemu z PPP do intenetu.

  Firewall powinien posiada dwa adresy IP.

  Znam wielu ludzi posiadajcych mae LANy w domu z dwoma lub trzema

  komputerami. Moesz rozpatrzy nastpujcy model: woy wszystkie

  modemy do komputera z Linuxem (np. star i386) i poczy wszystkie

  do Internetu czem komutowanym. Z takim ustawieniem, gdy tylko jedna

  osoba cignie dane moe uy wszystkich modemw (a wic i dziaa

  2-3 krotnie szybciej ; -).

  44..

  OOpprrooggrraammoowwaanniiee ddllaa ffiirreewwaallllii

  44..11..

  DDoossttppnnee ppaakkiieettyy

  Jeli  wszystkim  czego  potrzebujesz  jest filtrujcy firewall

  potrzebujesz jedynie Linuxa i podstawowych pakietw sieciowych.

  Jednym z pakietw ktry moe nie zawiera si w twojej dystrybucji

  jest IP Firewall Administration tool (przyp. tum. w RedHacie 4.0 i

  Debianie 1.2.* jest)

  (IPFWADM) z

  Jeli chcesz postawi serwer proxy potrzebujesz jednego z niej

  wymienionych pakietw:

  1. SOCKS

  2. TIS Firewall Toolkit (FWTK)

  44..22..

  TTIISS FFiirreewwaallll TToooollkkiitt kkoonnttrraa SSOOCCKKSS

  Trusted Information System ( <<hhttttpp::////wwwwww..ttiiss..ccoomm>)

  jest fragmentem kolekcji programw zaprojektowanych dla firewalli.

  Program ten udostpnia podobne rzeczy jak SOCK, ale jest zbudowany

  na  innych  zasadach.  Tam gdzie Socks posiada jeden program

  przeprowadzajcy wszystkie transakcje s internetem, TIS dostarcza

  jednego programu dla kadego z narzdzi ktrych chcesz uy w

  firrewallu.

  Dla pokazania kontrastu uyjmy przykadw WWW i dostpu za pomoc

  telnetu. Uywajc SOCKS, ustawiasz jeden plik konfiguracyjny i

  jednego demona. Uywajc tego pliku tak telnet jak i WWW s

  dostpne, podobnie jak inne usugi ktrych nie zakazae.

  W pakiecie TIS ustawiasz jednego demona dla (osobno) WWW i

  Telnetu

  z osobnymi plikami konfiguracyjnymi. Po zrobieniu tego inne usugi

  internetowe s zakazane dopki ich explicite nie ustawisz. Jeli
  demon dla specyficznych usug jest niedostpny (tak jak talk),

  istniej ,,plug-in-y'' dla demona, ale nie tak elastyczne i atwe w

  konfiguracji jak inne narzdzia.

  Rnica wyglda na niewielk, jest jednak istotna.

  SOCKS pozwala

  Ci by spokojnym.

  Przy kiepsko ustawionym SOCKS serwerze kto z

  wewntrz  moe  uzyska wikszy dostp do Internetu ni byo

  pocztkowo planowane. Z pakietem TIS ludzie wewntrz sieci maj

  jedynie taki dostp na jaki zezwoli administrator.

  SOCKS s atwiejszy do konfiguracji, atwiejszy do kompilacji i

  pozwala na wiksz elastyczno. TIS jest bardziej bezpieczny, jesli

  chcesz  ustawia  uytkownikw  wewntrz chronionej sieci. Oba

  dostarczaj cakowitego bezpieczestwa z zewntrz.

  Opisz proces instalacji obydwu.

  55..

  PPrrzzyyggoottoowwaanniiee LLiinnuuxxaa

  55..11..

  KKoommppiillaaccjjaa jjddrraa..

  Zacznij od wieej instalacji twojej dystrybucji Linuxowej (ja

  uyem RedHata 3.0.3 (Picasso) i ponisze przykady bazuj na tej

  dystrybucji). Im mniej oprogramowania zainstalujesz tym mniej bdzie

  w nim dziur, tylnych wej i / lub bdw wprowadzajcych do twojego

  systemu problem bezpieczestwa, wic zainstaluj jedynie minimalny

  zestaw aplikacji.

  Uyj stabilnego jdra. Ja uyem 2.0.14.

  Oto jest dokumentacja podstawowych ustawie:

  Bdziesz potrzebowa rekompilowa jdro sytemu z odpowiednimi

  opcjami. (patrz Kernel-HOWto, Ethernet-HOWto oraz NET-2 HOWto jeli

  nie zrobie tego wczeniej).

  Oto s sieciowe ustawienia ktre poznaem wykonujc komend  make
  config

  1. Under General setup

     a. Turn Networking Support ON

  2. Under Networking Options

     a. Turn Network firewalls ON

     b. Turn TCP/IP Networking ON

     c. Turn IP forwarding/gatewaying OFF (UNLESS you wish to use IP

        filtering)

     d. Turn IP Firewalling ON

     e. Turn IP firewall packet loggin ON (this is not required but

        it is a good idea)

     f. Turn IP: masquerading OFF (I am not covering this subject

        here.)

     g. Turn IP: accounting ON

     h. Turn IP: tunneling OFF

     i. Turn IP: aliasing OFF

     j. Turn IP: PC/TCP compatibility mode OFF

     k. Turn IP: Reverse ARP OFF

     l. Turn Drop source routed frames ON

  3. Under Network device support

     a. Turn Network device support ON

     b. Turn Dummy net driver support ON

     c. Turn Ethernet (10 or 100Mbit) ON

     d. Select your network card

  Teraz  moesz  dokona  rekompilacji i reinstalacji jdra 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 prbuj dopki nie bd dziaa.

  55..22..

  UUssttaawwiieenniiee ddwwcchh kkaarrtt ssiieecciioowwyycchh

  Jeli masz dwie kary sieciowe w swoim komputerze w wikszoci

  przypadkw potrzebujesz doda twierdzenie w pliku

  /etc/lilo.conf opisujce ich IRQ i adresy. W moim wypadku

  wyglda to tak:

    append= " ether=12,0x300,eth0 ether=15,0x340,eth1 "

  55..33..

  UUssttaawwiieenniiee aaddrreessww ssiieecciioowwyycchh

  Jest to naprawd interesujca cz. Teraz jest czas na podjcie

  kilku decyzji. Dopki nie chcemy da dostpu komputerom z Internetu

  do  adnej z czci naszej sieci lokalnej nie musimy uywa

  prawdziwych adresw. Istniej numery wydzielone z internetowych do

  ustawienia odrbnych sieci prywatnych

  (przyp. tumacza: 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 kady potrzebuje wicej adresw i poniewa adres nie mog

  si powtarza w Internecie jest to dobry wybr.

  Wybralimy jedn z tych klas: 192.168.2.xxx, i uyjemy jej w naszym

  przykadzie.

  Twj serwer proxy bdzie czonkiem obu sieci i bdzie przekazywa

  dane do i z sieci prywatnej.

        199.1.2.10  __________  192.168.2.1  192.168.2.2

     _ __ _    \ |     | /      ____/__________

     | \/ \/ |    \| Firewall |/      | Stacja    |

    / Internet \--------|     |------------| Robocza    |

    \_/\_/\_/\_/    |__________|      |_______________|

  Jeli  uywasz filtrujcego firewalla moesz uywa tych numerw

  stosujc IP masquearading

  Firewall bdzie przesya pakiety i tumaczy numery IP na

  ,,PRAWDZIWE'' adresy w Internecie.

  Musisz przydzieli prawdziwy adres IP karcie sieciowej widocznej z

  Internetu (na zewntrz). I przydzieli adres 192.168.2.1 karcie

  Ethernetowej wewntrz. To bdzie adres IP twojego gatewaya/proxy.

  Moesz przydzieli pozostaym maszynom ze swojej sieci numery z

  zakresu

  192.168.2.2-192.168.2.254.

  Odkd uywam 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.

  Mj ifcfg-eth1 wyglda nastpujco:

    #!/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

  Moesz  take  uy tego skryptu do automatycznego poczenia

  modemowego do twojego IPS. Spjrz na skrypt ipup-pop

  Jeli uywasz modemu do czenia si z sieci twj zewntrzny adres

  bdzie

  przydzielony w trakcie poczenia.

  55..44..

  TTeessttoowwaanniiee ttwwoojjeejj ssiieeccii

  Zacznij od sprawdzenia  ifconfig  i trasowania (routingu)

  jeli masz dwie karty wynik polecenia ifconfig powinien

  wyglda

  nastpujco:

   #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 wicej 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

  UUwwaaggaa:: 199.1.2.0 jest numerem interface po internetowej

  stronie

  firewalla za 192.168.2.0 jest wewntrz.

  Teraz sprbuj pingn si do Internetu z firewalla. Ja zwykem uywa

  nic.dnn.mil jako punktu testowego (w Polsce doradzabym

  bilbo.nask.org.pl 148.81.16.51). Jest to wci dobry test,

  ale nie dostarcza tylu informacji ile by si chciao.

  Jeli nie rusza za pierwszym razem sprbuj zapuka do innych

  komputerw

  poza swoj sieci lokaln. Jeli nie dziaa to znaczy e twoje

  poczenie PPP

  jest le ustawione. Przeczytaj jeszcze raz Net-2 HOWto i sprbuj

  jeszcze raz.

  Nastpnie pingnij si z firewalla do komputera wewntrz chronionej

  sieci.

  Kady komputer powinien mc sondowa inny. Jeli nie spjrz jeszcze

  raz

  do Net-2 HOWto i popraw ustawienia w swojej sieci.

  Teraz sprbuj pingn zewntrzny adres z wewntrznej czci

  chronionej sieci.

  (Notka: to nie jest aden z numerw IP zaczynajcych si od:

  192.168.2.xxx.)

  Jeli jest to moliwe, to znaczy e nie wyczye przesyania IP w

  konfiguracji jdra.

  Upewnij si, e tego chcesz. Jeli zostawisz t opcj wczon,

  musisz zapozna si z czci tego dokumentu opisujc filtrowanie

  pakietw

  IP.

  Teraz sprbuj sondowa internet zza swojego firewalla.

  Uyj tego samego adresu co poprzednio (np. bilbo.nask.org.pl).

  Znowu, jeli wyczye IP Forwarding nie powinno dziaa. Albo

  powinno,

  jeli wczye.

  Jeli masz ustawiony IP Forwarding i uywasz ,,PRAWDZIWYCH''

  (nie 192.168.2.*) adresw IP i nie moesz wyj na zewntrz, ale

  moesz si dosta do internetowej strony swego firewalla

  sprawd czy nastpny router przepuszcza pakiety z twojej sieci

  lokalnej

  (twj dostawca usug internetowych powinien co o tym wiedzie).

  Jeli przydzielie swojej sieci adresy 192.168.2.*

  pakiety i tak nie bd filtrowane. Jeli przechodz mimo wszystko

  i masz

  IP masquerading wczone ten test te zosta zdany.

  Masz teraz podstawow konfiguracj systemu.

  55..55..

  ZZaabbeezzppiieecczzaanniiee ffiirreewwaallllaa..

  Firewall nie spenia swojego zadania jeli zostawia otwarte okno

  dla atakw

  przez nieuywane usugi. ,,li chopcy'' mog zdoby twierdz i

  zmodyfikowa j dla swoich potrzeb.

  Zacznij wycza niepotrzebne usugi. Spjrz na

  /etc/inetd.conf.

  Plik ten kontroluje co co jest nazywane ,,super serwerem''.

  Kontroluje uruchamianie usug na danie.

  Kompletnie wycz:

  netstat, systat, tftp, bootp  oraz finger. Aby wyczy usug

  wystarczy postawi znak  #  (tzw. hash) jako pierwszy znak w
  linii.

  kiedy to zrobisz wylij sygna HUP do procesu inetd

  piszc:  "" kkiillll --HHUUPP  << ppiidd >>  "" ,

  gdzie  < pid >  jest numerem procesu inetd.

  Spowoduje to powtrne przeczytanie przez inetd pliku konfiguracyjnego

  (inetd.conf) i restart.

  Sprawd teraz czy jeste w stanie dosta si do portu obsugujcego

  netstat

   telnet localhost 15

  Jeli otrzymasz wynik z netstata nie zrestartowae inetd

  prawidowo.

  66..

  KKoonnffiigguurroowwaanniiee ffiillttrroowwaanniiaa IIPP ((IIPPFFWWAADDMM))

  By zacz musisz wczy przesyanie pakietw IP w swoim jdrze

  i twj system powinien odsya wszystko co mu si przele. Twoja

  tablica trasowania powinna by ustawiona i powiniene mi dostp

  tak wewntrz jak do zewntrznej Sieci.

  Ale budujemy firwalla tak wic trzeba ograniczy wszystkim dostp

  do niego.

  W moim systemie stworzyem par skryptw ustawiajcych zasady

  odsyania pakietw i polityki dostpu. Wywouj je z w skryptach

  z  /etc/rc.d

  w czasie konfiguracji.

  Domylnie IP Forwarding w jdrze systemu odsya wszystko.

  Dlatego twoje skrypty startowe firewalla powinny rozpoczyna swoja

  prac od

  zakazania dostpu dla wszystkich i zerwania wszelkich pocze

  dozwolonych w

  poprzednim uruchomieniu ipfw.

  Skrypt ten wykorzystuje pewien trick.

   #

  # Ustawianie rozliczania i odsyania pakietw IP

   #

   #  Forwarding

   #

   # Domylnie  wszystkie usugi s zakazane.

   ipfwadm -F -p deny

   # Zerwij wszystkie poczenia

   ipfwadm -F -f

   ipfwadm -I -f

   ipfwadm -O -f

  Teraz mamy doskonay firewall. Nic nie przechodzi. Bez

  wtpliwoci

  pewna cze usug powinna by przesyana (i tego dotyczy nastpny

  przykad).

   # przesyanie 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

   # przesyanie pocze 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

   # przesyanie 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

   # przesyanie WWW do serwerw zewntrznych

   /sbin/ipfwadm -F -a accept -b -P tcp -S 196.1.2.* 80 -D 0.0.0.0/0

   1024:65535

   # przesyanie ruchu DNS

   /sbin/ipfwadm -F -a accept -b -P udp -S 0.0.0.0/0 53 -D

   196.1.2.0/24

  Moesz byc zaintersowany w rozliczaniu ruchu przechodzcego przez

  twj

  firewall. Poniszy skrypt liczy kady z pakietw. Powiniene doda

  lini

  albo liczy ruch tylko dla jednego systemu.

   # Zerwanie wszystkich pocze

   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

  Jeli potrzebowae firewalla filtrujcego moesz skoczy lektur.

  Miego konfigurowania. ; -)

  77..

  IInnssttaalloowwaanniiaa sseerrwweerraa pprrooxxyy -- TTIISS

  77..11..

  PPoobbrraanniiee oopprrooggrraammoowwaanniiaa

  TIS FWTK jest dostpny pod adresem:  <<ffttpp::////ffttpp..ttiiss..ccoomm//>.

  Nie popenij tego bdu co ja. Kiedy dostaniesz si na serwer TIS

   PPRRZZEECCZZYYTTAAJJ ,,,,RREEAADDMMEE''''

  Pakiet TIS fwtk jest w ukrytym katalogu na ich serwerze.

  TIS wymaga by wwyyssaa eemmaaiill ddoo ffwwttkk--rreeqquueesstt@@ttiiss..ccoomm

  zawierajcego tylko sowo SSEENNDD w ,,ciele''

  wiadomoci aby pozna nazw tego ukrytego katalogu (nie jest

  potrzebny temat

  dla tego listu).

  Ich system wyle Ci wiadomo z nazw katalogu w cigu 12 godzin.

  Pisz o wersji 2.0 (beta) TIS FWTK. Wersja ta kompiluje si dobrze

  (z pewnymi

  wyjtkami) i wyglda e wszystko pracuje (u mnie). Gdy zostanie

  opublikowana wersja pena uaktualni to HowTo.

  Aby zainstalowa FWTK stwrz 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 poredniczy w przekazywaniu SSL (bezpieczne dokumenty w

  WWW)

  ale posiada dodatek napisany przez Jean-Christophe Touvet. Jest on

  dostpny pod

  adresem <<ffttpp::////ffttpp..eeddeellwweebb..ffrr//ppuubb//ccoonnttrriibb//ffwwttkk//ssssll--ggww..ttaarr..ZZ>

  Uywam zmodyfikowanej wersji: wczyem modu dostpu do

  bezpiecznych

  serwerw news Netscape napisany przez Eric Wedel

  <ftp://mdi.meridian-data.com/pub/tis.fwtk/ssl-gw/ssl-gw2.tar.Z>.

  W naszych przykadach bd uywa 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 instalowaem t bram potrzebne byy drobne zmiany zanim mogem

  skompilowa

  reszt zestawu.

  Pierwsza zmiana nastpia w pliku  ssl-gw.c .

  Nie potrafi wczy jednego z plikw include.

   #if defined(__linux)

   #include    <sys/ioctl.h>

   #endif

  Druga zmiana polegaa na stworzeniu pliku Makefile.

  Skopiowaem jeden z innej ,,bramy'' i zastpiem nazw tego moduu

  nazw ssl-gw.

  77..22..

  KKoommppiillaaccjjaa  TTIISS FFWWTTKK

  Wersja 2.0 FWTK kompiluje si atwiej ni poprzednie. Wci jednak

  jest kilka

  rzeczy ktre powinny by zmienione zanim wersja beta bdzie si
  kompilowa bez

  przeszkd. Pozostaje mie nadziej, e do tak si stanie w penej

  wersji.

  Aby to poprawi zacznij zmiany od katalogu

  /usr/src/fwtk/fwtk

  i skopiuj plik  Makefile.config.linux  na

   Makefile.config.

  NNiiee uurruucchhaammiiaajj  FFIIXXMMAAKKEE.

  Instrukcja mwi by to zrobi. Jeli chcesz zniszczy Makefile

  we wszystkich podkatalogach...

  Wykonaem poprawk do fixmake Problem polega na tym,

  e fixmake dodawa '.' i '' do wczanych do

  Makefile

  linii.

   sed 's/^include[    ]*\([^ ].*\)/include \1/' $name .proto > $name

  Nastpnie bdziemy musieli wyedytowa Makeconfig.file.

  Potrzebne bd dwie zmiany.

  Autor programu ustawi rda programu w swoim $HOME/.

  My kompilujemy w /usr/src i powinnimy zmieni zmienn

  FWTKSRCDIR.

   FWTKSRCDIR=/usr/src/fwtk/fwtk

  Po drugie, przynajmniej niektre Linuxy uywaj bazy danych w

  formacie

  gdbm. W  Makefile.config jest uywana dbm

  Zapewne bdziesz musia to zmieni.

  Ja w RedHacie 3.0.3 musiaem.

   DBMLIB=-lgdbm

  Ostania poprawka jest w katalogu x-gw. Bd w wersji beta jest w

  pliku

  socket.c. Poprawka polega na usuniciu tych linii.

   #ifdef SCM_RIGHTS /* 4.3BSD Reno and later */

              + sizeof(un_name->sun_len) + 1

   #endif

  Jeli dodae ssl-gw do swojego katalogu rde trzeba

  jeszcze doda

  do listy katalogw w  Makefile.

   DIRS=  smap smapd netacl plug-gw ftp-gw tn-gw rlogin-gw http-gw

   x-gw ssl-gw

  Teraz uruchom mmaakkee.

  77..33..

  IInnssttaallaaccjjaa TTIISS FFWWTTKK

  Uruchom make install.

  Standardowo katalogiem instalacyjnym jest /usr/local/etc.

  Moesz to zmieni (ja tego nie zrobiem) na bardziej bezpieczny

  katalog.

  Ja zmieniem prawa dostpu do niego na  chmod 700 .

  Na koniec pozostaa nam konfiguracja firewalla.

  77..44..

  KKoonnffiigguurraaccjjaa ffiirreewwaallllaa TTIISS FFWWTTKK

  Teraz naprawd rozpoczynamy. Musisz nauczy system wywoywania tych

  nowych

  usug i stworzy tablice do ich kontroli.

  Nie prbuj przepisywa tutaj dokumentacji do TIS FWTK. Chc pokaza

  takie ustawienia jakie u mnie dziaay i wyjani problemy jakie
  spotkaem.

  Istniej trzy pliki kontrolujce firewalla.

    /etc/services

    mwicy systemowi jaki port obsuguje jak usug.

    /etc/inetd.conf

     mwicy serwerowi inetd jaki program wywoa gdy kto bdzie si

     dobija do zadanego portu.

    /usr/local/etc/netperm-table

    mwicy FWTK kto jest dopuszczony a kogo winno si odrzuca

     przy danej usudze.

  Aby uzyska poprawne funkcjonowanie FWTK powiniene wyedytowa te

  pliki

  poczynajc od gry. Edycja jedynie services bez inetd.conf

  i

  netperm-table ustawionych prawidowo uczyni twj system

  niedostpnym.

  77..44..11..

  PPlliikk nneettppeerrmm--ttaabbllee

  Plik ten odpowiada za kontrol kto ma dostp do usug nadzorowanych

  przez TIS

  FWTK. Powiniene myle o ruch z obu stron firewalla. Ludzie z

  zewntrz twojej

  sieci powinni zidentyfikowa si przed otrzymaniem dostpu, ale

  ludzie

  z wewntrz mog zosta dopuszczeni od razu.
  Aby ludzie moli si zidentyfikowa firewall uywa programu o nazwie

  aauutthhssrrvv

  do trzymania bazy danych o uytkownikach i ich hasach.

  Sekcja dotyczca autentyfikacji w netperm-table pozwala kontrolowa

  gdzie jest trzymana baza danych i kto ma do niej dostp.

  Miaem troch kopotw z blokowaniem dostpu do usug. We pod

  uwag e linia

  ktr pokazuj uywa '*' do dawania dostpu dla kadego do tej

  usugi.

  Prawidowe ustawienie tej linii jest nastpujce:

  j pracujc.

   #

   # tablica konfiguracji serwera proxy

   #

   # Autentyfikacja: reguy serwera i klienta

   authsrv:   database /usr/local/etc/fw-authdb

   authsrv:   permit-hosts *

   authsrv:   badsleep 1200

   authsrv:   nobogus true

   # Aplikacje klienckie uywajce serwera autentyfikacji

   *:      authserver 127.0.0.1 114

  Aby zaincjalizowa baz danych wykonaj su do root`a i

  uruchom

  by stworzy rekord opisujcy administratora systemu.

  Oto jest przykadowa sesja.

  Przeczytaj dokumentacj FWTK, by dowiedzie si jak doda

  uytkownikw 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 przesaniu

  i jest to pierwsza ktr powiniene ustawi.

  W moim przykadzie pozwoliem komputerom z wntrza sieci prywatnej

  na dostp bez autentyfikacji (permit-hosts 19961.2.* -passok).

  Ale inni uytkownicy powinni wprowadzi swoj nazw uytkownika i

  haso.

  (permit-hosts * -auth)

  Poza tym pozwoliem jednemu innemu systemowi (196.1.2.202) na

  dostp

  do firewalla bezporednio, bez przechodzenia przez procedury na

  nim.

  Sprawiaj to dwie linie z inetacl-in.telnetd

  Wyjani ich dziaanie potem.

  Powiniene zachowa krtki czas timeoutu.

   # reguy dostpu 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 moe 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.

   #  reguy dostpu 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 moe wykona telnet na port 24 firewalla.

   netacl-rlogind: permit-hosts 196.1.2.202 -exec /usr/libexec/rlogind

   -a

  Nie powiniene dawa nikomu bezporedniego dostpu do firewalla,

  wczajc w to dostp prze FTP (tak pobieranie jak i wkadanie).

  Jeszcze raz, linie zawierajce  permit-hosts pozwalaj kademu w

  chronionej

  na wolny dostp do Internetu, za wszyscy inni musz si

  autentyfikowa.

  Wczyem zapisywanie kadego pliku pobranego i wysanego do mojej

  konfiguracji.

  (-log { retr stor })

  Timeouty FTP daj ci kontrol nad tym jak dugo bd utrzymywane

  ,,ze'' poczenia i jak dugo bd utrzymywane poczenia bez

  adnej

  aktywnoci.

   #  reguy dostpu 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 bazujce na przegldarkach FTP jest kontrolowane

  przez

  http-gw. Pierwsze dwie linie tworz katalog gdzie bd skadowane

  pliki i dokumenty z FTP i WWW.  Przy czym s one wasnoci root`a

  i

  s skadowane w katalogu dostpnym tylko dla niego.

  Poczenia WWW powinny by bardzo krtki. W ten sposb mona

  kontrolowa jak

  dugo uytkownicy bd utrzymywa bdne poczenia.

   # reguy dostpu 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. Bd z ni

  ostrony.

  W tym przykadzie pozwalam wszystkim z sieci chronionej na czenie

  si

  z kadym z serwerw na zewntrz z wyjtkiem adresw 127.0.0.*

  i 192.1.1.*

  oraz (wtedy) na otwieranie portw 443 do 563 uywanych 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   *

  Poniej znajduje si przykad jak uy plug-gw aby pozwoli

  na

  poczenie do serwera news. W tym przykadzie zezwalam kademu z

  sieci

  lokalnej na dostp do tylko jednego systemu i tylko na porcie

  zajtym przez

  news.

  W drugiej linii pozwalam serwerowi news przesa dane z powrotem do

  chronionej

  sieci.

  Poniewa wikszo klientw spodziewa si, e pozostaje podczenie

  w czasie

  gdy uytkownik czyta wiadomoci timeout dla news powinien by

  dugi.

   # brama dla moduu 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. Kady z chronionej sieci powinien si

  zaogowa i wtedy pozwalamy mu na uycie fingera na firewallu.

  Pozostali nie po prostu dostaj wiadomo.

   # uruchomienie usugi 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 usug dla poczty elektronicznej i X-Windows

  wic nie daj przykadw. Jeli kto ma dziaajcy przykad, prosz

  o

  przysanie mi.

  77..44..22..

  PPlliikk iinneettdd..ccoonnff

  Oto jest kompletny plik  /etc/inetd.conf .

  Wszystkie niepotrzebne usugi zostay wykomentowane.

  Wczyem peny plik aby pokaza co wyczy i jak ustawi now

  usug

  w cianie ognia.

  {od tumacza: nie przekadam 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

  77..44..33..

  PPlliikk //eettcc//sseerrvviicceess

  Tutaj si wszystko zaczyna. Gdy klient czy si ze cian ognia

  dzieje si to na tzw. dobrze znanym porcie (niszym od

  1024).

  Na przykad telnet czy si na porcie 23. Serwer  inetd

  syszy prob o poczenie, i szuka nazwy tej usugi w

  /etc/services. Pniej wzywa programy wyznaczony  dla tej

  usugi

  w  /etc/inedt.conf

  Niektre z usug nie s normalnie tworzone przez wywoanie w

  /etc/serwices.

  Mona przydziela niektre porty jak chcemy, Na przykad ja

  przydziaem usudze ,,telnet administratora'' (telnet-a) port 24.

  Ty moesz przydzieli t usug na portowi 2323, jeli chcesz.

  Dla administratora (CIEBIE) bezporednie poczenie ze cian ognia

  na porcie 24 nie 23 noe by potrzebne, jeli 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8..

  SSeerrwweerr pprrooxxyy SSOOCCKKSS

  88..11..  KKoonnffiigguurroowwaanniiee sseerrwweerraa PPrrooxxyy

  SOCKS proxy server dostpny jest z adresu:

  <ftp://sunsite.unc.edu/pub/Linux/system/Network/misc/socks-linux-
  src.tgz>.

  Zawiera przykadowy plik konfiguracyjny w katalogu nazwanym:

  " socks-conf " . Zdekompresuj i untaruj te pliki

  w dowolnym katalogu i postpuj wedug instrukcji.

  Miaem kilka problemw kiedy kompilowaem go. Upewnij si, e twj

  Makefile  jest prawidowy.

  Jedn z waniejszych rzeczy jest pamitanie o koniecznoci dodania

  serwera proxy do /etc/inetd.conf.

  Aby mc odpowiedzie na dania musisz dopisa nastpujc lini:

   socks stream tcp nowait nobody /usr/local/etc/sockd sockd

  88..22..

  KKoonnffiigguurraaccjjaa sseerrwweerraa pprrooxxyy

  Program SOCKS potrzebuje dwch oddzielnych plikw

  konfiguracyjnych. Jeden z

  nich mwi tym komu udzieli dostpu a drugi w jaki sposb przekazywa

  dania

  do waciwego serwera proxy. Plik decydujcy o dostpie

  powinien

  znajdowa si na serwerze. Plik dotyczcy przekazywania dostpu

  (routingu)

  powinien znajdowa si na kadej z maszyn Unixowych. W wypadku DOSa i

  czciowo MaCw komputery powinny mie swj wasny routing.

  88..22..11..

  AAcccceessss FFiillee

  PPlliikk ddoossttppuu..

  W wersji 4.2 Beta SOCSKsw plik dostpu nazywa si

  " sockd.conf " .

  powinien zawiera dwie linie: zezwolenia i zakazu. Kada z linii

  posiada trzy

  pozycje:

    identyfikator (permit/deny)

    adres IP

    modyfikator adresu

     Identyfikator to permit lub  deny

     Powiniene uy obu: kady we waciwej linii.

     Adres IP powinien zawiera czterobajtowy adres w typowej dal IP

     notacji.

     np. 192.168.2.0.

     Modyfikator adresu take jest normalnym IP i pracuje jak maska.

     Rozwinicie tego adresu da 32 bity (1 albo zero).

     Na przykad, w tej linii:

    permit 192.168.2.23 255.255.255.255

  zezwalam na dostp maszynom w ktrych 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 dostp maszynom z gdyby od 192.168.2.0 do 192.168.2.255,

  w

  formie caej klasy C.

  Nie powiniene mie nastpujcej linii:

    permit 192.168.2.0 0.0.0.0

  dajcej dostp dla wszystkich adresw.

  Tak wic pierwsza linia daje zezwolenie dla tych adresw ktrym

  chcesz go da,

  a druga zakazuje reszcie.

  Aby zezwoli na dostp 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

  zostay tam wprowadzone bo s atwe do zapisu.

  Dopuszczalne jest umieszczenie wikszej iloci jeden zapisw w

  kadej

  z linii.

  Konkretni uytkownicy mog ponadto otrzyma lub traci prawo

  dostpu.

  jest to wykonywane przy pomocy autentyfikacji przy pomocy

  ident.  Nie wszystkie systemu uywaj ident,

  wczajc w to

   Trumpet Winsock , dlatego te nie wczam tu przykadw.

  Dokumentacja do SOCKS jest cakiem dobra w tej kwestii.

  88..22..22..

  TTaabblliiccaa ttrraassoowwaanniiaa

  Tablica routingu w SOCS jest niestety nazywana

  socks.conf.

  Tablica routingu mwi klientom SOCKS kiedy uywa socks a kiedy

  nie.

  Na przykad, w twojej sieci 192.168.2.3 nie potrzebuje uywania

  socks do

  poczenia z 192.168.2.1. Po prostu czy si bezporednio, 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 rekordw:

    deny

    direct

    sockd

  Deny mwi SOCKS kiedy ma odmwi daniu. Rekord ten ma

  takie

  same trzy pola jak sockd.conf: identyfikator, adres i

  maska.

  Oglnie, dopki jest to modyfikowane przez sockd.conf,

  maska w pliku dostpu jest ustawiona na 0.0.0.0. Jeli chcesz

  pozwoli

  na dzwonienie do siebie moesz to zrobi tutaj.

  Rekord direct mwi ktre do ktrych adresw nie uywa

  SOCKS.

  Te adresy bd dorczone bez serwera proxy.

  Jeszcze raz, mamy trzy pola: identyfikator, adres i maska.

    direct 192.168.2.0 255.255.255.0

  W ten sposb kierujesz bezporednio cay ruch w chronionej sieci.

  Rekord z sockd

  mwi komputerowi ktre z hostw s serwerem SOCKS

  Skadnia jest nastpujca:

   sockd @=<serverlist> <IP address> <modifier>

  Zwr uwag na fragment: @= .

  Pozwala on na wprowadzenie listy serwerw proxy.

  W naszym przykadzie uywamy

  tylko jednego. Ale moesz mie wiele w celu zwikszenia

  przepustowoci

  i obnienia moliwoci awarii.

  Pola adresu IP i maski dziaaj jak w innych przykadach.

  Specyfikujesz adres i zakres jego obowizywania.

  88..22..33..

  UUssttaawwiieenniiee uussuuggii DDNNSS zzzzaa ffiirreewwaallllaa jjeesstt  pprroossttyymm

  zzaaddaanniieemm.. PPoottrrzzeebbaa jjeeddyynniiee uussttaawwiieenniiaa DDNNSS nnaa mmaasszzyynniiee zz ffiirreewwaalllleemm..

  II iinnnnee mmaasszzyynnyy zzaa ffiirreewwaalllleemm bbdd ggoo uuyywwaayy..

  DDNNSS zzzzaa ffiirreewwaallllaa

  88..33..

  WWsspppprraaccaa zz sseerrwweerraammii pprrooxxyy

  88..33..11..

  UUnniixx

  Aby twoje aplikacje dziaay z serwerami proxy

  potrzebujesz je zsockisy... ( " sockified " ).

  Bdziesz potrzebowa dwch rnych telnetw (jeden do komunikacji

  bezporedniej drugi przez serwer proxy). SOCKS przychodz z

  instrukcj jak zSOCKifikowa program, i z paroma programami

  przygotowanymi na t mod. Jeli uywasz zSOCKIfowanej wersji

  gdziekolwiek bezporednio SOCKS automatycznie przeczy ci na

  waciw

  wersj. Z tego powodu trzeba zmieni nazwy wszystkich programw w

  naszej

  chronionej sieci i zstpi je wersjami

  zSOCKisowanymi. Finger stanie

  si finger.orig, telnet stanie si

  telnet.orig i

  tak dalej.

  Musisz powiedzie SOCKS o kadym w pliku include/socks.h.

  Dobre programy s w stanie dostarcza tablic trasowania i

  zsocksifikowa

  si same. Jednym z nich jest Netscape Navigator. Moesz uywa

  serwerw

  proxy przez wprowadzenie adresu serwera (192.168.2.1 w naszym

  wypadku)

  w polu SOCKs w Menu Proxies. Kada aplikacja potrzebuje przynajmniej

  minimalnej informacji o tym co jest serwerem proxy.

  88..33..22..

  MMSS WWiinnddoowwss ii TTrruummppeett WWiinnssoocckk

  Trumpet Winsock przychodzi z wbudowanymi moliwociami wsppracy z

  serwerem proxy. W

   setup  menu wprowad adres serwera, i adresy

  komputerw dostpnych bezporednio. Program przekieruje na serwer

  wszystkie pakiety majce wyj na zewntrz.

  88..33..33..

  UUssttaawwiieenniiee sseerrwweerraa ppoorreeddnniicczzcceeggoo ddoo pprraaccyy zz ppaakkiieettaammii UUDDPP..

  Pakiet SOCKS pracuje jedynie z pakietami TCP, pomijajc UDP.
  Powoduje to troch mniejsz jego uyteczno. Wiele uytecznych

  programw, takich jak na przykad talk i Archie

  uywa UDP. Jest jednak pakiet

  ktry moe by uyty 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8..44..

  WWaaddyy sseerrwweerrww pprrooxxyycchh

  Serwer proxy, jak pokazaem powyej jest

  narzdziem bezpieczestwa.

  Uywanie go zwiksza dostpno do Internetu z ograniczon liczb

  adresw

  wie si jednak z wieloma niedogodnociami. Serwer proxy

  pozwala

  na wiksz dostpno internetu z sieci chronionej, ale pozostawia

  wntrze

  cakowicie niedostpne z zewntrz. Oznacza to brak moliwoci

  uruchomienia

  wewntrz sieci rozmaitych serwerw, talk i archie, oraz

  bezporedniego wysyania listw do chronionej sieci.

  Ponisze uchybienia wygldaj nieznaczca, ale sposb mylenia

  przebiega nastpujco:

    Otrzymae informacj o bdach w twojej chronionej sieci.

     Jeste w domu, i decydujesz si  sprawdzi to. Ale nie moesz. Nie

     jeste w stanie dosta si do adnego z komputerw poniewa
     znajduj

     si za cian ogniow.

     Twoja crka posza do college`u. Chciaby wysa jej list. Chcesz
     z

     ni porozmawia o pewnych prywatnych sprawach, i wolaby raczej by

     twoja poczta bya kierowana bezporednio na twj komputer. Ufasz

     swojemu administratorowi, ale to jednak prywatna poczta.

     Niemoliwo uycia usug dziaajcych z UDP jest wielk wad

     serwerw proxych. Cho mam nadziej, e  ju niedugo.

  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 wysya o tym informacj. Serwer proxy nie pozwala na to, tak

  wic FTP nie dziaa w sposb prawidowy.

  Poza tym serwery poredniczce dziaaj powoli.

  Z powodu wikszej wydajnoci wikszo innych metod dostpu do
  Internetu

  bdzie szybsza.

  Jeli masz przydzielony adres IP, i nie martwisz si o bezpieczestwo,

  nie uywaj cian ogniowych i/lub serwerw proxych.

  Jeli nie masz nr. IP, i take nie martwisz si o bezpieczestwo

  swojej sieci, moesz uy jednego z ,,emulatorw IP'' takich jak

  Term, Slirp lub TIA. Term jest dostpny 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 poczenia i na

  wikszy dostp z sieci wewntrznej do internetu.

  Serwery poredniczce s dobre dla tych ktry maj due sieci

  z komputerami majcymi mie dostp ,,w locie'' do internetu

  z jednorazowym ustawieniem, i minimalnym wkadem pracy potem.

  99..

  KKoonnffiigguurraaccjjaa zzaaaawwaannssoowwaannaa..

  Przedstawiem jedn konfiguracj, ktr wyprbowaem przez stworzeniem

  tego dokumentu. Przy czym ten zarys powinien wystarczy dla wikszoci

  ludzi. Myl e poniszy opis zaawansowanych konfiguracji moe

  rozwia pozostae wtpliwoci. Jeli oprcz tego masz jeszcze jakie
  pytania poza tym co opisaem, albo ci to po prostu interesuj ci

  szczegy zwizane ze firewallami i serwerami proxy

  moesz przeczyta poniszy fragment.

  99..11..

  WWiieellkkiiee ssiieeccii wwyymmaaggaajj ppooooeenniiaa nnaacciisskkuu nnaa bbeezzppiieecczzeessttwwoo

  Powiedzmy, na przykad, e jeste szefem milicji obywatelskiej i
  chcesz

  ,,usieciow'' swoj siedzib. Masz pidziesit komputerw i 32 nr IP

  (5 bitw). Potrzebujesz moliwoci dania rnych poziomw  dostpu do

  sieci poniewa powierzasz swoim wsppracownikom rne zadania. Poza
  tym

  bdziesz potrzebowa izolacji okrelonych miejsc w sieci od  reszty.

  Poziomy dostpu:

  1.  Poziom zewntrzny - ukazywany wszystkim, tutaj werbujesz i
     zdobywasz

     nowych ochotnikw.

  2. TTrroooopp

     poziom ten przeznaczony jest dla ludzi ktrzy otrzymali dostp z

     poziomu zewntrznego. Tutaj jest miejsce gdzie uczysz o rzdzie
     dusz i

     jak zrobi bomb.

  3. MMeerrcceennaarryy

     Tutaj jest miejsce gdzie _n_a_p_r_a_w_d_ planujesz chroni.

     Tutaj skadujesz wszelkie informacje o tym jak rzdy trzeciego

     wiata zamierzaj podbi wiat, twoje plany dla Newt Gingich,
     Oklahoma

     City, skadujesz tajne informacje.

  99..11..11..

  KKoonnffiigguurraaccjjaa ssiieeccii

  Numery IP s ustawione w nastpujcy sposb:

     1 numer to 192.168.2.255, bdcy adresem rozgoszeniowym

     nie uywanym

    23 z 32 adresw IP jest przydzielonych dla maszyn dostpnych w

     Internecie.

    1 dodatkowy adres IP zosta przydzielony Linuxowi

    1 dodatkowy adres IP zosta przydzielony innemu linuxowi

    2 numery IP zostay przydzielone routerowi

    4 pozostae pozostaj odczone ale otrzymuj nazwy domenowe: paul,
     ringo,

     john, george .

    chroniona sie ma numer 192.168.2.xxx

  Teraz budujemy dwie izolowane sieci, kada w innym pokoju. S one

  trasowane przez ekranowany ethernet i s kompletnie niewidoczne z

  innych pomieszcze. Na szczcie ekranowany Ethernet zachowuje si

  tak samo jak zwyczajny ethernet.

  Kada z tych sieci jest poczona do jednej ze stacji linuxowych na

  dodatkowych adresach IP.

  S to serwery plikw poczone do obu chronionych sieci. Jest tak,

  poniewa planujemy da dostp tak dla sieci Troops ja i wyszej.

  Serwer plikw nosi numery 192.168.2.17 dla sieci Troop i

  192.168.2.23 dla sieci Mercenary.

  Maj rne adresy poniewa maj dwie rne karty sieciowe.

  network. IP Forwarding jest wyczony.

  IP Forwarding na obu stacjach linuxowych take jest wyczony.

  Router nie powinien przesya pakietw przeznaczonych dla sieci

  192.168.2.xxx dopki mu tego wprost nie powiemy, tak wic dostp do

  internetu pozostaje wyczony. Wyczenie przesyania IP ma na celu

  zablokowanie pocze z sieci Troop do sieci Mercenary  na odwrt.

  Serwer NFS moe ponadto oferowa rne pliki dla rnych sieci.

  To atwe przy drobnych operacjach z symbolicznymi

  odniesieniami mona zrobi w ten sposb e wsplne pliki s dzielone

  przez wszystkich. Uycie tego typu ustawie i rnych kart sieciowych

  umoliwia Ci zastosowanie jednego serwera plikw dla trzech sieci.
  99..11..22..

  SSeerrwweerr pprrooxxyy

  Teraz, dopki wszystkie trzy poziomu bd moliwe do pracy w ramach

  wyznaczonych zada bd potrzeboway dostpu do sieci.

  Zewntrzna sie jest poczona bezporednio z internetem, tak wic nie

  ma tu zastosowania dla serwera poredniczcego. Sieci Mercenary i
  Troop

  znajduj si za cian ogniow wic potrzebny im serwer proxy.

  Konfiguracja obu jest bardzo podobna. Oba maj takie same adresu IP.

  Jedyna rnica polega na nieco innych parametrach.

  1.  Nie kady moe uy serwera plikw dla dostpu do Interntu.

     Wystawia to go na wirusy i inne brzydkie rzeczu.

  2.  Nie chcemy zezwoli sieci Troop na dostp do WWW. Przechodz
     szkolenie

     I jaki kolwiek przepy informacji mgby zniszczy jego efekty.

  Tak wic w pliku sockd.conf w linuxie w sieci Troop znajdzie

  si nastpujca 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 mwi e zabraniamy dostpu wszystkich maszynom

  prbujcym si dosta do portu rwnego (eq) 80 (http).
  Nadal pozwala si na dostp do wszystkich usug z wyjtkiem 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 uycie

  tego serwera poredniczcego zamiast tego ktry zosta zakazany (np.

  serwer plikw i dostp do WWW z sieci Troop).

  W sieci Troop w pliku sockd.conf powinien wyglda w ten

  sposb:

    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 wicej tak:

    deny 192.168.2.23 255.255.255.255

    permit 192.168.2.0 255.255.255.0

  To powinno zakoczy konfiguracj wszystkiego. Kada z sieci jest

  izolowana, z prawidowymi ustawieniami interakcji. Kady powinien by

  szczliwy.

  Dalej... Podbij wiat...

  1100..  OOdd ttuummaacczzaa..

  Zdaj sobie spraw ile w tym tekscie jest potkni jzykowych,
  przeinacze.

  Jeli ktre ci drani przelij mi swoje uwagi.

  Aha, jeszcze jedno. Wyraenia firewall i ciana ogniowa

  oraz proxy i serwer poredniczcy  traktuj

  (przynajmniej na razie) zamiennie. (choc ju wikszo polskich

  odpowiednikw (na yczenie publicznoci) usunem.

  Celowo pozostawiam tekst bez zwyczajowego (c) tumacza ;-)

