Dziedzicz istniejący serwer

9

Właśnie odziedziczyłem 6 serwerów WWW od poprzedniego faceta od serwerów, który został zwolniony, nie jestem administratorem, jestem raczej DevOps.

Czy ktoś mógłby wskazać mi jakąś standardową listę kontrolną, którą należy przestrzegać podczas dziedziczenia istniejących serwerów? Muszę wiedzieć:

  1. Jakie oprogramowanie znajduje się na serwerach
  2. Jakie są standardowe czynności, które należy zrobić, aby sprawdzić, czy są bezpieczne?
  3. co się z nimi łączy i do czego są one podłączone?
  4. Co jeszcze powinienem wiedzieć?

Wszelkie porady są mile widziane, miałem nadzieję, że istnieje standardowa lista kontrolna, którą można zastosować na początku, ale nic nie znalazłem.

Wszystkie serwery to Ubuntu (różne wersje)

użytkownik3408844
źródło
3
Nie jesteś DevOps. DevOps to nie tytuł, to kultura.
gWaldo
Jaki byłby lepszy termin na określenie „Deweloper zmuszony do wykonywania pracy sysadmins bez wiedzy specjalistycznej sysadmin, ale dobre zrozumienie wszystkich zaangażowanych koncepcji i wystarczająca ilość doświadczenia, aby„
przetrwać
Zgadzam się, że przeczytałem DevOps na Wikipedii. Widzę, że użyłem go niepoprawnie, ale wydaje się, że stał się slangiem w codziennym życiu deweloperów, którzy muszą stać się pół syadminami
użytkownik3408844
Termin, który opisujesz, to „Deweloper” lub „Deweloper zmuszony do podjęcia niektórych obowiązków związanych z systemami / operacjami”.
gWaldo
Łał! - włożono w to wiele wysiłku
użytkownik3408844

Odpowiedzi:

24
  1. Aby ustalić, jakie oprogramowanie zostało zainstalowane, możesz przejrzeć /var/log/dpkg.log Jednak może to nie być pełny zapis. Mogą istnieć pliki binarne i kod, który został skompilowany ręcznie lub skopiowany bezpośrednio do wstępnie skompilowanego systemu. Państwo mogli porównać domyślna instalacja tej samej wersji Ubuntu i typu do serwera (ów) i poszukaj jakie pliki są różne, ale że może być spokojny nużące. Rozwiązanie Monitor plik byłby idealny (tripewire, inotifywatch itp) http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html

  2. Musisz sprawdzić WSZYSTKO na serwerze. Każde konto użytkownika w / etc / passwd , każde konto użytkownika aplikacji (takie jak użytkownicy w Apache / PHP, konta bazy danych itp.) Powinno być rozliczone i należy zmienić wszystkie hasła. Powinieneś sprawdzić, jakie usługi są uruchamiane podczas rozruchu, jaki jest domyślny poziom uruchamiania i co zaczyna się od niego i od innych poziomów uruchamiania. Korzystałbym ze skanera podatności i podstawowego narzędzia konfiguracyjnego do kontroli bieżącego stanu. Center for Internet Security oferuje bezpłatne narzędzie do oceny konfiguracji, ale może być ograniczone. Mają bardziej zaawansowane narzędzia dla organizacji członkowskich ($). http://benchmarks.cisecurity.org/ OpenVAS to skaner FOSS, podobnie jak Nessus, który może mieć podobne możliwości. Jest wiele, wiele innych rzeczy do sprawdzenia, ale ta odpowiedź jest już trochę długa ... (dobry przegląd aplikacji i stron internetowych jest dobrym przykładem).

  3. Możesz zobaczyć stan portów dostępnych dla połączeń z serwerami z różnymi flagami dla netstat . http://www.thegeekstuff.com/2010/03/netstat-command-examples/ Aby zidentyfikować, kto łączy się z serwerem, będziesz musiał skorzystać z najseksowniejszych czynności związanych z zabezpieczeniami internetowymi, przeglądając dzienniki systemowe. Informacje mogą znajdować się w dowolnym dzienniku w zależności od aplikacji i serwerów w systemie. Możesz także mieć szczęście z dziennikami sieci zewnętrznej, jeśli istnieją.

  4. Masz wiele do zrobienia. Wskazałeś, że poprzedni administrator został zwolniony ; jeśli podejrzewasz złośliwe zamiary tej osoby (tj. mogły opuścić tylne drzwi, pułapki boobie, bomby logiczne itp.), prawie na pewno lepiej będzie odbudować serwery z czystych mediów i ponownie zainstalować na nich aplikacje internetowe. Jeśli ten poprzedni administrator miał pełny dostęp i kontrolę nad tym systemem i nie był poddawany starannym audytom i nadzorowi, prawdopodobnie należy założyć, że istnieją backdoory.

