Mam mini serwer Mac z systemem OS X Lion Server 10.7.3. Prawie działa bez nadzoru bez problemów. Jednak serwer jest pod ciągłym „atakiem” zgodnie z logami. Wygląda na to, że zapora ogniowa i zabezpieczenia się utrzymują.
Czy jest jakaś aplikacja / skrypt, który może wysłać mi e-mail za każdym razem, gdy ktoś / ktoś zaloguje się na serwerze za pomocą SSH, narzędzi administracyjnych lub ARD?
Ponieważ maszyna działa bez nadzoru, bez centrów danych w centrum danych w innym mieście, obawiam się, że ktoś może (poprzez czystą wytrwałość) złamać hasło lub znaleźć kompromis w systemie. Świadomość, że otrzymam powiadomienie, uspokoi mój umysł.
osx-server
remote-desktop
ssh
script
server.app
bloudraak
źródło
źródło
Odpowiedzi:
Najlepszą obroną jest zawsze wyłączenie niepotrzebnych usług. Jeśli nie używasz pulpitu zdalnego: wyłącz go. Jeśli nie korzystasz z serwerów HTTP lub FTP: wyłącz je. Mniej uruchomionych usług, mniej punktów wejścia dla potencjalnie intruzów do wykorzystania.
Oprócz zablokowania go, istnieje kilka bezpłatnych i otwartych produktów, które są przyjazne dla systemu OS X, na których można sprawdzić wykrywanie włamań na komputerze.
Parsknięcie
Chociaż nie prowadziłem go osobiście, mam kolegów, którzy znają go i ufają wykrywaniu włamań. Jest kompatybilny z BSD, więc dobrze pasuje do OS X. Kolejną zaletą Snorta jest to, że jest dostępny jako pakiet Homebrew :
Uzyskujesz więc uproszczoną ścieżkę instalacji, a niektórzy ufają, że dobrze wpasowuje się w system OS X i tam działa. Po zainstalowaniu Homebrew musisz tylko:
I jesteś gotowy, aby zacząć z tym.
Zapoznaj się z przewodnikiem instalacji serwera Snort dla systemu OS X Lion Server, który zapewnia społeczność Snort, aby rozpocząć pisanie reguł dla komputera z systemem OS X. To świetny dokument i oprócz omawiania instalacji Snorta ze źródła (czego nie musisz robić), mówi on o wszystkich rzeczach, które powinieneś zrobić w swojej instancji OS X Lion Server, aby ją chronić. Jeśli instalujesz przez Homebrew, zacznij od rozdziału 5 (strona 13) w pliku PDF, ponieważ nie musisz się martwić o instalację z kodu źródłowego.
Tripwire
Uruchomiłem Tripwire na komputerach z systemem Linux, aby szybko wykrywać włamania i alarmować. Jest skuteczny, ale konfiguracja jest trochę bestią. Może wykonywać działania, gdy reguły są dopasowane do plików dziennika. Oczywiście, doświadczony haker będzie wiedział, jak wyłączyć Tripwire, gdy tylko się włamią, aby nie zakończyć sesji.
Macworld podpowiedź mówi o tworzeniu Tripwire na OSX . To nie jest proste, a artykuł kończy się stwierdzeniem, że nie został przetestowany.
źródło
Możesz zahartować ssh i zainstalować denyhosts, sshguard oraz Snort, Barnyard, Base i Swatch.
Zobacz te linki, aby uzyskać szczegółowe informacje:
https://discussions.apple.com/thread/3565475 https://discussions.apple.com/thread/4473229?tstart=0
Wyłącz logowanie do roota i hasła:
vi /etc/sshd_config
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthenticatio no
Następnie użyj
ssh-keygen
na zdalnym kliencie do wygenerowania kluczy publicznych / prywatnych, których można użyć do zdalnego logowania na serwerze:client$ ssh-keygen -t rsa -b 2048 -C client_name [Securely copy ~/.ssh/id_rsa.pub from client to server.] server$ cat id_rsa.pub > ~/.ssh/known_hosts
Zainstaluj denyhosts i sshguard.
sudo port install denyhosts sshguard
sudo port load denyhosts
sudo port load sshguard
Możesz skonfigurować denyhosts tak, aby blokował cały ruch, a nie tylko ruch ssh.
Snort ze światową mapą ataków:
https://discussions.apple.com/thread/4473229?tstart=0
źródło
Bezpośrednia odpowiedź na postawione pytanie. Mam inny skrypt, który przesyła mi e-mailem ponownie około północy, jeśli ktoś pomyślnie zaloguje się przez ssh.
Edytuj
grep
powyższe, aby wykluczyć własny stały adres IP, jeśli chcesz, i użyć swojego adresu e-mail. Możesz połączyć część kodu w mojej drugiej odpowiedzi, aby dodać awarie dla VNC.źródło
Aby rozszerzyć nieco na Fail2ban , po jego skonfigurowaniu i uruchomieniu mam skrypt, który uruchamiam tuż przed północą, który usuwa dane z dzienników i wysyła mi e-mailem informacje o tym, co robi Fail2ban poprzedniego dnia.
Skrypt jest następujący i można go uruchomić z crona lub uruchomionej listy odtwarzania.
Oczywiście będziesz musiał użyć wybranego adresu e-mail.
Konfiguracja Fail2ban to zupełnie inna sprawa. Dużo o tym pisałem.
źródło
Zainstalowanie wtyczki Google Authenticator PAM na Mac OS X jest dość proste, jeśli masz zainstalowany kompilator wiersza poleceń X-Code. Kod i instrukcje są tutaj:
https://code.google.com/p/google-authenticator/wiki/PamModuleInstructions
Po zainicjowaniu tokena (wygenerowaniu kodu, który podajesz do aplikacji na telefonie), będziesz mieć uwierzytelnianie dwuskładnikowe, aby chronić swój komputer. Każde konto bez zainicjowanego tokena nie będzie mogło się zalogować, więc jeśli nie chcesz zezwalać na logowanie do konta root, nie inicjuj klucza dla tego konta.
Ale tak na poważnie, coś takiego jak DenyHosts ma sens tylko wtedy, gdy SSH musi być otwarte w Internecie. Niestety, odkąd Mac OS X 10.8, Apple usunęło obsługę tcpwrapperów z demona SSH, więc ignoruje /etc/deny.hosts, co było głupim posunięciem, jeśli mnie zapytasz, usunięcie funkcji bezpieczeństwa.
Aby obejść ten problem, użyłem MacPorts do zainstalowania aktualnego demona openssh i przywrócenia pełnej funkcjonalności tcpwrappers, edytowałem i używałem demona DenyHosts do monitorowania /var/log/system.log i blokowania adresów IP zgadujących loginy i hasła . I nie zapomnij aktualizować MacPorts i sprawdzać / ponownie instalować openssh / DenyHosts przy każdej aktualizacji systemu operacyjnego.
Powodzenia!
źródło
Zdaję sobie sprawę, że jest to stary post, ale pomyślałem, że może to pomóc komuś, kto nie może zaprogramować ani zaoszczędzić czasu na przeszukiwaniu sieci. Właśnie napisałem to podczas przerwy na lunch i wyśle e-mailem udane i nieudane próby, a także zablokowane adresy IP za pomocą nieudanych prób. Program napisany jest w języku Ruby. Sendmail jest instalowany wraz z klejnotami poczty i plików.
Kod źródłowy poniżej:
źródło