Linux hardening steps for starters

większość systemów ma poufne dane, które muszą być chronione. Aby zabezpieczyć te dane, musimy zabezpieczyć nasz system Linux. Ale jak prawidłowo utwardzić system Linux? W tym artykule omówimy to krok po kroku. Zaczynamy od fizycznych środków bezpieczeństwa, aby w pierwszej kolejności uniemożliwić nieautoryzowanym osobom dostęp do systemu. Następnie wykonujemy instalację we właściwy sposób, więc mamy solidne podstawy. Na koniec zastosujemy zestaw wspólnych środków bezpieczeństwa. Po zakończeniu, Twój system serwera lub pulpitu powinien być lepiej chroniony. Gotowy? Przystąpmy do pierwszych kroków!

spis treści

Linux jest już domyślnie Bezpieczny, prawda?

jednym z mitów na temat Linuksa jest to, że jest on bezpieczny, ponieważ nie jest podatny na wirusy lub inne formy złośliwego oprogramowania. Jest to częściowo prawda, ponieważ Linux korzysta z podstaw oryginalnego systemu operacyjnego UNIX. Procesy są oddzielone, a normalny użytkownik jest ograniczony w tym, co może zrobić w systemie. Mimo to Linux nie jest domyślnie całkowicie bezpieczny. Jednym z powodów są dystrybucje Linuksa, które zawierają jądro GNU / Linuksa i związane z nim oprogramowanie. Muszą wybierać między użytecznością, wydajnością i bezpieczeństwem.

przy trudnych wyborach, jakie muszą podjąć dystrybucje Linuksa, możesz być pewien kompromisów. Kompromisy te zazwyczaj skutkują obniżeniem poziomu bezpieczeństwa. Co z złośliwym oprogramowaniem dla Linuksa? To na pewno mit. Platforma Linux ma również spory udział backdoorów, rootkitów, prac, a nawet oprogramowania ransomware. Jest to jeden z powodów, dla których ważne jest, aby wykonać hartowanie systemu, audyt bezpieczeństwa i sprawdzenie zgodności z wytycznymi technicznymi.

obraz elementów istotnych dla hartowania, audytu i zgodności systemu Linux.

bezpieczeństwo systemu Linux ma wiele aspektów, w tym hartowanie systemu Linux, audyt i zgodność.

co to jest hartowanie systemu?

aby poprawić poziom bezpieczeństwa systemu, podejmujemy różne rodzaje środków. Może to być usunięcie istniejącej usługi systemowej lub odinstalowanie niektórych składników oprogramowania.

hartowanie systemu to proces robienia „właściwych” rzeczy. Celem jest zwiększenie poziomu bezpieczeństwa systemu. Istnieje wiele aspektów prawidłowego zabezpieczenia systemu. Jednak podstawy są podobne dla większości systemów operacyjnych. Tak więc proces utwardzania systemu dla pulpitu i serwerów Linuksa jest wyjątkowy.

podstawowe zasady hartowania systemu

gdybyśmy umieścili mikroskop na hartowaniu systemu, moglibyśmy podzielić proces na kilka podstawowych zasad. Należą do nich zasada najmniejszego przywileju, segmentacji i redukcji.

zasada najmniejszych uprawnień

zasada najmniejszych uprawnień oznacza, że dajesz użytkownikom i procesom absolutne minimum uprawnień do wykonywania ich pracy. Jest to podobne do przyznawania odwiedzającym dostępu do budynku. Możesz dać pełny dostęp do budynku, łącznie ze wszystkimi wrażliwymi obszarami. Inną opcją jest umożliwienie gościom dostępu tylko do jednego piętra, gdzie muszą być. Wybór jest łatwy, prawda?

:

  • gdy dostęp tylko do odczytu jest wystarczający, nie nadawaj uprawnień do zapisu
  • nie zezwalaj na kod wykonywalny w obszarach pamięci oznaczonych jako segmenty danych
  • nie uruchamiaj aplikacji jako użytkownik root, zamiast tego używaj nieuprzywilejowanego konta użytkownika

segmentacja

następną zasadą jest dzielenie większe obszary na mniejsze. Jeśli jeszcze raz spojrzymy na ten budynek, podzielimy go na kilka pięter. Każde piętro można dodatkowo podzielić na różne strefy. Może odwiedzający jest dozwolone tylko na piętrze 4, w niebieskiej strefie. Jeśli przetłumaczymy to na bezpieczeństwo Linuksa, ta zasada będzie miała zastosowanie do użycia pamięci. Każdy proces ma dostęp tylko do własnych segmentów pamięci.

redukcja

zasada ta ma na celu usunięcie czegoś, co nie jest ściśle potrzebne do działania systemu. Wygląda na to, że zasada najmniejszego przywileju, ale koncentruje się na zapobieganiu czemuś w pierwszej kolejności. Proces, który nie musi być uruchomiony, powinien zostać zatrzymany. Podobnie jest w przypadku niepotrzebnych kont użytkowników lub poufnych danych, które nie są już używane.

etapy utwardzania systemu

