Kiedy muszę administrować istniejącym serwerem Linux, co jest najlepszym sposobem, aby sprawdzić, czy jest bezpieczny?

9

Istnieje wiele samouczków dotyczących konfigurowania nowego zabezpieczonego serwera.

Ale co jeśli będę musiał administrować serwerem, który ktoś skonfigurował jakiś czas temu i nie wiem jeszcze dużo o jego konfiguracji?

Czy jest jakieś narzędzie, które automatycznie sprawdza „zwykłych podejrzanych” lub jakąś listę kontrolną, przez którą mogę przejść, aby upewnić się, że nie ma żadnych oczywistych luk w zabezpieczeniach? Czy istnieją usługi internetowe, które zdalnie sprawdzają podatność na zagrożenia?

Daniel Rikowski
źródło

Odpowiedzi:

13

Pobierz Nessus i wykonaj na nim kontrolę sieci. Powie ci o zdalnie wykorzystywanych lukach.

Zainstaluj także Ossec ; chociaż nie jest to jego głównym celem, znajdzie pewne typowe błędne konfiguracje (na przykład nieprawidłowo skonfigurowane konta). Jego podstawowa funkcja - wykrywanie włamań na podstawie hosta - pomoże ustalić, czy ktoś próbuje wykorzystać luki w zabezpieczeniach.

niXar
źródło
5
Nessus nie jest już oprogramowaniem typu open source. Widelec open source nazywa się openvas.
Anonimowy
1
Wiem. Ale nadal jest darmowy jak na piwo IIRC, a plakat nigdy nie powiedział, że chce tylko F / OSS.
niXar
+1 Nessus jest bardzo dobry, przeprowadziłbym również i skanowanie Nmapa ładowanie wyników do Nessus może pomóc w wykryciu kilku innych luk w zabezpieczeniach w niektórych przypadkach.
Mark Davidson,
1
+1 dla OSSEC. Posiada również moduł kontroli rootkit / systemu, który można uruchomić samodzielnie: ossec.net/rootcheck
sucuri
5

Zacznę od „kontrolnych” list kontrolnych Centrum Internet Security . Są to oparte na konsensusie listy kontrolne opracowane przez specjalistów ds. Bezpieczeństwa dla różnych platform i pakietów oprogramowania. Niektóre narzędzia wymienione w listach kontrolnych lub w inny sposób powszechnie zalecane, które pomogą w polowaniu na problemy bezpieczeństwa:

  • Nessus / OpenVAS (skaner podatności)
  • Nmap (skaner portów)
  • TCPdump / Wireshark (przechwytywanie pakietów libpcap)
  • SNORT (system wykrywania włamań)

(tcpdump jest domyślnie instalowany w wielu systemach Linux, lub może być łatwo zainstalowany z repozytorium pakietów i ma obszerną stronę podręcznika)

Jeśli dotyczy to firmy, w której pracujesz, upewnij się, że analiza bezpieczeństwa jest autoryzowana przez kierownictwo i że skany nie spowodują żadnego wyłączenia ani głupoty aplikacji. Tak, prosty portcan może powodować problemy - skanuje starsze drukarki HP Laserjet i wypluwa stosy papieru.

jtimberman
źródło
4

Jako bardzo szybkie pierwsze sprawdzenie:

Biegać

netstat -ltnp

jako root. To pokaże wszystkie usługi nasłuchujące w sieci:

Może to pokazać ci rzeczy, które chcesz od razu zamknąć. Następnie możesz kontynuować rozwiązania z innych odpowiedzi.

W przypadku usług, które muszą być uruchomione, ale nie są dostępne z zewnątrz (np. Lokalny serwer DB), rozważ zmianę konfiguracji, aby nasłuchiwała tylko na localhost / 127.0.0.1. W ten sposób mogą uzyskać do niego dostęp tylko lokalni użytkownicy.

Śleske
źródło
4

Sprawdziłbym Bastille-Linux na stronie http://www.bastille-unix.org/ , to zestaw skryptów, które można uruchomić i sprawdzi ustawienia systemu, uprawnienia do plików, ustawienia użytkownika itp. Użyłem go raz lub dwa razy na własnych polach i jeśli znajdzie problemy w domyślnych instalacjach (głównie r_x na narzędziach rsh / rsync). Wykazuje jako html / java + curses / płaski tekst.

Jimsmithkka
źródło
3

Co za dystrybucja?

Generał:

  • Przejrzyj ustawienia iptables i / lub zapory ogniowej
  • Przejrzyj konfiguracje SSHD
  • Przejrzyj wszystkie konfiguracje usług dostępne z zewnątrz
  • Upewnij się, że korzystasz z najnowszego dostępnego oprogramowania
  • Sprawdź luki w zabezpieczeniach jądra (uname -a, a potem google)
  • Przejrzyj uprawnienia użytkownika i uprawnienia grupy do plików edytowalnych
