Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu

W tym materiale zapoznamy się z głównymi narzędziami hartowania Linuksa. W języku rosyjskim nazywa się to jakoś jak "Sprawdzanie poziomu bezpieczeństwa systemów Linux i ocenia poprawność konfiguracji z punktu widzenia IB". Oczywiście, nie tylko dokonujemy przeglądu programów, ale także podaj przykłady ich użycia.

Sam audytor lub siła własna

Przed administratorzy, a jeszcze bardziej, zanim Audytorzy IB często stoją zadania, aby sprawdzić bezpieczeństwo dużej liczby gospodarzy w bardzo krótkim czasie. Oczywiście, aby rozwiązać te zadania w segmencie przedsiębiorstwa, na przykład specjalistyczne narzędzia, takie jak skanery bezpieczeństwa sieci. Jestem przekonany, że wszystkie z nich - z silnika Openvas OpenVAS do produktów komercyjnych, takich jak Nessus lub Nexpospe, są znane naszym czytnikowi. Jednak to oprogramowanie jest zwykle używane do wyszukiwania przestarzałych, a zatem wrażliwych, a następnie uruchomić zarządzanie poprawką. Ponadto nie wszystkie skanery uwzględniają określone cechy wbudowanego mechanizmów ochrony Linux i innych produktów otwartych źródeł. Cóż, wartość jest ceną tego pytania, ponieważ produkty handlowe są w stanie pozwolić sobie z wyjątkiem firm, które przydzielają budżety w ramach tego biznesu.

Dlatego dzisiaj będzie to specjalistyczny zestaw swobodnie rozproszonych narzędzi, które mogą zdiagnozować obecny poziom poziomów bezpieczeństwa systemu, ocenić potencjalne zagrożenia, na przykład "dodatkowe usługi", które są online lub niebezpieczne konfiguracja domyślnie, a nawet oferta Opcje poprawiania znalezionych wad. Kolejną zaletą korzystania z tych narzędzi jest możliwość replikacji typowych scenariuszy z dowolnej liczby systemów Linux i utworzyć udokumentowaną bazę danych testowej w formie dzienników i poszczególnych raportów.

Praktyczne aspekty audytu bezpieczeństwa

Jeśli spojrzysz oczami audytora, podejście do testowania można podzielić na dwa typy.

Pierwszy - Jest to zgodność z tak zwanymi wymaganiami zgodności, jest tutaj sprawdzana, aby obecność obowiązkowych elementów obrony określonej w dowolnej standardzie międzynarodowej lub "najlepszej praktyce". Klasyczny przykład - Wymagania PCI DSS dotyczące płatności Systemy IT, SOx404, serii NIST-800 ,.

druga - Jest to czysto racjonalne podejście oparte na pytaniu "Co jeszcze mogę zrobić, aby wzmocnić bezpieczeństwo?". Nie ma obowiązkowych wymagań - tylko twoja wiedza, jasna głowa i umiejętne ręce. Na przykład aktualizuje wersje pakietów jądra i / lub aplikacji, włączenie, wymuszanie, skonfiguruj zaporę.

Wszystko, co odnosi się do drugiego podejścia, jest zwyczajowo nazwać specjalny termin. Hartowanie.Co jeszcze można zdefiniować jako "działania mające na celu wzmocnienie poziomu początkowego bezpieczeństwa systemu operacyjnego (lub programu) głównie przez personel".

Zgodność z wymogami zgodności, z reguły, sprawdź przy przygotowywaniu się do przejścia obowiązkowego audytu PCI DSS lub innego audytu certyfikacji. Zwrócimy większą uwagę na komponent hartowania. Wszyscy główni deweloperzy oferują swoje produkty. Wytyczne utwardzające. - Podręczniki zawierające wskazówki i zalecenia, jak wzmocnić bezpieczeństwo, biorąc pod uwagę mechanizmy bezpieczeństwa personelu i specyfikę oprogramowania. Podobnie, podobne przewodniki mają czerwony kapelusz, Debian, Oracle, Cisco.

Info

Hartowanie jest terminem od świata IB, który oznacza proces bezpieczeństwa systemu (program), zmniejszając jego podatność i, z reguły, stosując tylko regularne media lub mechanizmy ochronne.

Sudo apt-pobierz aktualizację sudo apt-get install lynis

I dla dystrybucji zorientowanych na obrogi (wstępnie dodawanie odpowiednich repozytoriów):

Mniam install linus -y

Instalacja na MacOS:

$ Brew Search Lynis $ Brew Install Lynis

Aby rozpocząć Lynis, wystarczy określić co najmniej jeden klucz. Na przykład, aby rozpocząć wszystkie dostępne testy, musisz określić klucz -c (sprawdź wszystko, sprawdź wszystko):

# Typowy Sudo Lynis Audyt System Audytu Zestaw testów # Pełny zestaw testów Sudo Lynis Audit System -C -C # Skanowanie zdalnego sterownika Audytu zdalnego







Audyt jest zawsze przydatny do sprawdzenia, czy dostępna jest nowa wersja Lynis:

Lynis Update Info && Lynis Update Check

Narzędzie Lynis, oprócz standardu, istnieje inny tryb - nieprzestrzenione uruchomienie:

Audyt Lynis --pentest.

Jeśli chcesz umieścić nazwę audytora, uruchomienie testów, dodaj parametr -Auditor :

Sudo Lynis Audit System -C -Auditor Daddy

Na każdym etapie kontroli proces weryfikacji może być kontynuowany (ENTER) lub przymusowy zakończony (Ctrl + C). Wyniki przeprowadzonych testów zostaną zapisane w Lynis Magazine w /var/log/lynis.log. Spotkaj się, że magazyn zastąpi za każdym razem, gdy narzędzie jest następne uruchomienie.

Aby przetestować systematyczne podstawy, w trybie automatycznym, możesz przypisać odpowiednie zadanie w harmonogramie Cron za pomocą klawisza -Cronjob. W tym przypadku narzędzie rozpocznie się na określonym tempie (Config) i nie wyświetli żadnych interaktywnych wiadomości, pytań i ostrzeżeń. Wszystkie wyniki zostaną zapisane w dzienniku. Na przykład tutaj jest skrypt do uruchomienia narzędzia z domyślną konfiguracją między raz w miesiącu:

#! / Bin / sh audytor \u003d "Zautomatyzowany" data \u003d $ (data +% y% m% d) host \u003d $ (nazwa hosta) Log_dir \u003d "/ var / Log / Lynis" Raport \u003d "$ Log_dir / Report - $ ($ ($ ($ Host). $ (Date) "Data \u003d" $ Log_dir / Report-Data - $ (Host). $ (Data) .txt "CD / USR / LOKALNE / LYNIS ./LYNIS -C -C -Auditor" $ (audytor) " -Cronjob\u003e $ (raport) MV /var/log/lynis-report.dat $ (dane) # koniec

Zapisz ten skrypt do katalogu /etc/cron.monthly/lynis. I nie zapomnij dodawać ścieżek, aby zapisać dzienniki (/ usr / Local / Lynis i / Var / Log / Lynis), w przeciwnym razie nieprawidłowa praca.

Możesz zobaczyć listę wszystkich poleceń dostępnych do połączenia:

Polecenia Lynis Show.

Szczególnie ciekawy może wyglądać ustawienia z domyślnej konfiguracji:

LInis Pokaż ustawienia

Krótka instrukcja dotycząca pracy z użytecznością:

Człowiek lynis.

Opcje dla możliwych statusów na wynikach kontroli są ograniczone do następującej listy: Żaden, słaby, zrobiony, znaleziony, nie_found, ok, ostrzeżenie.


Uruchamianie poszczególnych testów w Lynis

W praktyce konieczne jest przeprowadzenie tylko niektórych testów. Na przykład, jeśli serwer wykonuje tylko serwer pocztowy lub funkcje Apache. Aby to zrobić, możemy użyć parametru -tests. Składnia polecenia jest następująca:

Lynis -tests "Test-Ids"

Jeśli trudno jest zrozumieć ze względu na dużą liczbę identyfikatorów testowych, możesz użyć parametru grupy-kategorii. Dzięki tej opcji Lynis uruchamia identyfikatory tylko tych testów, które są zawarte w określonej kategorii. Na przykład planujemy rozpocząć testy zapory i jądra:

./lynis -tests-kategoria "firewalls jądro"

Ponadto funkcjonalność Lynis rozszerza różne wtyczki, które mogą być dodawane niezależnie, a można umieścić nowe w istniejącym katalogu.

Propozycje korekty (sugestie)

Wszystkie ostrzeżenia (ostrzeżenia) będą wymienione po wyników. Każdy zaczyna się od tekstu ostrzeżenia, następnie obok wsporników wskazują test, który go wygenerował. Poniższa linia sugeruje rozwiązanie problemu, jeśli istnieje. W rzeczywistości ostatnia linia jest adresem URL, dla którego można zobaczyć szczegóły i znaleźć dodatkowe zalecenia, jak wyeliminować problem.

