  Firewalle i proxy serwery
  Mark Grennan, markg@netplus.net
  v0.4, 8 listopad 1996
  WWeerrssjjaa ppoollsskkaa:: ZZiieemmeekk BBoorroowwsskkii zziieemmbboorr@@zziieemmbboorr..wwaaww..ppll v0.1 8
  lipiec 1997


  Dokument ten powsta w celu uczenia podstaw systemw firewalli oraz
  dostarczenia  niektrych szczegw w zakresie ustawania (konfigurowa
  nia) filtrujcych i posredniczacych firwalli na Linuxie. Oryginalna
  wersja tego dokumentu znajduje si pod adresem: <http://okcfo
  rum.org/~markg/Firewall-HOWTO.html> za polskie tumaczenie:
  <http://www.ziembor.waw.pl/~ziembor/JTZ/Firewall-HOWTO.pl.html>
  NNiinniieejjsszzaa wweerrssjjaa ooppiissuujjee ssttaann zz 11999977 rrookkuu.. JJeellii nnaaddaall uuyywwaasszz jjddeerr zz
  sseerriiii 22..00 ((nniiee 22..22 lluubb 22..44)) ttoo jjeesstt ttoo ddookkuummeenntt ddllaa CCiieebbiiee.. NNaassttppnnaa
  wweerrssjjaa tteeggoo ddookkuummeennttuu ooppiissuujjee eeww.. ppoozzaa iippffwwaaddmm ttaakkee iippcchhaaiinnss
  ((ddoossttppnnee zz jjddrraammii 22..22)) ---- zzaawwiieerraa ttyyllee bbddww,, ee nnaalleeaaoobbyy jjee
  nnaappiissaa oodd nnoowwaa..  JJeellii sszzuukkaasszz iinnffoorrmmaaccjjii nnaa tteemmaatt bbuuddoowwaanniiaa ffiirree
  wwaallllii ppoodd lliinnuukksseemm ooddssyyaamm rraacczzeejj ddoo ttuummaacczzee ddookkuummeennttaaccjjii IIPPttaabblleess
  wwyykkoonnaannyycchh pprrzzeezz uukkaasszzaa BBrroommiirrsskkiieeggoo hhttttpp::////mmrr00vvkkaa..eeuu..oorrgg//..
  ______________________________________________________________________

  Spis treci











































  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_:     <<markg@netplus.net>


  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-3 HOWTO <http://www.jtz.org.pl/Html/NET-3-HOWTO.pl.html>

    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 ( <<http://www.tis.com>) 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 mode
  mowego 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:  <<ftp://ftp.tis.com/>.

  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  <<ftp://ftp.edelweb.fr/pub/contrib/fwtk/ssl-
  gw.tar.Z>. Touvet nie wiadczy wsparcia technicznego dla tego kodu.

  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
  ..//aauutthhssrrvv w katalogu  /var/local/etc 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 ser
  werw 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..  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e
  w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e
  wwaallllaa 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


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






























































