Bezpieczeństwo

From NndWiki

Spis treści

md5sum

Cóż. Jest to chyba najprostsza metoda na sprawdzenie integralności swojego systemu. Chrootkit nie zawsze wszystko wykryje, natomiast policzenie sum md5 i sprawdzenie ich od czasu do czasu nigdy nie zaszkodzi i jest dosyć skuteczne. Do sprawdzania integralności systemu też nadaje się tripwire, ale to osobny temat.

Jak sobie wygenerować listę plików? Choćby korzystając z innego podstawowego utilsa systemowego: find-a
Możemy sobie napisać prosty skrypcik generuj.sh do generowania listy plików do sprawdzenia (w zmiennej KATALOGI mamy katalogi do sprawdzenia, należy uważać, żeby nie wpisać tam katalogów z których się pliki często zmieniają jak np. /tmp bo to będzie bez sensu):

#!/bin/sh
KATALOGI="/bin /boot /usr /sbin /etc"
for katalog in $KATALOGI; do
  find $katalog -type f -exec md5sum {} \;
done

Poźniej wystarczy wygenerować tą listę:

generuj.sh >sumy.md5

Jak teraz sprawdzić czy sumy plików w systemie zgadzają się z tym co sobie wcześniej policzyliśmy? Wystarczy:

md5sum -c sumy.md5

Oczywiście warto plik z sumami sobie gdzieś zachować w bezpiecznym miejscu.
Nie jest to 100% skuteczny sposób, bo nie sprawdza choćby praw i użytkowników plików, ale jak ktoś nie chce instalować niczego ekstra, a chce mieć jako takie poczucie bezpieczeństwa, to jest do dobry początek.

--Majek 00:25, 13 lip 2005 (CEST)

Nmap

Nmap jest prostym skanerem portów. Umożliwia administratorom sieci sprawdzanie uruchomionych usług na testowanym komputerze. Przykładowe użycie skanera: nmap -sS 192.168.0.10 Polecenie to spowoduje przeskanowanie hosta o adresie IP 192.168.0.10 metodą Syn Stealth. Uzyskanym wynikiem będzie lista otwartych portów na których działają jakieś usługi tzn. numer portu na którym dana usługa działa, protokół (TCP / UDP), nazwa usługi o ile zawarta jest w liście usług nmap-a. Progam ten umożliwia znacznie więcej funkcji np. rozpoznanie systemu operacyjnego hosta (opcja -O). Inna opcja która pozwoli przyspieszyć nam skanowanie to "-p zakres-portów": nmap -p 1-1000 -sS 192.168.0.10 Po zastosowaniu opcji -p zostaną przeskanowane porty od 1 do 1000, hosta 192.168.0.10. Oprócz pojedynczego hosta nmap umożliwia też skanowanie całych podsieci. Niestety jest to proces długotrwały i tym bardziej należy zawężać "pasmo" poszukiwań do określonej liczby portów. Aby przeskanować komputery w danej podsieci należy podać adres tej podsieci i maskę np: 192.168.0.0/24. Nmap może być bardzo przydatnym narzędziem przy konfiguracji firewalli, bądź diagnozowaniu czy na danym komputerze nie jest uruchomiony koń trojański

--Paweł Makowski 14:14, 17 paź 2005 (CEST)

Knock

Portsentry

Portsentry to prosty demonik, którego zadaniem jest blokowanie ludków chcących przeskanowac twój sprzęt programem typu np. nmap, aby dowiedzieć się o twoich słabych stronach - otwartych portach.
Instalujesz programik - jedynie w /etc/portsentry/portsentry.ignore musisz wywalic linie z 0.0.0.0 i dodac własną sieć np. 192.168.1.0/24 ewentualnie inne zaufane adresy skąd chcialbyś mieć mozliwość przeskanowania na okolicznosc otwartych portow; portsentry automatycznie blokuje hosty dopuszczajace sie niedozwolonego skanowania portów a do kompletu potrzebuje logchecka - żeby budował raporty.
Żeby logcheck działał trzeba miec exima bo logcheck wysyla maile... skonfigurowaś trzeba /usr/sbin/logcheck.sh wpisując użytkownika ktory ma dostawać maile.
--przemek_nnd 14:31, 1 maj 2005 (CEST)

Logcheck

Chrootkit

Natdet