Profile

Profile kontrolujące audyt są zdefiniowane w plikach rozszerzających .prf.znajduje się w katalogu / etc / Lynis. Domyślny profil jest nazywany przewidywalnym: domyślnie.prf. Deweloperzy nie są zalecani do edycji go bezpośrednio: Wszelkie zmiany, które chcesz dodać do audytu, lepiej dodać do pliku Custom.prf, znajdujący się w tym samym katalogu.

Kontynuacja dostępna tylko dla uczestników

Opcja 1. Dołącz do społeczności witryny, aby przeczytać wszystkie materiały na stronie

Członkostwo we Wspólnocie w określonym okresie otworzy Państwu dostęp do wszystkich materiałów hakerów, zwiększy osobisty rabat akumulatorowy i gromadzi profesjonalną ocenę wyniku Xakep!

Ochrona informacji jest kwestią priorytetowej dla każdego biznesu online. Infekcje wirusowe i ataki zewnętrzne, a także nieautoryzowany dostęp do informacji - wszystko to pociąga za sobą duże ryzyko finansowe i reputacyjne. Dlatego wybór platformy serwerowej, właściciele firm zawsze interesują się stopniem bezpieczeństwa zasobów.
I sprawdzić, jak dobrze działa system ochrony, czy nie ma w nim luki, a "otwory", co najmniej raz w miesiącu zaleca się prowadzenie audytu bezpieczeństwa serwera.

Co jest zawarte w audycie Security Server

Nawet nieznaczne bezpieczeństwo, na pierwszy rzut oka, takie jak niewłaściwy sam serwer lub przestarzały oprogramowanie może stać się zagrożeniem dla bezpieczeństwa. Audyt pomaga zidentyfikować słabe miejsca ochrony i podejmowanie terminowych środków w celu wyeliminowania ich przed wystąpieniem infekcji lub defraudacji danych.
Administrator serwera sprawdza zainstalowane oprogramowanie, jego zgodność z najnowszymi aktualizacjami, ocenia ustawienia zabezpieczeń serwera i eliminuje błędy, jeśli są takie, a także analizuje zgodność ustawień praw dostępu do pracowników do jednego lub innych zasobów.

Jak spędzić audyt wirtualnego serwera z własnymi rękami

Sprawdź bezpieczeństwo serwerów na platformach Windows lub Linux, może każdy użytkownik, ponieważ nie jest to konieczne, aby mieć specjalną wiedzę w programowaniu.
Kontrola bezpieczeństwa może być podzielona na kilka etapów:

Fizyczny dostęp

W przypadku serwera dedykowanego, fizyczny dostęp do serwera trzecich jest domyślnie ograniczony, zapewnia centrum danych. Ale użytkownik może dodatkowo zainstalować hasło, aby uzyskać dostęp do BIOS.

Firewall.

W celu ciągłej kontroli oprogramowania i portów Firewall Windows jest prawidłowo skonfigurowany i włączony. W systemie Linux można użyć systemu SELINUX do sterowania dostępem. Możemy również wynająć sprzętową fireroll Cisco Asa lub Fortinet Fortiate 60D.

System plików

sprawdzanie aktualizacji

Skonfiguruj automatyczne odbiór i montaż aktualizacji na serwerze.

Polityka haseł

Zainstaluj system Windows za pomocą lokalnej polityki bezpieczeństwa wymaga wymogu złożonych haseł, terminu ich działania, a także blokady konta po kilku nieudanych autoryzacji lub pustym hasła.

Kontrola dzienników.

Uwzględnij rejestrowanie dla segmentów infrastruktury krytycznej i regularnie je sprawdzić.

Bezpieczeństwo sieci

W celu segmentacji węzłów i kanałów bezpieczeństwa zaleca się stosowanie VPN i VLAN.
Powinieneś również zmienić ustawienia standardowe i przekazywać porty usług urządzeń sieciowych.
Możesz użyć usługi IPSec do szyfrowania ruchu. I przeglądać otwarte porty - narzędzie NetStat.

Kontrola dostępu

Remist Użytkownicy Dostęp do plików krytycznych, odłącz dostęp do gościa i użytkowników z pustym hasłem. Odłączyć niewykorzystane role i aplikacje na serwerze.

Utworzyć kopię zapasową

Użyj usługi kopii zapasowej plików, jest korzystne i niezawodne. Nie przechowuj kopii zapasowych niezaszyfrowanych. Jeśli wynajmujesz od nas serwer, możesz wybrać miejsce do kopii zapasowych.

Dostęp do baz danych

Crytycznie ważne bazy danych powinny być przechowywane na różnych serwerach SQL. Musisz skonfigurować uruchomienie w imieniu użytkownika przy minimalnych mocy lub z prefiksu białej listy adresów IP.

Obrona antywirusowa

Aby obsługiwać serwer w systemie Windows, instalacja automatycznego aktualizacji oprogramowania antywirusowego jest zalecane, gdy użytkownicy z magazynami sieciowymi. W systemie Linux instalacja antywirusowa nie jest wymagana podlegająca regularnym monitorowaniu bezpieczeństwa serwera i nieautoryzowanej kontroli dostępu. Aby to zrobić, narzędzie Tiger może być przydatne.

Taki audyt raz w miesiącu pomoże weryfikować poprawność operacji serwera, wyeliminować luki i monitorować bezpieczeństwo infrastruktury sieciowej.

Bezpieczeństwo serwera Linux jest bardzo ważne, aby chronić dane, własność intelektualną, a także czas z rąk krakersów. System operacyjny Linux jest odpowiedzialny za administrator systemu. W tym artykule rozważymy dwadzieścia rzeczy do zrobienia z systemem operacyjnym Linux, aby zawsze był bezpieczny i bezpiecznie chroniony. Jeśli jest to komputer domowy, być może bezpieczeństwo, być może nie ma sensu się martwić tak bardzo, wystarczy na niezawodne hasła i zamykanie dostępu do portów z Internetu. Ale w przypadku serwera publicznego warto zwrócić uwagę na zapewnienie jej ochrony.

Te instrukcje nadają się do dowolnej dystrybucji, bez względu na to, czego używasz Centos, Czerwony kapelusz lub Ubuntu, Debiana.

1. Szyfrowanie komunikacyjne.

Wszystkie dane przesyłane przez sieć są otwarte na monitorowanie. Dlatego musisz szyfrować przesyłane dane, gdzie jest to możliwe z hasłami, klucze lub certyfikatów.

Użyj SCP, SSH, RsyNC lub SFTP do przesyłania plików. Możesz także zamontować zdalny system plików do katalogu domowego za pomocą narzędzi takich jak SHHFS.

Gnupg umożliwia szyfrowanie i zarejestrowanie danych za pomocą specjalnego klucza osobistego. Istnieją również funkcje do zarządzania klucze i dostęp do otwartych kluczy.

FUGU to graficzne narzędzie do przesyłania plików za pomocą protokołu SFTP. SFTP jest bardzo podobny do FTP, ale cała sesja jest tu zaszyfrowana. Oznacza to, że żadne hasła ani polecenia są przesyłane w formularzu otwartym. Dlatego takie programy są mniej podatne na osoby trzecie. Możesz także użyć FileZilla, jest to klient FTP Cross-Platform z obsługą FTS przez protokół SSH / TLS i SSH (SFTP).

OpenVPN - wydajny i łatwy klient VPN z obsługą szyfrowania SSH.

2. Spróbuj nie używać FTP, Telnet, Rlogin i RSH

W większości sieci nazwy użytkowników, hasła z FTP, Telnet, polecenia RSH mogą być przechwytywane przez każdego z tej samej sieci za pomocą analizatora pakietu. Ogólnym rozwiązaniem tego problemu jest użycie OpenSSH, SFTP lub SFTP, które dodaje SSL lub TLS do zwykłego FTP. Wykonaj takie polecenie, aby usunąć NIS, RSH i inne przestarzałe usługi:

yum Erase Inetd Xinetd Ypserv TFTP-Server Telnet-Server RSH-Serve

3. Zmniejsz liczbę oprogramowania

Czy naprawdę potrzebujesz wszystkich zainstalowanych usług internetowych? Nie należy instalować niepotrzebnego oprogramowania, aby uniknąć luki w tych programach. Użyj swojego menedżera batch, aby oglądać zainstalowane programy i usunąć wszystkie niepotrzebne:

zainstalowana lista mniam.
Pakiet listy $ yum
$ Yum usuń pakiet

dpkg - lista.
$ dpkg - pakiet
$ Apt-pobierz pakiet usuń

