BSDGuru Polskie Centrum BSD [http www BSDGuru org ]




BSDGuru - Polskie Centrum BSD [http://www.BSDGuru.org/]

























































start
artykuły
tłumaczenia
skrypty
bezpieczeństwo
news
forum





 

Świniak i Kwas
Autor: Aleksander Fafuła
Wstęp
Artykuł prezentuje opis przygotowań oraz instalacji programów SNORT,
MySQL oraz ACID. W poniższych sekcjach odnaleźć można doświadczenia autora
związane z instalacją oraz konfiguracją powyższych.
Kilka słów na temat...
systemu detekcji intruzów SNORT
Źródło http://www.snort.org/
SNORT jest systemem detekcji intruzów typu Open Source. Potrafi
analizować sieć w czasie rzeczywistym umożliwiająć wykrywanie różnych
typów ataków, m.in.: przepełnień bufora, skanowań portów, ataków na CGI,
SMB, wykrywania odcisków palców systemów operacyjnych oraz wielu innych.

SNORT używa elastycznego języka reguł opisującego dane, które powinien
kolekcjonować lub pomijać. Potrafi na wiele sposobów reagować w czasie
rzeczywistym komunikując się z takimi mechanizmami jak syslogd, plik
określony przez użytkownika, gniazda UNIX-a, wiadomości WinPopup (przy
wykorzystaniu smbclient).
SNORT ma trzy podstawowe zastosowania:

sniffer pakietów (jak tcpdump);
logger pakietów (pomocny przy wykrywaniu nieprawidłowości w
działaniu sieci);
kompletny system wykrywania intruzów.

Tabela: Platformy na których potrafi działać SNORT





i386
Sparc
M68k/PPC
Alpha
Inne



X

X

X

X

X
Linux


X

X

X


OpenBSD


X



X

FreeBSD


X


X


NetBSD


X

X



Solaris



X



SunOS
4.1.X






X
HP-UX






X
AIX






X
IRIX





X

Tru64




X


MacOS X
Server


X




Win32 -
(Win9x/NT/2000)
Główna strona projektu to http://www.snort.org/.
bazy danych MySQL
MySQL jest najpopularniejszą bazą danych Open Source.
MySQL jest relacyjną bazą danych, charakteryzującą się dobrymi
osiągami. Powszechnie używany i lubiany na całym świecie, sprawdzony w
wielu warunkach, rozbudowany i bogaty w aplikacje.
Główna strona projektu to http://www.mysql.com/.
analizatora zdarzeń bezpieczeństwa ACID
Skrót ACID pochodzi od angielskiej nazwy Analysis Console for Intrusion
Databases. ACID jest zestawem skryptów PHP służącym do generowania
statystyk i analiz na podstawie danych, zapisanych w bazie danych przez
systemy IDS. Kolekcjonowanie informacji może być przeprowadzane ponadto
przez ściany ogniowe oraz narzędzia monitoringu sieci. KWAS zaopatrzony
jest m.in. w:

interfejs wyszukiwania (pokazuje ostrzeżenia oraz powiązane z nimi
informacje);
przeglądarka pakietów (potrafi graficznie przedstawić informacje
powłok 3 i 4 pakietów zapisanych jako ostrzeżenia);
system zarządzania ostrzeżeniami (logiczne grupowanie,
eksportowanie, transfery pomiędzy bazami danych);
generator wykresów i statystyk (oparte na czasie, sensorze,
podpisie, protokóle, adresie IP, portach TCP/UDP lub klasyfikacji).


ACID potrafi analizować dane w formatach:

Snort-a:

alerty Snort-a
binarne logi tcpdump-a
logsnorter-a:

ipchains
iptables
ifpw

Główna strona projektu to http://acidlab.sourceforge.net/.
Przygotowanie zależności
Do pełnej funkcjonalności ACID-a wymagana jest współpraca mod_php z
MySQL-em (baza danych - źródło informacji) oraz modułem GD (funkcje
graficzne - rysowanie wykresów). Należy zatem przekompilować moduł php z
opcjami wsparcia dla MySQL oraz GD. W tym celu, jako root, należy wykonać
następujące polecenia:oleczek# cd /usr/ports/www/mod_php4/
oleczek# make install clean

Na ekranie powinno wyświetlić się menu przekazujące parametry do
skryptu configure. Należy w nim zaznaczyć wyżej wymienione opcje, a
następnie kontynuować proces budowy/przebudowywania modułu php4 serwera
http (do testów został użyty apache w wersji 1.3.29_1 oraz php w wersji
4.3.4_3,1). Jeśli jest to czysta instalacja, wówczas można zdać się na
mechanizm portów, który dociągnie i pozostałe zależności. W przypadku
przebudowywania modułu przed instalacją należy wydać polecenie 'make
deinstall'.
SNORT - instalacja
Snort dostępny jest w Kolekcji Portów FreeBSD. Instalacja wymaga jednak
dodatkowego parametru:oleczek# cd /usr/ports/security/snort
oleczek# make install WITH_MYSQL=yep (wydane z poziomu powłoki csh)
oleczek# make clean

MySQL - instalacja oraz konfiguracja
Po instalacji modułu PHP wraz z odpowiednimi opcjami MySQL powinien być
już dostępny w systemie. Aby kontynuować proces instalacji, należy go
uruchomić:oleczek# /usr/local/etc/rc.d/mysql-server.sh start

MySQL powinien mieć zabezpieczone konto root-a. Hasło zmienia się za
pomocą polecenia:oleczek# mysqladmin -u root password 'haslo_roota'

Następnie należy uruchomić konsolę MySQL-a i założyć bazę dla SNORT-a:
oleczek# mysql -u root -p
Enter password: (podać haslo_roota)

mysql> create database snort;
mysql> grant all privileges on snort.* to snort@localhost \
identified by 'haslo_snorta';
mysql> quit;

Teraz, gdy w bazie istnieje użytkownik snort, ma on przydzielone hasło
oraz posiada dostęp do bazy, można zająć się tabelami bazy. Definicje
tabel należy pobrać ze strony http://cvs.sourceforge.net/viewcvs.py/snort/snort/contrib/
(plik o nazwie create_mysql).
Następnie przejść do katalogu, w którym znajduje się plik create_mysql
i wykonać polecenie:oleczek# mysql -u snort snort -p < create_mysql
Enter password: (podać 'haslo_snorta')

Powyższe operacje powinny zakończyć się bez żadnych błędów.
Pierwsze uruchomienie oraz konfiguracja SNORT-a
Aby zobaczyć w logach (/var/log/messages) informację "snort: Snort
initialization completed successfully", należy dostroić pewne parametry.
Odbywa się to poprzez edycję pliku konfiguracyjnego znajdującego się w
/usr/local/etc/. Można posłużyć się plikiem snort.conf-sample edytując go
i zapisując jako snort.conf.
Plik składa się z czterech "rozdziałów":

ustawień sieci
ustawień preprocesorów
ustawień wtyczek wyjścia
dostrojeń reguł

Cierpliwość oraz wnikliwość jest tutaj nieodzowna, ale niekiedy
potrzeba rozwiązań działąjących od ręki. Poniżej przedstawiam sprawdzoną
konfiguracją (dla potrzeb testowych):

wykomentować od preprocessor http_inspect: global \ do ports { 80
8080 }
odkomentować linię output database: log, mysql, user=snort
password=haslo_snorta dbname=snort host=localhost (podać odpowiednie
'haslo_snorta')
wykomentować linię zawierającą include threshold.conf (ostatnia
linia)

Utworzyć katalog dla logów poleceniemoleczek# mkdir /var/log/snort

Przygotować plik startowy:oleczek# cp /usr/local/etc/rc.d/snort.sh.sample \
/usr/local/etc/rc.d/snort.sh
oleczek# chmod +x /usr/local/etc/rc.d/snort.sh

Tutaj mała kara za pośpiech - albo należy ustawić to w pliku
konfiguracyjnym, albo zmodyfikować /usr/local/etc/rc.d/snort.sh. jest:
${PREFIX}/bin/snort -Dqc ${PREFIX}/etc/snort.conf > /dev/null && echo -n "snort"

ma być:
${PREFIX}/bin/snort -i ed1 -Dqc ${PREFIX}/etc/snort.conf > /dev/null && echo -n " snort"

Gdzie ed1 to urządzenie (tutaj karta sieciowa - należy wstawić
odpowiednie dla swojego systemu i preferencji), na którym ma nasłuchiwać
snort. Plik konfiguracyjny ma oczywiście więcej możliwości - pozwala
lepiej dostroić ustawienia sieci.
Uruchomić Snort-a poleceniem:oleczek# /usr/local/etc/rc.d/snort.sh start

Sprawdzić, czy w wyniku poleceniaoleczek# tail /var/log/messages

można odczytać upragnioną informację "Snort initialization completed
successfully".
ACID - instalacja
Zainstalować ACID z odpowiedniego portu:oleczek# cd /usr/ports/security/acid
oleczek# make install clean

ACID domyślnie zainstaluje się w katalogu /usr/local/www/acid. Należy
odszukać tam plik konfiguracyjny "acid_conf.php", a następnie poprawić
następujące informacje:$DBtype = "mysql"; // typ używanej bazy danych

$alert_dbname = "snort"; // baza danych alertów
$alert_host = "localhost"; // adres komputera z bazą danych
$alert_port = ""; // port (puste = domyślny)
$alert_user = "snort"; // użytkownik bazy danych
$alert_password = "haslo_snorta"; // hasło użytkownika bazy danych

Ostatnim krokiem będzie dostrojenie serwera http.
Edycja pliku konfiguracyjnego serwera Apache. Dodać:Alias /swiniak/ "/usr/local/www/acid/"

<Directory "/usr/local/www/acid">
Authtype Basic
AuthName "Wanna drink ACID?"
AuthUserFile /usr/local/www/acid/.htpasswd
Require user nick
AllowOverride None
</Directory>

do pliku /usr/local/etc/apache/httpd.conf w sekcji <IfModule
mod_alias.c>.
Utworzyć plik z hasłami i zrestartować Apache: oleczek# htpasswd -c /usr/local/www/acid/.htpasswd nick haslo_nicka
oleczek# apachectl restart

Wycelować przeglądarkę w adres http://naszadomena.tld/swiniak/, podać
login i hasło ustawione w .htpasswd.
Po zalogowaniu kliknąć przycisk "Create acid ...".Powinno się
pokazać (na czerwono):Successfully created 'acid_ag'
Successfully created 'acid_ag_alert'
Successfully created 'acid_ip_cache'
Successfully created 'acid_event'

W tym momencie ACID jest gotowy do użycia.
Przykładowe ekrany







Pierwszy ekran ACID-a (po zalogowaniu)
15 ostatnich ostrzeżeń






Moduł wyszukiwania
Mała pamiątka :). News na http://www.Snort.org/
Uwagi:

miniaturki można powiększać klikając na nie;
opisy na fioletowym tle nie są elementami ACID-a.

Posłowie
Internet pełny jest różnego rodzaju tutoriali oraz dokumentacji
dotyczących opisanych powyżej programów. Po "instalacji na szybko" trzeba
znaleźć czas na dostrojenie oraz ewentualne ulepszenie całego systemu
bezpieczeństwa. Jeśli maszyna/maszyny obsługiwane przez powyższą
kombinację aplikacji są bardzo ważne, to z pewnością należy zainteresować
się użyciem https oraz stunnela, a także uruchamianiem snorta z
identyfikatorem użytkownika bez przywilejów.
Dodatek - wersje oprogramowania użyte w artykule$ pkg_info
acid-0.9.6b23
apache-1.3.29_1
gd-2.0.15_1,1
mod_php4-4.3.4_4,1
mysql-server-3.23.58
snort-2.1.0_2

$ uname -rs
FreeBSD 4.9-STABLE




Porozmawiaj
o tym artykule na forum »
Id: Aleksander Fafuła 
2004-01-10 
 

 






 

 
copyright by polskie centrum bsd
2004
 

















Wyszukiwarka

Podobne podstrony:
BSDGuru Polskie Centrum BSD [http www BSDGuru org ]
http www e32 schrauber de bmw daten getriebe ZF huile pour boite auto
referenceeventinterface [www ibpp org]
KIMO Constructeur http www kimo fr
referencetimestamp [www ibpp org]
http www strefawiedzy edu pl file
,DanaInfo=www jstor org 2214146
http www sweex com download
reference [www ibpp org]
referenceevents [www ibpp org]
http www grupaedukacyjna pl UserFiles File reforma nowa podst prog sp
http www paiz gov
www forumrowerowe org
referencesamples [www ibpp org]
www liberaux org ebook Jean Luc Migué santé publique santé en danger

więcej podobnych podstron