Jeżeli korzystasz z internetu, narzędzie taki jak PorSentry na pewno może okazać się przydatne.
Musisz pamiętać, że skanowanie portów nie jest obecnie (02.2001) czynem prawnie dozwolonym, jednak przez większość administratorów systemów jest uważana za naganne. Aby bronić się przed intruzami, zalecam zamknięcie tych wszystkich portów, które nie są w twoim systemie niezbędne i dodatkowo zastosowanie programu takiego jak PortSentry, który nasłuchuje czy nasz system nie wzbudził nadmiernego zainteresowania.
Instalacja:
1. Program znajdziesz na tej stronie.
2. Po rozpakowaniu
tar -xzvf portsentry-1.0.tar.gz
będziesz musiał zmodyfikować kilka plików konfiguracyjnch, aby dostosować program do swoich potrzeb. Oto co powinieneś zrobić:
-) otwórz w edytorze plik portsentry_config.h i odkomentuj (lub zmień według uznania) linie:
CONFIG_FILE - ścieżka do pliku konfiguracyjnego
WRAPPER_HOST_DENAY - ścieżka do pliku hosts.deny TCP wrapper'a
SYSLOG_FACILITY - nazwa mówi sama za siebie
SYSLOG_LEVEL
-) otwórz w edytorze plik portsentry.conf
w liniach TCP_PORTS i UDP_PORTS znajdują się odpowiednio porty TCP i UDP na których PortSentry ma nasłuchiwać. Autor programu w pliku konfiguracyjnym podał już kilka zestawów, który wybierzesz ... sam zdecyduj. Oczywiści istnieje możliwość dopisania dowolnych numerów portów.
W liniach ADVANCED_PORTS_TCP i ADVANCED_PORTS_UDP znajduje się numer najwyższego portu. Wszystkie porty o niższych numerach będą monitorowane, jeżeli uruchomisz program w trybie Advnced Stealth Scan Detection.
W liniach ADVANCED_EXCLUDE_TCP i ADVANCED_EXCLUDE_UDP - podajesz numery portów, któr nie mają być monitorowane.
Linia IGNORE_FILE - wskazuje na plik, który zawiera adresy IP hostów, które mają być ignorowane przez PortSentry.
Linia BLOCKED_FILE - wskazuje na plik, w którym są zapisane numery IP hostów, które zostały zablokowane przez PortSentry.
BLOCK_UDP i BLOCK_TCP - masz do wyboru trzy opcje: 0 - nie blokowanie skanów UDP/TCP jednak są one logowane. Autor sugeruje, że w hostach bezpośrednio podłączonych do sieci można wybrać opcję 0 jeżeli chodzi o proty UDP co obroni nas przed atakiem typu DOS z wykorzystaniem pakietów UDP, 1 - blokowanie skanów UDP/TCP,
2 - wykonanie tylko komendy zewnętrznej. Domyślne ustawienie to 1.
KILL_ROUTE - jeżeli korzystasz z Linuxa, a route obsługuje flagę reject (man route) wybierz opcję:
KILL_ROUTE="/sbin/route add -host $TARGET$ reject"
KILL_HOSTS_DENY - podajesz tu format stringu jaki używa TCP wrapper przy wpisach do pliku hosts.deny
KILL_RUN_CMD - możesz zdecydować czy chcesz odpowiedzieć na próbę skanowania. Możesz tu wpisać nazwę skryptu lub programu, który ma być wykonany w przypadku wykrycia skanowania. Autor nie zaleca tu umieszczania żadnych programów, które będą 'atakowały' host, który próbuje skanować twój komputer. Jak najbardziej przychylam się do tej opinii.
SCAN_TRIGGER - masz trzy możliwości: 0-odpowiedź twojego hosta na skanowanie jest natychmiastowa (zalecane), 1 i 2 - zalecane raczej w wypadku uruchomienia programu w trybie Advanced stealth scan detection.
PORT_BANNER - jeżeli chcesz poinformować skanującego, że jego działania zostały wykryte możesz tu wpisać jakiś tekst. Nie wpisuj raczej nic obraźliwego, bo nawet w MTV mówią, że agresja rodzi agresję ;-)
-) otwórz w edytorze plik portsentry.ignore i wpisz tu adresy IP hostów, które mają być ignorowane przez PortSentry.
Nie kasuj raczej linii z adresem 127.0.0.1, bo może to być dosyć bolesne :-)
3. Kompilacja
Jeżeli korzystasz z Linuxa:
make linux
make install
4. Uruchomienie portsentry
Zalecam uruchamianie programu przy starcie systemu - więc będziesz musiał dodać odpowiedni wpis np. w /etc/rc.d/rc.local
Program można uruchomić w jednym z sześciu trybów:
* portsentry -tcp (basic port-bound TCP mode)
Program sprawdzi pliki konfiguracyjne i będzie nasłuchiwał na portach TCP, które zdefiniowałeś.
* portsentry -udp (basic port-bound UDP mode)
Jak wyżej, dotyczy portów UDP
* porsentry -stcp (Stealth TCP scan detection)
Portsentry będzie używał gniazd do monitorowania wszystkich nadchodzących pakietów. Jeżeli pakiet będzie przeznaczony do monitorowanego portu, PortSentry zablokuje połączenia z atakującym hostem.
* portsentry - audp (Stealth UDP scan detection)
Jak wyżej - dotyczy UDP
* portsentry -atcp (Advanced TCP stealth scan detection mode)
PortSentry będzie nasłuchiwał na wszystkich portach poniżej numeru portu, który określiłeś w ADVANCED_PORTS_TCP w portsentry.conf - jest to najbardziej czuła metoda, ale mogą pojawić się błędnie zinterpretowane przez program próby skanowania. Używaj tej opcji, jeżeli jesteś doświadczonym administratorem i dokładnie wiesz czego chcesz.
* portsentry -audp (Advanced UDP stealth scan detection mode)
Jak wyżej, dotyczy UDP. Jeżeli w ten sposób uruchomisz PorSentry to istnieje duże prawdopodobieństwo powstawania fałszywych alarmów.
5. Jak sprawdzić czy PortSentry działa.
-) cat /var/log/messages | less
powinieneś znaleźć tam wpisy o starcie PortSentry
-) spróbuj połączyć sie z monitorowanym portem z jakiegoś innego hosta. Zalecam !!!
Wtedy sam dokładnie zobaczysz co i jak.
** Jacek Seń **