4. Jedna maszyna - jedna usługa

Uruchom różne usługi na oddzielnych serwerach lub maszynach wirtualnych. Ogranicza to liczbę usług, które mogą być zagrożone. Na przykład, jeśli atakujący może włamać się do apache, uzyskasz dostęp do całego serwera. W tym usługi, takie jak MySQL, serwer e-mail i tak dalej. Możesz użyć takiego oprogramowania jako Xen lub OpenVZ do wirtualizacji.

5. Utrzymuj jądro Linuksa i na bieżąco

Wykorzystanie poprawek bezpieczeństwa jest bardzo ważną częścią bezpieczeństwa serwera Linux. System operacyjny zapewnia wszystkie narzędzia do konserwacji aktualizacji systemu i aktualizuje nowe wersje. Wszystkie aktualizacje zabezpieczeń powinny być stosowane jak najszybciej. Tutaj również musisz użyć swojego menedżera pakietów. Na przykład:

Lub do systemów opartych na Debianie:

sudo APT Update && sudo APT Uaktualnienie

Możesz skonfigurować czerwony kapelusz lub fedora, aby wysłać Ci powiadomienia do wiadomości e-mail o dostępności nowych aktualizacji zabezpieczeń. Możesz także skonfigurować automatyczną aktualizację przez Cron lub można użyć aptcron w Debianie, aby powiadomić potrzebę aktualizacji systemu.

6. Użyj rozszerzeń bezpieczeństwa w systemie Linuksa

System operacyjny Linux jest wyposażony w różne poprawki zabezpieczeń, które można wykorzystać do ochrony przed nieprawidłową konfiguracją lub szkodliwymi programami. Ale można również użyć takich dodatkowych systemów kontroli dostępu do aplikacji jako SELINUX lub Apparrmor.

SELINUX zapewnia różne zasady bezpieczeństwa dla jądra Linuksa. Możliwe jest kontrolowanie dostępu do dowolnych zasobów systemowych za pomocą ról. Tylko program, którego rola pozwala na wykonanie, a nawet zasady superużytkownika. SELINUX jest znacznie zwiększając system bezpieczeństwa Linux, ponieważ nawet root tutaj jest uważany za zwykły użytkownik. Czytaj więcej o opisanym w oddzielnym artykule.

7. Konta użytkowników i niezawodne hasła

Użyj poleceń Useradd i Usermod, aby utworzyć i utrzymywać konta użytkowników. Upewnij się, że masz dobre i silne hasło, musi zawierać co najmniej osiem znaków, korzystnie w innym rejestracji, wśród których należy znaleźć znaki specjalne lub cyfry. Na przykład, 8 znaków, z których siedem liter i jednego znaku lub cyfry. Użyj narzędzi takich jak John Ripper, aby znaleźć słabe hasła użytkownika na serwerze, a także skonfigurować PAM_Cracklib.so, aby zapewnić zgodność z polityką hasłem.

8. Od czasu do czasu zmień hasła.

Polecenie zmiany umożliwia określenie liczby dni przed obowiązkiem wymuszonej zmiany hasła. Informacje te są używane przez system, aby określić moment, w którym użytkownik musi go zmienić. Te ustawienia znajdują się w /etc/login.defs. Aby wyłączyć starzenie hasła, wprowadź następujące polecenie:

zmień -l_name_name.

Aby uzyskać informacje o okresie przechowywania hasła, wprowadź polecenie:

Możesz także skonfigurować wszystko ręcznie w pliku / etc / cienia:

(Hasło użytkownika): (Ostatni wybór):(Maksymalny_Dain): (Minimum_dney): (Ostrzeżenie):(dezaktywować):(Rząd):

  • Minimalny dzień - minimalny interwał między zmianami hasła, czyli, jak często użytkownik może zmienić hasło.
  • Maksymalne dni - Ile dni będzie odpowiednie hasło, po tym okresie użytkownik zostanie zmuszony do zmiany hasła.
  • Ostrzeżenie - Liczba dni, po których użytkownik zostanie ostrzeżony, że musi zmienić hasło.
  • Rząd) - Liczba dni od 1 stycznia 1970 r., Kiedy konto jest całkowicie wyłączone.

chAGE -M 60-M 7-W 7 User_name

Pożądane jest również, aby zabronić użytkownikom używać starych haseł, w przeciwnym razie wszystkie wysiłki z próbami udostępniania ich siłą zmiany haseł zostaną zredukowane do zera.

9. Blokuj konta po nieudanych próbach wejściowych

W systemie operacyjnym Linux można użyć komendy Faillog, aby wyświetlić nieudane próby wprowadzenia użytkowników. Również z nim możesz ustawić limit nieudanych prób wejściowych. Wszystkie informacje o nieudanych prób wejściowych są przechowywane w pliku / Var / Log / Faillog. Oglądać to typ:

I ustawić limit próby rejestrowania dla określonego konta, użyj:

faillog -R -U użytkownik

Możesz także ręcznie blokować lub odblokować konta za pomocą polecenia passwd. Aby zablokować użycie:

passwd -l użytkownik.

I odblokować:

passwd -u user.

Pożądane jest również sprawdzenie, czy istnieją konta w systemie z pustymi hasłami. Aby to zrobić, wykonaj:

awk -f: "(2 $ \u003d\u003d" ") (Drukuj)" / etc / Cień

Sprawdź także, czy nie ma użytkowników z grupą lub ID 0. taki użytkownik musi być tylko jeden, a to jest root. Możesz sprawdzić za pomocą tego polecenia:

awk -f: "($ 3 \u003d\u003d" 0 ") (Drukuj)" / etc / passwd

Musi być tylko jedna linia:

root: x: 0: 0: ROOT: / ROOT: / BIN / Bash

Jeśli są inne - usuń je. Użytkownicy, zwłaszcza ich słabe hasła - jedna z najbardziej wrażliwych rzeczy, które mogą złamać bezpieczeństwo w Linuksie.

10. Odłącz wejście dla superużytkownika

Aby zapisać system bezpieczeństwa Linux Nigdy nie używaj logowania w korzeniu użytkownika. Możesz użyć sudo, aby uzyskać niezbędny organ i uruchomić żądane polecenie w imieniu superużytkownika. Polecenie to pozwala na nie ujawnienie hasła superużytkownika do innych administratorów, a także zawiera narzędzia monitorujące, ograniczenia i działania śledzenia.

11. Serwer bezpieczeństwa fizycznego

Bezpieczeństwo serwera Linux powinno zawierać bezpieczeństwo fizyczne. Musisz ograniczyć fizyczny dostęp do konsoli serwera. Skonfiguruj BIOS, aby obciążenie nie jest obsługiwane z zewnętrznych mediów, takich jak DVD, CD, USB. Zainstaluj również hasło BIOS i program Bootloader, aby chronić swoje parametry.

12. Wyłącz niepotrzebne usługi

Wyłącz wszystkie niewykorzystane usługi i demony. Nie zapomnij również usunąć tych usług z Autoload. Możesz zobaczyć listę wszystkich aktywnych usług w systemach czerwonych kapeluszowych z zespołem:

chkconfig - lista |. Grep "3: na"

Aby wyłączyć usługę, użyj:

usługa Stop Service.
Usługa $ chkcconfig

Znajdź wszystkie otwarte porty:

To samo można zrobić za pomocą skanera NMAP:

nmap -st -o localhost

Użyj iptables do zamykania wszystkich portów, które nie powinny być dostępne w sieci. Lub zatrzymaj niepotrzebne usługi, jak opisano powyżej.

13. Usuń X Server

X Serwer na komputerze serwera - rzecz jest całkowicie opcjonalna. Nie musisz prowadzić środowiska graficznego na wybranym serwerze Apache lub e-mail. Usuń to oprogramowanie, aby zwiększyć bezpieczeństwo i wydajność.

14. Skonfiguruj iptables.

iptables to program przestrzeni użytkownika, aby skonfigurować oprogramowanie układowe Netfilter. Umożliwia filtrowanie całego ruchu i zezwolenie tylko na pewne typy ruchu. Używaj również systemu TCPWRappers - ACL do filtrowania dostępu do Internetu. Możesz zapobiec wielu rodzajom ataków DOS za pomocą iptables. Bezpieczeństwo sieci w systemie Linux jest bardzo ważnym punktem ogólnego bezpieczeństwa systemu.

15. Dostosuj jądro

W pliku /etc/sysctl.conf Plik ustawienia jądra są przechowywane, które są ładowane i używane podczas uruchamiania systemu.

Włącz przepełnienie buforu ExhShield:

kernel.exec-Shield \u003d 1
jerl.randomize_va_space \u003d 1.

Włącz IP Obserwuj ochronę:

net.ipv4.conf.all.rp_filter \u003d 1.

Wyłącz przekierowanie adresu IP:

net.ipv4.conf.all.accept_source_route \u003d 0.

Ignoruj \u200b\u200bżądania transmisji:

net.ipv4.icmp_echo_ignore_broadcasts \u003d 1.
net.ipv4.icmp_ignore_bogus_error_messages \u003d 1.

Loggy Wszystkie fałszywe pakiety:

net.ipv4.conf.all.log_martians \u003d 1.

16. Przesuń dysk twardy do sekcji

Oddzielenie dysku twardego do sekcji w zależności od miejsca przeznaczenia plików poprawia bezpieczeństwo systemu operacyjnego Linux. Zaleca się, aby poszczególne sekcje dla takich katalogów:

  • / Dom.
  • / Var i / var / tmp

Dokonaj oddzielnych partycji dla katalogów głównych serwerów Apache i FTP. Otwórz plik / etc / fstab i ustaw specjalne opcje dla żądanych sekcji:

  • noexec. - Nie spełniaj żadnych programów ani plików wykonywalnych w tej sekcji, dozwolone są tylko skrypty.
  • nODEV. - Nie rozwiązywaj symbolicznych lub specjalnych urządzeń w tej sekcji.
  • nosuid. - Nie zezwalaj na dostęp do SUID / SGID do programów z tej sekcji.

17. Użyj limitu miejsca na dysku

Ogranicz dostępny miejsce na dysku dla użytkowników. Aby to zrobić, utwórz kwotę dysku w / etc / fstab, ponownie pokonuj systemy plików i utwórz bazę danych limitów dysku. Zwiększy to bezpieczeństwo w Linuksie.

18. Wyłącz IPv6.

Internet IPv6 Internet Protocol zastąpi IPv4 już używany w przyszłości. Ale w tej chwili nie ma narzędzi, które umożliwiają sprawdzenie bezpieczeństwa sieci w oparciu o IPv6. Wiele dystrybucji Linuksa umożliwia domyślnym protokołowi IPv6. Hakerzy mogą wysłać niechciany ruch i administratorzy nie będą mogli go śledzić. Więc jeśli ta usługa nie musisz go wyłączać.

19. Wyłącz niewykorzystane suidowe i sgidowe binary

Wszystkie pliki wykonywalne, dla których flaga SUID lub SGID jest włączona potencjalnie niebezpieczna. Flaga ta oznacza, że \u200b\u200bprogram zostanie wykonany z prawami Superusera. Oznacza to, że jeśli istnieje pewna luka lub błąd w programie, użytkownik lokalny lub zdalny może użyć tego pliku. Znajdź wszystkie takie pliki za pomocą następującego polecenia:

znajdź / -Porm +4000

Znajdź pliki z zestawem flagi SGID:

znajdź / -Porm +2000

Lub połącz to wszystko w tym samym poleceniu:

znajdź / (- Perm -4000 -O -Perm -2000)-Print
$ Find /-path -prune -o -type ferm +6000 -ls

Będziesz musiał szczegółowo studiować każdy plik, który znalazł, aby zrozumieć, ile plik jest potrzebny.

20. Pliki publiczne

Wskazane jest również znalezienie plików, które mogą zmienić wszystkich użytkowników w systemie. Aby to zrobić, użyj następującego polecenia:

znajdź / DirXDev -Type D (- Perm -0002 -a! -Perm -1000)

Teraz musisz sprawdzić, czy prawa są ustawione prawidłowo dla grupy i właściciela tego pliku i nie ponosi zagrożeń bezpieczeństwa.

Pożądane jest również znalezienie wszystkich plików, które nie należą do nikogo:

znajdź / Dir -XDev \\ (- Nouter -o -nogroup)-Print

21. Użyj scentralizowanego systemu uwierzytelniania

Bez scentralizowanego systemu uwierzytelniania dane użytkownika stają się sprzeczne, co może prowadzić do przestarzałych poświadczeń i zapomnienia kont, które powinny zostać usunięte dawno temu. Scentralizowana usługa pozwoli Ci utrzymać kontrolę nad kontami i dane uwierzytelniające na różnych systemach Linux i UNIX. Możesz zsynchronizować dane uwierzytelniające między serwerami. Ale nie używaj usługi NIS, lepiej wyglądać na otwarte DAP.

Jednym z interesujących wdrożeń takiego systemu jest Kerberos. Umożliwia uwierzytelnianie użytkowników za pomocą tajnego klucza w sieciach, w których można przechwycić i modyfikować pakiety. Kerberos używa symetrycznego klucza do szyfrowania danych i wymaga kluczowego centrum zarządzania jego pracą. Możesz skonfigurować zdalne logowanie, zdalne kopiowanie, bezpieczne kopiowanie plików między systemami a innymi zadaniami, o wysokim poziomie bezpieczeństwa.

22. Rejestrowanie i audyt

Skonfiguruj rejestrowanie i audyt, aby zebrać i utrzymywać wszystkie nieudane próby wejścia i prób hakerskich. Domyślnie wszystkie dzienniki lub przynajmniej większość z nich znajdują się w / var / Log / folder. Przeczytaj więcej o tym, co mówią, rozmawialiśmy w oddzielnym artykule.

Możesz oglądać dzienniki za pomocą takich narzędzi jako logwatch lub logcheck. Ułatwiają kłody czytania. Możesz zobaczyć cały plik, ale tylko wydarzenia, które są zainteresowane, a także wysłać do powiadomienia na adres e-mail.

Obejrzyj system za pomocą usługi Auditd. Program pisze na płycie wszystkie wydarzenia audytu, które jesteś zainteresowany. Wszystkie ustawienia audytu są przechowywane w pliku /etc/audit.rules, gdy usługa uruchomi się, usługa przeczytała wszystkie reguły z tego pliku. Możesz go otworzyć i skonfigurować wszystko, czego potrzebujesz lub użyjesz oddzielnego narzędzia - AUDITCTL. Możesz skonfigurować takie chwile:

  • Uruchomienie systemu i zdarzenia
  • Data i godzina wydarzeń
  • Niestandardowe zdarzenia (na przykład dostęp do określonego pliku)
  • Typ zdarzenia (edycja, dostęp, usuwanie, nagrywanie, aktualizacja itp.)
  • Powodzenia lub niepowodzenie podczas wykonywania wydarzenia
  • Nagraj ustawienia zdarzeń Zmień ustawienia
  • Zapisz zmiany użytkowników i grup
  • Monitorowanie zmian plików.

23. Ochrona serwera OpenSSH

Zezwalaj na zastosowanie protokołu 2:

Wyłącz login w imieniu superużytkownika:

24. Zainstaluj IDS.

Identyfikatory lub system wykrywania włamań stara się wykryć podejrzaną, złośliwą aktywność, takie jak atak DOS, porty skanujące lub nawet próby włamania komputera przez monitorowanie ruchu sieciowego.

Dobre praktyki - wdrażanie takiego oprogramowania, zanim system będzie dostępny w Internecie. Można ustawić AID, to jest HIDS (IDS oparte na hoście), które mogą sterować wszystkimi aspektami wewnętrznego urządzenia systemu.

Snort to oprogramowanie do wykrywania prób włamań z sieci. Jest w stanie wykonywać i rejestrować pakiety i analizować ruch sieci w czasie rzeczywistym.

25. Chroń swoje pliki i katalogi.

Linux ma doskonałe środki ochrony przed nieautoryzowanym dostępem do plików. Jednak uprawnienia ustawione przez Linuksa i system plików nie oznaczają niczego, gdy atakujący ma fizyczny dostęp do komputera i może po prostu połączyć dysk twardy komputera do innego systemu, aby skopiować dane. Ale możesz łatwo chronić swoje pliki za pomocą szyfrowania:

  • Użyj GPG do szyfrowania i odszyfrowania pliku pliku
  • Możesz także chronić pliki za pomocą openssl
  • Szyfrowanie katalogu jest wykonywane za pomocą ECRYPTFS
  • TrueCrypt - Darmowe narzędzie do dysków szyfrowania w systemie Windows i Linux

wnioski

Teraz bezpieczeństwo Linuksa na komputerze będzie dużo powiększone. Nie zapomnij umieścić złożonych haseł i od czasu do czasu. Wpisz swoje ulubione narzędzie w komentarzach, aby zapewnić bezpieczeństwo systemu.

Większość takich systemów korporacyjnych i wielobomponentów jak SOK ROŚLINNY , Oracle DB. Użyj w swojej platformie system operacyjny na podstawie Linux. . W związku z tym taki szczególna uwaga od audytorów IT została narysowana. Dziś w artykule przedstawimy Twoją uwagę kilka darmowych narzędzi prezentowanych w formie skryptów i przy użyciu regularnych mechanizmów operacyjnych zapewniających ekspresową kontrolę konfiguracji zabezpieczeń.

