MENU

Aktualno╢ci
Download
Sterowniki
Strefa Zrzutu
Archiwum
Informacje
Linki
 

MENU

SprzΩt
Oprogramowanie
Technologie
Novell Netware
Windows9x
WindowsNT
UNIX/Linux
S│owniczek

Napisz do nas

Je┐eli masz jakie╢ pytania, chcia│by╢ wyraziµ opiniΩ lub nawi▒zaµ wsp≤│pracΩ, napisz do nas:

O P I N I A

P Y T A N  I  E

W S P ╙ ú P R A C A

B A N N E R Y

Informacje

Strona zoptymalizowana
pod IE4.0+ i NN4.0+

 

 
Konfiguracja firewalla

linia_1.gif (306 bytes)

Aktualno╢ci | Linux / Unix

Zagadnienia bezpiecze±stwa sieci  LAN

    Co dzie± przybywa komputer≤w pod│▒czonych do sieci Internet, tym samym ro╢nie prawdopodobie±stwo, ┐e kt≤ry╢ z u┐ytkownik≤w Internetu postanowi w│amaµ siΩ do naszej sieci lokalnej. Bezpiecze±stwo sieci komputerowych jest zagadnieniem ogromnym i nie widzΩ mo┐liwo╢ci wyczerpania tutaj tego tematu. Zw│aszcza, ┐e co dzie± odkrywane s▒ nowe sposoby w│amania lub zak│≤cenia pracy system≤w komputerowych. W tym rozdziale zajmΩ siΩ sposobami kompleksowego zabezpieczenia sieci komputerowej za pomoc▒ techniki filtrowania datagram≤w (firewalling) oraz t│umaczenia adres≤w sieciowych (NAT - masquerading). Pierwszym krokiem podczas rozpatrywania zagadnie± bezpiecze±stwa jest okre╢lenie potencjalnych "wrog≤w" i zorientowanie w metodach ich pracy.

Cele atak≤w w│amywaczy.

Poni┐ej pokr≤tce om≤wiΩ najczΩ╢ciej stosowane sposoby ingerencji w pracΩ system≤w sieciowych. Istniej▒ dwa cele atak≤w cracker≤w (w│amywaczy komputerowych):

1.      Uzyskanie dostΩpu do systemu.

2.      Zdestabilizowanie pracy systemu komputerowego.

Pierwszy cel osi▒gany jest poprzez zdobycie nazwy u┐ytkownika w systemie (login) i u┐ywanego przez niego has│a. Czasem odbywa siΩ to poprzez wykorzystanie b│Ωdu w oprogramowaniu danej us│ugi sieciowej i zdobycie dostΩpu do systemu na prawach przyznanych tej us│udze. Zdobycie loginu nie jest trudne, najczΩ╢ciej wystarczy zdobyµ adres poczty elektronicznej (E-mail) danego u┐ytkownika (czasem jest to tzw. alias, co utrudnia zadanie w│amywaczowi).

Statystyki podaj▒, ┐e najczΩ╢ciej u┐ytkownicy sieci komputerowych stosuj▒ has│a │atwe do z│amania za pomoc▒ metody s│ownikowej (korzystaj▒c ze s│ownika zawieraj▒cego odpowiedni▒ liczbΩ s│≤w). Dekodowanie hase│ metod▒ brute-force jest bardziej czasoch│onne (statystycznie) i dziΩki temu │atwiejsze do wykrycia. Polega ono na sprawdzaniu wszystkich mo┐liwych kombinacji znak≤w mog▒cych znale╝µ siΩ w ha╢le danego systemu operacyjnego. Dlatego nale┐y dbaµ, aby has│a u┐ytkownik≤w by│y jak najbardziej skomplikowane, powinny zawieraµ przynajmniej du┐e i ma│e litery oraz cyfry.

Drugi cel atak≤w, osi▒gany jest przez cracker≤w dziΩki wykorzystaniu b│Ωd≤w (bug) w oprogramowaniu serwer≤w us│ug Internetowych, czasem stosu TCP/IP. Tego typu dzia│aniem jest ostatnio popularna metoda unieruchamianiu serwis≤w WWW. Polega ona na wysy│aniu olbrzymiej liczby zapyta± do serwera WWW, kt≤ry pr≤buj▒c je wszystkie obs│u┐yµ zostaje zablokowany. G│≤wn▒ metod▒ zabezpiecze± przed tego typu "problemami" jest ci▒g│a aktualizacja oprogramowania sieciowego oraz ╢ledzenie stron zawieraj▒cych gotowe oprogramowanie s│u┐▒ce do takich dzia│a±. Jest to zadanie administratora sieci komputerowej i w zakresie jego obowi▒zk≤w musi byµ czas przeznaczony na tego typu dzia│ania.

Metody w│ama±.

Star▒ metod▒ jest podstawienie programu, udaj▒cego program loguj▒cy do systemu. W ten spos≤b u┐ytkownik podaje swoje has│o, a program w│amywacza posiada has│o w postaci niezakodowanej. W przypadku systemu Windows 95 (98) zainstalowanie takiego programu, udaj▒cego przyk│adowo system potwierdzania has│a poczty elektronicznej, nie stanowi zbytniego problemu.

