Download: CoverSspe

Transkrypt

Download: CoverSspe
SSPE
TEMAT MIESIĄCA
SSPE: Zarządzanie zasadami bezpieczeństwa wielu firewalli
CENTRALNE
STEROWANIE
Simple Security Policy Editor (SSPE) pomaga
w uporządkowaniu i ustalaniu zasad bezpieczeństwa
w sieci z wieloma firewallami.
Można określić centralną politykę
generowania zestawów reguł
do filtrów pakietów i bram VPN.
CHRISTIAN NEY
N
iejedna sieć wymaga wielu firewalli.
Strzegą one bramki internetowej,
rozdzielają działy przedsiębiorstwa
i pozwalają na łączenie się przy użyciu technologii VPN. W takim przypadku dobrze jest
mieć centralne narzędzie zarządzające zasadami bezpieczeństwa w firewallach. Pionierem
na tym polu był Checkpoint Firewall-1 GUI
[3]. Jednak ten komercyjny pakiet jest zbyt
skomplikowany, do czego dochodzi natłok różnych opcji, nie zawsze użytecznych.
Darmowy Simple Security Policy Editor
(SSPE) [1] jest dużo lżejszy. SSPE jest w zasadzie zbiorem skryptów Perla i powłoki służących do administrowania rozproszonym
środowiskiem firewalli.
Przy pierwszym uruchomieniu SSPE ukazuje prosty interfejs dialogowy ([6] i Rysu-
nek 1), jednak za tym celowo spartańskim
wyglądem kryje się nadspodziewanie potężne narzędzie. Tekstowy interfejs umożliwia
zdalną administrację – można połączyć się
modemem lub telefonem komórkowym, chociaż program próbuje sobie radzić z prostym
przekazywaniem X11. Ale taki tekstowy interfejs nie oznacza, że musisz się obejść bez
myszy. W zależności od emulacji terminala,
może dać się wskazywać i klikać myszą
w oknie tekstowym.
Zamiast oferowania opcji menu do wszystkiego, SSPE wymaga od administratorów
skonfigurowania zbioru plików konfiguracyjnych. Wielu użytkowników woli takie podejście, co bardziej odpowiada prawdziwej
naturze firewalli (bardziej wyszukane interfejsy graficzne, jak Firewall Builder [2], służą po prostu jako nakładki na polecenia systemu operacyjnego, ukrywając przed użytkownikiem ich złożoność).
Podejście holistyczne
Rysunek 1: Główne menu SSPE jest czytelne. Prosty, tekstowy interfejs umożliwia administratorom zdalne sterowanie narzędziem.
WWW.LINUX-MAGAZINE.PL
Ponieważ każda dodatkowa funkcja to potencjalne zagrożenie bezpieczeństwa, praca bez
skomplikowanego GUI zwiększa bezpieczeństwo zarządzającej stacji. Nawet jeśli ewentualna usterka w bezpieczeństwie nie dotyczy
bezpośrednio firewalla, zagrożenie jest realne,
NUMER 18 LIPIEC 2005
33
TEMAT MIESIĄCA
SSPE
gdyż atakujący mógłby zamienić reguły, które
administrator potem prześle do firewalli.
Autor SSPE zaleca minimalną instalację
Debiana, zawierającą pakiety wymagane
przez SSPE: Bash, Dialog i Perl. Ale z minimalnych wymagań wynika, że każdy Linux
powinien być dobry jako podstawowy system. Nasze testy wykazały, że Debian Woody, nadchodzące wydanie Sarge, pochodna
Debiana – Ubuntu, Gentoo i Red Hat Linux
nadają się w zupełności.
Instalacja SSPE
Rozsądne jest umocnienie stacji administracyjnej. Oczywiście, jest to temat, który z łatwością mógłby zająć całą półkę na książki.
Dokumentacja SSPE zawiera wiele przydatnych wskazówek, by włączać komputer do zaufanej sieci i instalować system z zaufanego
źródła. Dokumentacja poucza również administratorów, które usługi powinni wyłączyć.
Przed zainstalowaniem SSPE może być
konieczna instalacja IPsec. Choć SSPE oparty jest na projekcie Freeswan [4], którego
rozwoju zaniechano dwa lata temu, Openswan [5] jest dobrym zamiennikiem. Z początku niekompatybilność dawała się we
znaki, ale problemy dało się łatwo rozwiązać
dzięki dostępności kodów źródłowych.
Instalowanie programu SSPE, z uwagi na
skromność i niejasność przedstawianych informacji, nie jest procesem intuicyjnym. Zawarty w pakiecie dokument INSTALL nie daje nic ponad wskazówki dotyczące instalacji –
zakłada, że administrator wie, co robi. Gdy
wyczerpią się wskazówki, można skończyć
przed pustym ekranem bez opisowych komunikatów o błędach, które by pomogły rozwiązać problem. Powód może być tak banalny,
jak brak katalogu albo niewłaściwa ścieżka,
ale skrypty nie wyłapują takich okoliczności.
Konto administratora
Należy unikać uruchamiania programów,
w których ważne jest bezpieczeństwo, z po-
ziomu użytkownika root. SSPE wystarcza
konto zwykłego użytkownika. W katalogu
domowym użytkownika musisz utworzyć katalog dla SSPE. Dokumentacja odnosi się do
tego katalogu jako adm. Ponieważ niektóre
skrypty odwołują się do katalogu $HOME/adm, należy się trzymać tego zalecenia.
Następnym krokiem jest utworzenie drzewa
podkatalogów w katalogu administracyjnym.
Łatwo jest to zrobić przez skopiowanie podkatalogów z archiwum tar. SSPE oczekuje, że
skrypty powłoki i Perla będą położone w katalogu adm/bin; skrypty korzystają z plików
konfiguracyjnych z adm/etc.
Katalog adm/desc zawiera podkatalogi dla
każdej maszyny, którą SSPE będzie konfigurować. To tam przechowywane są reguły, tablice rutingu i inne szczegóły. W adm/software są programy, które SSPE rozsyła do swoich
bramek. Pliki tymczasowe umieszczane są
w adm/tmp. Potrzebny jest jeszcze plik
adm/.config, definiujący zmienne potrzebne
do działania SSPE. Na uwagę zasługuje
zmienna BASEDIR – wiele skryptów będzie
się gubić, jeśli ta zmienna nie będzie zdefiniowana prawidłowo. Upewnij się, że wskazuje na katalog adm.
Oprócz zmiennych definiowanych w pliku
.config, niektóre skrypty pomocnicze wymagają zmiennej powłoki o nazwie ADMROOT,
wskazującej na katalog utworzony w pierwszym kroku. Najlepiej jest utworzyć plik profilu, który to wszystko poustawia. Cała procedura pokazana jest na Listingu 1.
Ponieważ SSPE adresuje komputery po
nazwie hosta, dobrze jest je wpisać do pliku
/etc/hosts. Choć ten krok można pominąć
w działającym środowisku DNS, zaleca się
używanie /etc/hosts zamiast DNS ze względów bezpieczeństwa, by zmniejszyć ryzyko
ataków DNS poisoning.
Ponieważ komunikacja z bramkami odbywa
się wyłącznie poprzez SSH z weryfikacją klucza
publicznego, konto nowego użytkownika również wymaga pary kluczy SSH. Aby zlikwidować konieczność wpisywania hasła, administratorzy mogą do klucza przypisać puste hasło albo
Listing 1: Plik profilu
find sspe-0.2.5 -type d -exec cp {}
adm \;
# adduser sspe
# su – sspe
$ mkdir adm
$ for DIR in bin etc desc software ;
do cp -r sspe-0.2.5/$DIR adm/ ; done
34
NUMER 18 LIPIEC 2005
$ mkdir adm/tmp
$ cp sspe-0.2.5/config adm/.config
$ vi adm/.config # BASEDIR anpassen
$ echo „export ADMROOT=/home/U
sspe/adm”
>> ~/.profile
$ source ~/.profile
WWW.LINUX-MAGAZINE.PL
Listing 2: Sieci i hosty
# nazwa adres sieci
# komentarz
##################################
##################################
#####
any
0.0.0.0/0
# wszystko jawnie nieU
wyszczególnione
# sieci wewnętrzne
lan-dtm
192.168.0.0/24U
# LAN roboczy DTM
lan-muc
192.168.1.0/24U
# LAN roboczy MUC
dmz 192.168.2.0/24 # DMZ
# szef ma więcej przywilejów odU
innych boss
192.168.0.15/32U
# pecet szefa
# komputery administracyjneU
potrzebują dostępu SSH
admin
192.168.0.10/32U
# pecet admina
# specjalnych reguł wymaga stacjaU
SSPE
sspe
192.168.0.2/32U
# komputer administrujący SSPE
# definicje bram zewnętrznychU
i wewnętrznych
def-gw
192.168.0.1/32U
# wewnętrzny NIC firewalla
gw-all
192.168.0.1/32U
# lokalizacja DTM firewalla
gw-all
1.2.3.4/32U
# zewnętrzna lokalizacja DTMU
firewalla
gw-all
2.3.4.5/32U
# zewnętrzna lokalizacja MUCU
firewalla
użyć agenta SSH. Oczywiście, część publiczną
pary kluczy trzeba będzie przenieść do docelowej maszyny, gdzie SSPE będzie się logował jako root. Dokumentacja SSPE wspomina o tym,
ale nie daje żadnej faktycznej podpowiedzi.
Konfiguracja podstawowa
Do konfiguracji służy kilka plików, każdy
z nich określa specyficzną jej część. Podane
są również przykłady. Dokumentacja jest tu
dużo bardziej szczegółowa, nawet opisuje
współzależności pomiędzy poszczególnymi
komponentami.
Główny plik nosi nazwę hostnet. Znajduje
się w adm/etc i grupuje maszyny sterowane
podobnymi regułami. Grupy ułatwiają two-
SSPE
TEMAT MIESIĄCA
Listing 5: Zbiór reguł
#źródło cel kierunek protokółU
port polityka opcje
##################################
###########################
admin sspe Oneway TCP sshU
accept LOG
Rys. 2: Firewalle wymagające indywidualnej konfiguracji dodawane są do menu machines.
SSPE dodaje indywidualne konfiguracje do ustawień ogólnych, wpływających na całą sieć.
rzenie szczegółowej polityki bezpieczeństwa.
Często stosuje się wspólną politykę w sieci
wewnętrznej, do której dostęp ma tylko kilku
specjalnych klientów. Zasady dostępu firewalli zwykle są takie same na większości maszyn, tylko komputer administracyjny wymaga specjalnej uwagi. Przykład na Listingu 2.
NAT oraz IPsec
Jeśli w Twojej sieci używane jest NAT (Network Address Translation), ważne jest, by
Listing 3: sieci prywatne
wcześniej zdefiniować sieci prywatne do
użytku wewnętrznego (zwykle w oparciu
o RFC 1918 [7]), aby mieć pewność, że reguły zostaną prawidłowo zastosowane. Do tego
celu służy plik konfiguracyjny privates (Listing 3). Mapowania NAT sieci i adresów IP
są definiowane w nathosts (Listing 4). Jeśli
SSPE dodatkowo ma obsługiwać konfigurację IPsec, musisz zmodyfikować plik ipsecs.
O szczegółach na temat pliku /etc/ipsec.conf
powiemy później.
Kolejne trzy pliki konfiguracyjne definiują
kompletny zbiór reguł firewalla, i widać wyraźnie, że autor dobrze przemyślał, co do czego należy. Reguły dostępu administracyjnego w ru-
les.admin i IPSec rules.ipsec są w większości statyczne i nie zmieniają się bardzo pomiędzy poszczególnymi maszynami. Same reguły przechowywane są w rules.user. Składnia wszystkich
tych plików jest dosyć prosta (Listing 5).
Reguły opisane w naszych przykładowych
plikach pozwolą nawiązywać połączenie SSH
z komputera admin do sspe (obie maszyny zdefiniowano w hostnet). Słowo kluczowe Oneway
zapewnia komunikację jednokierunkową. Ponieważ reguły te mają zastosowanie do wszystkich bramek kontrolowanych przez SSPE, powinny być tak ogólne, jak to możliwe.
Pojedyncze firewalle
Po ukończeniu podstawowej konfiguracji,
przejdźmy do pojedynczych firewalli. Możemy teraz skorzystać z interfejsu SSPE, uruchamianego poleceniem adm/bin/adm. Oczywiście, nic nam nie zabroni ręcznego modyfikowania plików konfiguracyjnych w katalogu desc, ale skorzystanie z opcji machine administration | add (Rysunek 1 i 2) jest chyba łatwiejszym sposobem. Komputery muszą nosić te same nazwy, jakie zostały zdefiniowane
w pliku hostnet. Niestety, program nie odszu-
# nazwa adres sieci # komentarz
###################################
###########################
lan-dtm 192.168.0.0/24U
# LAN roboczy DTM
lan-muc 192.168.1.0/24U
# LAN roboczy MUC
dmz 192.168.2.0/24 # DMZ
Listing 4:
konfiguracja NAT
# sieć lokalna adres NATU
# komentarz
##################################
#########################
192.168.0.0/24 1.2.3.4U
# DTM
192.168.1.0/24 2.3.4.5 # MUC
Rys. 3: Menu rules zawiera mylącą pozycję machines configuration. W momencie pisania tego
tekstu użytkownik może jedynie przeglądać konfigurację albo konfigurować ręcznie za pomocą vi.
WWW.LINUX-MAGAZINE.PL
NUMER 18 LIPIEC 2005
35
TEMAT MIESIĄCA
SSPE
kuje dla nazw numerów IP i wymaga od administratora podawania szczegółów.
SSPE tworzy wymagany katalog z trzema
plikami: desc, zawierającym opis; ip z adresem maszyny, i hw określającym system operacyjny uniksowy lub Cisco. Ma to wpływ np.
na sposób, jak SSPE odnajduje trasy bramki.
Oprócz tych trzech niezależnych plików,
są tam trzy dowiązania do globalnych plików
rules.*. Dowiązania zapewniają, że każdy firewall przestrzega globalnego zbioru reguł.
W prostym przypadku z jednym firewallem
wystarczą same reguły globalne; w bardziej
złożonej konfiguracji do każdego firewalla
istnieje osobny plik rules.user. Reguły w tym
pliku mają priorytet nad plikiem globalnym.
Menu pięciu dań
Główny program SSPE służy przede wszystkim do wizualizowania konfiguracji. Pozycja
rules administration (Rysunek 3) wyświetla zawartość pliku hostnet i umożliwia administratorowi uruchomienie vi, celem ręcznej edycji
globalnego zbioru reguł (administrator może
zdefiniować edytor wywoływany przez SSPE
w skrypcie adm/bin/nethostrules). Jednak do
zasad specyficznych dla pojedynczych komputerów potrzebna jest polityka indywidualna, co znowu wymaga trochę ręcznej pracy.
Wywołanie pozycji menu apply (Rysunek 1)
rozsyła założenia bezpieczeństwa do wszystkich lub tylko do wybranych maszyn docelo-
wych. Tu się okaże, czy ustawienia są prawidłowe. Trochę nieszczęśliwie ta opcja jest na
trzeciej pozycji w menu. Właściwie całe menu
wygląda na nieuporządkowane, szczególnie że
funkcja prepare distribution znajduje się na piątej pozycji. Jednak do takiego układu można
się szybko przyzwyczaić.
Pozycja ipsecs administration ukazuje zawartość pliku konfiguracyjnego ipsec, ale bez komentarzy. Jeśli na stacji administracyjnej nie
ma pliku /etc/ipsecs, SSPE informuje o błędzie
i kończy działanie. Jeśli nie będzie błędu, program czeka, aż administrator naciśnie klawisz
[Enter]. Następnie generuje i rozsyła konfiguracje IPsec i statyczne dane tajne, które SSPE
ustala przez obliczenie sumy MD5 na podstawie daty, czasu i liczby losowej.
machine configuration (Rysunek 2) nie służy
jedynie do dodawania nowych bram i listowania istniejących; można także wyłączać
pojedyncze maszyny, które są w danej chwili
niedostępne. Jeśli tego nie zrobisz, część
skryptów zgłosi błąd dostępu do niektórych
komputerów.
Na zakończenie
SSPE spełnia swoje zadanie, umożliwiając
prostszą i efektywniejszą administrację
i konfigurację rozproszonych systemów firewalli. Na początku może być trudno przywyknąć do interfejsu, ale jest on dobrze przemyślany i może obsłużyć całkiem złożone
przypadki. Z drugiej strony, widok może stać
się nieczytelny, jeśli musisz zarządzać dużą
ilością maszyn.
Projekt nie zyskał jeszcze sławy, na jaką
zasługuje, ale ponieważ jego popularność rośnie, można mieć tylko nadzieję, że więcej
programistów pozna się na jego potencjale,
i wniosą innowacje oraz popracują nad ulepszeniem niektórych szczegółów. ■
INFO
[1] SSPE: http://sspe.sourceforge.net
[2] FW-Builder: http://www.fwbuilder.org
[3] Checkpoint Firewall-1:http://www.checkpoint.com/products/firewall-1/
[4] Freeswan: http://www.freeswan.org
[5] Openswan: http://www.openswan.org
[6] Dialog: http://hightek.org/dialog/
[7] RFC 1918, „Address Allocation for Private Internets”: http://www.ietf.org/rfc/rfc
1918.txt
AUTOR
Christian Ney jest administratorem Uniksa
i firewalli zatrudnionym przez regionalne linie lotnicze. W wolnym czasie Christian prowadzi serwis Wiki RootieWiki.de i bierze
udział w licznych projektach Open Source.

Podobne dokumenty