Opisane polecenia systemowe i skrypty stosowane do ekspresowego audytu opcji bezpieczeństwa systemów Linux są oparte na zaleceniach weryfikacji zabezpieczeń przez Wspólnotę ISACA w systemie Audytu Systemu Operacyjnego UNIX / Linux System Bezpieczeństwa Instrukcja obsługi.

1. Sprawdzanie kont.

1.1 Wyświetl listę wszystkich użytkowników
Lista użytkowników jest przechowywana w pliku / etc / passwdfile. Aby uzyskać listę użytkowników, możesz użyć następującego skryptu:

  1. bin / bash.
  2. # UżytkownicyListinthesystem.SH.
  3. # Liczyć i wymienia istniejących "prawdziwych" użytkowników w systemie.
  4. echo "[*] Istniejący użytkownicy (posortowane alfabetycznie):"
  5. grep '/ bash' / etc / passwd | Grep -v 'root' | Cut -f1.
  6. -D ':' | Sortować.
  7. echo -n "[*] Liczba znalezionych prawdziwych użytkowników:"
  8. grep '/ bash' / etc / passwd | Grep -v 'root' | WC -L.
1.2 Wyświetl listę zablokowanych kont
Podczas audytu musisz sprawdzić listę zablokowanych i odblokowanych użytkowników ( nazwa konta. ). Spowoduje to zgodne z następującym zespołem:
  1. #! / Bin / bash
  2. # Passwd -s accountname