NastΩpn▒ metod▒ jest nas│uchiwanie (sniffing), polega ona na pod│▒czeniu do sieci komputera z uruchomionym oprogramowaniem do ╢ci▒gania wszystkich ramek Ethernetowych w danym segmencie sieci. W tym momencie cracker uzyskuje dostΩp do wszystkich hase│, kt≤re transmitowane s▒ otwartym tekstem po sieci (np. odczytywanie poczty za pomoc▒ protoko│u POP, transmisja plik≤w protoko│em FTP). Pod nazw▒ sniffing zaszeregowane s▒ r≤wnie┐ metody pods│uchu transmisji w kablach sieciowych lub te┐ transmisji w kablach monitorowych. Przyk│adowo: istniej▒ urz▒dzenia umo┐liwiaj▒ce ogl▒danie (oczywi╢cie zaszumionego) obrazu wy╢wietlanego na monitorze znajduj▒cym siΩ kilkana╢cie metr≤w od nas, za kilkoma ╢cianami.

Znanym problemem s▒ us│ugi umo┐liwiaj▒ce zdaln▒ pracΩ: rlogin, rsh, rcp, kt≤rych system zabezpiecze± jest zupe│nie niewystarczaj▒cy. Aktualnie s▒ coraz rzadziej stosowane i najczΩ╢ciej nie wykorzystywane. Zast▒pione zosta│y us│ug▒ bezpiecznego po│▒czenia ssh (Secure Shell).

Niebezpieczna mo┐e byµ r≤wnie┐ us│uga ftp. Niew│a╢ciwie skonfigurowany serwer ftp, mo┐e umo┐liwiµ w│amywaczowi uzyskanie wa┐nych informacji, przyk│adowo pliku zawieraj▒cego has│a.

Jedn▒ z kategorii zagro┐e± stanowi▒ tzw. furtki (backdoors) lub w│azy (trapdors) bΩd▒ce nieudokumentowanymi funkcjami aplikacji, pozostawionymi przez programist≤w. W systemie Linux, dziΩki pe│nej dostΩpno╢ci ╝r≤de│ program≤w, bardzo szybko s▒ wykrywane i usuwane tego typu problemy.

align="justify"Ponadto us│uga smtp w implementacji wczesnych wersji programu sendmail okaza│a siΩ niedostatecznie bezpieczna. Przyk│adowo przy odpowiednim przerobieniu przesy│ki, interpretowana jest ona jako program wykonywalny i uruchamiana przez sendmaila.

Jednym z problem≤w mo┐e byµ wykorzystywanie przez administrator≤w serwer≤w WWW, skrypt≤w CGI pochodz▒cych z nieznanych ╝r≤de│. Dodatkowo korzystanie z us│ug WWW wymaga wiele ostro┐no╢ci, poniewa┐ pojawia siΩ bardzo du┐o nowych technologii, kt≤rych systemy zabezpiecze± nie s▒ dobrze znane. Typowym przyk│adem jest technologia ActiveX wprowadzona przez firmΩ Microsoft, chocia┐ implementacja jΩzyka Java te┐ nie jest wolna od b│Ωd≤w. Jednak znany jest fakt, ┐e zastosowana w przegl▒darce Netscape Communicator technologia Sand Box jest o wiele bezpieczniejsza od implementacji zabezpiecze± w Internet Explorerze.

Jedn▒ z najg│o╢niejszych technik w│ama± by│o "podszywanie siΩ" (spoofing). Polega ono na wysy│aniu datagram≤w IP z nieprawdziwym adresem ╝r≤d│owym, przez co komputer je odbieraj▒cy b│Ωdnie identyfikuje ich nadawcΩ. Zabezpieczenie przed ta metod▒ zosta│o wkompilowane w j▒dro rutera i jest uruchamiane zawsze przy starcie systemu.

Systemy Linuxowe s▒ odporne na atak Ping of Death polegaj▒cy na wysy│aniu du┐ych pakiet≤w ICMP i przepe│nianiu stosu TCP. úatwo rozpoznaµ takie pakiety ICMP po fragmentacji, kt≤ra zosta│a dokonana ze wzglΩdu na rozmiar przekraczaj▒cy MTU.

Teardrop i Bonk s▒ metodami atak≤w (niebezpieczne g│≤wnie dla Windows NT) u┐ywaj▒cymi nachodz▒cych na siebie fragment≤w pakiet≤w. Ruter Linuxowy dokonuje defragmentacji i uniemo┐liwia takie ataki.

Niekt≤re z mniej stabilnych stos≤w TCP s▒ wra┐liwe na datagramy z du┐▒ liczb▒ fragment≤w i mog▒ nie odebraµ ich wszystkich. Linux jest pozbawiony tego problemu. Mo┐na filtrowaµ takie fragmenty lub skompilowaµ j▒dro rutera z opcj▒ `IP: always defragment' ustawion▒ na `Y' (tylko gdy dany ruter jest jedyn▒ mo┐liwa drog▒ dotarcia takich pakiet≤w).

