[LinuxFocus-icon]
Strona G��wna  |  Mapa Serwisu  |  Indeks  |  Szukaj

Nowo�ci | Archiwum | Linki | O Nas
Ten dokument jest dost�pny w nast�puj�cych j�zykach: English  Castellano  Deutsch  Francais  Nederlands  Russian  Turkce  Polish  

[Photo of the Author]
Jos� Salvador Gonz�lez Rivera
<jsgr(at)tec.com.mx>

O Autorze:

Jos� Salvador Gonz�lez Rivera jest aktywnym cz�onkiem Linux Users Group of Puebla (Meksyk). Jest zaanga�owany w promowanie wolnego oprogramowania, a szczeg�lnie Linuksa. Od niedawna posiada stopie� naukowy z zakresu System�w Komputerowych. Z autorem mo�na si� skontaktowa� u�ywaj�c adres�w: jsgr(at)tec.com.mx lub jsgr(at)linuxpuebla.org.



Translated to Polish by:
Rados�aw Weso�owski <wesolek(at)box43.gnet.pl>

Zawarto��:

 

Wykrywanie intruz�w w systemie Debian GNU/Linux

[debian]

Notka:

Wojsko, administracja, przemys�, finanse - we wszystkich tych bran�ach cyfrowe dane maj� kluczowe znaczenie. Nowoczesne sposoby przechowywania danych przynosz� jednak nie tylko korzy�ci, ale r�wnie� zagro�enia. Elektroniczne dane �atwiej, ni� tradycyjne - daj� si� przechwyci� lub zdalnie zniszczy�. W tym artykule przedstawi� techniki, oraz narz�dzia, kt�rych mo�emy u�y� w systemie Debian GNU/Linux do wykrycia i wytropienia intruz�w. Artyku� ten powsta� w oparciu o rzeczywiste sytuacje i problemy, kt�re mog� przytrafi� si� ka�demu administratorowi.


_________________ _________________ _________________

 

Wprowadzenie

Wyb�r dystrybucji Linuksa nie jest �atwy, poniewa� istnieje ich bardzo wiele. Jednak wi�kszo�� z nich� bazuje na dystrybucji RedHat na przyk�ad: Conectiva (Brazylia), Hispa source (Hiszpania), Mandrake (Francja), SuSE (Niemcy), Caldera oraz wiele innych wykorzystuj�cych pakiety RPM.
Odmienn� polityk� przyj�li autorzy dystrybucji Slackware. Staraj� si� oni by� bli�si tradycyjnemu systemowi Unix, dlatego stosuj� pakiety w formie archiw�w .tgz. Prawie wszystkie obecnie rozpowszechnione dystrybucje s� tworzone przez komercyjne firmy. Sprawa wygl�da inaczej z Debianem, kt�ry jest tworzony przez ochotnik�w. Ponad to zarz�dzanie pakietami odbywa si� przy pomocy narz�dzia DPKG, kt�re mo�e automatycznie uaktualnia� pakiety korzystaj�c z Internetu, ustala tak�e zale�no�ci pomi�dzy tymi pakietami. Takie rozwi�zanie znacznie u�atwia prac� administratorowi i sprawia, �e system zawsze posiada najnowsze (pozbawione b��d�w) wersje program�w.

 

Dlaczego Debian GNU/Linux ?

Debian ma kilka szczeg�lnych w�a�ciwo�ci:

1) Nie posiada komercyjnego wsparcia, przez co nie ulega wp�ywom rynku.
2) Posiada doskona�y system �ledzenia b��d�w, a problemy rozwi�zywane s� w nieca�e 48 godzin.
3) Od pocz�tku g��wnym za�o�eniem by�o stworzenie kompletnego, niezawodnego systemu operacyjnego.
4) Jest rozwijany przez ochotnik�w na ca�ym �wiecie.

Ka�da nowa wersja posiada wsparcie dla nowych typ�w architektur sprz�towych. Obecnie s� to: Alpha, ARM, HP PARISC, Intel x86, Intel IA-64, Motorola 680x0, MIPS, MIPS (DEC), Power PC, IBM S/390, Sparc, ponad to Debiana mo�emy spotka� na Sun UltraSparcm, oraz Hitachi SuperH. System operacyjny Linux wspiera obecnie najwi�ksz� liczb� platform sprz�towych.