NATDet jest małym narzędziem, które z pewnością pomoże administratorom większych sieci w wykrywaniu użytkowników rozdzielających połączenie. Routery podbijające TTL i robiące inne cuda nie są dla niego przeszkodą.
NATDet analizuje pakiety wysyłane z konkretnych hostów i sprawdza czy występują różnice, których być nie powinno. Zużywa przy tym bardzo mało zasobów, nie generuje żadnego ruchu i tworzy minimalną ilość logów. Jest też bardzo prosty w obsłudze.
<Jeszcze inaczej>NATDet to bardzo małe, lecz sprytne narzędzie napisane przez Marcina Ulikowskiego (elceef). Jego głównym zadaniem jest wykrywanie typków nielegalnie dzielących łącze, bez Twojego przyzwolenia oraz co gorsza bez zapłaty. NATDet sprawuje się bardzo efektywnie, wykrywa również spryciarzy, którzy zmieniają wartości pola TTL (zwiększanie o 1, ustawienie statycznego, itd.) na maszynach dzielących łącze.
po kolei:
Oczywiście najprzodek trzeba go zainstalować.
Potem
cd /usr/share/natdet
i komenda

natdet –v –l nacik.log –i eth0 -d

Program pracuje w tle, słuchając na interfejsie eth0 (można dać –i any), zapisując wyniki do pliku nacik.log, który tworzy się w katalogu /usr/share/natdet
Inne opcje:
-I – program działa w trybie interactive (na konsoli widzimy na bieżąco postępy w pracy programu).
-vv – very verbose (bardzo fajny tryb, pokazuje dodatkowe informacje)
Możliwe jest również stosowanie filtra tcpdump np.:
natdet –v –l nacik.log –i eth0 -d ‘dst port 21’ - badane będą tylko pakiety kierowane na port 21 (man tcpdump < opis filtra).
Przykład dzaiałania:

[*] 30-03-2005 09:21:39: NAT at 10.0.2.4 for 2 system(s) [100%] 
Used factors: OSGENRE TTL 
[#15]["Windows 9x/NT", 128, 0 (294sec)] vs ["Windows NT", 127, 0] 

No więc chyba tak. Według tego co pisze autor, natdet rozpoznaje takie rzeczy i na dodatek dopisuje prawdopodobieństwo w procentach. Tu podaje TTL 128 i drugie 127, a to świadczyłoby jednoznacznie o tym, że jeden Windows udostępnia net drugiemu.
od Marcina Ulikowskiego
NATDet jest małym i sprytnym narzędziem napisanym przez Marcina Ulikowskiego aka elceef, które z pewnością pomoże administratorom większych sieci w wykrywaniu użytkowników rozdzielających połączenie. Routery podbijające TTL i robiące inne cuda nie są dla niego przeszkodą. NATDet analizuje pakiety wysyłane z konkretnych hostów i sprawdza czy występują różnice, których być nie powinno. Zużywa przy tym bardzo mało zasobów, nie generuje żadnego ruchu i tworzy minimalną ilość logów. Jest też bardzo prosty w obsłudze. Instalacja jest standardowa:

(root@osiris ~/natdet)# ./configure
(root@osiris ~/natdet)# make
(root@osiris ~/natdet)# make install

Następnie z dowolnego miejsca w systemie można uruchomic program:

(root@osiris ~)# natdet -v -l nacik.log -i eth0 -d

W powyższym przypadku program pracuje w tle (-d), nasłuchując na interfejsie eth0 (można dać -i any przez co będzie zbierał pakiety ze wszystkich urządzeń sieciowych), zapisując wyniki do pliku nacik.log, który tworzy się w katalogu z ktorego uruchomiliśmy program. Inne opcje: -I - program działa w trybie "I-hate-logs!" (na konsoli widzimy na bieżąco postępy w pracy programu), -vv - very verbose (bardzo fajny tryb, pokazuje dodatkowe informacje). Możliwe jest również stosowanie filtra tcpdump np.: (root@osiris ~)# natdet -v -l nacik.log -i eth0 -d 'dst port 21' Badane będą tylko pakiety kierowane na port 21 (man tcpdump < opis filtra).
Przykład działania:

[*] 30-03-2005 09:21:39: NAT at 10.0.2.4 for 2 system(s) [100%] 
    Used factors: OSGENRE TTL
    [#15]["Windows 9x/NT", 128, 0 (294sec)] vs ["Windows NT", 127, 0]

NATDet rozpoznał, że komputer 10.0.2.4 rozdziela połączenie dla 2 systemów. System "Windows 9x/NT" rozdziela połączenie dla systemu "Windows NT" (różnica TTL). Dzięki "odciskom palca" różnych systemów NATDet potrafi bardzo szybko określić jakie systemy używane są w sieci. Jeśli jeden adres IP wysyła pakiety z różnych systemów to jest to podejrzane, podobnie jak różnica TTL w kolejnych pakietach. Więcej na temat opcji -vv w dokumentacji NATDet (plik doc/debug-mode). NATDet wylicza prawdopodobieństwo występowania nielegalnej maskarady w procentach. Najczęściej wypisuje 100%. Jeśli ze wzoru wyjdzie wynik poniżej 50%, wtedy NATDet nie poinformuje o maskaradzie (można to zmienić w pliku config.h; wyjątkiem jest także tryb "I-hate-logs!").