Istnieje na pewno wiele innych metod i ci▒gle pojawiaj▒ siΩ nowe. Jedynym sposobem zabezpieczenia jest nieustanne ╢ledzenie grup dyskusyjnych zajmuj▒cych siΩ zagadnieniami bezpiecze±stwa i natychmiastowe reagowanie na ka┐de nowe zagro┐enie. Jest to zadanie ka┐dego administratora sieci. Ponadto podstaw▒ tworzenia polityki zabezpiecze± dla danej firmy jest prawid│owe skonfigurowanie firewalla, bΩd▒cego aktualnie niezbΩdnym sk│adnikiem systemu bezpiecze±stwa.

Podczas projektowania bezpiecznej sieci komputerowej mo┐emy wyr≤┐niµ trzy poziomy (strefy) dostΩpu z Internetu:

I.  Poziom zewnΩtrzny - sieµ znajduj▒ca siΩ za firewallem z komputerami o adresach widocznych z Internetu. W tej sieci powinny znajdowaµ siΩ jedynie serwery ╢wiadcz▒ce us│ugi Internetowe.

II. Poziom wewnΩtrzny - podsieµ z adres≤w nierutowalnych, maj▒ca po│▒czenie z Internetem za pomoc▒ rutera z funkcjami firewalla i NAT (najczΩ╢ciej masquerading). Tutaj powinny siΩ znajdowaµ komputery pracownik≤w firmy.

III.Poziom izolowany - sieµ bez rutingu do Internetu, tutaj powinny siΩ znajdowaµ serwery baz danych strategicznych dla firmy (kadry, p│ace, dane techniczne produkcji, biura projektowe itp.) i komputery pracownik≤w korzystaj▒cych z tych zasob≤w.

Rzadko istnieje mo┐liwo╢µ wprowadzenia takiej modelowej struktury.

            Pomimo istnienia a┐ tylu r≤┐nych metod w│amania siΩ do system≤w informatycznych, najczΩ╢ciej powodem problem≤w jest po prostu b│▒d cz│owieka. G│o╢ne s▒ przypadki pozostawiania hase│ dostΩpu do systemu przyklejonych pod klawiatur▒, a czasem karteczk▒ do monitora. Dla tego bardzo wa┐ny jest poziom zrozumienia zasad bezpiecze±stwa przez u┐ytkownik≤w systemu i ich przestrzeganie. Ustalenie takich zasad, przyjΩcie metod ich egzekwowania, ustalenie i sztywne przestrzeganie poziom≤w dostΩpu do systemu oraz odpowiednie jego skonfigurowanie (konstrukcja sieci, firewall) tworzy politykΩ bezpiecze±stwa firmy.

Firewall

Firewall - "╢ciana ogniowa" termin wziΩty z konstrukcji samochodu, jest to element konstrukcji uniemo┐liwiaj▒cy rozprzestrzenianie siΩ ognia w czasie po┐aru na kabinΩ pasa┐er≤w. W sieci komputerowej jego zadaniem jest zapewnienie bezpiecze±stwa sieci w przypadku pr≤b w│amania. Mo┐na wyr≤┐niµ dwa og≤lne typy firewalli.

Firewalle filtruj▒ce IP - na podstawie adres≤w IP oraz numer≤w port≤w podejmuj▒ decyzje o zakwalifikowaniu danego datagramu jako bezpieczny. Firewalle filtruj▒ce dzia│aj▒ na poziomie pakiet≤w IP. S▒ zaprojektowane do kontroli przep│ywu bazuj▒c na adresie ╝r≤d│owym, docelowym, porcie i typie pakietu (zawartych w ka┐dym z pakiet≤w). Ten typ firewalli jest bardzo bezpieczny, ale nie daje kontroli nad u┐ytkownikami. Mo┐na udostΩpniµ us│ugΩ, ale nie da siΩ otrzymaµ informacji identyfikuj▒cych konkretnego u┐ytkownika z niej korzystaj▒cego, poza adresem IP komputera z kt≤rego przysz│a transmisja.

Serwery po│▒czeniowe (proxy) - wykonuj▒ po│▒czenie sieciowe w zamian za komputer z sieci lokalnej. Serwery proxy pozwalaj▒ na niebezpo╢redni dostΩp do Internetu. Dobrym przyk│adem jest serwer proxy us│ugi WWW. Gdy │▒czymy siΩ z proxy-serwerem za pomoc▒ oprogramowania klienckiego uruchamia on swojego klienta i dostarcza danych kt≤rych zarz▒dali╢my. Poniewa┐ serwery proxy podwajaj▒ ka┐de po│▒czenie, mo┐liwe jest zapisywanie (logowanie) ka┐dego z nich. Serwery proxy s▒ w pe│ni bezpieczne, gdy┐ nie dokonuj▒ bezpo╢redniego rutingu. Jedyn▒ ich wad▒ s▒ ogromne wymagania sprzΩtowe oraz pewien brak elastyczno╢ci. W momencie pojawienia siΩ nowej us│ugi, z kt≤rej u┐ytkownicy sieci chc▒ skorzystaµ, musimy zainstalowaµ dodatkowy program na serwerze zapewniaj▒cy dan▒ us│ugΩ.

Poni┐ej przedstawiΩ dok│adniejszy podzia│ firewalli i ich cechy.

Tradycyjne proxy (Traditional proxies).