przegląd etapów utwardzania

  1. instaluj aktualizacje zabezpieczeń i poprawki
  2. używaj silnych haseł
  3. Wiązaj procesy z localhostem
  4. zaimplementuj zaporę ogniową
  5. utrzymuj porządek
  6. konfiguracje zabezpieczeń
  7. Ogranicz dostęp
  8. monitoruj swoje systemy
  9. twórz kopie zapasowe (i testuj!
  10. wykonaj audyt systemu

1. Instalowanie aktualizacji zabezpieczeń i poprawek

większość słabych stron systemów jest spowodowana wadami oprogramowania. Te wady nazywamy słabościami. Właściwa opieka nad oprogramowaniem patch management pomaga zmniejszyć wiele związanych z tym zagrożeń. Aktywność instalowania aktualizacji często wiąże się z niskim ryzykiem, zwłaszcza gdy zaczynasz od poprawek zabezpieczeń. Większość dystrybucji Linuksa ma możliwość ograniczenia pakietów, które chcesz uaktualnić (wszystkie, tylko bezpieczeństwo, na pakiet). Upewnij się, że aktualizacje zabezpieczeń są instalowane, gdy tylko będą dostępne. Jest rzeczą oczywistą, że zanim coś zaimplementujesz, najpierw przetestuj to na (wirtualnym) systemie testowym.

w zależności od twojej dystrybucji Linuksa może istnieć sposób na automatyczne implementowanie poprawek bezpieczeństwa, takich jak nienadzorowane aktualizacje Debiana i Ubuntu. To sprawia, że zarządzanie łatkami oprogramowania jest o wiele łatwiejsze!

2. Użyj silnych haseł

główną bramką do systemu jest zalogowanie się jako ważny Użytkownik przy użyciu odpowiedniego hasła tego konta. Silne hasła utrudniają narzędziom odgadnięcie hasła i pozwalają złośliwym ludziom wejść przez frontowe drzwi. Silne hasło składa się z różnych znaków (alfanumerycznych, liczb, specjalnych, takich jak procent, spacja, a nawet znaki Unicode).

3. Powiąż procesy z localhost

nie wszystkie usługi muszą być dostępne za pośrednictwem sieci. Na przykład, podczas uruchamiania lokalnej instancji MySQL na serwerze WWW, pozwól mu nasłuchiwać tylko na lokalnym gnieździe lub bindować do localhost (127.0.0.1). Następnie skonfiguruj aplikację tak, aby łączyła się za pomocą tego adresu lokalnego, który zazwyczaj jest już domyślny.

4. Zaimplementuj zaporę sieciową

tylko dozwolony ruch powinien w idealnej sytuacji dotrzeć do Twojego systemu. Aby to osiągnąć, zaimplementuj rozwiązanie zapory sieciowej, takie jak iptables lub nowsze nftables.

podczas tworzenia zasad dla zapory sieciowej rozważ użycie zasad „odmawiaj wszystkim, Zezwalaj na niektóre”. Domyślnie odrzucasz cały ruch, a następnie definiujesz, na jaki rodzaj ruchu chcesz zezwolić. Jest to szczególnie przydatne w przypadku ruchu przychodzącego, aby zapobiec udostępnianiu usług, których nie zamierzałeś udostępniać.

przydatne lektury:

  • różnice między iptables i nftables

5. Utrzymuj porządek

wszystko zainstalowane w systemie, który tam nie należy, może tylko negatywnie wpłynąć na twoją maszynę. Zwiększy to również czas tworzenia kopii zapasowych (i przywracania). Albo mogą zawierać luki w zabezpieczeniach. Czysty system jest często bardziej zdrowy i bezpieczny. Dlatego minimalizacja jest świetną metodą w procesie hartowania Linuksa.

:

  • Usuń nieużywany pakiet
  • Wyczyść stare katalogi domowe i usuń użytkowników

6. Bezpieczne konfiguracje

większość aplikacji ma jeden lub więcej dostępnych środków bezpieczeństwa w celu ochrony przed niektórymi formami zagrożeń dla oprogramowania lub systemu. Spójrz na stronę podręcznika dla wszystkich opcji i przetestuj je uważnie.

7. Ogranicz dostęp

Zezwalaj tylko na dostęp do maszyny autoryzowanym użytkownikom. Czy ktoś naprawdę potrzebuje dostępu lub czy możliwe są alternatywne metody, aby dać użytkownikowi to, czego chce?

8. Monitoruj swoje systemy

Większość włamań jest niewykryta z powodu braku monitorowania. Wdrożenie normalnego monitorowania systemu i wdrożenie monitorowania zdarzeń bezpieczeństwa. Na przykład użycie Linux audit Framework zwiększyło wykrywalność podejrzanych zdarzeń.

9. Tworzenie kopii zapasowych (i test!)

regularnie wykonuj kopię zapasową danych systemowych. Może to zapobiec utracie danych. Co ważniejsze, przetestuj swoje kopie zapasowe. Posiadanie kopii zapasowej jest miłe, ale naprawdę liczy się przywracanie!

kopie zapasowe można wykonać za pomocą istniejących narzędzi systemowych, takich jak tar i scp. Inną opcją oszczędzania przepustowości jest synchronizacja danych z narzędziami takimi jak rsync. Jeśli wolisz używać programu do tworzenia kopii zapasowych, rozważ Amandę lub Baculę.

10. Wykonaj audyt systemu

zrzut ekranu programu Lynis (narzędzie do audytu systemu Linux/Unix)

zrzut ekranu z audytu bezpieczeństwa serwera Linux wykonanego za pomocą programu Lynis.

nie możesz odpowiednio chronić systemu, jeśli go nie zmierzysz.

użyj narzędzia zabezpieczającego, takiego jak Lynis, aby regularnie przeprowadzać audyt systemu. Wszelkie ustalenia są pokazywane na ekranie, a także przechowywane w pliku danych do dalszej analizy. Dzięki rozbudowanemu plikowi logów pozwala na wykorzystanie wszystkich dostępnych danych i zaplanowanie kolejnych działań w celu dalszego hartowania systemu.