Rozwiązanie tcpwrappers i SOCKS. Prezentacja możliwości

Transkrypt

Rozwiązanie tcpwrappers i SOCKS. Prezentacja możliwości
Rozwiązanie tcpwrappers i SOCKS.
Prezentacja możliwości.
Bezpieczeństwo systemów komputerowych.
Temat seminarium: Rozwiązanie tcpwrappers i
SOCKS.
Prezentacja możliwości
Autor: Arkadiusz Puczkowski
Rozwiązanie tcpwrappers i SOCKS.
Prezentacja możliwości.
Seminarium 2004 – PP, SKiSR
1
Rozwiązanie tcpwrappers i SOCKS. Spis
treści
Wstęp
Słów kilka o superdemonie: Inetd i Xinetd
Do czego służy Tcpwrapper.
Konfiguracja Tcpwrapper-a.
Dlaczego PROXY.
Serwer SOCKS – warstwy pracy,
działanie.
7. SOCKS v4 i v5 – możliwości.
8. SOCKS v5 – konfiguracja.
9. Wzorce pliku konfiguracyjnego.
10.Konfiguracja klientów SOCKS
11.Przykładowa konfiguracja
12.Podsumowanie.
1.
2.
3.
4.
5.
6.
Seminarium 2004 – PP, SKiSR
2
Rozwiązanie tcpwrappers i SOCKS. Wstęp
Zmierzając do zwiększania bezpieczeństwa sieci
komputerowej musimy pamiętać o właściwej
konfiguracji usług oferowanych użytkownikom. Złym
nawykiem jest nadmierna swoboda i liberalność w tym
zakresie. Należy pamiętać, że każda otwarta usługa, to
otwarty dostęp do portu na serwerze.
Drugą istotną sprawą jest definiowanie zasad
korzystania z usług sieciowych: jaki użytkownik ma do
nich prawo, jakie połączenia są akceptowane i z jakiego
źródłowego adresu IP. Istnieje oprogramowanie
wspomagające system w zarządzaniu usługami. Bardzo
przydatnym narzędziem jest tcpwrapper, który potrafi
filtrować ruch wchodzący według ustalonych reguł z
drugiej strony dzięki niemu dzienniki rejestrujące
nieuprawnione próby dostępu do serwera
Seminarium 2004 – PP, SKiSR
3
Rozwiązanie tcpwrappers i SOCKS. Słów kilka o
superdemonie
Słów kilka o superdemonie
Protkół IP jest oparty na modelu klient/serwer. Programy
zwane klientami nawiązują połączenie sieciowe z innymi
programami zwanymi serwerami które czekają na
utworzenie połączeń. W języku Unixa program – serwer,
który działa w tle i czeka na żądanie, nazywa się
demonem.
W systemach Unix, Linux demony usług mogą być
uruchamiane w dwojaki sposób:
* Serwerów, które działają nieprzerwanie. Są one
uruchamiane
automatycznie z plików /etc/rc* (są to
zazwyczaj serwery które, które powinny dawać szybką
odpowiedź na żądania użytkownika)
* Serwery, które są uruchamiane na żądanie. Te są
najczęściej uruchamiane z demona inetd lub nowszych
xinetd lub rlinetd
Seminarium 2004 – PP, SKiSR
4
Rozwiązanie tcpwrappers i SOCKS. – Porównanie
superdemonów
Inetd
Jest daemonem związanym z linuxem od dłuższego
czasu.
W chwili obecnej Inetd instalowany jest domyślnie
jednie min. w dystrybucjach takich jak slackware.
Pierwszą zasadniczą wadą tego daemonu jest brak
odporności na wszelakie ataki DoS (denial
of service).
Sam program nie posiada żadnego monitora połączeń
oraz filtru przychodzących połączeń. Możliwe jest
stosowanie dodatkowych programów takich jak
tcp_wrapper co znacznie usprawni prace inetda jak i
zarówno zwiększy jego bezpieczeństwo.
Przykładowy wpis pliku konfiguracyjnego znajdującego
się w katalogu /etc pod nazwą inetd.conf. :
finger stream tcp nowait nobody /usr/etc/in.fingerd
in.fingerd
Seminarium 2004 – PP, SKiSR
5
Rozwiązanie tcpwrappers i SOCKS. – Porównanie
superdemonów
Xinetd
Demon powstał aby zastąpić wysłużonego już inetda.
Xinetd. Posiada wiele ciekawych rozwiązań jak i zarówno
współpracuje z nowymi protokołami. Program ten jest
prosty w konfiguracji a posiada wiele ciekawych
rozwiązań. Współpracowuje on z tcp_wrapper jak i
również sam w sobie posiada wiele ciekawych rozwiązań
usprawniających różnego rodzaju filtrowania
przychodzących żądań
Można go jednak skonfigurować z dwoma bardzo
przydatnymi opcjami:
* ./configure --with-inet6 daje to wsparcie dla protokolu
IPv6
* ./configure --with-libwrap jest to tcp_wrapper co daje
dodatkowe wsparcie bezpieczeństwa.
Seminarium 2004 – PP, SKiSR
6
Rozwiązanie tcpwrappers i SOCKS. – Porównanie
superdemonów
Xinetd – cd.
Ogolna skladnia pliku konfiguracyjnego to:
service "nazwa serwisu"
{
atrybut operator wartość
}
Xinete jest zastąpieniem inetd, zwiększającym
bezpieczeństwo systemu, bez potrzeby użycia dodatkowych
tcp wrapperów. Xinetd ma możliwość:
* użycia plików hosts.allow i hosts.deny, aby zablokować
dostęp do usług określonym adresom lub użytkownikom,
* ograniczenia ilości przychodzących połączeń,
przychodzących połączeń z określonego adresu, lub połączeń
do określonej usługi,
* ograniczenia dostępu do usług na podstawie godziny,
* dokładnego logowania połączeń: każda usługa oddzielnie,
długość połączenia, dokładne dane na temat nieudanych
Seminarium 2004 – PP, SKiSR
połączeń,
7
Rozwiązanie tcpwrappers i SOCKS. – Tcpwrapper
Jak nie wpuścić Cyganki za próg czyli do czego służy
Tcpwrapper
Dawno dawno temu, w bardzo dalekim uniwersytecie,
Wietse Venema stworzył paczkę tcp-wrapper i odtąd, była
ona dodawana jako dodatkowa warstwa ochronna do usług
sieciowych na całym świecie.
Pakiet TCP wrapper służy do śledzenia i filtrowania
połączeń TCP w ramach usług. Pakiet działa niezależnie od
implementacji oprogramowania sieciowego, może pracować
zarówno w oparciu o gniazdka (ang. sockets) systemów
rodziny BSD, jak i o TLI (Transport Level Interface) z
Systemu V. Sercem pakietu jest niewielki program o nazwie
tcpd uruchamiany zamiast standardowych serwerów ww.
usług. Tcpd może działać pasywnie, śledząc jedynie
żądania połączeń i przekazując komunikaty daemonowi
syslog, lub też ma spełniać aktywną rolę decydując o
przyznaniu prawa do połączenia na podstawie własnych
plików konfiguracyjnych
Seminarium 2004 – PP, SKiSR
8
Rozwiązanie tcpwrappers i SOCKS. – Tcpwrapper
Jak nie wpuścić Cyganki za próg czyli do czego służy
Tcpwrapper
Program daje administratorowi systemu lepszy stopień kontroli
nad przychodzącymi połączeniami TCP. Program jest uruchamiany
za pomocą demona inetd po tym, jak zdalny host połączy się z
komputerem lokalnym wtedy tcpwrapper wykonuje czynności:
* Wysyła notatkę do łączącego się klienta. Notatki są używane do
wyświetlenia komunikatów z obowiązującymi przepisami.
* Wykonuje podwójne odwołanie zwrotne dla adresu IP w celu
sprawdzenia, czy pozycje DNS odpowiadające adresom IP
zgadzają się z nazwami hostów (opcja -DPARANOID)
* Porównuje nazwę zdalnego hosta i żądaną usługę z listą
kontroli dostępu
* Używa protokołu ident do określenia nazwy użytkownika
* Rejestruje wyniki za pomocą narzędzia syslog
* Opcjonalnie uruchamia jakieś polecenie
* Przekazuje sterowanie do faktycznego demona sieciowego
Seminarium 2004 – PP, SKiSR
9
Rozwiązanie tcpwrappers i SOCKS. – Konfiguracja
Tcpwrapper-a
Konfiguracja Tcpwrapper – a
Po skompilowaniu TCPwrappera zmieniamy odpowiednie zapisy
w pliku konfiguracyjnym /etc/inetd.conf tak, aby zamiast
standardowych serwerów usług uruchamiany był tcpd. Np.
finger stream tcp nowait nobody /usr/etc/in.fingerd
in.fingerd
zastępujemy:
finger stream tcp nowait nobody /usr/etc/tcpd in.fingerd
Powyższe czynności wystarczą aby umieścić w logu
systemowym zapisy o dokonywanych połączeniach. Aby używać
wrappera jako aktywnego sposobu zabezpieczenia należy
skompilować go z opcją -DHOSTS_ACCESS.
Teraz administrator może modyfikować pliki: /etc/hosts.deny i /
etc/hosts.allow. Pliki te zawierają linie opisujące prawa dostępu
do poszczególnych usług w następującym formacie:
usługi : klienci : opcja : opcja : opcja …
Seminarium 2004 – PP, SKiSR
10
Rozwiązanie tcpwrappers i SOCKS. – Konfiguracja
Tcpwrapper-a
Konfiguracja Tcpwrapper – a
Usługi obejmują nazwy programów usługowych chronionych
przez tcpd. Pole klienci opisuje nazwy, adresy lub maski
komputerów lub sieci w następujących formatach:
* pełen adres symboliczny,
* adres IP,
* częściowy adres sieci lub adres sieci IP (np. .uni.torun.pl lub
158.75.0.0),
* wyrażenie typu adres sieci/maska, np.
158.75.19.0/255.255.253.0
* kombinacje typu [email protected]ższych.wyrażeń
jeśli używany jest ident, np. [email protected]
W miejsce nazwy/adresu hosta lub nazwy użytkownika można
użyć słowa-maski jak ALL, LOCAL, KNOWN, UNKNOWN,
PARANOID), a także operatora EXCEPT
Seminarium 2004 – PP, SKiSR
11
Rozwiązanie tcpwrappers i SOCKS. – Konfiguracja
Tcpwrapper-a
Konfiguracja Tcpwrapper – a
Kiedy zostanie dopasowany wiersz (demon host), tcpwrapper
umożliwia określenie bogatego zestawu opcji. Aby ich użyć,
należy skompilować program z parametrem –
DBPROCESS_OPTIONS.
Opcje te są bardzo uniwersalne i ułatwiają dopasowanie
programu do wielu różnych sytuacji. Sprawiają one również, że
znika potrzeba stosowania osobnych plików hosts.allow
hosts.deny, gdyż „allow” i „deny” są nowymi słowami
kluczowymi
Opcje:
* allow
- zezwolenie na połaczenie
* deny
- zabronienie połaczenia
* nice +/- nn
- zmiana priorytetu procesu na +/- nn
* setenv nazwa wartość - ustawienie zmiennej środowiskowej
i jeszcz wiele innych
Seminarium 2004 – PP, SKiSR
12
Rozwiązanie tcpwrappers i SOCKS. – Konfiguracja
Tcpwrapper-a
Konfiguracja Tcpwrapper – a
Oprócz daemona tcpd pakiet zawiera także program tcpdck do
testowania poprawności plików konfiguracyjnych hosts.allow i
hosts.deny.
W pakiecie znajduje się jeszcze program tcpmatch , który
umożliwia symulowanie przychodzących połączeń i określenie
czy przy obecnej konfiguracji polecenie powinno być dozwolone,
czy zablokowane.
W procesie kompilacji oprócz programów tworzona jest również
biblioteka procedur libwrap.a udostępniająca funkcje TCP
wrappera innym programom. Istnieje co najmniej kilka
bezpiecznych implementacji serwerów usług (portmap/rpcbind,
ssh) wykorzystujących tę bibliotekę, a co za tym idzie - pliki
konfiguracyjne hosts.allow i hosts.deny
Seminarium 2004 – PP, SKiSR
13
Rozwiązanie tcpwrappers i SOCKS. – Konfiguracja
Tcpwrapper-a
Konfiguracja Tcpwrapper – a
Bardzo fajna sprawa. Ale gdzie są jakieś wady ???
TCP-wrappers mają problemy. Na początek, chronią
tylko usługi TCP jak sugeruje nazwa. Po drugie, chronią
tylko usługi uruchamiane z poziomu inetd lub po
skompilowaniu programu z biblioteką libwrap.
Seminarium 2004 – PP, SKiSR
14
Rozwiązanie tcpwrappers i SOCKS. – Dlaczego PROXY
Why PROXY ???
Serwery proxy w przeciwieństwie do firewalli filtrujących
nie operują na pakietach IP, działają natomiast „warstwę
wyżej” na protokole aplikacji (np. HTTP) lub z użyciem
dedykowanego protokołu (SOCKS).
Serwery te można podzielić na specjalizowane serwery
proxy np. serwery w3cache (przykładem takiego serwera
jest squid) lub serwery „ogólnego przeznaczenia”
pozwalające na korzystanie z wielu usług. Na
przykładzie serwera SOCKS który należy do tej drugiej
grupy serwerów zostaną opisane tego typu serwery.
Seminarium 2004 – PP, SKiSR
15
Rozwiązanie tcpwrappers i SOCKS. – Serwer SOCKS
Serwer SOCKS.
Serwery SOCKS pozwalają na dostęp do wielu usług
sieciowych, pozwalają także na kontrolę dostępu a także
umożliwiają dostęp zza sieci w której zastosowano
maskowanie IP.
Pewną niedogodnością jest fakt że
dostęp do usług wymaga korzystania przez maszyny
klienckie ze specjalnych bibliotek. Biblioteki te działają
pomiędzy warstwą aplikacji oraz warstwą transportową.
Seminarium 2004 – PP, SKiSR
16
Rozwiązanie tcpwrappers i SOCKS. – Serwer SOCKS – warstwy
działania.
Serwer SOCKS – warstwy działania.
Seminarium 2004 – PP, SKiSR
17
Rozwiązanie tcpwrappers i SOCKS. – Serwer SOCKS
Serwer SOCKS.
Kiedy komputer kliencki chce połączyć się z serwerem
aplikacji (np. serwerem WWW) znajdującym się za
serwerem SOCKS, łączy się z serwerem SOCKS
wysyłając polecenie CONNECT w którym znajduje się
adres IP zdalnego hosta oraz numer portu. Serwer
SOCKS łączy się z hostem zdalnym i „obsługuje”
połączenie klient – host zdalny
Jeśli maszyna kliencka otworzyła socket na którym
oczekuje na połączenie ze strony zdalnego serwera
aplikacji to do serwera SOCKS wysyłane jest polecenie
BIND które informuje o tym że nastąpi połączenie ze
strony serwera aplikacji, dzięki temu serwer SOCKS jest
w stanie je obsłużyć.
Seminarium 2004 – PP, SKiSR
18
Rozwiązanie tcpwrappers i SOCKS. – Serwer SOCKS.
Zestawianie połączeń
Seminarium 2004 – PP, SKiSR
19
Rozwiązanie tcpwrappers i SOCKS. – SOCKS v4 i v5 możliwości
Serwer SOCKS.
Schemat pozwyższy pokazuje wszystkie etapy zestawienia
połączeń dla protokołów SOCKSv4 i SOCKSv5
Serwer SOCKSv4 jest często używany jako firewall pozwalający
na kontrolę dostępu do Internetu z sieci lokalnej, jeśli jednak
potrzebna jest większa kontrola nad dostępem do Internetu to
należy zastosować
protokół SOCKSv5.
W protokole tym w porównaniu z wersją poprzednią
wprowadzono kilka dodatkowych „features” :
* Autoryzacja użytkownika może odbywać się dwiema
drogami:
- Poprzez przesłanie do serwera hasła oraz loginu
użytkownika,
po weryfikacji poprawności przesłanych
danych możliwa jest obsługa połączeń danego użytkownika
(identyfikowanego przez ID).
Seminarium 2004 – PP, SKiSR
20
Rozwiązanie tcpwrappers i SOCKS. – SOCKS v4 i v5 możliwości
Serwer SOCKS.
Nie jest to zalecana metoda ponieważ nazwa użytkownika i
hasło przesyłane są otwartym tekstem bez szyfrowania.
- Poprzez mechanizm GSS-API (Generic Security Service
Application Programming Interface), który zapewnia
szyfrowanie przesyłanych danych za pomocą zewnętrznych
bibliotek szyfrujących (np. Kerberos).
* Negocjację metod autoryzacji
Schemat negocjacji metody za pomocą której nastąpi
autoryzacja użytkownika jest następujący:
1. Klient wysyła do serwera listę metod autoryzacji, które
jest w stanie obsługiwać.
2. Serwer w odpowiedzi wysyła nazwę metody której klient
powinien użyć.
Seminarium 2004 – PP, SKiSR
21
Rozwiązanie tcpwrappers i SOCKS. – SOCKS v4 i v5 możliwości
Serwer SOCKS.
* Rozpoznawanie adresów symbolicznych.
Serwer SOCKSv5 posiada również funkcjonalność
serwera DNS, dlatego w poleceniach CONNECT i BIND
klient może przesyłać adresy symboliczne zamiast
adresów IP.
* Obsługa protokołu UDP „virtualny obwód” dla
połączenia UDP składa się z dwóch par adres-port
określających punkty końcowe „połączenia”
Seminarium 2004 – PP, SKiSR
22
Rozwiązanie tcpwrappers i SOCKS. – Konfiguracja serwera
SOCKS v5 .
Konfiguracja serwera SOCKS.
Ponieważ funkcjonalność serwera SOCKSv4 „zawiera
się” w funkcjonalności serwera SOCKSv5, poniższy opis
dotyczył będzie serwera SOCKSv5.
Konfiguracja serwera SOCKSv5 zawarta jest w
pliku/etc/socks5.conf Plik podzielony jest na sześć
sekcji.:
* Sekcja hostów „zbanowanych”. Określa hosty do
których zabroniony jest dostęp, wpisy w tej sekcji mają
postać:
ban source_host source_port
host źródłowy i port źródłowy muszą być określone
zgodnie ze wzorcem.
Seminarium 2004 – PP, SKiSR
23
Rozwiązanie tcpwrappers i SOCKS. – Konfiguracja serwera
SOCKS v5 .
Konfiguracja serwera SOCKS.
* Sekcja określająca metody autoryzacji dla
poszczególnych hostów. Wpisy tej sekcji mają postać:
auth source_host source_port auth_methods
W przypadku pominięcia tej sekcji w pliku
konfiguracyjnym mechanizm autoryzacji nie jest
stosowany przy obsłudze połączeń.
* Sekcja konfiguracji interfejsów jest wymagana
jedynie dla serwerów SOCKS które posiadają więcej niż
jeden interfejs sieciowy (multi-homed serwers). Określa
ona na którym interfejsie należy otwierać połączenie pod
określony adres.
Zapobiega to podszywaniu się przez hosty z Internetu
pod maszyny znajdujące się w sieci lokalnej,
Wpisy w tej sekcji mają postać:
interface hostpattern portpattern
interface_address Seminarium 2004 – PP, SKiSR
24
Rozwiązanie tcpwrappers i SOCKS. – Konfiguracja serwera
SOCKS v5 .
Konfiguracja serwera SOCKS.
hostpattern może definiować zarówno zdalny jak i lokalny adres
IP, jeśli jest to adres lokalny to wpis oznacza że klient o tym
adresie musi użyć określonego interfejsu przy połączeniu z
serwerem SOCKS w przeciwnym wypadku połączenie jest
odrzucane, jeśli zaś jest to adres zdalny to określa on interfejs
pod którym dostępny jest ten adres.
* Sekcja zmiennych pozwala nadawać wartości zmiennym,
wpisy w tej sekcji mają postać:
set variable value
* Sekcja proxy określa hosty z którymi można się połączyć za
pośrednictwem innych serwerów proxy. Wpisy tej sekcji
mają postać:
proxy_type dest_host dest_port proxy_list
proxy_type może przybierać wartości: socks4, sock5, noproxy,
proxy_list określa listę serwerów proxy zgodnie ze wzorcem.
Seminarium 2004 – PP, SKiSR
25
Rozwiązanie tcpwrappers i SOCKS. – Konfiguracja serwera
SOCKS v5 .
* W Sekcji kontroli dostępu znajdują się reguły pozwalające na
zdefiniowanie zasad dostępu dla poszzcególnych adresów.
Wpisy w tej sekcji mogą mieć dwojaką postać:
permit auth cmd src_host dest_host src_port dest_port
[user_list]
deny auth cmd src_host dest_host src_port dest_port
[user_list]
gdzie:
auth – określa listę metod autoryzacji koniecznych dla
realizacji danego połączenia,
cmd – określa komendy jakie może wykonać klient spod adresu
src_host na serwerze spod adresu dest_host
src_host, dest_host, dest_port – określają odpowiednio adres
źródłowy, adres docelowy i port
user_list – określa użytkowników dla których dostępne jest to
połączenie, używane w połączeniu z parametrem auth
Seminarium 2004 – PP, SKiSR
26
Rozwiązanie tcpwrappers i SOCKS. – Wzorce pliku
konfiguracyjnego
Wzorce używane w pliku konfiguracyjnym.
Wzorce adresów IP.
- pasuje do każdego adresu
111. pasuje do adresów podsieci 111.0.0.0/255.0.0.0
111.111. pasuje do adresów podsieci
111.111.0.0/255.255.0.0
111.111.111. pasuje do adresów podsieci
111.111.111.0/255.255.255.0
.domain.name pasuje do adresów hostów kończących
się na
.domain.name
host.domain.name pasuje do hosta o podanym
adresie
Seminarium 2004 – PP, SKiSR
27
Rozwiązanie tcpwrappers i SOCKS. – Wzorce pliku
konfiguracyjnego.
Wzorce używane w pliku konfiguracyjnym.
Wzorce portów.
ftp określa port usługi FTP (port 21)
80 określa port o numerze 80
- pasuje do wszystkich numerów portów
[20,25] pasuje do numerów portów od 20 do 25
włącznie
(20,25) pasuje do numerów portów 21,22,23,24
Wzorce określające metodę autoryzacji.
n bez autoryzacji
u autoryzacja na podstawie loginu i hasła
k autoryzacja przy pomocy Kerberosa 5
- bez określenia metody autoryzacji
Seminarium 2004 – PP, SKiSR
28
Rozwiązanie tcpwrappers i SOCKS. – Wzorce pliku
konfiguracyjnego.
Wzorce używane w pliku konfiguracyjnym.
Wzorce poleceń.
- pasuje do wszystkich poleceń
c connect
b bind
u UDP
p ping
t traceroute
Wzorce określające użytkowników.
Aby określić użytkowników należy podać ich listę
oddzieloną przecinkami bez spacji.
Seminarium 2004 – PP, SKiSR
29
Rozwiązanie tcpwrappers i SOCKS. – Wzorce pliku
konfiguracyjnego.
Wzorce używane w pliku konfiguracyjnym.
Wzorce określające serwery proxy.
Określają demony proxy które mają zostać użyte.
Należy podać ich listę oddzieloną przecinkami bez
spacji.
Wzorce określające listę serwerów.
Aby określić listę serwerów należy podać ich nazwy
lub adresy IP oddzielone przecinkami bez spacji,
opcjonalnie przy każdym adresie po dwukropku można
podać numer portu.
Seminarium 2004 – PP, SKiSR
30
Rozwiązanie tcpwrappers i SOCKS. – Konfiguracja klientów.
Konfiguracja klientów.
Jak już wspomniano wymagane są specjalne biblioteki dla
maszyn klienckich, pozwalające na korzystanie z serwera
SOCKS. Biblioteki te operują pomiędzy warstwą aplikacji a
warstwą transportową, i są odpowiedzialne m.in. za wysyłanie
poleceń CONNECT, BIND oraz za proces autoryzacji
użytkownika.
Możliwe są trzy drogi umożliwienia klientowi współpracy z
SOCKS:
1. Kompilacja kodu klienta wraz z kodem bibliotek.
2. Użycie funkcji aplikacji pozwalającej na współpracę z
serwerem. Niektóre aplikacje (np. przeglądarki WWW, ICQ)
mają wbudowane funkcje pozwalające im na współpracę z
serwerami SOCKS. Konfiguracja polega na wpisaniu adresu i
portu serwera SOCKS (niekiedy także loginu i hasła).
3. Użycie aplikacji runsocks która umożliwia współpracę z
serwerem SOCKS bez potrzeby rekompilacji.
Seminarium 2004 – PP, SKiSR
31
Rozwiązanie tcpwrappers i SOCKS. – Przykładowa
konfiguracja.
Przykładowa konfiguracja.
Poniżej przedstawiona jest przykładowa konfiguracja
serwera SOCKS posiadającego dwa interfejsy sieciowe
(multi-homed serwer).
Seminarium 2004 – PP, SKiSR
32
Rozwiązanie tcpwrappers i SOCKS. – Przykładowa
konfiguracja.
Przykładowa konfiguracja.
Konfiguracja klienta SOCKSv5.
Konfiguracja bibliotek klienta zawarta jest w pliku /
etc/libsocks5.conf w tym przypadku w pliku tym powinny
się znaleźć następujące dwie linijki:
noproxy - 111.111.111. - socks5 - - - - 111.111.111.1
Pierwsza z nich określa podsieć lokalną do której dostęp
jest możliwy bez korzystania z proxy, druga zawiera
adres serwera proxy5 który powinien zostać użyty do
połączenia z hostami w Internecie.
Seminarium 2004 – PP, SKiSR
33
Rozwiązanie tcpwrappers i SOCKS. – Przykładowa
konfiguracja.
Przykładowa konfiguracja.
Konfiguracja serwera SOCKSv5.
W pliku /etc/socks2.conf serwera powinny znaleźć się
wpisy:
auth - - interface 111.111.111. - 111.111.111.1
interface - - 222.222.222.222
permit - - 111.111.111. - - Pierwsza linijka określa że dla żadnego połączenia nie
jest stosowany mechanizm autoryzacji, druga mówi
serwerowi że pod interfejsem o adresie 111.111.111.1
dostępna jest sieć 111.111.111.0/255.255.255.0
trzecia linijka definuje interfejs pod który należy
kierować pozostałe pakiety.
Seminarium 2004 – PP, SKiSR
34
Rozwiązanie tcpwrappers i SOCKS. – Przykładowa
konfiguracja.
Przykładowa konfiguracja.
Czwarta linijka zezwala na połączenia ze strony hostów
sieci lokalnej. Dodatkowo komputer na którym stoi
serwer SOCKS powinien być skonfigurowany tak aby nie
zezwalał na rutowanie pakietów („ruting” ma odbywać
się za pośrednictwem serwera a nie warstwy
transportowej) oraz powinien blokować ruch sieciowy
pomiędzy hostami sieci lokalnej i Internetem.
Seminarium 2004 – PP, SKiSR
35
Rozwiązanie tcpwrappers i
SOCKS. Prezentacja możliwości.
Podsumowanie:
Podsumowując należy wspomnieć o tym, że narzędzia
takie jak wszelkiego rodzaju wrappery są dodatkowymi
narzędziami podnoszącymi poziom bezpieczeństwa
systemów komputerowych.
Wrapper stanowi dosłownie opakowanie danego
pragramu i wymusza wyższy stopień zabezpieczeń, niż
ten, jaki program może zaoferować sam.
Serwery SOCKS są bardzo dobrym rozwiązaniem
podnoszącym bezpieczeństwo systemów. Jednym z
głównych przyczyn takiego stanu rzeczy jest warstwa na
której pracują te programy tj. warstwa aplikacji i
transportowa
Seminarium 2004 – PP, SKiSR
3
Rozwiązanie tcpwrappers i SOCKS. – Literatura.
Literatura
„Bezpieczeństwo w Unixie i internecie” Simon
Garfinkel i Gene Spafford
2. http://www.hacking.pl
3. http://hacking.pl/articles.php?id=159
4. http://www.pg.gda.pl/OI/security/tcpd_ident.html
5. www.permeo.com
6. http://www.jtz.org.pl/Html/Firewall-HOWTO.pl.html
3.
Seminarium 2004 – PP, SKiSR
35

Podobne dokumenty