Pakiety z sieci prywatnej nigdy nie wychodz▒ do Internetu i vice versa. Adresy IP w sieci prywatnej powinny byµ z klas nierutowalnych. Jedyn▒ drog▒ po│▒czenia siΩ z Internetem, jest wywo│anie firewalla, poniewa┐ jest on jedyn▒ maszyn▒ mog▒c▒ │▒czyµ siΩ r≤wnocze╢nie z obiema sieciami. Uruchamiamy jest na nim program zwany proxy, kt≤ry tego dokonuje. Dla ka┐dej us│ugi kt≤ra ma byµ dostΩpna z Internetu, na firewallu musi byµ uruchomiony osobny program po╢rednicz▒cy w jej ╢wiadczeniu.

Komputery w sieci wewnΩtrznej musz▒ byµ specjalnie skonfigurowane do uzyskania dostΩpu do wybranych us│ug. Przyk│adowo, aby ╢ci▒gn▒µ stronΩ WWW, musz▒ po│▒czyµ siΩ z firewallem na port 8080 i za┐▒daµ potrzebnej strony. W tym momencie uruchamia siΩ odpowiedni program po╢rednicz▒cy, ╢ci▒ga potrzebne dane i przekazuje do odpowiedniego komputera w sieci lokalnej.

Przezroczyste proxy (Transparent proxies).

Pakiety z sieci prywatnej nigdy nie wychodz▒ do Internetu i vice versa. Adresy IP w sieci prywatnej powinny byµ z klas nierutowalnych. Jedyn▒ drog▒ po│▒czenia siΩ z Internetem, jest wywo│anie firewalla, poniewa┐ jest on jedyn▒ maszyn▒ mog▒c▒ │▒czyµ siΩ r≤wnocze╢nie z obiema sieciami. Uruchamiamy na nim program zwany transparent proxy, kt≤ry tego dokonuje. J▒dro Linuksa kieruje pakiety do tego programu, zamiast wys│aµ je bezpo╢rednio do Internetu. Dla ka┐dej us│ugi kt≤ra ma byµ dostΩpna z Internetu, na firewallu musi byµ uruchomiony osobny program po╢rednicz▒cy w ╢wiadczeniu  takiej us│ugi.

Przezroczyste proxy oznacza, ┐e klient nie musi wiedzieµ o u┐yciu oprogramowania typu proxy i nie musi byµ specjalnie konfigurowany. Przyk│adowo: firewall jest skonfigurowany do przekierowywania (za pomoc▒ komendy ipchains) wszystkich po│▒cze± do portu 80 na port 8080 na kt≤rym pracuje tranparent proxy. Przy pr≤bie pobrania dowolnej strony WWW, transmisja przekierowywana jest na port 8080, a nastΩpnie wszystko odbywa siΩ jak w poprzednim przyk│adzie.

T│umaczenie adres≤w IP (NAT lub Masquerading).

Pakiety z sieci prywatnej nigdy nie wychodz▒ do Internetu bez specjalnej obr≤bki i vice versa. Adresy IP w sieci prywatnej powinny byµ z klas nierutowalnych. W tym przypadku u┐ywamy specjalnych funkcji j▒dra Linuksa.  Masquerading ma wydzielone modu│y do radzenia sobie ze skomplikowanymi protoko│ami jak FTP, RealAudio, Quake, itp.

Sieµ publiczna.

W tym przypadku, nasza sieµ jest czΩ╢ci▒ Internetu, pakiety mog▒ poruszaµ siΩ bez zmian poprzez obie sieci. Filtrowanie pakiet≤w jest u┐yte aby ograniczyµ dostΩp z Internetu tylko do naszych wewnΩtrznych serwer≤w i uniemo┐liwiµ dostΩp do komputer≤w u┐ytkownik≤w. Ten typ firewalla ma najmniejsze mo┐liwo╢ci kontroli i autoryzacji dostΩpu, ale jest r≤wnocze╢nie najbardziej elastyczny i wprowadza najmniej ogranicze± dla u┐ytkownik≤w z sieci wewnΩtrznej.

Obs│uga filtrowania pakiet≤w przez j▒dro Linuksa

Komenda ipchains jest linuksow▒ komend▒ u┐ywan▒ do konfiguracji regu│ firewalla i t│umaczenia adres≤w IP (NAT). Zast▒pi│a ona starsz▒ ipfwadm. Aby m≤c wykorzystaµ komputer z systemem operacyjnym Linux do filtrowania pakiet≤w nale┐y skompilowaµ j▒dro systemu z opcjami (dla j▒dra z serii 2.1 lub 2.2):

CONFIG_FIREWALL = y

CONFIG_IP_FIREWALL = y

W nowszych j▒drach mog▒ to byµ inne parametry konfiguracyjne. Aby stwierdziµ czy j▒dro ma prawid│owo wkompilowan▒ obs│ugΩ filtrowania datagram≤w, nale┐y sprawdziµ czy w katalogu /proc/net/ istnieje plik ip_fwchains, zawieraj▒cy konfiguracjΩ regu│ ipchains.

Przy konfigurowaniu firewalla za pomoc▒ komendy ipchains, podstawowym pojΩciem jest │a±cuch (chain). úa±cuch jest to zbi≤r regu│ filtruj▒cych. Istniej▒ trzy standardowe │a±cuchy: input, forward i output, ponadto u┐ytkownik mo┐e tworzyµ w│asne │a±cuchy.

Algorytm podejmowania decyzji o losie datagramu.

 

