Niektóre protokoły nie bêdą obecnie działały z maskowaniem, ponieważ albo zakładają pewne fakty na temat numerów portów, albo kodują dane na temat adresów i portów w swoich strumieniach - te drugie potrzebują specyficznych proxies wbudowanych w kod maskowania, aby działały.
Maskowanie nie potrafi w ogóle obsługiwaæ takich serwisów. Jest kilka sposobów, aby takowe działały, ale są one zupełnie nie związane z maskowaniem i są czêścią standardowego działania firewall-i.
Jeśli nie wymagasz wysokiego poziomu bezpieczeñstwa, to możesz po prostu przekierowaæ porty. Są różne sposoby, aby to zrobiæ - ja używam zmodyfikowanego kodu programu redir (który mam nadziejê bêdzie dostêpny wkrótce z sunsite i jego kopii). Jeśli chcesz mieæ jakiś poziom autoryzacji połączeñ wchodzących, to możesz użyæ albo TCP wrappers albo Xinetd "powyżej" redir w wersji 0.7 lub nowszej, aby wpuszczaæ tylko konkretne adresy IP, albo użyj jakichś innych narzêdzi. TIS Firewall Toolkit jest dobrym miejscem, w którym możesz poszukaæ narzêdzi i informacji.
Wiêcej informacji znajdziesz na stronie z zasobami dla maskowania IP.
** Nastepującą listą nikt siê już nie zajmuje. Zajrzyj na tê stronê, aby dowiedzieæ siê które aplikacje działają poprzez maskowanie na Linux-ie. Wiêcej informacji także na stronie z zasobami dla maskowania IP. **
Ogólnie aplikacja, która używa TCP/UDP powinna działaæ. Jeśli masz jakieś sugestie, wskazówki lub pytania, na temat aplikacji z maskowaniem IP, odwiedź tê stronê prowadzoną przez Lee Nevo.
Ogólne:
wszystkie obsługiwane platformy, surfowanie po sieci
wszystkie obsługiwane platformy, klienci e-mail
wszystkie obsługiwane platformy, zdalne logowanie
wszystkie obsługiwane platformy, z modułem ip_masq_ftp.o (nie wszystkie adresy działają z pewnymi klientami; np. do niektórych nie można siê dostaæ przy pomocy ws_ftp32, ale działa z Netscape)
wszystkie obsługiwane platformy, szukanie plików (nie wszytkie wersje oprogramowania są obsługiwane)
wszystkie obsługiwane platformy, klient USENET NEWS
Windows (przypuszczalnie wszystkie obsługiwane platformy), surfowanie po wirtualnej rzeczywistości.
głównie platformy na UNIX-ie, niektóre wersje mogą nie działaæ
wszystkie platformy, z łatą ICMP
wszystkie obsługiwane platformy, z modułami ip_masq_irc.o
wszystkie obsługiwane platformy
wszystkie obsługiwane platformy
Klienci Multimedialni:
Windows, network streaming audio z załadowanym modułem ip_masq_raudio
Windows, network streaming audio
Windows, network streaming audio
Windows, program Client-Server 3D do pogawêdek
Windows, program Client-Server 3D do pogawêdek
Windows, komunikacja audio Peer-to-peer, można siê z tobą porozumieæ tylko jeśli zainicjowałeś połączenie, ale nie można zadzwoniæ do ciebie
Windows, komunikacja na bazie tablic (ogłoszeniowych), można siê z tobą porozumieæ jeśli zainicjowałeś połączenie; nie można siê do ciebie dodzwoniæ
, wszystkie obsługiwane platformy, z załadowanymi modułami cuseeme; szczegóły znajdziesz na stronie z zasobami dla maskowania IP.
Windows, z łatą vdolive
Uwaga: Niektóre programy, jak IPhone i Powwow mogą działaæ nawet jeśli to nie ty zaincjowałeś połączenie poprzez użycie pakietu ipautofw. Zobacz w rozdziale 4.6.
Inni klienci:
DOS, pakiet zawierający telnet, ftp, ping, itp.
MS-Windows, zdalna kontrola PC poprzez TCP/IP, działa tylko jeśli jest klientem a nie hostem.
używa ntp - protokół czasu w sieci
Linux, pakiet do zarządzania i monitorowania sieci.
Łączy siê, ale głos wêdruje tylko w jedną stronê (na zewnątrz)
Nie może połączyæ siê z serwerem
Nie może połączyæ siê z drugą stroną
nie bêdą działaæ - wymagają napisania proxy dla jądra
W tej chwili nie może działaæ (robi złe założenia na temat adresów)
Nietestowane, ale sądze, że nie może działaæ o ile ktoś stworzy proxy dla X, który jest prawdopodobnie osobnym programem dla kodu maskowania. Jednym ze sposobów, aby to działało jest użycie ssh jako połączenia i użycie wewnêtrznego proxy X.
Rozdział ten pogłêbia wiedzê na temat stosowania polecenia ipfwadm.
Poniżej jest ustawienie dla system z maskowaniem/firewalling-iem, z łączem PPP i statycznymi adresami PPP. Zaufanym interfejsem jest 192.168.255.1, interfejs PPP został zmieniony, aby chroniæ winnych :). Każdy wchodzący i wychodzący interfejs jest podany osobno, aby wychwyciæ spoofing IP jak i zatkany (stuffed) routing i/lub maskowanie. Wszystko co nie jest wyraźnie dozwolone jest zabronione!
#!/bin/sh # # /etc/rc.d/rc.firewall, define the firewall configuration, invoked from # rc.local. # PATH=/sbin:/bin:/usr/sbin:/usr/bin # testowanie, poczekaj trochê, potem wyczyśæ wszystkie regułki. # odkomentuj poniższe linie jeśli chcesz wyłączyæ firewall # automatycznie po 10. minutach. # (sleep 600; \ # ipfwadm -I -f; \ # ipfwadm -I -p accept; \ # ipfwadm -O -f; \ # ipfwadm -O -p accept; \ # ipfwadm -F -f; \ # ipfwadm -F -p accept; \ # ) & # Wchodzące, wyczyśæ i ustaw domyślną regułkê na zabronione. Właściwie # domyślna regułka jest nieodpowiednia, ponieważ zrobiliśmy inną: nie # wpuszczaj nikogo i loguj wszystko. ipfwadm -I -f ipfwadm -I -p deny # interfejs i maszyny lokalne mogą siê dostaæ wszêdzie ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0 # interfejs odległy, twierdzący, że jest od nas, spoofing IP, nie # wpuszczaj ipfwadm -I -a deny -V twój.stały.adres.PPP -S 192.168.0.0/16 -D 0.0.0.0/0 -o # interfejs odległy, jakiekolwiek źródło, jeśli celem jest stały adres # PPP, to wpuśæ ipfwadm -I -a accept -V twój.stały.adres.PPP -S 0.0.0.0/0 -D twój.stały.adres.PPP/32 # interfejs loopback (lo) jest w porządku ipfwadm -I -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0 # wychwyæ wszystko, każdy inny ruch wchodzący jest zabroniony i # logowany, szkoda, że nie ma opcji logowania, ale to robi to samo. ipfwadm -I -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o # Wychodzące, wyczyśæ i ustaw domyślną regułkê na zabronione. Właściwie # domyślna regułka jest nieodpowiednia, ponieważ zrobiliśmy inną: nie # wpuszczaj nikogo i loguj wszystko. ipfwadm -O -f ipfwadm -O -p deny # interfejs lokalny, wszystko z zewnątrz do nas jest w porządku ipfwadm -O -a accept -V 192.168.255.1 -S 0.0.0.0/0 -D 192.168.0.0/16 # wychodzące do lokalnej sieci na zdalnym interfejsie, stuffed # routing, odrzuæ ipfwadm -O -a deny -V twój.statyczny.adres.PPP -S 0.0.0.0/0 -D 192.168.0.0/16 -o # wychodzące z lokalnej sieci na zdalnym interfejsie, stuffed # masquerading, odrzuæ ipfwadm -O -a deny -V twój.statyczny.adres.PPP -S 192.168.0.0/16 -D 0.0.0.0/0 -o # wychodzące z lokalnej sieci na zdalnym interfejsie, stuffed # masquerading, odrzuæ ipfwadm -O -a deny -V twój.statyczny.adres.PPP -S 0.0.0.0/0 -D 192.168.0.0/16 -o # wszystko inne wychodzące na zdalnym interfejsie jest w porządku ipfwadm -O -a accept -V twój.statyczny.adres.PPP -S twój.statyczny.adres.PPP/32 -D 0.0.0.0/0 # interfejs lokalny (lo) jest w porządku ipfwadm -O -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0 # wychwyæ wszystko, każdy inny ruch wychodzący jest zabroniony i # logowany, szkoda, że nie ma opcji logowania, ale to robi to samo. ipfwadm -O -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o # Przekazywanie, wyczyśæ i ustaw domyślną regułkê na zabronione. Właściwie # domyślna regułka jest nieodpowiednia, ponieważ zrobiliśmy inną: nie # wpuszczaj nikogo i loguj wszystko. ipfwadm -F -f ipfwadm -F -p deny # maskuj z lokalnej sieci na lokalnym interfejsie dokądkolwiek ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0 # wychwyæ wszystko, każdy inny ruch jest zabroniony i # logowany, szkoda, że nie ma opcji logowania, ale to robi to samo. ipfwadm -F -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o
Możesz blokowaæ ruch do poszczególnego adresu przy pomocy opcji -I, -O i -F. Pamiêtaj, że regułki są skanowane od góry w dół i -a oznacza "dodaj" do już istniejących regułek, tak wiêc wszelkie szczegółowe regułki muszą pojawiæ siê przed zasadami ogólnymi. Na przykład (nietestowane):
Użycie opcji -I. Przypuszczalnie najszybsze rozwiązanie, ale zatrzymuje tylko lokalne maszyny, firewall jako taki, ma nadal dostêp do zabronionych adresów. Oczywiście możesz dopuściæ taką kombinacjê.
... początek regułek -I ... # odrzuæ i loguj lokalny interfejs i lokalne maszyny próbujące dostaæ # siê do 204.50.10.13 ipfwadm -I -a reject -V 192.168.255.1 -S 192.168.0.0/16 -D 204.50.10.13/32 -o # lokalny interfejs i maszyny dokądkowiek jest w porządku ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0 ... koniec regułek -I ...
Użycie opcji -O. Najwolniejsze ponieważ pakiety najpierw przechodzą przez maskowanie, ale ta regułka zatrzymuje nawet firewall przed dostêpem do zabronionych adresów.
... początek regułek -O ... # odrzuæ i zaloguj wychodzące do 204.50.10.13 ipfwadm -O -a reject -V twój.statyczny.adres.PPP -S twój.statyczny.adres.PPP/32 -D 204.50.10.13/32 -o # wszystko inne wychodzące na odległym interfejsie jest w porządku. ipfwadm -O -a accept -V twój.statyczny.adres.PPP -S twój.statyczny.adres.PPP/32 -D 0.0.0.0/0 ... koniec regułek -O ...
Użycie opcji -F. Prawdopodobnie wolniejsze niż -I i wciąż zatrzymuje tylko maszyny zamaskowane (tj. wewnêtrzne), firewall ma nadal dostêp do zabronionych adresów.
... początek regułek -F ... # odrzuæ i zaloguj z lokalnej sieci na interfejsie PPP do # 204.50.10.13 ipfwadm -F -a reject -W ppp0 -S 192.168.0.0/16 -D 204.50.10.13/32 -o # maskuj z lokalnej sieci na lokalnym interfejsie dokądkolwiek ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0 ... koniec regułek -F ...
Nie ma potrzeby na specjalną regułkê, aby pozwoliæ na ruch z 192.168.0.0/16 do 204.50.11.0; jest to zapewnione przez regułki ogólne.
Jest wiêcej niż jeden sposób ujêcia interfejsów w powyższych regułkach. Na przykład zamiast -V 192.168.255.1 możesz wpisaæ -W eth0; zamiast -V twój.statyczny.adres.PPP możesz użyæ -W ppp0. Prywatny wybór i dokumentacja, to wiêcej niż cokolwiek innego.
IPautofw jest programem do ogólnie pojêtego przekazywania pakietów TCP i UDP w Linux-ie. Żeby użyæ pakietu, który wymaga transmisji UDP trzeba załadowaæ specyficzny moduł ip_masq - ip_masq_raudio, ip_masq_cuseeme, itd. Ipautofw odgrywa bardziej ogólną rolê; bêdzie on przekazywał każdy rodzaj ruchu włącznie z tym, którego nie przepuszczą moduły specyficzne dla danej aplikacji. Jeśli zarządza siê tym programem niepoprawnie można stworzyæ dziurê w bezpieczeñstwie.