[ Pobierz całość w formacie PDF ]
.84.218.130 www -j ACCEPTipchains -A dmz-bad -p icmp -j icmp-accipchains -A dmz-bad -j DENY -lZła (zewnętrzna) do Dobrej (wewnętrznej).Nie pozwalamy na nic (nie maskaradowanego) z sieci zewnętrznej do sieci wewnętrznej:ipchains -A bad-good -j REJECTFiltrowanie pakietów dla samego LinuksaJeśli używamy filtrowania pakietów dla pakietów przychodzących do komputera filtrującego pakiety,musimy filtrować pakiety w łańcuchu input.Stworzymy jeden łańcuch dla każdego interfejsuprzeznaczenia:ipchains -N bad-ifipchains -N dmz-ifipchains -N good-ifNastępnie odpowiednie cele dla nich:ipchains -A input -d 192.84.219.1 -j bad-ifipchains -A input -d 192.84.219.250 -j dmz-ifipchains -A input -d 192.168.1.250 -j good-ifInterfejs do Złej (zewnętrznej).Komputer filtrujący pakiety:ping od każdej siecitraceroute do każdej siecidostęp do DNSInterfejs zewnętrzny otrzymuje również odpowiedzi do pakietów zmaskaradowanych, pakiety ICMP zinformacjami o błędach dla nich oraz odpowiedzi na ping:ipchains -A bad-if -i ! ppp0 -j DENY -lipchains -A bad-if -p TCP --dport 61000:65095 -j ACCEPTipchains -A bad-if -p UDP --dport 61000:65095 -j ACCEPTipchains -A bad-if -p ICMP --icmp-type pong -j ACCEPTipchains -A bad-if -j icmp-accipchains -A bad-if -j DENYInterfejs do Strefy DMZRestrykcje na komputerze filtrującym pakiety:ping od każdej siecitraceroute do każdej siecidostęp do DNSInterfejs strefy DMZ otrzymuje odpowiedzi DNS, odpowiedzi na ping oraz pakiety ICMP zinformacjami o błędach:ipchains -A dmz-if -i ! eth0 -j DENYipchains -A dmz-if -p TCP ! -y -s 192.84.219.129 53 -j ACCEPTipchains -A dmz-if -p UDP -s 192.84.219.129 53 -j ACCEPTipchains -A dmz-if -p ICMP --icmp-type pong -j ACCEPTipchains -A dmz-if -j icmp-accipchains -A dmz-if -j DENY -lInterfejs do Dobrej (wewnętrznej).Restrykcje na komputerze filtrującym pakiety:ping od każdej siecitraceroute do każdej siecidostęp do DNSRestrykcje wewnętrzne:Zezwalamy na WWW, ftp, traceroute i ssh do sieci zewnętrznejZezwalamy na SMTP do serwera pocztyZezwalamy na POP3 do serwera pocztyZezwalamy na DNS do serwera nazwZezwalamy na rsync do serwera WWWZezwalamy na WWW do serwera WWWZezwalamy na ping do komputera filtrującego pakietyInterfejs wewnętrzny otrzymuje pingi, odpowiedzi na pingi oraz pakiety ICMP z informacjami obłędach.ipchains -A good-if -i ! eth1 -j DENYipchains -A good-if -p ICMP --icmp-type ping -j ACCEPTipchains -A good-if -p ICMP --icmp-type pong -j ACCEPTipchains -A good-if -j icmp-accipchains -A good-if -j DENY -l7.5 Na koniecKasujemy reguły blokujące:ipchains -D input 1ipchains -D forward 1ipchains -D output 18.Dodatek: Różnice pomiędzy ipchains a ipfwadm.Niektóre z tych zmian są rezultatem zmian w kernelu, a część wynika z tego, że ipchains są inaczejzbudowane od ipfwadm.1.Wielu parametrom zmieniono znaczenie: duże litery wskazują na komendy, małe na opcje.2.Dodano obsługę definiowalnych łańcuchów, nawet wbudowane łańcuchy mają swoje nazwy zamiastflag (tzn.'input' zamiast '-I')3.Opcja `-k' zniknęła: używaj '! -y'.4.Opcja '-b' dokłada/dodaje/kasuje dwie reguły, zamiast jedną 'dwukierunkową'.5.Opcja '-b' może być przekazana do '-C' by wykonać dwa sprawdzenia (jedno dla każdego kierunku)6.Opcja `-x' dla '-l' została zastąpiona przez '-v'.7.Wskazywanie wielu portów zródłowych i przeznaczenia nie jest już obsługiwane.Mam nadzieję, żemożliwość negowania zakresów portów jakoś to zastąpi.8.Interfejsy mogą być wskazane tylko przez nazwę (nie przez adres).Stara semantyka i tak zmieniła siępo cichu w serii kerneli 2.1.x.9.Fragmenty są badane, a nie automatycznie przepuszczane.10.Dedykowane łańcuchy zliczające zostały wyrzucone.11.Można testować własne protokoły ponad IP.12.Stare zachowanie dla testów SYN i ACK zmieniło się (było poprzednio ignorowane dla pakietów niebędących pakietami TCP); opcja SYN jest nieprawidłowa dla reguł nie dotyczących TCP13.Liczniki są 64 bitowe na 32 bitowych maszynach, nie 32 bitowe.14.Obsługiwana jest inwersja.15.Obsługiwane są również kody ICMP.16.Obsługiwane jest również wskazywanie interfejsów przez maskę.17.Manipulacje na polach TOS są teraz sprawdzane pod kątem sensowności: stary kod kernelapowstrzymywał bez żadnego komunikatu przed użyciem bitu 'Must Be Zero' w TOS; teraz ipchainszwracają błąd jeśli tego spróbujesz, tak jak w przypadku innych błędów.8.1 Krótka ściąga[ W większości wypadków, argumenty komend są DU%7łYMI LITERAMI a opcje małymi ]Jeszcze jedna sprawa - chęć użycia maskarady pisze się '-j MASQ'; różni się to kompletnie od '-j ACCEPT' inie jest traktowane jako efekt uboczny, tak jak w ipfwadm [ Pobierz całość w formacie PDF ]