Rys.  Algorytm przechodzenia pakiet≤w przez system.

Droga datagram≤w IP poprzez firewall jest bardzo skomplikowana. Najwa┐niejsze etapy zosta│y zaznaczone pogrubion▒ czcionk▒ na powy┐szym schemacie.

Najpierw sprawdzana jest suma kontrolna datagram≤w (checksum), nastΩpnie testowane s▒ one pod k▒tem deformacji (sanity). P≤╝niej pakiety przechodz▒ przez │a±cuch wej╢ciowy (input chain) i je╢li trzeba podlegaj▒ procesowi NAT (demasquerade), czyli adres rutera usuwany jest z pola "adres docelowy" i zastΩpowany adresem IP komputera w sieci prywatnej. Dalej na podstawie tablicy rutingu (routing decision) lub protoko│u rutuj▒cego podejmowana jest decyzja o dalszym losie pakietu. Procesy lokalne (local process) mog▒ odbieraµ pakiety po etapie rutowania i wysy│aµ pakiety poprzez etap rutowania i │a±cuch wyj╢ciowy (output chain). Je╢li pakiety nie s▒ utworzone przez procesy lokalne, s▒ sprawdzane w │a±cuchu przej╢ciowym (forward chain). Je╢li pakiety od proces≤w lokalnych s▒ przekazywane do  lokalnego komputera (localhosta) przechodz▒ przez │a±cuch wyj╢ciowy (output chains) do interfejsu lo (lo interface - loopback). Wszystkie pakiety wydostaj▒ce siΩ z komputera musz▒ przej╢µ przez │a±cuch wyj╢ciowy (output chain).

Sk│adnia polecenia ipchains

Pokr≤tce przedstawiΩ podstawow▒ sk│adniΩ polecenia ipchains. SkupiΩ siΩ na opcjach u┐ytych w plikach konfiguracyjnych na ruterze. Dok│adny opis pozosta│ych opcji znajduje siΩ w publikacji Ipchains_HOWTO

Po poleceniu ipchains nastΩpuje opcja okre╢laj▒ca dzia│anie ca│ej komendy.

-F        (Flush) - usuwa wpisy z wymienionego p≤╝niej │a±cucha.

-A        (Append) dodaje now▒ regu│Ω do │a±cucha.

-I         (Insert) wstawia now▒ regu│Ω do │a±cucha na podane miejsce.

-D        (Delete) usuwa regu│Ω z │a±cucha.

NastΩpnie wystΩpuj▒ wpisy okre╢laj▒ce ╝r≤d│o i cel transmisji

-s         (source) ╝r≤d│o.

-d         (destination) cel.

Adresy mog▒ byµ podawane jako nr IP lub nazwa oraz jako zakresy, np.:

199.95.207.0/24

199.95.207.0/255.255.255.0 

WiΩkszo╢µ opcji umo┐liwia operacjΩ negacji logicznej np.: "-s ! localhost" oznacza wszystkie hosty poza lokalnym.

Protok≤│ mo┐e byµ podawany jako numer lub nazwa (tcp, udp, icmp), nie jest wa┐ne czy ma│e czy te┐ du┐e litery.

            -p udp

Mo┐na r≤wnie┐ podawaµ numer portu dla kt≤rego uk│adamy regu│Ω:

-p TCP -s 0.0.0.0/0 1023 

Zakres port≤w:

-p TCP -s 0.0.0.0/0 1010:1023

-p TCP -s 0.0.0.0/0 :1023                  - wszystkie porty poni┐ej 1023

R≤wnie dobrze mo┐emy podaµ nazwΩ portu:

-p TCP -s 0.0.0.0/0 www

Okre╢lamy interfejs sieciowy, kt≤rego dotyczy regu│a.

-i eth0

-i eth+               oznacza wszystkie interfejsy zaczynaj▒ce siΩ na eth.

Logowanie pakiet≤w, flaga -l   .

Flaga -j specyfikuje co wykonaµ z pakietem pasuj▒cym do regu│y. Je╢li nie ma tej flagi, to regu│a jest u┐ywana do prostego zliczania pakiet≤w j▒ spe│niaj▒cych. Dzia│aniami kt≤re mo┐emy zleciµ s▒:

ACCEPT         - pozwala przej╢µ pakietom przez firewalla.

DENY              - likwiduje pakiety, tak jakby nigdy nie dosz│y do firewalla.

REJECT          - likwiduje pakiety, (je╢li nie s▒ to pakiety ICMP) wysy│aj▒c komunikat ICMP o nieosi▒galno╢ci celu.

MASQ             - stosuje NAT (j▒dro musi byµ skompilowane z IP Masquerading enabled). Prawid│owe jedynie dla │a±cucha forward.

REDIRECT     - przesy│a pakiet na lokalny port, zamiast podanego w nag│≤wku. U┐ywane tylko dla protoko│≤w TCP i UDP. Numer portu mo┐e byµ podany po REDIRECT co przesy│a pakiety na konkretny port. To dzia│anie jest prawid│owe tyko dla │a±cucha input (wej╢ciowego).

RETURN        - jest identyczny z natychmiastowym osi▒gniΩciem ko±ca │a±cucha.

Ustalamy politykΩ dla │a±cucha. Polityka okre╢la co nale┐y zrobiµ z pakietem nie pasuj▒cym do ┐adnej z regu│.