1.3 Wyświetl statystyki dla wszystkich użytkowników

  • Audytor musi upewnić się, że zespół aC. Zawarte w systemie, aby przejrzeć działalność użytkowników:
    1. #! / Bin / bash
    Aby wyświetlić aktywność sesji połączenia użytkownika z wynikami na każdy dzień, użyj polecenia:
    1. #! / Bin / bash
    2. # AC -D.
    Aby wyświetlić informacje o aktywności sesji (w godzinach) łączności użytkownika "Użytkownik" :
    1. #! / Bin / bash
    2. # Użytkownik AC.
    1.4 Zobacz aktywność użytkownika
    Aplikacje systemowe PSACCT lub ACCT działają w tle i śledzić aktywność każdego użytkownika w systemie, a także zużyte zasoby. Aby sprawdzić aktywność użytkownika w systemie, uruchom następujący skrypt:
    1. #! / usr / bin / envksh
    2. last -fa | awk
    3. / WTMP zaczyna / (dalej;)
    4. / Nadal zalogowany / (dalej;)
    5. $ 0 \u003d\u003d Reboot (dalej;)
    6. NF\u003e 0 (
    7. jeśli (Nr\u003e 1)
    8. printf ("
      ”);
    9. printf ("Użytkownik: T% s
      "1 USD); # Użytkownik.
    10. printf ("Start: t% s% s% s% s
      ”, $3, $4, $5, $6);
    11. jeśli (9 $ \u003d\u003d "DOWN")
    12. printf ("End: tshutdown
      ”);
    13. printf ("koniec: t% s% s% s% s
      ”, $9, $10, $11, $12);
    14. jeśli (substr ($ nf, 1, 1) \u003d\u003d "(")
    15. t \u003d $ nf;
    16. h \u003d "localhost";
    17. t \u003d $ (NF-1);
    18. h \u003d $ nf;
    19. gsub ("[()]", "", t);
    20. printf ("Czas na: t% s
      ", T);
    21. printf ("Zdalny gospodarz: t% s
      ", H);
  • 2. Sprawdzanie polityki haseł

    2.1 Konta z pustym hasłem
    Podczas audytu należy upewnić się, że system nie ma lub zablokować kont, które pozwalają zalogować się do systemu bez wprowadzania hasła. Ta reguła może być sprawdzana przez polecenie:

    # Kota / etc / cień | Awk -f: (2 $ \u003d\u003d "") (Drukuj 1 $) "

    2.2 Sprawdź złożoność hasła
    Podczas audytu należy sprawdzić ustawienia złożoności haseł, aby zmniejszyć ryzyko ataków na hasło brutfortowe (popiersie) lub wybór słownika. Aby zainstalować tę regułę w systemie, należy użyć podłączonych modułów uwierzytelniania (PAM).
    Audytor może sprawdzić odpowiednie ustawienie w pliku konfiguracyjnym:

    # Vi /etc/pam.d/system-auth.

    2.3 Weryfikacja hasła

    Podczas audytu należy sprawdzić wygaśnięcie wygaśnięcia hasła. Aby sprawdzić okres ważności hasła, musisz użyć polecenia zmiana. Polecenie to wyświetla szczegółowe informacje o hasła, a także datę ostatniej zmiany.
    Poniższe polecenie jest wyświetlenie informacji o hasłach "wiek":

    #Chage -l username.

    Aby zmienić wygaśnięcie hasła konkretnego użytkownika, możesz użyć poleceń poniżej:

    #Chage -m 60 Nazwa użytkownika
    #AGE -M 60-M 7-W 7 Nazwa użytkownika

    Parametry (aby ustawić czas trwania hasła):
    -M - maksymalny okres ważności w dniach.
    -M - minimalny okres ważności w dniach.
    -W - ustawienie ostrzeżenia w dniach.

    2.4 Korzystanie z powtarzających się haseł
    Ustawienia autoryzacji do systemu muszą być zgodne z polityką hasłem. Plik zawierający Historia hasła jest w / etc / Security / Opasswd. Aby sprawdzić, musisz wykonać następujące kroki:

    w przypadku RHEL: Otwórz plik '/etc/pam.d/system-auth':

    # Vi /etc/pam.d/system-auth.

    dla Ubuntu / Debiana / Linux Mint: Open Plik '/etc/PAM.D/common-Password':

    # Vi /etc/pam.d/common-Password.

    Dodaj następną sekcję "Auth":

    autoryzacja PAM_UNIX.SO LOBEAUSNOK

    Aby zabronić użycia ostatnich sześciu haseł, dodaj następującą linię:

    Wystarczający hasło pam_unix.so nullokuse_authtok md5 cień Zapamiętaj \u003d 6

    Po wykonaniu polecenia system przechowuje opowieść o poprzednich sześciu hasłach, a jeśli każdy użytkownik próbuje zaktualizować hasło za pomocą dowolnego z ostatnich sześciu, otrzyma komunikat o błędzie.

    3. Skonfiguruj ustawienia połączenia
    Protokoły połączeń zdalnych do systemu Telnet i Rlogin są bardzo stare i wrażliwe ze względu na przeniesienie hasła w sieci w formie niezaszyfrowanej. W celu prawidłowego i bezpiecznego połączenia należy użyć bezpiecznego protokołu. Bezpieczna powłoka (SSH). Audytor musi również upewnić się, że opcja logowanie korzeniowe. Wyłączony, zmieniono domyślny port SSH, dostęp zdalny jest dozwolony tylko dla określonych autoryzowanych użytkowników. Sprawdzone ustawienia znajdują się w pliku konfiguracyjnym SSH:

    1. # VI / etc / ssh / sshd_config

    3.1 Zaloguj się w imieniu superwisznika (logowanie korzeniowe)

    Podczas audytu audytor musi sprawdzić zakaz zdalnego logowania do superużytkownika root.

    # Permitrootlogin \u003d tak
    3.2 Sprawdzanie konta serwisowego logowania SSH

    Podczas audytu audytor musi sprawdzić akceptację usługi z dubbed wartością logowania SSH. Z reguły administratorzy systemu korzystają z tej funkcji do zaprogramowanych kopii zapasowych, przesyłania plików i skryptów startowych w trybie zdalnego sterowania.

    Sprawdź ustawienia sshd_config (/ etc / ssh / sshd_config) są poprawne ostatni raz.

    # Permitrootlogin bez hasła

    # Rsaauthentication \u003d tak

    # PubKeyauthentication \u003d tak

    3.3 Sprawdzanie list dostępu w Denihosts i Fail2ban
    Podczas audytu należy sprawdzić ustawienia listy dostępu DENYHOSTS. i Fail2ban. . Są to skrypty używane do monitorowania i analizowania dzienników dostępu SSH i ochrony ataku przez Bruchels Hasviss.

    Cechy DENYHOSTS:

    • zapisywanie i śledzi dzienniki z pliku / Var / log / secure , zauważając, wszystkie udane i nieudane próby wejściowe i filtruje je.
    • monitory nieudane próby wejściowe
    • wyślij e-mail o zablokowanych hostach i podejrzanych próbach wejścia
    Funkcje Fail2ban:
    • Zapisywanie i śledzi dzienniki z plików / Var / log / secure i /var/log/auth.log. , / var / log / pwdfail
    • wysoce konfigurowalny i wielu gwintowany
    • regularnie obejrzyj pliki dziennika

    4. Sprawdzanie dzienników systemowych
    Podczas audytu należy upewnić się, że demon Syslog działa, a wszystkie istotne zdarzenia występujące w systemie są rejestrowane w dziennikach zdarzeń. Podczas audytu konieczne jest również upewnienie się, że polityka pamięci masowej wydarzeń uwzględnia wymagania obowiązującego obowiązującego prawodawstwa i polityki polityki wkładającej.

    4.1 Dzienniki zdarzeń w systemie Linux:

    /var/log/auth.log - rejestrowanie dziennika systemu (mechanizm logowania i uwierzytelniania).
    /var/log/dpkg.log - Instalacja / usunięcie pakietów za pomocą DPKG.
    /var/log/yum.log - pakiet dziennika instalacji / usuwania przy użyciu mniatu.
    / var / log / faillog - dziennik nieudanych prób logowania się do systemu i ich numer limitu dla każdego konta.
    /var/log/kern.log - dziennik jądra (Szczegółowe dzienniki z dziennika z jądra Linux).
    / Var / log / maillog lub /var/log/mail.log - dziennik serwera poczty.
    / Var / log / wtmp - dziennik logowania (czas rejestracyjny i czas trwania wszystkich użytkowników systemu).
    / Var / run / utmp - informacje o użytkownikach zarejestrowanych w systemie.
    / Var / log / lastlog - rekordy poprzednich wejść do systemu.
    / var / log / boot - informacje, które są rejestrowane podczas rozruchu systemu

    5. Ochrona plików systemowych

    5.1 Grub Loader Ochrona

    Aby chronić ładowarki GRUB, administrator musi użyć szyfrowania hasła Format MD5. :

    # GRUB-MD5-Crypt

    Po wykonaniu polecenia administrator musi otworzyć plik /Boot/grub/menu.lst. lub /Boot/grub/grub.conf. I dodaj hasło MD5:

    # Vi /boot/grub/menu.lst.

    # VI /Boot/grub/grub.conf.

    Nowo utworzone hasło MD5 można dodać do pliku konfiguracyjnego GRUB.

    5.2 Ładowanie ochrony katalogu / boot

    Podczas audytu musisz sprawdzić status katalogu / bagażnik, Ponieważ jądro systemowe i powiązane pliki są publikowane w katalogu / Bagażnik. Konieczne jest upewnienie się, że katalog jest dozwolony tylko do odczytu, co zapobiega nieautoryzowanej zmianie w ważnych plikach w systemie. Aby sprawdzić, otwórz plik / etc / fstab i sprawdź konfigurację:

    Linia powinna być obecna w pliku:

    Label \u003d / Boot / Boot Ext2 Defaults, RO 1 2

    5.3 Sprawdzanie otwartych portów i związków aktywnych

    Poniższy skrypt może być używany do weryfikacji usług działających w systemie:

    #! / Bin / bash
    jeśli (($ (ps -ef | grep -v grep | grep $ usługa | WC -L)\u003e 0))
    następnie.
    echo "$ usługa działa !!!"
    jESZCZE.
    /etc/init.d/$Service Start.
    Fi.

    Wyświetl połączenia sieciowe

    # Netstat -anop.
    lub
    # LSOF -I (LSOF -NI)
    lub
    # iptraf.

    Wymienione porty
    Korzystając z polecenia NetStat, możesz zobaczyć wszystkie otwarte porty i powiązane z nimi. Przykładowy skrypt:

    # Netstat-tulpn
    Skrypt do skanowania portów to:
    skanowanie () (
    jeśli [[-z 1 $ || -Z 2 $]; Następnie.
    echo "Wykorzystanie: 0 $
    powrót.
    fi.
    lokalny host \u003d 1 USD
    lokalne porty \u003d ()
    sprawa 2 USD
    *-*)
    IFS \u003d - Przeczytaj koniec początku<<< “$2”
    dla ((port \u003d start; port<= end; port++)); do
    porty + \u003d ($ port)
    gotowy
    ;;
    *,*)
    Ifs \u003d, czytaj -ront<<< “$2”
    ;; *)
    porty + \u003d (2 $) ;;
    esac.
    dla portu w "$ (porty [@])"; zrobić.
    alarm 1 "Echo\u003e / Dev / TCP / $ Host / $ Port" &&
    echo "Port $ Port jest otwarty" ||
    echo "Port $ Port jest zamknięty"
    gotowy
    }

    Firerewatch iptables.

    Podczas audytu należy sprawdzić konfigurację zapory Linux, aby zapobiec nieautoryzowanym dostępowi. Aby kontrolować ruch, Iptables musi tworzyć reguły, które będą filtrować przychodzące, wychodzące i wysyłane pakiety na podstawie adresu IP i numeru portu TCP / UDP.

    # iptables -n -l -v --line-numbers

    Żądania ICMP / Broadcast

    Podczas audytu konieczne jest zweryfikowanie, czy systemy są skonfigurowane do zignorowania żądań ping i transmisji. Aby to zrobić, upewnij się, że w pliku "/Etc/sysctl.conf" dodano następujące linie:

    # Ignoruj \u200b\u200bżądania ICMP:
    net.ipv4.icmp_echo_ignore_all \u003d 1.
    # Ignoruj \u200b\u200bzapytania rozgłaszające:
    net.ipv4.icmp_echo_ignore_broadcasts \u003d 1.

    5.4 Sprawdzanie zainstalowanych aktualizacji

    Systemy muszą być zainstalowane ostatnie aktualizacje:

    # Aktualizacje mniam.
    # Mnóstwo sprawdzania aktualizacji

    6. Sprawdzanie automatycznie wykonywane zadania Cron

    Audytor musi sprawdzić, dla którego jest dozwolony i zabroniony do wykonywania zadań w Cron. Dostęp do Cron jest kontrolowany za pomocą plików /etc/cron.allow. i /etc/cron.deny.

    # Echo wszystkie \u003e\u003e / etc / cron.deny

    7. Sprawdź wymuszony tryb bezpieczeństwa SELINUX

    W trakcie audytu ważne jest, aby sprawdzić status Selinux. . Mechanizm ten musi być zawarty w systemie.
    Istnieją trzy tryby Selinux. :

    • Egzekwowanie: zasady SELINUX jest włączone przymusowe. SELINUX zakazuje dostępu na podstawie zasad polityki SELINUX.
    • Permissive: polityka SELINUX nie jest obowiązkowa. SELINUX nie zakazuje dostępu, ale zakazy są spalane jako działania, które byłyby zabronione, jeśli przełączasz zasady w tryb przymusowy.
    • Wyłączony: Selinux jest wyłączony. Wykorzystywane są tylko dyskretne reguły DAC.

    Podczas audytu można użyć następującego skryptu, aby sprawdzić stan SELINUX lub użyć poleceń System-Configselininux, Getenforce lub Setatus:

    Włączony \u003d `Cat / Selinux / Enforce`
    jeśli ["$ włączony" \u003d\u003d 1]; Następnie.
    echo "SELINUX jest włączony, wyłączany? (TAK NIE): "
    odczyt Disable.
    jeśli [$ DISABLE \u003d\u003d "Tak"]; Następnie.
    echo "wyłączanie SELINUX"
    setenforce 0.
    fi.
    fi.

    Skrypt LBSA do sprawdzania podstawowych opcji bezpieczeństwa

    LBSA (Linux Basic Security Security Script) - Jest to podstawowy skrypt do badania konfiguracji bezpieczeństwa systemów Linux. Skrypt musi być uruchomiony z linii poleceń z uprawnieniami. korzeń Lub idealnie rozpocząć regularnie za pomocą harmonogramu CRON dla systematycznych zmian konfiguracji.

    Celem tego skryptu jest ekspresowy audyt ustawień zabezpieczeń i rozładowanie raportu z opisem możliwych parametrów, które można zmienić, aby zapewnić wyższy stopień bezpieczeństwa. W przypadku, jeśli nie ma zaleceń dla niektórych opcji, skrypt wyświetla po prostu jedną linię z kontrolą czeku, a ostateczne rozwiązanie zawsze pozostaje dla administratora. Przed uruchomieniem skanowania deweloperzy zdecydowanie zaleca się zapoznanie się z instrukcją obsługi i odkrywać zalecane sekcje, aby uzyskać więcej informacji.

    Obecnie (wersja 1.0.49) skrypt skanuje następujące opcje:

    • luki w zabezpieczeniach konta
    • luki w zabezpieczeniach w SSH
    • luki w katalogach tymczasowych i katalogu systemu plików pobrane do RAM (na przykład w / TMP, / VAR / TMP / DEV /)
    • uprawnienia do plików, status katalogów systemowych
    • usługi rapiguracji DRBD i Heartbeat

    Skrypt jest dość duży, więc nie umieściliśmy go na stronie.

    W dzisiejszym artykule przedstawimy Cię najlepsze narzędzia audytu bezpieczeństwa Linuksa lub jak mówi nasze angielskojęzyczne koledzy - Hartowanie Linuksa.. Tak więc tematem artykułu sprawdzającego poziom bezpieczeństwa systemów Linux i oceny konfiguracji poprawności z punktu widzenia bezpieczeństwa informacji. Oczywiście, nie tylko dokonujemy przeglądu programów, ale także podaj przykłady ich użycia.

    Bezpieczeństwo Audyt Linux Własna siła

    Przed administratorami systemu, a jeszcze bardziej przed baworami bezpieczeństwa informacji, zadania często pojawiają się, aby sprawdzić chronioną liczbę gospodarzy w bardzo krótkim czasie. Oczywiście, aby rozwiązać te zadania w segmencie przedsiębiorstwa, na przykład specjalistyczne narzędzia, na przykład takie jak. Jestem przekonany, że wszystkie z nich - z silnika Openvas OpenVAS do produktów komercyjnych, takich jak Nessus lub Nexpospe, są znane naszym czytnikowi. Ale to oprogramowanie jest zwykle używane do wyszukiwania nieaktualnego i zatem wrażliwego oprogramowania, a następnie uruchomienie zarządzania poprawek. Ponadto nie wszystkie skanery bezpieczeństwa uwzględniają pewne konkretne cechy wbudowanego mechanizmów ochrony Linux OS i innych produktów open source. Cóż, zwłaszcza wartość jest ceną pytania, ponieważ płatne produkty mogą sobie pozwolić tylko spółki, które przydzielają niektóre budżety w ramach tego biznesu.

    Dlatego będzie to wyspecjalizowany zestaw wolnych narzędzi, które mogą zdiagnozować obecny poziom poziomów bezpieczeństwa systemu, oceniać potencjalne ryzyko, na przykład "niepotrzebne usługi", które są online, lub niebezpieczne domyślne konfiguracja, aw niektórych przypadkach, aby zaproponować opcje do korygowania problemów znalezionych przez problemy z kontrolą. Kolejną zaletą przy użyciu tych narzędzi jest móc replikować typowe farme sprawdzać skrypty z dowolnej liczby systemów Linux i utworzyć udokumentowaną bazę danych testów w postaci dzienników i poszczególnych raportów.

    Praktyczne aspekty audytu bezpieczeństwa Linux

    Jeśli spojrzysz oczami audytora, podejście do testowania można podzielić na dwa typy.

    Pierwszy - Jest to zgodność z tak zwanymi wymaganiami zgodności, jest tutaj sprawdzana, aby obecność obowiązkowych elementów obrony określonej w dowolnej standardzie międzynarodowej lub "najlepszej praktyce". Klasyczny przykład - Wymagania PCI DSS dotyczące płatności Systemy IT, SOx404, serii NIST-800 ,.

    druga - Jest to czysto racjonalne podejście oparte na pytaniu "Co jeszcze mogę zrobić, aby wzmocnić bezpieczeństwo?". Nie ma obowiązkowych wymagań - tylko twoja wiedza, jasna głowa i umiejętne ręce. Na przykład jest to aktualizacja wersji jądra i / lub pakietów aplikacji, włączenia, SELINUX Forcing, ustawienie Iptables Fivevolt.

    Wszystko, co odnosi się do drugiego podejścia, jest zwyczajowo nazwać specjalny termin. Hartowanie Linux.Co jeszcze można zdefiniować jako "działania mające na celu wzmocnienie poziomu chronionego systemu OS (lub CO) głównie przez pracowników."

    Zgodność z wymogami zgodności, z reguły, sprawdź przy przygotowywaniu się do przejścia obowiązkowego audytu PCI DSS lub innego audytu certyfikacji. Zwrócimy większą uwagę na komponent hartowania. Wszyscy główni dostawcy oferują swoje produkty. Wytyczne utwardzające. - Wytyczne zawierające porady i zalecenia, jak wzmocnić bezpieczeństwo, biorąc pod uwagę regularne mechanizmy bezpieczeństwa i specyfikę oprogramowania. Podobnie, podobne przewodniki mają czerwony kapelusz, Debian, Oracle, Cisco.

    Hartowanie jest terminem od świata bezpieczeństwa informacji, które oznacza proces bezpieczeństwa systemu (program), zmniejszając jego podatność i, z reguły, przy użyciu wyłącznie regularnych narzędzi lub mechanizmów ochrony.

    Nawiasem mówiąc, kiedykolwiek mieliśmy już artykuł o konfigurowaniu opcji utwardzania, ale w tym artykule dotyczyło ustawienia. Najpierw sprawdzamy nasz system za pomocą wyspecjalizowanych mediów, czyli, będziemy przeprowadzić audyt bezpieczeństwa, oszacujemy obecny poziom ochrony, a następnie uruchomić tam opcję zabezpieczeń, jeśli istnieje potrzeba. Cóż, lub jako opcja: Jeśli serwer jest już skonfigurowany z punktu widzenia bezpieczeństwa, nasze narzędzia będą mogły je sprawdzić i mogą sugerować, że nadal możesz to zrobić.

    Narzędzia audytu bezpieczeństwa Linux

    Lynis - badania utwardzania systemu Audytu

    Instalacja na MacOS:

    Inicjalizacja testów
    Wyniki testu z narzędzia systemowego i grupy Boot & Services
    Wyniki testów z grupy Audytu jądra i pamięci i procesu
    Wyniki testu z grupy użytkowników i grupy i grupy uwierzytelniającej

    Audyt jest zawsze przydatny do sprawdzenia, czy dostępna jest nowa wersja Lynis:

    Jeśli chcesz umieścić nazwę audytora, uruchomienie testowania, po prostu dodaj parametr -Auditor :

    sudo Lynis Audyt System - C - Audytor Daddy

    Na każdym etapie audytu bezpieczeństwa Linuksa proces weryfikacji może być kontynuowany (ENTER) lub przymusowy zakończony (Ctrl + C). Wyniki przeprowadzonych testów zostaną zapisane w Lynis Logowanie w katalogu /var/log/lynis.log. Zauważ, że plik dziennika zostanie nadpisany za każdym razem, gdy narzędzie jest następne uruchomienie.

    Do testowania na bieżąco, w trybie automatycznym, możesz przypisać odpowiednie zadanie w harmonogramie CRON za pomocą klawisza -Cronjob. W tym przypadku Lynis uruchomi się na określonym szablonie (Config) i nie wyświetli żadnych interaktywnych niepotrzebnych wiadomości, pytań i ostrzeżeń. Wszystkie wyniki zostaną zapisane w dzienniku. Na przykład tutaj jest narzędzie skryptu startowego z ustawieniami domyślnymi raz w miesiącu:

    #! / bin / sh

    Audytor \u003d "Zautomatyzowany"

    Data \u003d $ (data +% y% m% d)

    Host \u003d $ (nazwa hosta)

    Log_dir \u003d "/ var / log / lynis"

    Raport \u003d "$ log_dir / raport - $ (host). $ (Data) "

    Data \u003d "$ Log_dir / Report - Data - $ (Host). $ (Data). TEKST "

    cD / USR / LOKALNY / LYNIS

    . / Lynis - C -Auditor "$ (audytor" "-Cronjob\u003e $ (raport)

    mV / VAR / LOG / LYNIS - Raport. DAT $ (DATA)

    # Koniec.

    Zapisz ten skrypt do katalogu /etc/cron.monthly/lynis. I nie zapomnij dodawać ścieżek, aby zapisać dzienniki (/ usr / Local / Lynis i / Var / Log / Lynis), w przeciwnym razie nieprawidłowa praca.

    Możesz zobaczyć listę wszystkich poleceń dostępnych do połączenia:

    Krótkie instrukcje pracy z użytecznością:

    człowiek lynis.

    Opcje dla możliwych statusów na wynikach kontroli są ograniczone do następującej listy: Żaden, słaby, zrobiony, znaleziony, nie_found, ok, ostrzeżenie.


    Przykład statusu wyjścia
    Uruchamianie poszczególnych testów w Lynis

    W praktyce konieczne jest przeprowadzenie tylko niektórych konkretnych testów. Na przykład, jeśli serwer wykonuje tylko serwer pocztowy lub funkcje Apache. Aby to zrobić, możemy użyć parametru -tests. Składnia polecenia wygląda tak:

    Ponadto funkcjonalność Lynis rozszerza różne dodatki, które mogą być dodawane niezależnie, a można umieścić nowy w istniejącym katalogu.

    Wszystkie ostrzeżenia (ostrzeżenia) będą wymienione po wyników. Każdy zaczyna się od tekstu ostrzeżenia, następnie obok wsporników wskazują test, który go wygenerował. Poniższa linia oferuje rozwiązanie problemu, jeśli jest oczywiście istnieje. W rzeczywistości ostatnia linia jest adresem URL, dla którego można wyświetlić szczegóły i znaleźć dodatkowe zalecenia, jak wyeliminować problem.


    Zawarcie zaleceń, jak wyeliminować znalezione problemy

    Profile

    Profile, że kontrola kontroli są zdefiniowane w plikach z rozszerzeniem .prf znajduje się w katalogu / etc / Lynis. Domyślny profil nazywa się przewidywalnie domyślnie.prf. Deweloperzy nie zaleca się edycji go bezpośrednio: Wszelkie zmiany, które chcesz wprowadzić do audytu, lepiej dodać do pliku Custom.prf, znajduje się w tym samym katalogu.

    Utwórz i edytuj profil niestandardowy:

    dotknij / etc / Lynis / Custom. prf.

    sudo nano / etc / lynis / zwyczaj. prf.

    W tym pliku możesz zdefiniować listę testów, które należy wykluczyć z audytu Lynis. Na przykład:

    • Plik-6310: Sprawdzanie sekcji;
    • HTTP-6622: Test instalacyjny Nginx;
    • HTTP-6702: Test instalacji Apache.

    Aby wykluczyć jakiś konkretny test, użyj dyrektywy pomijającej i określić identyfikator testowy. Na przykład:

    # Jest zainstalowany Nginx?

    pomiń - Test \u003d http - 6622

    # Jest zainstalowany apache?

    skip - Test \u003d http - 6702

    Ocena stan utwardzania

    Zgodnie z wynikami wykonania wszystkich testów na końcu każdego wyjścia narzędzia audytu (tuż poniżej sekcji propozycji) znajdziesz sekcję, która będzie wyglądać taka:

    Szczegóły skanowania zabezpieczeń Lynis:

    Indeks hartowania: 57 [############ .........]

    Testy Wykonawcy: 216

    Wtyczki włączone: 0

    Streszczenie stan hartowania

    Ten wynik, wyrażony przez numer, pokazuje liczbę minionych testów i indeks bezpieczeństwa systemu, to jest indeks hartowania - Ostateczny numer, przez który Lynis daje ocenę ogólnego poziomu zabezpieczeń serwera. I bardzo ważne jest, aby nie zapominać, że wskaźnik bezpieczeństwa różni się w zależności od liczby skorygowanych ostrzeżeń i wykonanych zaleceń Lynis. Dlatego, po poprawkach znalezionych problemów ponowna kontrola bezpieczeństwa może pokazać zupełnie inną liczbę!

    Wszystkie manipulacje z systemem w trybie superużytkownika wymagają bliskiej uwagi i zwiększonej odpowiedzialności. Wykonaj tylko działania, które są świadome, których są pewni siebie. Nie zapomnij dokonywać kopii zapasowych i migawek.

    Lunar - narzędzie do kontroli bezpieczeństwa UNIX

    Przykłady uruchamiania poleceń z CLI:


    Wyświetl wszystkie opcje uruchamiania Launar

    Uruchamianie Księżycowego trybu Bezpieczeństwa bez zmian w systemie:

    Wyliczanie testowe:

    Zacznij w trybie Fix, tj. zmiany w systemie:

    Przykład testów początkowych dla serwera WWW Apache

    Audytor NIX - Audyt CIS ułatwił

    Audytor NIX jest kolejnym skryptem, aby sprawdzić, czy bezpieczeństwo systemów Linux jest wymaganiami wskaźnika CIS. Koncentruje się na dystrybucjach RHEL, Centos i innych obr./min.

    Deweloperzy deklarują takie zalety audytora NIX:

    • prędkość skanowania - Aby przeprowadzić podstawową kontrolę systemu operacyjnego, możesz mniej niż 120 sekund i natychmiast otrzymać raport;
    • sprawdzanie dokładności - Praca audytora NIX jest sprawdzana w różnych wersjach rozkładów centosów i czerwonego kapelusza;
    • konfigurowalność - Źródła z dokumentacją programu leżą na Github, więc kod jest łatwo skonfigurowany zgodnie z typem systemu operacyjnego i zestawu elementów systemu, które muszą być sprawdzone;
    • Łatwe użycie - Wystarczy wykonać wykonywalne skrypt początkowy i jest już gotowy do sprawdzenia.

    Przykład wykonania poleceń do pobierania narzędzia z magazynem Githuba i kolejnym rozpoczęciem skryptu:

    git Clone HTTPS: //Github.com/xalfie/nix-auditor.git.

    cD NIX - Audytor

    chmod + x nixauditor

    . / Nixauditor.

    Przykład danych wyjściowych po uruchomieniu audytora NIX

    Loki - prosty skaner odpowiedzi IOCA i incydent

    Narzędzie Loki nie jest całkowicie klasycznym narzędziem prowadzenia audytu Linuksa, ale jest to świetne do znalezienia śladów hakowania, co jest, ale częściowo można przypisać praktyce audytu.

    Według programistów, takie funkcje dają nam Loki - proste skaner odpowiedzi IOC i incydent:

    I. Cztery sposoby zidentyfikowania hakowania:

    • nazwy plików (zgodność z regularnym wyrazem pełnej ścieżki plików);
    • sprawdzanie zgodnie z zasadami Yara (poszukiwanie zgodności z podpisami Yara w treści pamięci plików i procesów);
    • sprawdź i analiza mgły (porównywanie zeskanowanych plików za pomocą Hash (MD5, Sha-1, Sha-256) znane złośliwe pliki);
    • sprawdzanie sprzężenia zwrotnego C2 (porównuje końcowe punkty połączenia technologicznego z C2 IOC).

    II. Dodatkowe czeki:

    • sprawdzanie systemu plików reginów (ponad -Reginffs);
    • sprawdzanie anomalii procesów systemowych i użytkowników;
    • skanowanie rozpakowane SWF;
    • weryfikacja wysypiska Sam;
    • sprawdź DoublePulsar - próba ujawnienia backdoor, porty słuchania 445 / TCP i 3389 / TCP.

    Nieco dotykaj, w jaki sposób program określa fakt hakowania. Typowe cechy (wskaźniki kompromisu), zeznawanie, że komputer został zagrożony (to jest hacked), może być:

    • wygląd na komputerze złośliwych (wirusów, backdorów, kryptorów itd.), a także narzędzia hakerskie (na przykład, aby zbadać sieć, działanie luk, dane księgowe);
    • pojawienie się nieznanych nowych dyrektorów i innych plików, nawet jeśli nie są wykrywane przez silnik antywirusowy jako kod złośliwego oprogramowania;
    • anomalna aktywność sieci (połączenie z zdalnymi gospodarzami, odkrycie do słuchania portów przez nieznane programy i inne);
    • anomalna aktywność na urządzeniach (I / O) i zwiększenie zużycia zasobów systemu (CPU, RAM, swap).

    Przed rozpoczęciem instalacji musisz dostosować wiele pakietów zależnych. Ta kolorama (daje rzędy kolorystyczne w konsoli), Psutil (Process Checkument Utility) i, jeśli jeszcze nie jest zainstalowany, pakiet Yara.

    Więc postępuj. Instalacja w (wstępnie zainstalowany pakiet Yara, który jest już zainstalowany domyślnie w KALI Linux):

    cD Loki /

    python2 Loki - aktualizacja. Py.

    python2 Loki. PY - H.

    Instalacja w Ubuntu / Debianie:

    sudo apt - Uzyskaj instalację Yara Python - Yara Python - Pip Python - Setuptools Python - Dev Git

    sudo Pip2 Install - Upgrade Pip

    sudo Pip2 Install - U Ustawienia

    sudo Pip2 Zainstaluj Psutil Netaddr Pylzma Colorama

    git Clone HTTPS: //Github.com/neo23x0/loki

    cD / Home / Pobierz / Loki

    python2 Loki - aktualizacja. Py.

    python2 Loki. PY - H.

    Instalacja w Blackarch:

    sudo pacman - S Yara Python2 - Pip Python2 - Yara

    sudo Pip2 Zainstaluj Psutil Netaddr Pylzma Colorama

    git Clone HTTPS: //Github.com/neo23x0/loki

    cD / Home / Pobierz / Loki

    python2 Loki - aktualizacja. Py.

    python2 Loki. PY - H.

    Przykład użycia

    Niektóre opcje uruchamiania:

    opcjonalne argumenty:

    H, - Pomóż pokazać tę wiadomość pomocy i wyjść

    Dzwon.

    Są ci, którzy przeczytali tę wiadomość przed tobą.
    Subskrybuj odbieranie artykułów świeżych.
    E-mail
    Nazwa
    Nazwisko
    Jak chcesz przeczytać dzwonek
    Bez spamu