Jest to oparte na pesymistycznym założeniu dotyczącym poprzedniego administratora. Niestety w ten sposób plik cookie rozpada się w celu zapewnienia bezpieczeństwa operacyjnego sieci. Jak już powiedziałem, jest o wiele więcej do rozważenia ... o wiele więcej niż można tutaj omówić. Punkty te powinny dać ci kilka rzeczy do zrobienia, abyś mógł zgłosić zarządowi, że robisz postępy; ale szczerze mówiąc, jeśli nie jesteś specjalistą ds. bezpieczeństwa i masz powód, by podejrzewać, że ta osoba działała złośliwie, prawdopodobnie masz już wszystko nad sobą.

Jest to niepopularna odpowiedź wśród kadry zarządzającej, ponieważ wymaga dużo wysiłku (co oznacza więcej $), ale ogólną odpowiedzią na bezpieczeństwo jest wątpliwość, czyść i odbuduj z czystych źródeł . Tak właśnie najważniejsze systemy nie działają ze złośliwym oprogramowaniem; jeśli pojawi się alert z AV, system zostanie posegregowany, wyczyszczony i odbudowany. Mam nadzieję, że wykonałeś kopię zapasową, ponieważ dane zniknęły .

Powodzenia i mam nadzieję, że było to pomocne, a nie tylko przygnębiające.

0x Owczarek
źródło
To pytanie może również dobrze pasować do strony StackExchange www.AskUbuntu.com
0xSheepdog
2
Doskonała odpowiedź.
EEAA
3
Czyszczenie i odbudowywanie jest prawdopodobnie znacznie łatwiejsze, jeśli masz dobre zarządzanie deklaratywną konfiguracją. Jeśli tego nie zrobisz, prawdopodobnie powinieneś rozważyć dążenie do tego celu.
zigg
2
/var/log/dpkg.logdobrze nadaje się do przeglądu samego procesu instalacji (i szukania błędów), ale aby uzyskać listę zainstalowanych pakietów, dane wyjściowe dpkg -llub nawet prostsze dpkg --get-selectionsbyłyby łatwiejsze do strawienia.
Dubu,
0

Strony podręcznika są twoim przyjacielem:

 man <command> 

Sprawdź te często używane polecenia i ich użycie. Znajdź więcej pomocy na stronach podręcznika dla każdego lub w niektórych przypadkach, uruchamiając

  <command> --help 

Oprogramowanie:

  • dpkg -l (wyświetla listę zainstalowanych programów)
  • ps -ef | more (pobierz listę uruchomionych procesów i pauzę w czytaniu)

Bezpieczeństwo:

  • iptables (jakie porty są otwarte i czy są konieczne)
  • sprawdzaj aktualizacje za pomocą apt-get (czy serwery są aktualne?)
  • cat / etc / passwd (kto ma konto na pudełku)
  • sshd (sprawdź, czy sshd jest uruchomiony i kto może się na nim zalogować)

Znajomości:

  • netstat (jakie usługi nasłuchują i na jakich portach)

Powodzenia. Trudno jest dziedziczyć partię serwerów, a osoba, która je obsługuje, nie ma możliwości przeszkolenia cię. Jeśli ten facet został zwolniony, jest to jeszcze bardziej niepokojące, ponieważ zakładam, że istniał powód i jeśli zakładam, że był on związany z pracą, może być kilka dziwnych ustawień w partii.

Chris Jones
źródło
0
  1. które aplikacje są uruchomione: wykonaj „ps -ef” lub „ps -auxw”, aby uzyskać listę procesów. usuń wszystko, co nie jest związane z jądrem, poszukaj uruchomionych rzeczy, zrób strony podręcznika na każdym z nich, aby dowiedzieć się, co to jest. większość uruchomionych procesów można bezpiecznie zignorować, ponieważ nie są to aplikacje użytkownika

  2. dla bezpieczeństwa: wykonaj polecenie „netstat -pan”, aby zobaczyć, które porty są otwarte, i zamknij te, które nie są konieczne. Innymi słowy, jedynymi portami, które powinny być otwarte, są te, które odpowiadają usługom sieciowym świadczonym przez te serwery. Jeśli serwer jest serwerem WWW, to oczywiście musi nasłuchiwać na porcie 80/443 / itp. Ale jeśli serwer nasłuchuje na porcie 21 i nikt go nie używa, powinieneś wyłączyć proces, w którym ten port jest otwarty.

  3. w przypadku połączeń ponownie „netstat -pan” daje odpowiedź. Informuje, które hosty są podłączone i do których portów są podłączone.

  4. przejrzyj logi w / var / log, aby dowiedzieć się, co robi ich system i zobaczyć, czy są jakieś oczywiste błędy lub czerwone flagi pochodzące z różnych aplikacji.

Michael Martinez
źródło