W�r�d istniej�cych pakiet�w przeznaczonych dla Debiana, mo�emy spotka� r�ne narz�dzia, kt�re w rzeczywistym czasie mog� wykry� pr�by w�amania. Istniej�� dwa podstawowe typy: aplikacje monitoruj�ce sie� w poszukiwaniu pr�b ataku, oraz badaj�ce szczeg�lne zachowanie hosta.

 

Narz�dzia dzia�aj�ce po stronie serwera

W celu wykrycia pr�b skanowania port�w u�ywa si� narz�dzia o nazwie PortSentry. TripWire ma zastosowanie przy badaniu integralno�ci systemu, natomiast LogSentry analizuje logi systemowe. Pierwszy i ostatni� wchodz� w sk�ad pakietu TriSentry tworzonego przez Psionic Technologies.

 

Skanowanie port�w

PortSentry monitoruje porty naszego systemu i w razie pr�by po��czenia z portem, kt�ry jest zdefiniowany, wykonuj� okre�lon� akcj� (zwykle blokuje po��czenie).

Strona domowa znajduje si� pod adresem http://www.psionic.com/products/portsentry.html. PortSentry dost�pny jest dla system�w: Solaris,BSD, AIX, SCO, Digital Unix,HP-UX, oraz oczywi�cie Linux.

Zainstalowanie pakietu w systemie Debian GNU/Linux sprowadza si� do wydania nast�puj�cego polecenia:

apt-get install portsentry

Program mo�emy uruchomi� w jednym z tryb�w: classic, stealth, advanced, a konfiguracja zale�y od wpis�w w pliku /usr/local/psionic/portsentry/portsentry.conf.

Opis g��wnych opcji mo�na znale�� w artykule z ES Linux Magazine, kt�rego autorem jest Jos� Torres Luque. Oto niekt�re z nich:

TCP_PORTS, w tym miejscu definiujemy kt�re porty maj� by� kontrolowane, czy to w trybie classic, czy te� stealth. Autor programu dostarcza trzy listy port�w, zale�ne od poziomu bezpiecze�stwa, kt�ry mamy zamiar zastosowa�. Maksymalnie mo�na zdefiniowa� 64 porty.

UDP_PORTS, podobnie jak wy�ej, z tym, �e definiujemy porty UDP.

ADVANCED_PORTS_TCP, ADVANCED_PORTS_UDP, wskazuje najwy�szy numer portu, u�ywany w trybie zaawansowanym. Ka�dy port, kt�rego numer jest ni�szy od zdefiniowanego b�dzie sprawdzany. Wyj�tkiem s� porty wy��czone z obserwacji. Najwy�szy mo�liwy numer portu to 65535, jednak w celu unikni�cia fa�szywych alarm�w zalecam zdefiniowanie liczby mniejszej ni� 1024.

ADVANCED_EXCLUDE_TCP, ADVANCED_EXCLUDE_UDP, lista port�w wy��czonych z monitoringu w trybie zaawansowanym. Opcja ta ma szczeg�lnie zastosowanie dla serwis�w takich jak ident.

IGNORE_FILE, tutaj nale�y poda� �cie�k� do pliku, w kt�rym znajduj� si� adresy IP wy��czone z monitoringu. Najlepszym rozwi�zaniem jest dodanie do tego pliku adres�w interfejsu lo oraz lokalnej sieci.

KILL_ROUTE, opcja ta umo�liwia dodanie komendy, kt�ra zablokuje atakuj�cemu dost�p do naszego hosta. Na przyk�ad: iptables -I INPUT -s $TARGET$ -j DROP, gdzie $TARGET$ odnosi si� do adresu napastnika.

KILL_RUN_CMD, wskazujemy komend�, kt�ra zostanie wykonana przed zablokowaniem dost�pu.

SCAN_TRIGGER, definiuje liczb� pr�b, po kt�rej zostanie uaktywniony alarm.

PORT_BANNER, wy�wietla wiadomo�� po po��czeniu si� z portem kontrolowanym przez portsentry.