ipchains -P input DENY

Poni┐ej znajdziecie gotowy do u┐ycia skrypt do konfiguracji firewalla. W chwili obecnej zawiera on komentarze w jΩzyku angielskim:

#!/bin/sh

# ----------------------------------------------------------------------------
# Copyright (C) 1997, 1998, 1999, 2000 Robert L. Ziegler
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for educational, research, private and non-profit purposes,
# without fee, and without a written agreement is hereby granted.
# This software is provided as an example and basis for individual firewall
# development. This software is provided without warranty.
#
# Any material furnished by Robert L. Ziegler is furnished on an
# "as is" basis. He makes no warranties of any kind, either expressed
# or implied as to any matter including, but not limited to, warranty
# of fitness for a particular purpose, exclusivity or results obtained
# from use of the material.
# ----------------------------------------------------------------------------

# /etc/rc.d/rc.firewall
# Invoked from /etc/ppp/ip-up, or
# from /sbin/ifup-local, or
# from /etc/sysconfig/network-scripts/ifup-post.
# from /etc/rc.d/rc.local.

echo "Starting firewalling... "

# ----------------------------------------------------------------------------
# Some definitions for easy maintenance.
# EDIT THESE TO SUIT YOUR SYSTEM AND ISP.

EXTERNAL_INTERFACE="ppp0"        # Internet connected interface
LOOPBACK_INTERFACE="lo"             # or your local naming convention
LOCAL_INTERFACE_1="eth0"        # internal LAN interface

IPADDR="0.0.0.0"             # your IP address
LOCALNET_1="192.168.1.0/24"        # whatever private range you use

ANYWHERE="any/0"             # match any IP address

NAMESERVER_1="any/0"             # everyone must have at least one

WEB_PROXY_SERVER="0.0.0.0" # ISP web proxy server, if any
WEB_PROXY_PORT="8080"             # ISP web proxy port, if any
WEB_PROXY_PORT="3130"             # typically 8008 or 8080

POP_SERVER="your.serwer"

LOOPBACK="127.0.0.0/8"             # reserved loopback address range
CLASS_A="10.0.0.0/8"             # class A private networks
CLASS_B="172.16.0.0/12"             # class B private networks
CLASS_C="192.168.0.0/16"        # class C private networks
BROADCAST_SRC="0.0.0.0"             # broadcast source address
BROADCAST_DEST="255.255.255.255"    # broadcast destination address
PRIVPORTS="0:1023"             # well known, privileged port range
UNPRIVPORTS="1024:65535"        # unprivileged port range

# ----------------------------------------------------------------------------

NFS_PORT="2049"                 # (TCP/UDP) NFS
SOCKS_PORT="1080"             # (TCP) Socks
OPENWINDOWS_PORT="2000"             # (TCP) openwindows

# X Windows port allocation begins at 6000 and increments to 6063
# for each additional server running.
XWINDOW_PORTS="6000:6063"        # (TCP) X windows

# The SSH client starts at 1023 and works down to 513 for each
# additional simultaneous connection originating from a privileged port.
# Clients can optionally be configured to use only unprivileged ports.
SSH_LOCAL_PORTS="1022:65535"        # port range for local clients
SSH_REMOTE_PORTS="513:65535"        # port range for remote clients

# traceroute usually uses -S 32769:65535 -D 33434:33523
TRACEROUTE_SRC_PORTS="32769:65535"
TRACEROUTE_DEST_PORTS="33434:33523"

# ----------------------------------------------------------------------------
# Default policy is DENY
# Explicitly accept desired INCOMING & OUTGOING connections

# Remove all existing rules belonging to this filter
ipchains -F

# Set the default policy of the filter to deny.
ipchains -P input DENY
ipchains -P output REJECT
ipchains -P forward DENY

# set masquerade timeout to 10 hours for tcp connections
ipchains -M -S 360000 0 0


# ----------------------------------------------------------------------------

# Enable IP Forwarding, if it isn't already
echo 1 > /proc/sys/net/ipv4/ip_forward

# Enable TCP SYN Cookie Protection
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Enable always defragging Protection
echo 1 > /proc/sys/net/ipv4/ip_always_defrag

# Enable broadcast echo Protection
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Enable bad error message Protection
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Enable IP spoofing protection
# turn on Source Address Verification
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done

# Disable ICMP Redirect Acceptance
for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do
echo 0 > $f
done

for f in /proc/sys/net/ipv4/conf/*/send_redirects; do
echo 0 > $f
done

# Disable Source Routed Packets
for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $f
done

# Log Spoofed Packets, Source Routed Packets, Redirect Packets
for f in /proc/sys/net/ipv4/conf/*/log_martians; do
echo 1 > $f
done

# These modules are necessary to masquerade their respective services.
/sbin/modprobe ip_masq_autofw
/sbin/modprobe ip_masq_cuseeme
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_mfw
/sbin/modprobe ip_masq_portfw
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_raudio ports=554,7070,7071,6970,6971
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_vdolive

# ----------------------------------------------------------------------------
# LOOPBACK

# Unlimited traffic on the loopback interface.

ipchains -A input -i $LOOPBACK_INTERFACE -j ACCEPT
ipchains -A output -i $LOOPBACK_INTERFACE -j ACCEPT

