Problem podłączania się nieprzewidzianych użytkowników stanowi zmorę dla niejednego administratora. W pracy walczę z niesfornymi użytkownikami, którzy notorycznie przynoszą do firmy prywatne laptopy i korzystają na nich z dobrodziejstw internetu, albo, co gorsza przerzucają dane z sieci lokalnej. Ponieważ sieć jest rozległa terytorialnie (kilka budynków) a liczba komputerów osiągnęła 60 i rośnie dalej, ciężko jest kogoś złapać za rękę. Router sprzętowy, który rozdzielał internet nie potrafił za wiele
Na początek wywaliłem DHCP, uznając je za szkodnika. Każdy komputer dostał przydzielone IP "na sztywno", wklepane z całą otoczką do firmowych komputerów. Było trochę roboty, można było pójść na skróty i wymusić na serwerze DHCP przydzielanie konkretnych IP wszystkim komputerom, jednakże każdy taki wpis powiązany z MAC zabierał ok. 2 KB pamięci routera i przy dużej liczbie komputerów często zdarzało się, że pracownik włączał komputer i nie dostawał IP.
No i na pewien czas problem znikł, bo wpinane laptopy z Windowsami XP miały domyślnie ustawione pobieranie IP z serwera DHCP, a DHCP nie było
Potem goście się schytrzyli i wypinali jakiś firmowy komputer z sieci, podpinając laptopa w jego miejsce i ustawiając IP wypiętego komputera. Router sprzetowy został wymieniony na serwerek z NND... Arp załatwił sprawę tylko chwilowo, bo wbrew informacjom z FAQ NND zmiana adresu MAC to sprawa banalna (nawet jeśli sterownik Della albo HP nie ma takiej możliwości to sterownik referencyjny producenta układu, na którym oparta jest karta sieciowa na 99% już ma; jeśli nawet znajdziesz się w tym pozostałym 1% to odpowiedni wpis w rejestrze załatwi sprawę do momentu rebootu). Jakie może być skupeczne lekarstwo na takie działania ?!
IMHO pójść i dać w mordę delikwentowi, ale z pewnych powodów wolałem go nie stosować
Poszukałem elektronicznego odpowiednika dania w mordę i znalazłem ich kilka.
Arpalert - hmm, dobry jako zestaw małego inkwizytora, a ja chcę czegoś dla dużego inkwizytora.
Ipguard - wyglądał bardziej zachęcająco, jednak od chwili jego pojawienia się jedyny rodzynek z 3Comowej stajni - 2 switche D-Linka zaczęły się niepokojąco często wieszać. Pomagało jedynie chwilowe wyjęcie zasilacza z gniazdka. Biorąc pod uwagę, że do jednego z tych D-Linków miałem dłuugi spacer, na serwerku pojawił się kolejny program
Ip-Sentinel - ma spore możliwości, szybki i wyjątkowo agresywny. Coś co tygryski lubią najbardziej. Nie ma zabezpieczeń idealnych i każde jest do złamania, ale od ponad miesiąca mam idealny spokój. Gdy wredny user podłącza laptopa do sieci, wklepuje IP, bramkę, DNSy z ręki, a potem wchodzi w opcje sterownika sieciówki i zmienia MAC... spotyka go niemiła niespodzianka. Nie ma internetu i ... o, zgrozo ... nie można skorzystać z sieci lokalnej !
Gdy intruz wysyła zgłoszenie z zarejestrowanego adresu IP program zatruwa jego tablicę ARP. Dodatkowo mogą być przedsięwzięte inne środki luserobójcze - wymuszanie na switchu generowania pseudo kolizji, dzięki czemu pakiety od intruza zatrzymywane są bezpośrednio na przełączniku lub sterowanie switchem za pomocą protokołu STP tak aby nie przekazywał on żadnych danych od intruza.
Uruchomienie Ip-sentinela jest proste. Ponieważ pracuje on na prawach nieuprzywilejowanego użytkownika w chrootowanym środowisku, konieczne jest stworzenie takiego użytkownika już wybranie już istniejącego w systemie. W katalogu domowym takiego użytkownika tworzymy plik ips.cfg zawierający opis komputerów działających w sieci, np.:
192.168.0.{2-9}
192.168.0.10@!00:60:B0:6C:60:25
192.168.0.11@!00:30:C1:56:D5:25
192.168.0.12@!00:60:B0:C9:8F:2B
192.168.0.13@!00:30:C1:3D:CF:86
192.168.0.14@!00:20:6B:69:6C:E0
192.168.0.{15-20}
192.168.0.21@!00:B0:D0:70:EE:14
192.168.0.22@!00:B0:D0:70:EF:47
192.168.0.23@!00:05:1A:18:3C:DE
192.168.0.{24-254}
Chronione będą podane adresy IP wraz z przypisanymi do nich adresami MAC. Upewniamy się czy wybrany użytkownik ma prawa do odczytu pliku ips.cfg
Następnie uruchamiamy program poleceniem:
ipsentinel -u <user> -g <group> -r /home/<user> eth1
, gdzie zamiast <user> i <group> wpisujemy grupę i użytkownika na którego prawach będzie pracował program, czy to słownie, czy za pomocą UID i GID. W przypadku użycia standardowego katalogu domowego użytkownika parametr "-r" można pominąć.
Jeśli nie popełniliśmy jakiegoś błędu na liście procesów dwukrotnie pojawi się ip-sentinel a w pliku logu (/var/log/ip-sentinel.out) będziemy mogli zobaczyć efekty jego pracy gdy natrafi na intruza, np.:
(Re)reading blacklist.
@40000000462d402c2fc44d50: 192.168.1.2/0:7:95:50:97:c0 -> 192.168.1.1/0:0:0:0:0:0 [1:80:c2:0:0:1]
@40000000462d402c2fcc5bd0: 192.168.1.2/0:7:95:50:97:c0 >- 192.168.1.1/0:0:0:0:0:0 [1:80:c2:0:0:1]
@40000000462d404e02c411a0: 192.168.1.5/0:d0:59:12:af:15 -> 192.168.1.1/0:0:0:0:0:0 [1:80:c2:0:0:1]
@40000000462d404e02cbf140: 192.168.1.5/0:d0:59:12:af:15 >- 192.168.1.1/0:0:0:0:0:0 [0:d0:59:12:af:15]
@40000000462d40632ccf7368: 192.168.1.5/0:d0:59:12:af:15 -> 192.168.1.1/0:0:0:0:0:0 [1:80:c2:0:0:1]
Pakiety od 192.168.1.2 i 192.168.1.5 trafią na drogę do nikąd