Po skonfigurowaniu nale�y uruchomi� program wybieraj�c jeden z trzech tryb�w jako parametr. Dla protoko�u TCP s� to : -tcp (podstawowy tryb), -stcp(tryb stealth), -atcp (zaawansowany tryb), natomiast dla protoko�u UDP odpowiednio: -udp, -sudp, -audp.

 

Analiza integralno�ci

TripWire pozwala na sprawdzanie integralno�ci systemu. Strona domowa projektu znajduj� si� pod adresem http://www.tripwire.org . Narz�dzie to jest dost�pne za darmo dla Linuksa, jak r�wnie� w wersji komercyjnej dla system�w operacyjnych takich jak: Windows NT, Solaris, AIX i HP-UX.

Instalacja narz�dzia w Debianie sprowadza si� do wydania nast�puj�cego polecenia:

apt-get install tripwire

Do przechowywania informacji potrzebne sa dwa klucze: "site key", uzywany do szyfrowania plik�w konfiguracyjnych, oraz "local key", uzywany do szyfrowania informacji m�wi�cej o statusie monitorowanych plik�w.

Konfiguracji dokonuje si� w pliku /etc/tripwire/twpol.txt, po skonfigurowaniu nale�y ten plik "za�adowa�":

twadmin -m P /etc/tripwire/twpo.txt

Aby stworzy� now� baz� danych zawieraj�c� obecny status plik�w nale�y wyda� polecenie:

tripwire -m i 2

�eby dokona� sprawdzenia integralno�ci systemu plik�w nale�y wpisa� polecenie:

tripwire -m c

Plik konfiguracyjny moze byc usuniety. Zapobiegnie to poznaniu konfiguracji przez wlamywacza.

rm /etc/tripwire/twcfg.txt /etc/tripwire/twpol.txt

Aby go ponownie stworzy� wydaj polecenie:

twadmin -m p > /etc/tripwire/twpol1.txt twadmin -m f > /etc/tripwire/twcfg.txt

 

Sprawdzanie dziennik�w systemowych

LogCheck jest cz�ci� LogSentry i pozwala na analizowanie log�w w bardzo skuteczny spos�b. Tworzy raporty, w kt�rych uwzgl�dnia b��dy wymagaj�ce przeczytania, ponad to umo�liwia logowanie zdarze� przy u�yciu jednego z czterech poziom�w: ignore (zignoruj), unusual activity (dzia�anie nadzwyczajne), violation of security (naruszenie bezpiecze�stwa), attack (atak).

Wi�cej informacji o LogCheck mo�na znale�� na stronie http://www.psionic.com/products/logsentry.html. Dost�pne s� wersje dla system�w: Solaris, BSD, HP-UX, Linux.

Instalacja pakietu:

apt-get install logcheck

Spowoduje to zainstalowanie programu logtail w katalogu /usr/local/bin, kt�ry trzyma list� log�w ju� przeanalizowanych. Ponad to zastan� zainstalowane nast�puj�ce pliki:

Logcheck.sh,
Skrypt zawieraj�cy podstawow� konfiguracj�.

Logcheck.hacking,
Przechowuje zasady definiuj�ce poziom aktywno�ci.

Logcheck.ignore,
Ignorowane wyra�enia.

Logcheck.violations,
Wyra�enia kt�re zostan� uznane jako naruszenie bezpiecze�stwa.

Logcheck.violations.ignore,
Te wyra�enia maj� zosta� zignorowane.

Program logcheck mo�na uruchamia� przy pomocy crona na przyk�ad co godzin�: 0 * * * */bin/sh /usr/local/etc/logcheck.sh

 

Narz�dzia sieciowe

Snort jest narz�dziem do wykrywania pr�b atak�w poprzez siec. Strona domowa dost�pna jest pod adresem http://www.snort.org. Program mo�emy zainstalowa� na nast�puj�cych systemach: BSD, Solaris, AIX, Irix, Windows, MacOS X i oczywi�cie Linux.

Instalacja Snorta w Debianie jest standardowa i wymaga wydania polecenia:

apt-get install snort

Snort pracuje w trzech r�nych trybach: jako sniffer, logger pakiet�w, oraz jako detektor intruz�w.

Mo�e by� uruchomiony z nast�puj�cymi parametrami:

-l katalog
wskazuje katalog, w kt�rym przechowywane s� pliki z logami.

-h IP
definiuje adres IP sieci, kt�r� chcemy kontrolowa�.

-b
przechwytuje ka�dy pakiet jako dane binarne (w formacie tcpdumpa).

-r
plik przetwarza plik binarny.

 

Snort jako sniffer i rejestrator pakiet�w

Dzia�aj�c jako sniffer program czyta ka�dy pakiet przechodz�cy przez sie� i wy�wietla go na konsoli, podczas gdy dzia�aj�c jako logger pakiet�w zapisuje je do pliku.

Snort -v

Pokazuje adresy IP oraz nag��wki

Snort -dv

Pokazuje kr���ce dane

Snort -dev

Bardziej szczeg�owy spos�b

 

Snort - tryb wykrywania intruz�w

W tym trybie snort informuje nas o skanowaniu port�w, atakach typu DoS (Deny of Service), exploitach itd, w zale�no�ci od zasad zdefiniowanych w pliku /usr/local/share/snort. Plik z definicjami mo�e by� pobrany ze strony, a serwer mo�e go od�wie�a� co godzin�.

Konfiguracja jest bardzo prosta i polega na zmianie wpis�w dotycz�cych naszej sieci, oraz katalog�w, w pliku snort.conf. Zmie� tylko IP :

var HOME_NET IP

a nast�pnie uruchom program:

snort -c snort.conf

Dzienniki zdarze� przechowywane s� w pliku /var/log/snort, korzystaj�c z tego pliku mo�emy pozna� adresy IP napastnik�w. Oczywi�cie jest to tylko kr�tki opis mo�liwo�ci snorta i zalecana jest dalsza analiza tematu. Wed�ug wi�kszo�ci organizacji, magazyn�w, oraz grup zajmuj�cych si� bezpiecze�stwem snort jest najlepszym narz�dziem typu "Intrusion Detection System" zar�wno dla Unixa, jak i Windowsa. Ze strony niekt�rych firm takich jak Silicon Defense, lub Source Fire mo�na uzyska� komercyjne wsparcie, pojawiaj� si� nawet graficzne interfejsy, kt�re pozwalaj� na bardziej atrakcyjn� form� prezentacji wynik�w.

Czasami wyst�puj� sytuacje nadzwyczajne, kiedy pojawiaj� si� problemy jak dot�d nie brane pod uwag�. Wymagaj� one natychmiastowego rozwi�zania.

Najcz�ciej ich przyczyn� s� ataki cracker�w, kt�rzy chc� ukra�� lub zmieni� dane znajduj�ce si� w naszym systemie, wykorzysta� nasz serwer do ataku na inne maszyny, lub po prostu zainstalowa� snieffera lub rootkita w celu zdobycia wi�kszych uprawnie�

 

Inne przydatne programy

 

Znajdowanie sniffer�w

Sniffer jest narz�dziem, kt�re ustawia nasz interfejs sieciowy w tryb promiscuous i s�u�y do pods�uchiwania ca�ego ruchu w sieci. Program ifconfig dostarcza wyczerpuj�cych informacji na temat interfejsu sieciowego. Przyk�ad:

eth0 Link encap:Ethernet HWaddr 00:50:BF:1C:41:59
inet addr:10.45.202.145 Bcast:255.255.255.255 Mask:255.255.128.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7180 errors:0 dropped:0 overruns:0 frame:0
TX packets:4774 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:8122437 (7.7 MiB) TX bytes:294607 (287.7 KiB)
Interrupt:10 Base address:0xc000

Jednak, gdy plik ifconfig zostanie zamieniony, bad� te�, jezeli sniffer jest uruchomiony na innej maszynie, nale�y sprawdzi� po�aczenia zewn�trzne, albo spr�bowa� znale�c logi sniffera.

Aby sprawdzi�, czy interfejsy znajduj�ce si� wewn�trz naszej sieci s� w trybie promiscuous mo�na u�y� narz�dzia o nazwie neped, kt�re zosta�o stworzone przez Hiszpa�sk� grup� haker�w. Nie jest ono cz�ci� Debiana, ale mo�e by� pobrane z : ftp://apostols.org/AposTools/snapshots/neped/neped.c
Notka: serwer nie dzia�a od kilku tygodni.