# ----------------------------------------------------------------------------
# Unlimited traffic within the local network.

# All internal machines have access to the firewall machine.

ipchains -A input -i $LOCAL_INTERFACE_1 -s $LOCALNET_1 -j ACCEPT
ipchains -A output -i $LOCAL_INTERFACE_1 -d $LOCALNET_1 -j ACCEPT

# ----------------------------------------------------------------------------
# Masquerade internal traffic.

# All internal traffic is masqueraded externally.
ipchains -A forward -i $EXTERNAL_INTERFACE -s $LOCALNET_1 -j MASQ

# ----------------------------------------------------------------------------
# SPOOFING & BAD ADDRESSES
# Refuse spoofed packets.
# Ignore blatantly illegal source addresses.
# Protect yourself from sending to bad addresses.

# Refuse incoming packets pretending to be from the external address.
ipchains -A input -s $IPADDR -j DENY -l

# ----------------------------------------------------------------------------
# NOTE:
# The symbolic names used in /etc/services for the port numbers vary by
# supplier. Using them is less error prone and more meaningful, though.

# ----------------------------------------------------------------------------
# TCP UNPRIVILEGED PORTS
# Avoid ports subject to protocol & system administration problems.

# NFS: establishing a TCP connection
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $NFS_PORT -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $NFS_PORT -j REJECT

# openwindows: establishing a connection
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $OPENWINDOWS_PORT -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $OPENWINDOWS_PORT -j REJECT


# Xwindows: establishing a connection
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $XWINDOW_PORTS -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $XWINDOW_PORTS -j REJECT

# SOCKS: establishing a connection
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $SOCKS_PORT -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -y \
--destination-port $SOCKS_PORT -j REJECT

# ----------------------------------------------------------------------------
# UDP UNPRIVILEGED PORTS
# Avoid ports subject to protocol & system administration problems.

ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--destination-port $NFS_PORT -j DENY -l

# UDP INCOMING TRACEROUTE
# traceroute usually uses -S 32769:65535 -D 33434:33523

ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--source-port $TRACEROUTE_SRC_PORTS \
--destination-port $TRACEROUTE_DEST_PORTS -j DENY -l

# ----------------------------------------------------------------------------

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-d $IPADDR -j ACCEPT

# ------------------------------------------------------------------

# DNS client (53)
# ---------------
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR $UNPRIVPORTS \
-d $NAMESERVER_1 53 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
-s $NAMESERVER_1 53 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT


ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $NAMESERVER_1 53 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $NAMESERVER_1 53 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT


# DNS server modes (53)
# ---------------------

# DNS caching & forwarding nameserver
# -----------------------------------

# server to server query or response
# Caching only name server uses UDP, not TCP

ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR 53 \
-d $NAMESERVER_1 53 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
-s $NAMESERVER_1 53 \
-d $IPADDR 53 -j ACCEPT


# ------------------------------------------------------------------

# HTTP server (80)
# ----------------
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
--source-port $UNPRIVPORTS \
-d $IPADDR 80 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR 80 \
--destination-port $UNPRIVPORTS -j ACCEPT


# HTTP client (80)
# ----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 80 -j ACCEPT

# -------------------------------------------------------------------

# HTTPS server (443)
# ------------------
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
--source-port $UNPRIVPORTS \
-d $IPADDR 443 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR 443 \
--destination-port $UNPRIVPORTS -j ACCEPT


# HTTPS client (443)
# ------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 443 -j ACCEPT

# --------------------------------------------------------------------

# HTTP Proxy client (8008/8080)
# -----------------------------

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $WEB_PROXY_SERVER $WEB_PROXY_PORT -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $WEB_PROXY_SERVER $WEB_PROXY_PORT \
-d $IPADDR $UNPRIVPORTS -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $WEB_PROXY_SERVER $WEB_PROXY_PORT1 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $WEB_PROXY_SERVER $WEB_PROXY_PORT1 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT

# ------------------------------------------------------------------

# POP server (110)
# ----------------
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
--source-port $UNPRIVPORTS \
-d $IPADDR 110 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR 110 \
--destination-port $UNPRIVPORTS -j ACCEPT

# --------------------------------------------------------------------

# POP (110) - Retrieving Mail as a POP Client
# -------------------------------------------

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $ANYWHERE 110 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $ANYWHERE 110 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT


# --------------------------------------------------------------------

# SMTP client to an ISP account without a local server
# Sending Mail through a local SMTP server

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $ANYWHERE 25 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $ANYWHERE 25 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT

# ------------------------------------------------------------------

# Receiving Mail as a Local SMTP server (25)
# ------------------------------------------

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
-s $ANYWHERE $UNPRIVPORTS \
-d $IPADDR 25 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR 25 \
-d $ANYWHERE $UNPRIVPORTS -j ACCEPT


# --------------------------------------------------------------------

# IMAP (143) - Retrieving Mail as an IMAP Client
# ----------------------------------------------

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $ANYWHERE 143 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $ANYWHERE 143 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT

# --------------------------------------------------------------------

# NNTP (119) - Reading and Posting News as a Usenet Client
# --------------------------------------------------------

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $ANYWHERE 119 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $ANYWHERE 119 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT


# ------------------------------------------------------------------