David Rickman
źródło
Brak specjalnej dystrybucji / wszystkie dystrybucje
Daniel Rikowski
Możesz także pobrać listę zainstalowanych pakietów. Coś takiego jak dpkg --get-selections> install_pkgs.txt dla dystrybucji Debian.
David Rickman,
2
Konieczne może być również sprawdzenie, czy nie ma nietypowych plików setuid / setgid, które konta mają ustawione hasła, jaka jest ich powłoka logowania itp., Aby wyeliminować łatwe tylne drzwi.
mas
Świetna sugestia, zupełnie zapomniałem o tej, która jest potencjalnie wielką dziurą.
David Rickman,
3

Innym dobrym pierwszym sprawdzeniem jest uruchomienie nazwy hosta nmap z innego hosta w sieci. Daje to pogląd z zewnątrz na to, co netstat pokazał na hoście.

kmarsh
źródło
3

Jeśli się martwisz, polecam wykonanie tych samouczków, o których wspomniałeś, i przebudowanie serwera. Zwłaszcza jeśli uważasz, że drugi administrator mógł zostawić coś złego. Jako nowy administrator powinieneś wiedzieć, jak wdrożyć dowolną usługę, którą ponownie uruchamia.

Po prostu upewnij się, że najpierw wykonałeś kopię zapasową wszystkich elementów, możesz zobrazować wszystkie partycje, aby upewnić się, że naprawdę wszystko działa poprawnie.

Jeśli twój szef ci na to nie pozwoli, rekomendacje dla wszystkich brzmią dla mnie dobrze :-)

Kyle Brandt
źródło
+1: Jeśli jego tworzenie / konfiguracja nie jest udokumentowana i masz czas, być może skorzystasz z okazji, aby go odbudować. Zamiast robić to pod przymusem w późniejszym terminie. Wtedy możesz być pewien, że jest bezpieczny i zostanie udokumentowany do wykorzystania w przyszłości.
Dan Carley,
2

Oprócz niektórych bardzo dobrych odpowiedzi tutaj, sprawdź http://www.sans.org/ . Mają bardzo dobre dokumenty, jeśli chcesz trochę przeczytać, aby lepiej zrozumieć „obronę w głębi”.

Niektóre z bardzo podstawowych przesłanek:

  • łataj swoje serwery
  • uruchom tylko te usługi, które muszą być uruchomione
  • ograniczyć dostęp użytkownika do serwera
Greeblesnort
źródło
1
Pamiętaj, aby ograniczyć także dostęp fizyczny, nie tylko z sieci.
iny
1

Wypróbuj także program chkrootkit , który znajduje się w standardowym repozytorium większości dystrybucji i jest bardzo łatwy w instalacji. Sprawdzi twój system pod kątem wielu znanych luk, rootkitów i robaków.

wazoox
źródło
1

Jedną z rzeczy, które możesz zrobić, aby poczuć system, jest odróżnienie folderu / etc od nowej instalacji (z tymi samymi zastosowanymi aktualizacjami). To powie ci, co się zmieniło, abyś mógł skoncentrować się na swoich obawach dotyczących bezpieczeństwa.

Chris Nava
źródło
1

Aby rozwinąć to, co powiedział mas, oto proste polecenie find, aby wyświetlić listę wszystkich plików setuid i setgid w systemie do przejrzenia.

find / -type f \( -perm -4000 -o -perm -2000 \) -print

Oczywiście, jak powiedzieli inni, to wszystko przy założeniu, że maszyna nie ma już rootkita ...

Ćwiek
źródło
1

Chrootkit / rkhunter to długo wiszący owoc. Jeśli masz zainstalowany rootkit, wszystko, co zostanie zgłoszone, zostanie naruszone, a zatem nie będzie zbyt dużej pomocy, więc pobierz je ze znanego źródła, nie używaj tych, które są już na pudełku. Inną dobrą sztuczką jest instalacja jądra, o którym wiesz, że jest dobre (albo z pakietów, albo z własnego). Sprawdź, czy nie ma backdoorów (lsof -i i 0 kont użytkowników innych niż root). Sprawdzanie reguł zapory może zwykle powiedzieć wiele na temat nawyków poprzednich administratorów. Umieść na nim wireshark / snort, spróbuj dostrzec coś niezwykłego. Zobacz, dokąd idą dzienniki. Sprawdź wszystkie pliki typu .profile / .bashrc pod kątem nietypowych poleceń. Poszukaj podejrzanych hostów w .ssh / known_hosts.

Marcin
źródło