Oto wyniki dzia�ania programu:

neped eth0
----------------------------------------------------------
> My HW Addr: 00:80:F6:C2:0E:2A
> My IP Addr: 192.168.0.1
> My NETMASK: 255.255.255.0
> My BROADCAST: 192.168.1.255
----------------------------------------------------------
Scanning ....
* Host 192.168.0.2, 00:C2:0F:64:08:FF **** Promiscuous mode detected !!!
End.

Kiedy wysy�amy pakiet z adresu 191.168.0.1 na adres 192.168.0.2 musimy zna� adres MAC karty sieciowej. Adres taki uzyskujemy wysy�aj�c pakiet z zapytaniem o adres MAC komputera o danym adresie IP na adres broadcast naszej sieci. Wszystkie maszyny odczytaj� zapytanie, lecz tylko w�a�ciwa maszyna na nie odpowie.

W naszym przypadku neped sprawdzi� wszystkie adresy IP. Jednak, aby wykry� sniffera nie u�ywa on adresu broadcast, lecz innego specjalnie spreparowanego. Tylko komputery, kt�rych interfejsy s� w trybie promiscuous odczytaj� pakiet i odpowiedz� na niego.

Znalaz�em ten program w Internecie, a dok�adnie w artykule na temat wykrywania pods�uchu. Przytoczony by� tam podobny przyk�ad. Je�eli znasz adres URL tego artyku�u wy�lij mi emalia, poniewa� moja kopia gdzie� si� zapodzia�a :-).

 

Rootkity

Rootkity pozwalaj� na zdobycie przez zwyk�ego u�ytkownika dodatkowych uprawnie�. W skr�cie, zamieniaj� one nasze pliki binarne na inne by p�niej uzyska� dost�p do systemu. Dlatego nale�y sprawdza�, czy posiadamy tylko oryginalne wersje. Do tego celu s�u�y narz�dzie o nazwie, chkrootkit, kt�re mo�na zainstalowa� wydaj�c polecenie:

apt-get install chkrootkit

Strona domowa znajduje si� pod adresem www.chkrootkit.org, natomiast w wyniku u�ycia programu zostaj� sprawdzone nast�puj�ce pliki:

aliens, asp, bindshell, lkm, rexedcs, sniffer, wted, z2, amd, basename, biff, chfn, chsh, cron, date, du, dirname, echo, egrep, env, find, fingerd, gpm, grep, hdparm, su, ifconfig, inetd, inetdconf, identd, killall, ldsopreload, login, ls, lsof, mail, mingetty, netstat, named, passwd, pidof, pop2, pop3, ps, pstree, rpcinfo, rlogind, rshd, slogin, sendmail, sshd, syslogd, tar, tcpd, top, telnetd, timed, traceroute, w, write

Aby u�y� programu wystarczy wyda� polecenie:

chkrootkit.

Sprawdzi ono pliki pod k�tem znanych rootkit�w i sniffer�w. S� jeszcze inne narz�dzia do sprawdzania wymiany dziennik�w (chkwtmp and chklastlog). Z kolei ifpromisc powie czy nasz interfejs jest w trybie promiscuous.

 

Warto przeczyta�

Zanim zaczniesz korzysta� z oprogramowania - zapoznaj si� z podr�cznikami systemowym. Poni�ej przedstawi�em kilka odno�nik�w, z kt�rych sam korzysta�em. je�eli znasz inne lub masz jakie� sugestie napisz do mnie list.




 

Dyskusja dotycz�ca tego artyku�u

Komentarze do dyskusji:
 Strona talkback 

Strona prowadzona przez redakcj� LinuxFocus
© Jos� Salvador Gonz�lez Rivera, FDL
LinuxFocus.org
t�umaczenie:
es --> -- : Jos� Salvador Gonz�lez Rivera <jsgr(at)tec.com.mx>
es --> en: Georges Tarbouriech <gt(at)linuxfocus.org>
en --> pl: Rados�aw Weso�owski <wesolek(at)box43.gnet.pl>

2002-12-22, generated by lfparser version 2.33