# SSH server (22)
# ---------------
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
--source-port $SSH_REMOTE_PORTS \
-d $IPADDR 22 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR 22 \
--destination-port $SSH_REMOTE_PORTS -j ACCEPT


# SSH client (22)
# ---------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $SSH_LOCAL_PORTS \
--destination-port 22 -j ACCEPT

# ------------------------------------------------------------------

# TELNET client (23)
# ------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 23 -j ACCEPT

# --------------------------------------------------------------------

# AUTH (113) - Allowing Your Outgoing AUTH Requests as a Client
# -------------------------------------------------------------

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $ANYWHERE 113 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $ANYWHERE 113 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT

# ------------------------------------------------------------------

# AUTH server (113)
# -----------------

# Accept incoming connections to identd but disable in.identd in inetd.conf.
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
--source-port $UNPRIVPORTS \
-d $IPADDR 113 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR 113 \
--destination-port $UNPRIVPORTS -j ACCEPT


# AUTH client (113)
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 113 -j ACCEPT

# ------------------------------------------------------------------

# WHOIS client (43)
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 43 -j ACCEPT

# ------------------------------------------------------------------

# FINGER client (79)
# ------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 79 -j ACCEPT

# ------------------------------------------------------------------

# FTP server (21)
# ---------------

# incoming request
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
--source-port $UNPRIVPORTS \
-d $IPADDR 21 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR 21 \
--destination-port $UNPRIVPORTS -j ACCEPT


# PORT MODE data channel responses
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR 20 \
--destination-port $UNPRIVPORTS -j ACCEPT


# FTP client (21)
# ---------------

# outgoing request
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 21 -j ACCEPT


# PORT mode data channel
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp \
--source-port 20 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR $UNPRIVPORTS \
--destination-port 20 -j ACCEPT

# ------------------------------------------------------------------

# IRC client (6667)
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 6667 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port $UNPRIVPORTS -j ACCEPT

# ------------------------------------------------------------------

# RealAudio / QuickTime client
# ----------------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 554 -j ACCEPT

# TCP is a more secure method: 7070:7071

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 7070:7071 -j ACCEPT

# UDP is the preferred method: 6970:6999
# For LAN machines, UDP requires the RealAudio masquerading module and
# the ipmasqadm third-party software.

ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--source-port $UNPRIVPORTS \
-d $IPADDR 6970:6999 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR 6970:6999 \
--destination-port $UNPRIVPORTS -j ACCEPT

# ------------------------------------------------------------------

# ICQ client (4000)
# -----------------
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 2000:4000 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR $UNPRIVPORTS \
--destination-port 4000 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--source-port 4000 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT

# ----------------------------------------------------------------------------
# UDP accept only on selected ports
# ---------------------------------

# ------------------------------------------------------------------

# OUTGOING TRACEROUTE
# -------------------
ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
-s $IPADDR $TRACEROUTE_SRC_PORTS \
--destination-port $TRACEROUTE_DEST_PORTS -j ACCEPT -l

# ----------------------------------------------------------------------------
# ICMP

# To prevent denial of service attacks based on ICMP bombs, filter
# incoming Redirect (5) and outgoing Destination Unreachable (3).
# Note, however, disabling Destination Unreachable (3) is not
# advisable, as it is used to negotiate packet fragment size.

# For bi-directional ping.
# Message Types: Echo_Reply (0), Echo_Request (8)
# To prevent attacks, limit the src addresses to your ISP range.
#
# For outgoing traceroute.
# Message Types: INCOMING Dest_Unreachable (3), Time_Exceeded (11)
# default UDP base: 33434 to base+nhops-1
#
# For incoming traceroute.
# Message Types: OUTGOING Dest_Unreachable (3), Time_Exceeded (11)
# To block this, deny OUTGOING 3 and 11

# 0: echo-reply (pong)
# 3: destination-unreachable, port-unreachable, fragmentation-needed, etc.
# 4: source-quench
# 5: redirect
# 8: echo-request (ping)
# 11: time-exceeded
# 12: parameter-problem

ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type echo-reply \
-d $IPADDR -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type destination-unreachable \
-d $IPADDR -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type source-quench \
-d $IPADDR -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type time-exceeded \
-d $IPADDR -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type parameter-problem \
-d $IPADDR -j ACCEPT


ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR fragmentation-needed -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR source-quench -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR echo-request -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
-s $IPADDR parameter-problem -j ACCEPT

# ----------------------------------------------------------------------------
# Enable logging for selected denied packets

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -j DENY -l

ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--destination-port $PRIVPORTS -j DENY -l

ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
--destination-port $UNPRIVPORTS -j DENY -l


ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type 5 -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
--icmp-type 13:255 -j DENY -l

ipchains -A output -i $EXTERNAL_INTERFACE -j REJECT -l

# ----------------------------------------------------------------------------

echo "done"

exit 0

Artyku│ napisany na podstawie pracy Karola Krysiaka
Oryginalna wersja dokumentu znajduje siΩ
pod adresem http://www.net.w.pl
ObjΩta jest ona nastΩpuj▒cymi Prawami autorskimi


linia_1.gif (306 bytes)

Aktualno╢ci | Linux / Unix

.

Copyright (c) 1999-2000 by DREAM N-E-T-W-O-R-K