Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która jest stanem End Of Life (EOL). Rozważ odpowiednie użycie i planowanie. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.
Ten artykuł zawiera szczegółowe informacje o ustawieniach konfiguracji gości systemu Linux, które mają zastosowanie w następujących implementacjach:
- Maszyny z systemem Linux powinny spełniać wymagania dotyczące punktu odniesienia zabezpieczeń obliczeń platformy Azure Definicja konfiguracji gościa usługi Azure Policy
- Luki w zabezpieczeniach konfiguracji zabezpieczeń na maszynach powinny zostać skorygowane w Microsoft Defender dla Chmury
W przypadku kontroli korygowania i sugestii przyjęliśmy najlepsze rozwiązania — jednak zawsze upewnij się, że polecenia będą testowane i nie są stosowane ślepo w żadnym środowisku produkcyjnym. W przypadku automatycznych korygowań udostępniliśmy w ograniczonej publicznej wersji zapoznawczej naszą nową funkcję automatycznego korygowania, aby można było również przetestować te zasady za pomocą akcji "DeployIfNotExist".
Nowa wersja zasad zarówno inspekcji, jak i korygowania jest obsługiwana przez nasz aparat open source azure-osconfig — więcej informacji na temat ogłoszenia dotyczącego ponownego tworzenia platformy.
Aby uzyskać więcej informacji, zobacz Konfiguracja gościa usługi Azure Policy i Omówienie testu porównawczego zabezpieczeń platformy Azure (wersja 2).
Mapowania ciS są oparte na wersji Distro Independent Benchmark w wersji 2.0.0.
Ogólne mechanizmy kontroli zabezpieczeń
| Nazwisko (CCEID) |
Nowa nazwa | Szczegóły | Sprawdzanie korygowania |
|---|---|---|---|
| Upewnij się, że opcja nodev jest ustawiona na partycji /home. (1.1.4) |
Upewnij się, że opcja nodev ustawiona na partycji /home (CIS: L1 — Serwer - 1.1.14) | Opis: Osoba atakująca może zainstalować specjalne urządzenie (na przykład zablokować lub urządzenie znakowe) na partycji /home. | Edytuj plik /etc/fstab i dodaj nodev do czwartego pola (opcje instalowania) dla partycji /home. Aby uzyskać więcej informacji, zobacz strony ręczne fstab(5). |
| Upewnij się, że opcja nodev jest ustawiona na partycji /tmp. (1.1.5) |
Upewnij się, że opcja nodev ustawiona na partycji /tmp (CIS: L1 — Serwer — 1.1.3) | Opis: Osoba atakująca może zainstalować specjalne urządzenie (na przykład zablokować lub urządzenie znakowe) na partycji /tmp. | Edytuj plik /etc/fstab i dodaj nodev do czwartego pola (opcje instalowania) dla partycji /tmp. Aby uzyskać więcej informacji, zobacz strony ręczne fstab(5). |
| Upewnij się, że opcja nodev jest ustawiona na partycji /var/tmp. (1.1.6) |
Upewnij się, że opcja nodev ustawiona na partycji /var/tmp (CIS: L1 — Serwer — 1.1.8) | Opis: Osoba atakująca może zainstalować specjalne urządzenie (na przykład zablokować lub znak) na partycji /var/tmp. | Edytuj plik /etc/fstab i dodaj węzełv do czwartego pola (opcje instalowania) dla partycji /var/tmp. Aby uzyskać więcej informacji, zobacz strony ręczne fstab(5). |
| Upewnij się, że opcja nosuid jest ustawiona na partycji /tmp. (1.1.7) |
Upewnij się, że opcja nosuid ustawiona na partycji /tmp (CIS: L1 — Serwer — 1.1.4) | Opis: Ponieważ system plików /tmp jest przeznaczony tylko dla tymczasowego magazynu plików, ustaw tę opcję, aby upewnić się, że użytkownicy nie mogą tworzyć plików setuid w /var/tmp. | Edytuj plik /etc/fstab i dodaj nosuid do czwartego pola (opcje instalowania) dla partycji /tmp. Aby uzyskać więcej informacji, zobacz strony ręczne fstab(5). |
| Upewnij się, że opcja nosuid jest ustawiona na partycji /var/tmp. (1.1.8) |
Upewnij się, że opcja nosuid jest ustawiona na partycji /var/tmp (CIS: L1 — Serwer — 1.1.9) | Opis: Ponieważ system plików /var/tmp jest przeznaczony tylko dla magazynu plików tymczasowych, ustaw tę opcję, aby upewnić się, że użytkownicy nie mogą tworzyć plików setuid w /var/tmp. | Edytuj plik /etc/fstab i dodaj nosuid do czwartego pola (opcje instalowania) dla partycji /var/tmp. Aby uzyskać więcej informacji, zobacz strony ręczne fstab(5). |
| Upewnij się, że opcja noexec jest ustawiona na partycji /var/tmp. (1.1.9) |
Upewnij się, że opcja noexec ustawiona na partycji /var/tmp (CIS: L1 — Serwer — 1.1.10) | Opis: Ponieważ /var/tmp system plików jest przeznaczony tylko dla tymczasowego magazynu plików, ustaw tę opcję, aby upewnić się, że użytkownicy nie mogą uruchamiać plików binarnych wykonywalnych z programu /var/tmp . |
Edytuj plik /etc/fstab i dodaj noexec do czwartego pola (opcje instalowania) dla partycji /var/tmp. Aby uzyskać więcej informacji, zobacz strony ręczne fstab(5). |
| Upewnij się, że opcja noexec jest ustawiona na partycji /dev/shm. (1.1.16) |
Upewnij się, że opcja noexec ustawiona na partycji /dev/shm (CIS: L1 — Serwer — 1.1.17) | Opis: ustawienie tej opcji w systemie plików uniemożliwia użytkownikom wykonywanie programów z pamięci udostępnionej. Ta kontrola uniemożliwia użytkownikom wprowadzanie potencjalnie złośliwego oprogramowania w systemie. | Edytuj plik /etc/fstab i dodaj noexec do czwartego pola (opcje instalowania) dla partycji /dev/shm. Aby uzyskać więcej informacji, zobacz strony ręczne fstab(5). |
| Wyłączanie automatycznego instalowania (1.1.21) |
Upewnij się, że automatyczne instalowanie jest wyłączone (CIS: L1 — Serwer — 1.1.22) | Opis: Po włączeniu autoinstalowania każda osoba z dostępem fizycznym może dołączyć dysk USB lub dysk i mieć jego zawartość w systemie, nawet jeśli brakuje im uprawnień do samodzielnego zainstalowania. | Wyłącz usługę autofs: systemctl disable autofs (systemd) lub chkconfig autofs off (sysv) |
| Upewnij się, że instalowanie urządzeń pamięci masowej USB jest wyłączone (1.1.21.1) |
Upewnij się, że instalowanie urządzeń magazynujących USB jest wyłączone (CIS: L1 — Serwer — 1.1.23) | Opis: Usunięcie obsługi urządzeń magazynujących USB zmniejsza lokalną powierzchnię ataków serwera. | Dodaj install usb-storage /bin/true do pliku kończącego /etc/modprobe.d/ się na pliku conf, a następnie uruchom polecenie modprobe -r usb-storage |
| Upewnij się, że zrzuty rdzeni są ograniczone. (1.5.1) |
Upewnij się, że zrzuty rdzeni są ograniczone (CIS: L1 — Serwer — 1.5.1) | Opis: Ustawienie twardego limitu zrzutów rdzeni uniemożliwia użytkownikom zastępowanie zmiennej miękkiej. Jeśli wymagane są podstawowe zrzuty, rozważ ustawienie limitów dla grup użytkowników (zobacz limits.conf(5)). Ponadto ustawienie zmiennej fs.suid_dumpable na 0 uniemożliwi programom setuid zrzucenie rdzenia. |
Dodaj * hard core 0 element do /etc/security/limits.conf i ustaw fs.suid_dumpable = 0 w /etc/sysctl.confpliku , a następnie uruchom polecenie sysctl -p |
| Upewnij się, że link wstępny jest wyłączony. (1.5.4) |
Upewnij się, że połączenie wstępne jest wyłączone (CIS: L1 — Serwer — 1.5.4) | Opis: Funkcja łączenia wstępnego może zakłócać działanie programu AIDE, ponieważ zmienia pliki binarne. Wstępne łączenie może również zwiększyć lukę w zabezpieczeniach systemu, jeśli złośliwy użytkownik może naruszyć wspólną bibliotekę, taką jak libc. | Odinstaluj link wstępny: yum remove prelink (RHEL/CentOS) lub apt remove prelink (Debian/Ubuntu) |
| Upewnij się, że skonfigurowano uprawnienia do /etc/motd. (1.7.1.4) |
Upewnij się, że skonfigurowano uprawnienia do /etc/motd (CIS: L1 — Serwer — 1.7.1.4) | Opis: Jeśli /etc/motd plik nie ma poprawnej własności, może to zostać zmodyfikowane przez nieautoryzowanych użytkowników z nieprawidłowymi lub wprowadzającymi w błąd informacjami. |
Ustaw własność i uprawnienia: chown root:root /etc/motd && chmod 644 /etc/motd |
| Upewnij się, że skonfigurowano uprawnienia do /etc/issue. (1.7.1.5) |
Upewnij się, że skonfigurowano uprawnienia do /etc/issue (CIS: L1 — Serwer — 1.7.1.5) | Opis: Jeśli /etc/issue plik nie ma poprawnej własności, może to zostać zmodyfikowane przez nieautoryzowanych użytkowników z nieprawidłowymi lub wprowadzającymi w błąd informacjami. |
Ustaw własność i uprawnienia: chown root:root /etc/issue && chmod 644 /etc/issue |
| Upewnij się, że skonfigurowano uprawnienia w pliku /etc/issue.net. (1.7.1.6) |
Upewnij się, że skonfigurowano uprawnienia w witrynie /etc/issue.net (CIS: L1 — Serwer — 1.7.1.6) | Opis: Jeśli /etc/issue.net plik nie ma poprawnej własności, może to zostać zmodyfikowane przez nieautoryzowanych użytkowników z nieprawidłowymi lub wprowadzającymi w błąd informacjami. |
Ustaw własność i uprawnienia: chown root:root /etc/issue.net && chmod 644 /etc/issue.net |
| Opcja nodev powinna być włączona dla wszystkich nośników wymiennych. (2.1) |
Upewnij się, że opcja nodev jest włączona dla wszystkich nośników wymiennych (CIS: L1 — Serwer — 1.1.18) | Opis: Osoba atakująca może zainstalować specjalne urządzenie (na przykład urządzenie blokowe lub znakowe) za pośrednictwem nośnika wymiennego | Dodaj opcję nodev do czwartego pola (opcje instalowania) w /etc/fstab. Aby uzyskać więcej informacji, zobacz strony ręczne fstab(5). |
| Dla wszystkich nośników wymiennych należy włączyć opcję noexec. (2.2) |
Upewnij się, że opcja noexec jest włączona dla wszystkich nośników wymiennych (CIS: L1 — Serwer — 1.1.20) | Opis: Osoba atakująca może załadować plik wykonywalny za pośrednictwem nośnika wymiennego | Dodaj opcję noexec do czwartego pola (opcje instalowania) w /etc/fstab. Aby uzyskać więcej informacji, zobacz strony ręczne fstab(5). |
| Opcja nosuid powinna być włączona dla wszystkich nośników wymiennych. (2.3) |
Upewnij się, że opcja nosuid jest włączona dla wszystkich nośników wymiennych (CIS: L1 — Serwer - 1.1.19) | Opis: Osoba atakująca może załadować pliki uruchamiane przy użyciu kontekstu zabezpieczeń z podwyższonym poziomem uprawnień za pośrednictwem nośnika wymiennego | Dodaj opcję nosuid do czwartego pola (opcje instalowania) w /etc/fstab. Aby uzyskać więcej informacji, zobacz strony ręczne fstab(5). |
| Upewnij się, że klient rozmów nie jest zainstalowany. (2.3.3) |
Upewnij się, że klient rozmów nie jest zainstalowany (CIS: L1 — Serwer — 2.3.3) | Opis: Oprogramowanie stanowi zagrożenie bezpieczeństwa, ponieważ używa niezaszyfrowanych protokołów do komunikacji. | Odinstalowywanie rozmowy: yum remove talk (RHEL/CentOS) lub apt remove talk (Debian/Ubuntu) |
| Upewnij się, że skonfigurowano uprawnienia na /etc/hosts.allow. (3.4.4) |
Upewnij się, że skonfigurowano uprawnienia na /etc/hosts.allow (CIS: L1 — Serwer — 3.3.2 + 3.3.4) | Opis: Ważne jest, aby upewnić się, że /etc/hosts.allow plik jest chroniony przed nieautoryzowanym dostępem do zapisu. Mimo że jest on domyślnie chroniony, uprawnienia do plików można zmienić przypadkowo lub za pomocą złośliwych akcji. |
Ustaw własność i uprawnienia: chown root:root /etc/hosts.allow && chmod 644 /etc/hosts.allow |
| Upewnij się, że skonfigurowano uprawnienia na /etc/hosts.deny. (3.4.5) |
Upewnij się, że skonfigurowano uprawnienia na /etc/hosts.deny (CIS: L1 — Serwer — 3.3.3 + 3.3.5) | Opis: Ważne jest, aby upewnić się, że /etc/hosts.deny plik jest chroniony przed nieautoryzowanym dostępem do zapisu. Mimo że jest on domyślnie chroniony, uprawnienia do plików można zmienić przypadkowo lub za pomocą złośliwych akcji. |
Ustaw własność i uprawnienia: chown root:root /etc/hosts.deny && chmod 644 /etc/hosts.deny |
| Upewnij się, że domyślne zasady zapory odmowy (3.6.2) |
Upewnij się, że ustawiono domyślne zasady zapory odmowy (CIS: L1 — Serwer — 3.5.2.1) | Opis: W przypadku domyślnych zasad akceptowania zapora będzie akceptować wszystkie pakiety, które nie są jawnie odrzucane. Łatwiej jest zachować bezpieczną zaporę z domyślnymi zasadami DROP niż domyślne zasady Zezwalaj. | Ustaw domyślne zasady dla ruchu przychodzącego, wychodzącego i kierowanego do deny lub reject zgodnie z potrzebami przy użyciu oprogramowania zapory |
| Opcja nodev/nosuid powinna być włączona dla wszystkich instalacji NFS. (5) |
Upewnij się, że opcja nodev/nosuid jest włączona dla wszystkich instalacji systemu plików NFS | Opis: Osoba atakująca może załadować pliki uruchamiane z podwyższonym poziomem zabezpieczeń lub specjalnymi urządzeniami za pośrednictwem zdalnego systemu plików | Dodaj opcje nosuid i nodev do czwartego pola (opcje instalowania) w /etc/fstab. Aby uzyskać więcej informacji, zobacz strony ręczne fstab(5). |
| Upewnij się, że skonfigurowano uprawnienia dla /etc/ssh/sshd_config. (5.2.1) |
Upewnij się, że skonfigurowano uprawnienia /etc/ssh/sshd_config (CIS: L1 — Serwer — 5.2.1) | Opis: plik /etc/ssh/sshd_config musi być chroniony przed nieautoryzowanymi zmianami przez użytkowników niebędących uprzywilejowanimi. |
Ustaw własność i uprawnienia: chown root:root /etc/ssh/sshd_config && chmod 600 /etc/ssh/sshd_config |
| Upewnij się, że skonfigurowano wymagania dotyczące tworzenia haseł. (5.3.1) |
Upewnij się, że skonfigurowano wymagania dotyczące tworzenia haseł (CIS: L1 — Serwer — 5.3.1) | Opis: Silne hasła chronią systemy przed włamaniem przez metody siłowe. | Konfigurowanie złożoności hasła usługi PAM w systemie /etc/pam.d/common-password lub /etc/pam.d/system-auth: password requisite pam_pwquality.so minlen=14 minclass=4 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1 |
| Upewnij się, że skonfigurowano blokadę dla nieudanych prób haseł. (5.3.2) |
Upewnij się, że skonfigurowano blokadę dla nieudanych prób haseł (CIS: L1 — Serwer — 5.3.2) | Opis: Blokowanie identyfikatorów użytkowników po n niepomyślnych kolejnych próbach logowania zmniejsza ryzyko ataków siłowych na hasła w systemach. |
w systemach Ubuntu i Debian dodaj odpowiednio moduły pam_tally i pam_deny. W przypadku wszystkich innych dystrybucji zapoznaj się z dokumentacją dystrybucji |
| Wyłącz instalację i korzystanie z systemów plików, które nie są wymagane (cramfs) (6.1) |
Upewnij się, że system plików cramfs jest wyłączony (CIS: L1 — Serwer - 1.1.1.1) | Opis: Osoba atakująca może użyć luki w zabezpieczeniach w cramfs w celu podniesienia uprawnień | Dodaj install cramfs /bin/true do pliku kończącego /etc/modprobe.d/ się na pliku conf, a następnie uruchom polecenie modprobe -r cramfs |
| Wyłącz instalację i korzystanie z systemów plików, które nie są wymagane (freevxfs) (6.2) |
Upewnij się, że system plików freevxfs jest wyłączony (CIS: L1 — Serwer — 1.1.1.2) | Opis: Osoba atakująca może użyć luki w zabezpieczeniach freevxfs w celu podniesienia uprawnień | Dodaj install freevxfs /bin/true do pliku kończącego /etc/modprobe.d/ się na pliku conf, a następnie uruchom polecenie modprobe -r freevxfs |
| Upewnij się, że wszystkie katalogi główne użytkowników istnieją (6.2.7) |
Upewnij się, że wszystkie katalogi główne użytkowników istnieją (CIS: L1 — Serwer — 6.2.7) | Opis: Jeśli katalog główny użytkownika nie istnieje lub nie został przydzielony, użytkownik zostanie umieszczony w katalogu głównym woluminu. Ponadto użytkownik nie będzie mógł zapisać żadnych plików ani ustawić zmiennych środowiskowych. | Jeśli katalogi główne użytkowników nie istnieją, utwórz je i upewnij się, że odpowiedni użytkownik jest właścicielem katalogu. W razie potrzeby użytkownicy bez przypisanego katalogu macierzystego powinni zostać usunięci lub przypisani do niego katalog macierzysty. |
| Upewnij się, że użytkownicy są właścicielami katalogów domowych (6.2.9) |
Upewnij się, że użytkownicy posiadają swoje katalogi macierzyste (CIS: L1 — Serwer — 6.2.9) | Opis: ponieważ użytkownik jest odpowiedzialny za pliki przechowywane w katalogu głównym użytkownika, użytkownik musi być właścicielem katalogu. | Zmień własność wszystkich katalogów domowych, które nie są własnością zdefiniowanego użytkownika do odpowiedniego użytkownika. |
| Upewnij się, że pliki kropkowe użytkowników nie są grupowalne ani nie są zapisywalne w świecie. (6.2.10) |
Upewnij się, że pliki kropkowe użytkowników nie są grupowe ani światowe (CIS: L1 — Serwer — 6.2.10) | Opis: pliki konfiguracji użytkownika z możliwością tworzenia grup lub na świecie mogą umożliwić złośliwym użytkownikom kradzież lub zmodyfikowanie danych innych użytkowników lub uzyskanie uprawnień systemowych innego użytkownika. | Wprowadzanie globalnych modyfikacji plików użytkowników bez powiadamiania społeczności użytkowników może spowodować nieoczekiwane awarie i niezadowolonych użytkowników. W związku z tym zalecamy ustanowienie zasad monitorowania w celu raportowania uprawnień pliku kropki użytkownika i określania akcji korygowania zasad lokacji. |
| Upewnij się, że żaden użytkownik nie ma plików przekazywania dalej (6.2.11) |
Upewnij się, że żaden użytkownik nie ma plików przekazywania dalej (CIS: L1 — Serwer — 6.2.11) | Opis: Użycie .forward pliku stanowi zagrożenie bezpieczeństwa w tym, że poufne dane mogą zostać przypadkowo przeniesione poza organizację. Plik .forward stwarza również ryzyko, ponieważ może służyć do wykonywania poleceń, które mogą wykonywać niezamierzone akcje. |
Wprowadzanie globalnych modyfikacji plików użytkowników bez powiadamiania społeczności użytkowników może spowodować nieoczekiwane awarie i niezadowolonych użytkowników. W związku z tym zaleca się ustanowienie zasad monitorowania w celu zgłaszania plików użytkowników .forward i określania akcji, która ma zostać podjęta zgodnie z zasadami lokacji. |
| Upewnij się, że żaden użytkownik nie ma plików .netrc (6.2.12) |
Upewnij się, że żaden użytkownik nie ma plików .netrc (CIS: L1 — Serwer — 6.2.12) | Opis: .netrc plik stanowi poważne zagrożenie bezpieczeństwa, ponieważ przechowuje hasła w postaci niezaszyfrowanej. Nawet jeśli protokół FTP jest wyłączony, konta użytkowników mogły przejąć .netrc pliki z innych systemów, które mogą stanowić zagrożenie dla tych systemów |
Wprowadzanie globalnych modyfikacji plików użytkowników bez powiadamiania społeczności użytkowników może spowodować nieoczekiwane awarie i niezadowolonych użytkowników. W związku z tym zaleca się ustanowienie zasad monitorowania w celu zgłaszania plików użytkowników .netrc i określania akcji, która ma zostać podjęta zgodnie z zasadami lokacji. |
| Upewnij się, że żaden użytkownik nie ma plików rhosts (6.2.14) |
Upewnij się, że żaden użytkownik nie ma plików rhosts (CIS: L1 — Serwer — 6.2.14) | Opis: Ta akcja jest zrozumiała tylko wtedy, gdy .rhosts obsługa jest dozwolona w pliku /etc/pam.conf . Mimo że pliki są nieskuteczne, jeśli .rhosts obsługa jest wyłączona w /etc/pam.conf systemie , mogły one zostać przeniesione z innych systemów i mogą zawierać informacje przydatne dla osoby atakującej dla tych innych systemów. |
Wprowadzanie globalnych modyfikacji plików użytkowników bez powiadamiania społeczności użytkowników może spowodować nieoczekiwane awarie i niezadowolonych użytkowników. W związku z tym zaleca się ustanowienie zasad monitorowania w celu zgłaszania plików użytkowników .rhosts i określania akcji, która ma zostać podjęta zgodnie z zasadami lokacji. |
| Upewnij się, że wszystkie grupy w /etc/passwd istnieją w /etc/group (6.2.15) |
Upewnij się, że wszystkie grupy w /etc/passwd istnieją w /etc/group (CIS: L1 — Serwer - 6.2.15) | Opis: grupy zdefiniowane w pliku /etc/passwd, ale nie w pliku /etc/group stanowią zagrożenie dla zabezpieczeń systemu, ponieważ uprawnienia grupy nie są prawidłowo zarządzane. | Dla każdej grupy zdefiniowanej w /etc/passwd upewnij się, że istnieje odpowiednia grupa w /etc/group |
| Upewnij się, że nie istnieją zduplikowane identyfikatory UID (6.2.16) |
Upewnij się, że nie istnieją zduplikowane identyfikatory użytkownika (CIS: L1 — Serwer — 6.2.16) | Opis: Aby zapewnić odpowiednią ochronę dostępu, użytkownicy muszą mieć przypisane unikatowe identyfikatory UID. | Ustanów unikatowe identyfikatory UID i przejrzyj wszystkie pliki należące do udostępnionych identyfikatorów użytkownika, aby określić identyfikator UID, do którego mają należeć. |
| Upewnij się, że nie istnieją zduplikowane identyfikatory GID (6.2.17) |
Upewnij się, że nie istnieją zduplikowane identyfikatory GID (CIS: L1 — Serwer — 6.2.17) | Opis: Grupy muszą mieć przypisane unikatowe identyfikatory GID w celu zapewnienia odpowiedzialności i zapewnienia odpowiedniej ochrony dostępu. | Ustanów unikatowe identyfikatory GID i przejrzyj wszystkie pliki należące do udostępnionych identyfikatorów GID, aby określić, do których identyfikatorów GID mają należeć. |
| Upewnij się, że nie istnieją zduplikowane nazwy użytkowników (6.2.18) |
Upewnij się, że nie istnieją zduplikowane nazwy użytkowników (CIS: L1 — Serwer — 6.2.18) | Opis: Jeśli użytkownik ma przypisaną zduplikowaną nazwę użytkownika, zostanie utworzony i będzie miał dostęp do plików z pierwszym identyfikatorem UID dla tej nazwy użytkownika w programie /etc/passwd . Jeśli na przykład element "test4" ma identyfikator UID 1000, a kolejny wpis "test4" ma identyfikator UID 2000, zalogowanie się jako "test4" będzie używać identyfikatora UID 1000. W rzeczywistości identyfikator UID jest współużytkowany, co jest problemem z zabezpieczeniami. |
Ustanów unikatowe nazwy użytkowników dla wszystkich użytkowników. Własność plików będzie automatycznie odzwierciedlać zmianę, o ile użytkownicy mają unikatowe identyfikatory UID. |
| Upewnij się, że nie istnieją zduplikowane grupy (6.2.19) |
Upewnij się, że nie istnieją zduplikowane grupy (CIS: L1 — Serwer — 6.2.19) | Opis: Jeśli grupa ma przypisaną zduplikowaną nazwę grupy, zostanie utworzona i będzie miała dostęp do plików z pierwszym identyfikatorem GID dla tej grupy w programie /etc/group . W rzeczywistości giD jest współużytkowany, co jest problemem z zabezpieczeniami. |
Ustanów unikatowe nazwy dla wszystkich grup użytkowników. Własność grup plików będzie automatycznie odzwierciedlać zmianę, o ile grupy mają unikatowe identyfikatory GID. |
| Upewnij się, że grupa w tle jest pusta (6.2.20) |
Upewnij się, że grupa w tle jest pusta (CIS: L1 — Serwer — 6.2.20) | Opis: Wszyscy użytkownicy przypisani do grupy w tle otrzymają dostęp do odczytu do pliku /etc/shadow. Jeśli osoby atakujące mogą uzyskać dostęp do odczytu do /etc/shadow pliku, mogą łatwo uruchomić program do łamania hasła względem skrótów haseł, aby je złamać. Inne informacje o zabezpieczeniach przechowywane w /etc/shadow pliku (takie jak wygaśnięcie) mogą być również przydatne, aby odwrócić inne konta użytkowników. |
Usuń wszystkich użytkowników tworzących grupę w tle |
| Wyłącz instalację i korzystanie z systemów plików, które nie są wymagane (hfs) (6.3) |
Upewnij się, że system plików hfs jest wyłączony (CIS: L1 — Serwer — 1.1.1.4) | Opis: Osoba atakująca może użyć luki w zabezpieczeniach hfs w celu podniesienia uprawnień | Dodaj install hfs /bin/true do pliku kończącego /etc/modprobe.d/ się na pliku conf, a następnie uruchom polecenie modprobe -r hfs |
| Wyłącz instalację i korzystanie z systemów plików, które nie są wymagane (hfsplus) (6.4) |
Upewnij się, że systemy plików hfsplus są wyłączone (CIS: L1 — Serwer - 1.1.1.5) | Opis: Osoba atakująca może użyć luki w zabezpieczeniach hfsplus w celu podniesienia uprawnień | Dodaj install hfsplus /bin/true do pliku kończącego /etc/modprobe.d/ się na pliku conf, a następnie uruchom polecenie modprobe -r hfsplus |
| Wyłącz instalację i korzystanie z systemów plików, które nie są wymagane (jffs2) (6.5) |
Upewnij się, że systemy plików jffs2 są wyłączone (CIS: L1 — Serwer — 1.1.1.3) | Opis: Osoba atakująca może użyć luki w zabezpieczeniach jffs2 w celu podniesienia uprawnień | Dodaj install jffs2 /bin/true do pliku kończącego /etc/modprobe.d/ się na pliku conf, a następnie uruchom polecenie modprobe -r jffs2 |
| Jądra powinny być kompilowane tylko z zatwierdzonych źródeł. (10) |
Upewnij się, że jądro zostało skompilowane z zatwierdzonych źródeł | Opis: Jądro ze źródła niezatwierdzonego może zawierać luki w zabezpieczeniach lub backdoors w celu udzielenia dostępu osobie atakującej. | Zainstaluj jądro dostarczane przez dostawcę dystrybucji. |
| /etc/shadow uprawnienia do pliku powinny być ustawione na 0400 (11.1) |
Upewnij się, że skonfigurowano uprawnienia do pliku /etc/shadow (CIS: L1 — Serwer — 6.1.3) | Opis: Osoba atakująca może pobrać lub manipulować skrótami haseł z /etc/shadow, jeśli nie jest prawidłowo zabezpieczona. | Ustaw własność i uprawnienia: chown root:shadow /etc/shadow && chmod 640 /etc/shadow |
| /etc/shadow- uprawnienia do pliku powinny być ustawione na 0400 (11.2) |
Upewnij się, że skonfigurowano uprawnienia do pliku /etc/shadow ( CIS: L1 — Serwer — 6.1.7) | Opis: Osoba atakująca może pobrać lub manipulować skrótami haseł z /etc/shadow, jeśli nie jest prawidłowo zabezpieczona. | Ustaw własność i uprawnienia: chown root:shadow /etc/shadow- && chmod 640 /etc/shadow- |
| /etc/gshadow uprawnienia do pliku powinny być ustawione na 0400 (11.3) |
Upewnij się, że skonfigurowano uprawnienia do pliku /etc/gshadow (CIS: L1 — Serwer — 6.1.5) | Opis: Osoba atakująca może dołączyć do grup zabezpieczeń, jeśli ten plik nie jest prawidłowo zabezpieczony | Ustaw własność i uprawnienia: chown root:shadow /etc/gshadow && chmod 640 /etc/gshadow |
| /etc/gshadow- uprawnienia do plików powinny być ustawione na 0400 (11.4) |
Upewnij się, że uprawnienia do plików w /etc/gshadow- są skonfigurowane (CIS: L1 — Serwer — 6.1.9) | Opis: Osoba atakująca może dołączyć do grup zabezpieczeń, jeśli ten plik nie jest prawidłowo zabezpieczony | Ustaw własność i uprawnienia: chown root:shadow /etc/gshadow- && chmod 640 /etc/gshadow- |
| Uprawnienia do pliku /etc/passwd powinny mieć wartość 0644 (12.1) |
Upewnij się, że skonfigurowano uprawnienia do pliku /etc/passwd (CIS: L1 — Serwer — 6.1.2) | Opis: Osoba atakująca może modyfikować identyfikatory użytkowników i powłoki logowania | Ustaw własność i uprawnienia: chown root:root /etc/passwd && chmod 644 /etc/passwd |
| Uprawnienia do pliku /etc/group powinny mieć wartość 0644 (12.2) |
Upewnij się, że skonfigurowano uprawnienia do pliku dla /etc/group (CIS: L1 — Serwer — 6.1.4) | Opis: Osoba atakująca może podnieść poziom uprawnień przez zmodyfikowanie członkostwa w grupie | Ustaw własność i uprawnienia: chown root:root /etc/group && chmod 644 /etc/group |
| /etc/passwd- uprawnienia do pliku powinny być ustawione na 0600 (12.3) |
Upewnij się, że skonfigurowano uprawnienia do pliku /etc/passwd- (CIS: L1 — Serwer — 6.1.6) | Opis: Osoba atakująca może dołączyć do grup zabezpieczeń, jeśli ten plik nie jest prawidłowo zabezpieczony | Ustaw własność i uprawnienia: chown root:root /etc/passwd- && chmod 600 /etc/passwd- |
| /etc/group- uprawnienia do pliku powinny mieć wartość 0644 (12.4) |
Upewnij się, że skonfigurowano uprawnienia do pliku /etc/group ( CIS: L1 — Serwer — 6.1.8) | Opis: Osoba atakująca może podnieść poziom uprawnień przez zmodyfikowanie członkostwa w grupie | Ustaw własność i uprawnienia: chown root:root /etc/group- && chmod 644 /etc/group- |
| Dostęp do konta głównego za pośrednictwem funkcji su powinien być ograniczony do grupy "root" (21) |
Upewnij się, że dostęp do konta głównego za pośrednictwem protokołu su jest ograniczony do grupy "root" (CIS: L1 — Serwer — 5.5) | Opis: Osoba atakująca może eskalować uprawnienia, odgadując hasło, jeśli su nie jest ograniczona do użytkowników w grupie głównej. | Dodaj auth required pam_wheel.so use_uid element do /etc/pam.d/su i upewnij się, że grupa kół istnieje |
| Grupa "root" powinna istnieć i zawierać wszystkich członków, którzy mogą pozować do katalogu głównego (22) |
Upewnij się, że grupa "root" istnieje i zawiera wszystkie elementy członkowskie, które mogą pozować do katalogu głównego (CIS: L1 — Serwer — 5.6) | Opis: Osoba atakująca może eskalować uprawnienia, odgadując hasło, jeśli su nie jest ograniczona do użytkowników w grupie głównej. | Utwórz grupę główną za pomocą polecenia "groupadd -g 0 root" |
| Wszystkie konta powinny mieć hasło (23.2) |
Upewnij się, że wszystkie konta użytkowników, które mogą zalogować się, mają zestaw haseł | Opis: Osoba atakująca może zalogować się do kont bez hasła i wykonać dowolne polecenia. | Użyj passwd polecenia, aby ustawić hasła dla wszystkich kont |
| Konta inne niż root muszą mieć unikatowe identyfikatory UID większe niż zero(0) (24) |
Upewnij się, że wszystkie konta użytkowników inne niż root mają unikatowe identyfikatory UID większe niż zero (0) | Opis: Jeśli konto inne niż konto główne ma identyfikator uid zero, osoba atakująca może naruszyć bezpieczeństwo konta i uzyskać uprawnienia administratora. | Przypisz unikatowe, niezerowe identyfikatory uid do wszystkich kont innych niż główne przy użyciu polecenia "usermod -u" |
| Należy włączyć losowe umieszczanie regionów pamięci wirtualnej (25) |
Upewnij się, że włączono losowe umieszczanie (ASLR) regionów pamięci wirtualnej (CIS: L1 — Serwer — 1.5.3) | Opis: Osoba atakująca może napisać kod wykonywalny do znanych regionów w pamięci, co powoduje podniesienie uprawnień | Dodaj wartość "1" lub "2" do pliku "/proc/sys/kernel/randomize_va_space" |
| Należy włączyć obsługę jądra dla funkcji procesora XD/NX (26) |
Upewnij się, że obsługa jądra dla funkcji procesora XD/NX jest włączona (CIS: L1 — Serwer - 1.5.2) | Opis: Osoba atakująca może spowodować, że system będzie wykonywać kod z regionów danych w pamięci, co powoduje podniesienie uprawnień. | Upewnij się, że plik "/proc/cpuinfo" zawiera flagę "nx" |
| ''' nie powinien występować w $PATH katalogu głównego (27.1) |
Upewnij się, że wartość "." nie jest wyświetlana w $PATH katalogu głównego (CIS: L1 — Serwer — 6.2.6) | Opis: Osoba atakująca może podnieść poziom uprawnień, umieszczając złośliwy plik w $PATH katalogu głównego | Zmodyfikuj wiersz "export PATH=" w katalogu /root/.profile |
| Katalogi główne użytkownika powinny być w trybie 750 lub bardziej restrykcyjnym (28) |
Upewnij się, że dostęp do katalogów domowych użytkownika jest ograniczony | Opis: Osoba atakująca może pobrać poufne informacje z folderów domowych innych użytkowników. | Ustaw uprawnienia katalogu macierzystego na 750 lub bardziej restrykcyjne: chmod 750 /home/* |
| Domyślna maska umask dla wszystkich użytkowników powinna mieć wartość 077 w pliku login.defs (29) |
Upewnij się, że skonfigurowano domyślną maskę umask dla wszystkich użytkowników | Opis: Osoba atakująca może pobrać poufne informacje z plików należących do innych użytkowników. | Dodawanie UMASK 077 do i dodawanie /etc/login.defs do umask 077/etc/profile i/etc/bashrc |
| Wszystkie moduły ładujących powinny mieć włączoną ochronę haseł. (31) |
Upewnij się, że wszystkie moduły ładujących mają włączoną ochronę haseł (CIS: L1 — Serwer — 1.4.2) | Opis: Osoba atakująca z dostępem fizycznym może zmodyfikować opcje modułu ładującego rozruchu, co daje nieograniczony dostęp do systemu | Dodaj hasło modułu ładującego rozruchu do pliku "/boot/grub/grub.cfg" |
| Upewnij się, że skonfigurowano uprawnienia do konfiguracji modułu ładującego rozruchu (31.1) |
Upewnij się, że skonfigurowano uprawnienia do konfiguracji modułu ładującego rozruchu (CIS: L1 — Serwer — 1.4.1) | Opis: Ustawienie uprawnień do odczytu i zapisu tylko dla katalogu głównego uniemożliwia użytkownikom innym niż root wyświetlanie parametrów rozruchu lub ich zmienianie. Użytkownicy niebędący użytkownikami głównymi, którzy odczytują parametry rozruchu, mogą identyfikować słabe strony zabezpieczeń podczas rozruchu i być w stanie je wykorzystać. | Ustaw uprawnienia konfiguracji modułu ładującego rozruchu: chown root:root /boot/grub*/grub.cfg && chmod 400 /boot/grub*/grub.cfg (dostosuj ścieżkę dla modułu ładującego rozruchu) |
| Upewnij się, że wymagane jest uwierzytelnianie w trybie pojedynczego użytkownika. (33) |
Upewnij się, że wymagane jest uwierzytelnianie w trybie pojedynczego użytkownika (CIS: L1 — Serwer — 1.4.3) | Opis: Wymaganie uwierzytelniania w trybie pojedynczego użytkownika uniemożliwia nieautoryzowanemu użytkownikowi ponowne uruchomienie systemu w celu uzyskania uprawnień administratora bez poświadczeń. | Uruchom następujące polecenie, aby ustawić hasło użytkownika głównego: passwd root |
| Upewnij się, że wysyłanie przekierowania pakietów jest wyłączone. (38.3) |
Upewnij się, że wysyłanie przekierowania pakietów jest wyłączone (CIS: L1 — Serwer — 3.1.2) | Opis: Osoba atakująca może użyć naruszonego hosta do wysyłania nieprawidłowych przekierowań ICMP do innych urządzeń routera w celu uszkodzenia routingu i uzyskania dostępu użytkowników do systemu skonfigurowanego przez osobę atakującą w przeciwieństwie do prawidłowego systemu. | Dodaj do polecenia /etc/sysctl.conf: net.ipv4.conf.all.send_redirects = 0 i net.ipv4.conf.default.send_redirects = 0, a następnie uruchom polecenie sysctl -p |
| Wysyłanie przekierowań protokołu ICMP powinno być wyłączone dla wszystkich interfejsów. (net.ipv4.conf.default.accept_redirects = 0) (38.4) |
Upewnij się, że przekierowania ICMP nie są akceptowane (CIS: L1 — Serwer — 3.2.2) — wiele reguł połączonych | Opis: Osoba atakująca może zmienić tabelę routingu systemu, przekierowywać ruch do alternatywnego miejsca docelowego | Dodaj do polecenia /etc/sysctl.conf: net.ipv4.conf.default.accept_redirects = 0 i net.ipv6.conf.default.accept_redirects = 0, a następnie uruchom polecenie sysctl -p |
| Wysyłanie przekierowań protokołu ICMP powinno być wyłączone dla wszystkich interfejsów. (net.ipv4.conf.default.secure_redirects = 0) (38.5) |
Upewnij się, że przekierowania ICMP nie są akceptowane (CIS: L1 — Serwer — 3.2.2) — wiele reguł połączonych | Opis: Osoba atakująca może zmienić tabelę routingu systemu, przekierowywać ruch do alternatywnego miejsca docelowego | Dodaj do polecenia /etc/sysctl.conf: net.ipv4.conf.default.secure_redirects = 0, a następnie uruchom polecenie sysctl -p |
| Akceptowanie pakietów kierowanych przez źródło powinno być wyłączone dla wszystkich interfejsów. (net.ipv4.conf.all.accept_source_route = 0) (40.1) |
Upewnij się, że akceptowanie pakietów kierowanych przez źródło jest wyłączone dla wszystkich interfejsów (CIS: L1 — Serwer — 3.2.1) — połączone reguły IPv4 i IPv6 | Opis: Osoba atakująca może przekierować ruch do złośliwych celów. | Uruchom sysctl -w key=value polecenie i ustaw wartość zgodną. |
| Akceptowanie pakietów kierowanych przez źródło powinno być wyłączone dla wszystkich interfejsów. (net.ipv6.conf.all.accept_source_route = 0) (40.2) |
Upewnij się, że akceptowanie pakietów kierowanych przez źródło jest wyłączone dla wszystkich interfejsów (CIS: L1 — Serwer — 3.2.1) — połączone reguły IPv4 i IPv6 | Opis: Osoba atakująca może przekierować ruch do złośliwych celów. | Uruchom sysctl -w key=value polecenie i ustaw wartość zgodną. |
| Ustawienie domyślne akceptowania pakietów kierowanych przez źródło powinno być wyłączone dla interfejsów sieciowych. (net.ipv4.conf.default.accept_source_route = 0) (42.1) |
Upewnij się, że ustawienie domyślne akceptowania pakietów kierowanych przez źródło jest wyłączone dla interfejsów sieciowych (CIS: L1 — Serwer — 3.2.1) — połączone reguły IPv4 i IPv6 | Opis: Osoba atakująca może przekierować ruch do złośliwych celów. | Uruchom sysctl -w key=value polecenie i ustaw wartość zgodną. |
| Ustawienie domyślne akceptowania pakietów kierowanych przez źródło powinno być wyłączone dla interfejsów sieciowych. (net.ipv6.conf.default.accept_source_route = 0) (42.2) |
Upewnij się, że ustawienie domyślne akceptowania pakietów kierowanych przez źródło jest wyłączone dla interfejsów sieciowych (CIS: L1 — Serwer — 3.2.1) — połączone reguły IPv4 i IPv6 | Opis: Osoba atakująca może przekierować ruch do złośliwych celów. | Uruchom sysctl -w key=value polecenie i ustaw wartość zgodną. |
| Należy włączyć ignorowanie fałszywych odpowiedzi ICMP na emisje. (net.ipv4.icmp_ignore_bogus_error_responses = 1) (43) |
Upewnij się, że ignorowanie fałszywych odpowiedzi protokołu ICMP na emisje jest włączone (CIS: L1 — Serwer — 3.2.6) | Opis: Osoba atakująca może wykonać atak ICMP, w wyniku czego usługa DoS | Dodaj do polecenia /etc/sysctl.conf: net.ipv4.icmp_ignore_bogus_error_responses = 1, a następnie uruchom polecenie sysctl -p |
| Należy włączyć ignorowanie żądań echa protokołu ICMP (ping) wysyłanych do adresów emisji/multiemisji. (net.ipv4.icmp_echo_ignore_broadcasts = 1) (44) |
Upewnij się, że włączono ignorowanie żądań echa protokołu ICMP (ping) wysyłanych do adresów emisji/multiemisji (CIS: L1 — Serwer — 3.2.5) | Opis: Osoba atakująca może wykonać atak ICMP, w wyniku czego usługa DoS | Dodaj do polecenia /etc/sysctl.conf: net.ipv4.icmp_echo_ignore_broadcasts = 1, a następnie uruchom polecenie sysctl -p |
| Rejestrowanie pakietów marsjańskich (tych z niemożliwymi adresami) powinno być włączone dla wszystkich interfejsów. (net.ipv4.conf.all.log_martians = 1) (45.1) |
Upewnij się, że rejestrowanie pakietów marsjańskich (tych z niemożliwymi adresami) jest włączone dla wszystkich interfejsów | Opis: Osoba atakująca może wysyłać ruch z sfałszowanych adresów bez wykrycia | Dodaj do polecenia /etc/sysctl.conf: net.ipv4.conf.all.log_martians = 1 i net.ipv4.conf.default.log_martians = 1, a następnie uruchom polecenie sysctl -p |
| Sprawdzanie poprawności źródła według ścieżki odwrotnej powinno być włączone dla wszystkich interfejsów. (net.ipv4.conf.all.rp_filter = 1) (46.1) |
Upewnij się, że sprawdzanie poprawności źródła przez ścieżkę odwrotną jest włączone dla wszystkich interfejsów (CIS: L1 — Serwer — 3.2.7) — wiele reguł połączonych | Opis: System będzie akceptować ruch z adresów, które są niezmienialne. | Dodaj do polecenia /etc/sysctl.conf: net.ipv4.conf.all.rp_filter = 1 i net.ipv4.conf.default.rp_filter = 1, a następnie uruchom polecenie sysctl -p |
| Sprawdzanie poprawności źródła według ścieżki odwrotnej powinno być włączone dla wszystkich interfejsów. (net.ipv4.conf.default.rp_filter = 1) (46.2) |
Upewnij się, że sprawdzanie poprawności źródła przez ścieżkę odwrotną jest włączone dla wszystkich interfejsów (CIS: L1 — Serwer — 3.2.7) — wiele reguł połączonych | Opis: System będzie akceptować ruch z adresów, które są niezmienialne. | Dodaj do polecenia /etc/sysctl.conf: net.ipv4.conf.all.rp_filter = 1 i net.ipv4.conf.default.rp_filter = 1, a następnie uruchom polecenie sysctl -p |
| Należy włączyć pliki cookie SYN protokołu TCP. (net.ipv4.tcp_syncookies = 1) (47) |
Upewnij się, że pliki cookie SYN protokołu TCP są włączone (CIS: L1 — Serwer — 3.2.8) | Opis: Osoba atakująca może wykonać atak DoS za pośrednictwem protokołu TCP | Dodaj do polecenia /etc/sysctl.conf: net.ipv4.tcp_syncookies = 1, a następnie uruchom polecenie sysctl -p |
| System nie powinien działać jako sniffer sieci. (48) |
Upewnij się, że system nie działa jako sniffer sieci | Opis: Osoba atakująca może używać promiskuicznych interfejsów do wąchywania ruchu sieciowego | Tryb promiscuous jest włączony za pośrednictwem wpisu "promisc" w folderze "/etc/network/interfaces" lub "/etc/rc.local". Sprawdź oba pliki i usuń ten wpis. |
| Wszystkie interfejsy bezprzewodowe powinny być wyłączone. (49) |
Upewnij się, że wszystkie interfejsy bezprzewodowe są wyłączone (CIS: L1 - Serwer - 3.6) | Opis: Atakujący może utworzyć fałszywy AP do przechwytywania transmisji. | Upewnij się, że wszystkie interfejsy bezprzewodowe są wyłączone w folderze "/etc/network/interfaces" |
| Należy włączyć protokół IPv6. (50) |
Upewnij się, że protokół IPv6 jest włączony | Opis: Jest to niezbędne do komunikacji w nowoczesnych sieciach. | Otwórz plik /etc/sysctl.conf i upewnij się, że parametr "net.ipv6.conf.all.disable_ipv6" i "net.ipv6.conf.default.disable_ipv6" mają ustawioną wartość 0 |
| Upewnij się, że procesor DCCP jest wyłączony (54) |
Upewnij się, że procesor DCCP jest wyłączony | Opis: Jeśli protokół nie jest wymagany, zaleca się, aby sterowniki nie zostały zainstalowane w celu zmniejszenia potencjalnego obszaru ataków. | Dodaj install dccp /bin/true do pliku kończącego /etc/modprobe.d/ się na pliku conf, a następnie uruchom polecenie modprobe -r dccp |
| Upewnij się, że protokół SCTP jest wyłączony (55) |
Upewnij się, że protokół SCTP jest wyłączony | Opis: Jeśli protokół nie jest wymagany, zaleca się, aby sterowniki nie zostały zainstalowane w celu zmniejszenia potencjalnego obszaru ataków. | Dodaj install sctp /bin/true do pliku kończącego /etc/modprobe.d/ się na pliku conf, a następnie uruchom polecenie modprobe -r sctp |
| Wyłącz obsługę usług pulpitu zdalnego. (56) |
Upewnij się, że obsługa usług pulpitu zdalnego jest wyłączona | Opis: Osoba atakująca może użyć luki w zabezpieczeniach usług pulpitu zdalnego w celu naruszenia bezpieczeństwa systemu | Dodaj install rds /bin/true do pliku kończącego /etc/modprobe.d/ się na pliku conf, a następnie uruchom polecenie modprobe -r rds |
| Upewnij się, że funkcja TIPC jest wyłączona (57) |
Upewnij się, że funkcja TIPC jest wyłączona | Opis: Jeśli protokół nie jest wymagany, zaleca się, aby sterowniki nie zostały zainstalowane w celu zmniejszenia potencjalnego obszaru ataków. | Dodaj install tipc /bin/true do pliku kończącego /etc/modprobe.d/ się na pliku conf, a następnie uruchom polecenie modprobe -r tipc |
| Upewnij się, że rejestrowanie zostało skonfigurowane (60) |
Upewnij się, że rejestrowanie jest skonfigurowane (CIS: L1 — Serwer — 4.2.1.2 + 4.2.1.3) | Opis: Wiele ważnych informacji związanych z zabezpieczeniami jest wysyłanych za pośrednictwem rsyslog (na przykład pomyślne i nieudane próby logowania, nieudane próby logowania, próby logowania głównego itp.). |
Skonfiguruj dziennik syslog, rsyslog lub syslog-ng odpowiednio |
| Należy zainstalować pakiet syslog, rsyslog lub syslog-ng. (61) |
Upewnij się, że zainstalowano pakiet syslog, rsyslog lub syslog-ng (CIS: L1 — Serwer — 4.2.1.1) | Opis: Problemy z niezawodnością i zabezpieczeniami nie zostaną zarejestrowane, uniemożliwiając właściwą diagnostykę. | Zainstaluj program rsyslog: yum install rsyslog (RHEL/CentOS) lub apt install rsyslog (Debian/Ubuntu) |
| Usługa systemd-journald powinna być skonfigurowana do utrwalania komunikatów dziennika (61.1) |
Upewnij się, że usługa systemd-journald utrwala komunikaty dziennika (CIS: L1 — Serwer — 4.2.2.3) | Opis: Problemy z niezawodnością i zabezpieczeniami nie zostaną zarejestrowane, uniemożliwiając właściwą diagnostykę. | Utwórz plik /var/log/journal i upewnij się, że magazyn w pliku journald.conf jest automatycznie lub trwały |
| Upewnij się, że włączono usługę rejestrowania (62) |
Upewnij się, że włączono usługę rejestrowania | Opis: konieczne jest posiadanie możliwości rejestrowania zdarzeń w węźle. | Włącz usługę rsyslog: systemctl enable rsyslog (systemd) lub chkconfig rsyslog on (sysv) |
| Uprawnienia do plików dla wszystkich plików dziennika rsyslog powinny być ustawione na 640 lub 600. (63) |
Upewnij się, że skonfigurowano uprawnienia do plików dziennika rsyslog (CIS: L1 — Serwer — 4.2.1.4) | Opis: Osoba atakująca może ukryć działanie, manipulując dziennikami | Dodaj wiersz "$FileCreateMode 0640" do pliku "/etc/rsyslog.conf" |
| Upewnij się, że pliki konfiguracji rejestratora są ograniczone. (63.1) |
Upewnij się, że pliki konfiguracji rejestratora są ograniczone (CIS: L1 — Serwer — 4.2.1.4) | Opis: Ważne jest, aby upewnić się, że pliki dziennika istnieją i mają odpowiednie uprawnienia, aby upewnić się, że poufne dane dziennika systemowego są archiwizowane i chronione. | Ustaw uprawnienia konfiguracji rsyslog: chown root:root /etc/rsyslog.conf && chmod 640 /etc/rsyslog.conf |
| Wszystkie pliki dziennika rsyslog powinny być własnością grupy adm. (64) |
Upewnij się, że wszystkie pliki dziennika rsyslog są własnością grupy adm | Opis: Osoba atakująca może ukryć działanie, manipulując dziennikami | Dodaj wiersz "$FileGroup adm" do pliku "/etc/rsyslog.conf" |
| Wszystkie pliki dziennika rsyslog powinny być własnością użytkownika dziennika systemowego. (65) |
Upewnij się, że wszystkie pliki dziennika rsyslog należą do użytkownika dziennika systemowego (CIS: L1 — Serwer — 4.2.1.4) | Opis: Osoba atakująca może ukryć działanie, manipulując dziennikami | Dodawanie $FileOwner syslog i /etc/rsyslog.conf ponowne uruchamianie usługi rsyslog |
| Rsyslog nie powinien akceptować komunikatów zdalnych. (67) |
Upewnij się, że dziennik rsyslog nie akceptuje komunikatów zdalnych | Opis: Osoba atakująca może wstrzyknąć komunikaty do dziennika systemowego, co powoduje odwrócenie uwagi od innego działania | Usuń wiersze "$ModLoad imudp" i "$ModLoad imtcp" z pliku "/etc/rsyslog.conf" |
| Należy włączyć usługę logrotate (rotator dziennika systemowego). (68) |
Upewnij się, że usługa logrotate (rotator dziennika systemowego) jest włączona (CIS: L1 — Serwer — 4.3) | Opis: Pliki dziennika mogą rosnąć bez ruchu i zużywać całe miejsce na dysku | Zainstaluj pakiet logrotate i upewnij się, że wpis cronu logrotate jest aktywny (chmod 755 /etc/cron.daily/logrotate; chown root:root /etc/cron.daily/logrotate) |
| Usługa rlogin powinna być wyłączona. (69) |
Upewnij się, że usługa rlogin jest wyłączona | Opis: Osoba atakująca może uzyskać dostęp, pomijając ścisłe wymagania dotyczące uwierzytelniania | Usuń usługę inetd. |
| Wyłącz ustawienie inetd, chyba że jest wymagane. (inetd) (70.1) |
Upewnij się, że nie zainstalowano pakietu (CIS: L1 — Serwer — 2.1.10) — połączone reguły usług i pakietów | Opis: Osoba atakująca może wykorzystać lukę w zabezpieczeniach w usłudze inetd w celu uzyskania dostępu | Odinstaluj usługę inetd: yum remove inetd (RHEL/CentOS) lub apt remove inetd (Debian/Ubuntu) |
| Wyłącz xinetd, chyba że jest to wymagane. (xinetd) (70.2) |
Upewnij się, że xinetd nie jest zainstalowany (CIS: L1 — Serwer — 2.1.10) — połączone reguły usług i pakietów | Opis: Osoba atakująca może wykorzystać lukę w zabezpieczeniach w usłudze xinetd w celu uzyskania dostępu | Odinstaluj usługę xinetd: yum remove xinetd (RHEL/CentOS) lub apt remove xinetd (Debian/Ubuntu) |
| Zainstaluj pakiet tylko wtedy, gdy jest to konieczne i wymagane przez dystrybucję. Zabezpieczanie zgodnie z bieżącymi standardami wzmacniania zabezpieczeń. (jeśli jest to wymagane) (71.1) |
Upewnij się, że nie zainstalowano pakietu (CIS: L1 — Serwer — 2.1.10) — połączone reguły usług i pakietów | Opis: Osoba atakująca może wykorzystać lukę w zabezpieczeniach w usłudze inetd w celu uzyskania dostępu | Odinstaluj usługę inetd: yum remove inetd (RHEL/CentOS) lub apt remove inetd (Debian/Ubuntu) |
| Zainstaluj narzędzie xinetd tylko wtedy, gdy jest to odpowiednie i wymagane przez dystrybucję. Zabezpieczanie zgodnie z bieżącymi standardami wzmacniania zabezpieczeń. (jeśli jest to wymagane) (71.2) |
Upewnij się, że xinetd nie jest zainstalowany (CIS: L1 — Serwer — 2.1.10) — połączone reguły usług i pakietów | Opis: Osoba atakująca może wykorzystać lukę w zabezpieczeniach w usłudze xinetd w celu uzyskania dostępu | Odinstaluj usługę xinetd: yum remove xinetd (RHEL/CentOS) lub apt remove xinetd (Debian/Ubuntu) |
| Usługa telnet powinna być wyłączona. (72) |
Upewnij się, że usługa Telnet jest wyłączona (CIS: L1 — Serwer — 2.1.8) | Opis: Osoba atakująca może podsłuchiwać lub porwać niezaszyfrowane sesje telnet | Usuń lub oznacz jako komentarz wpis telnet w pliku "/etc/inetd.conf" |
| Wszystkie pakiety telnetd powinny zostać odinstalowane. (73) |
Upewnij się, że wszystkie pakiety telnetd zostały odinstalowane | Opis: Osoba atakująca może podsłuchiwać lub porwać niezaszyfrowane sesje telnet | Odinstalowywanie dowolnych pakietów telnetd |
| Usługa rcp/rsh powinna być wyłączona. (74) |
Upewnij się, że usługa rcp/rsh jest wyłączona | Opis: Osoba atakująca może podsłuchiwać lub porwać niezaszyfrowane sesje | Usuń lub oznacz jako komentarz wpis powłoki w pliku "/etc/inetd.conf" |
| Należy odinstalować pakiet rsh-server. (77) |
Upewnij się, że pakiet rsh-server został odinstalowany (CIS: L1 — Serwer — 2.1.6) | Opis: Osoba atakująca może podsłuchiwać lub porwać niezaszyfrowane sesje rsh | Odinstaluj pakiet rsh-server: yum remove rsh-server (RHEL/CentOS) lub apt remove rsh-server (Debian/Ubuntu) |
| Usługa ypbind powinna być wyłączona. (78) |
Upewnij się, że usługa ypbind jest wyłączona, a pakiet nis nie jest zainstalowany — połączone reguły usług i pakietów | Opis: Osoba atakująca może pobrać poufne informacje z usługi ypbind | Odinstaluj pakiet nis: yum remove nis (RHEL/CentOS) lub apt remove nis (Debian/Ubuntu) |
| Pakiet nis powinien zostać odinstalowany. (79) |
Upewnij się, że usługa ypbind jest wyłączona, a pakiet nis nie jest zainstalowany — połączone reguły usług i pakietów | Opis: Osoba atakująca może pobrać poufne informacje z usługi NIS | Odinstaluj pakiet nis: yum remove nis (RHEL/CentOS) lub apt remove nis (Debian/Ubuntu) |
| Usługa tftp powinna być wyłączona. (80) |
Upewnij się, że usługa tftp jest wyłączona (CIS: L1 — Serwer — 2.1.9) | Opis: Osoba atakująca może podsłuchiwać lub porwać niezaszyfrowaną sesję | Usuń wpis tftp z pliku "/etc/inetd.conf" |
| Należy odinstalować pakiet tftpd. (81) |
Upewnij się, że pakiet tftpd nie jest zainstalowany (CIS: L1 — Serwer — 2.1.9) | Opis: Osoba atakująca może podsłuchiwać lub porwać niezaszyfrowaną sesję | Odinstaluj pakiet tftpd: yum remove tftpd (RHEL/CentOS) lub apt remove tftpd (Debian/Ubuntu) |
| Należy odinstalować pakiet readahead-fedora. (82) |
Upewnij się, że pakiet readahead-fedora nie jest zainstalowany | Opis: Pakiet nie tworzy znacznej ekspozycji, ale również nie dodaje żadnych znaczących korzyści. | Odinstaluj pakiet readahead-fedora: yum remove readahead-fedora (RHEL/CentOS) lub apt remove readahead-fedora (Debian/Ubuntu) |
| Usługa bluetooth/hidd powinna być wyłączona. (84) |
Upewnij się, że pakiet Bluetooth nie jest zainstalowany | Opis: Osoba atakująca może przechwycić lub manipulować komunikacją bezprzewodową. | Odinstaluj pakiet Bluetooth: yum remove bluetooth (RHEL/CentOS) lub apt remove bluetooth (Debian/Ubuntu) |
| Usługa isdn powinna być wyłączona. (86) |
Upewnij się, że usługa isdn jest wyłączona, a pakiet isdnutils-base nie jest zainstalowany — połączone reguły usługi i pakietu | Opis: Osoba atakująca może użyć modemu w celu uzyskania nieautoryzowanego dostępu | Odinstaluj pakiet podstawowy isdnutils: yum remove isdnutils-base (RHEL/CentOS) lub apt remove isdnutils-base (Debian/Ubuntu) |
| Należy odinstalować pakiet isdnutils-base. (87) |
Upewnij się, że usługa isdn jest wyłączona, a pakiet isdnutils-base nie jest zainstalowany — połączone reguły usługi i pakietu | Opis: Osoba atakująca może użyć modemu w celu uzyskania nieautoryzowanego dostępu | Odinstaluj pakiet podstawowy isdnutils: yum remove isdnutils-base (RHEL/CentOS) lub apt remove isdnutils-base (Debian/Ubuntu) |
| Usługa kdump powinna być wyłączona. (88) |
Upewnij się, że usługa kdump jest wyłączona, a pakiet kdump-tools nie jest zainstalowany | Opis: Osoba atakująca może przeanalizować poprzednią awarię systemu w celu pobrania poufnych informacji | Odinstaluj pakiet kdump-tools: yum remove kdump-tools (RHEL/CentOS) lub apt remove kdump-tools (Debian/Ubuntu) |
| Sieć Zeroconf powinna być wyłączona. (89) |
Upewnij się, że sieć zeroconf jest wyłączona | Opis: Osoba atakująca może nadużywać tego w celu uzyskania informacji na temat systemów sieciowych lub fałszowania żądań DNS z powodu wad w modelu zaufania | RHEL/CentOS: dodaj NOZEROCONF=yes do /etc/sysconfig/networkelementu . Debian/Ubuntu: Usuwanie ipv4ll wpisów z /etc/network/interfaces |
| Należy włączyć usługę crond. (90) |
Upewnij się, że usługa cron jest włączona (CIS: L1 — Serwer — 5.1.1) | Opis: Cron jest wymagany przez prawie wszystkie systemy do regularnych zadań konserwacji | Zainstaluj pakiet cron: yum install cron (RHEL/CentOS) lub apt install cron (Debian/Ubuntu) i włącz usługę |
| Uprawnienia do pliku dla /etc/anacrontab powinny być ustawione na root:root 600. (91) |
Upewnij się, że skonfigurowano uprawnienia do pliku na /etc/anacrontab | Opis: Osoba atakująca może manipulować tym plikiem, aby uniemożliwić zaplanowane zadania lub wykonać złośliwe zadania | Ustaw własność i uprawnienia: chown root:root /etc/anacrontab && chmod 600 /etc/anacrontab |
| Upewnij się, że skonfigurowano uprawnienia w pliku /etc/cron.d. (93) |
Upewnij się, że skonfigurowano uprawnienia do /etc/cron.d (CIS: L1 — Serwer — 5.1.7) | Opis: Udzielenie dostępu do zapisu do tego katalogu dla użytkowników niebędących uprzywilejowanymi może zapewnić im środki na uzyskanie nieautoryzowanych podniesionych uprawnień. Udzielenie dostępu do odczytu do tego katalogu może dać użytkownikowi nieuprzywilejowany wgląd w sposób uzyskiwania podwyższonych uprawnień lub obejścia mechanizmów kontroli inspekcji. | Ustaw własność i uprawnienia: chown root:root /etc/cron.d && chmod 700 /etc/cron.d |
| Upewnij się, że skonfigurowano uprawnienia /etc/cron.daily. (94) |
Upewnij się, że skonfigurowano uprawnienia /etc/cron.daily (CIS: L1 — Serwer — 5.1.4) | Opis: Udzielenie dostępu do zapisu do tego katalogu dla użytkowników niebędących uprzywilejowanymi może zapewnić im środki na uzyskanie nieautoryzowanych podniesionych uprawnień. Udzielenie dostępu do odczytu do tego katalogu może dać użytkownikowi nieuprzywilejowany wgląd w sposób uzyskiwania podwyższonych uprawnień lub obejścia mechanizmów kontroli inspekcji. | Ustaw własność i uprawnienia: chown root:root /etc/cron.daily && chmod 700 /etc/cron.daily |
| Upewnij się, że skonfigurowano uprawnienia /etc/cron.hourly. (95) |
Upewnij się, że skonfigurowano uprawnienia /etc/cron.hourly (CIS: L1 — Serwer — 5.1.3) | Opis: Udzielenie dostępu do zapisu do tego katalogu dla użytkowników niebędących uprzywilejowanymi może zapewnić im środki na uzyskanie nieautoryzowanych podniesionych uprawnień. Udzielenie dostępu do odczytu do tego katalogu może dać użytkownikowi nieuprzywilejowany wgląd w sposób uzyskiwania podwyższonych uprawnień lub obejścia mechanizmów kontroli inspekcji. | Ustaw własność i uprawnienia: chown root:root /etc/cron.hourly && chmod 700 /etc/cron.hourly |
| Upewnij się, że skonfigurowano uprawnienia /etc/cron.monthly. (96) |
Upewnij się, że skonfigurowano uprawnienia /etc/cron.monthly (CIS: L1 — Serwer — 5.1.6) | Opis: Udzielenie dostępu do zapisu do tego katalogu dla użytkowników niebędących uprzywilejowanymi może zapewnić im środki na uzyskanie nieautoryzowanych podniesionych uprawnień. Udzielenie dostępu do odczytu do tego katalogu może dać użytkownikowi nieuprzywilejowany wgląd w sposób uzyskiwania podwyższonych uprawnień lub obejścia mechanizmów kontroli inspekcji. | Ustaw własność i uprawnienia: chown root:root /etc/cron.monthly && chmod 700 /etc/cron.monthly |
| Upewnij się, że skonfigurowano uprawnienia w pliku /etc/cron.weekly. (97) |
Upewnij się, że skonfigurowano uprawnienia /etc/cron.weekly (CIS: L1 — Serwer — 5.1.5) | Opis: Udzielenie dostępu do zapisu do tego katalogu dla użytkowników niebędących uprzywilejowanymi może zapewnić im środki na uzyskanie nieautoryzowanych podniesionych uprawnień. Udzielenie dostępu do odczytu do tego katalogu może dać użytkownikowi nieuprzywilejowany wgląd w sposób uzyskiwania podwyższonych uprawnień lub obejścia mechanizmów kontroli inspekcji. | Ustaw własność i uprawnienia: chown root:root /etc/cron.weekly && chmod 700 /etc/cron.weekly |
| Upewnij się, że at/cron jest ograniczony do autoryzowanych użytkowników (98) |
Upewnij się, że at/cron jest ograniczony do autoryzowanych użytkowników (CIS: L1 — Serwer — 5.1.8) | Opis: W wielu systemach tylko administrator systemu ma uprawnienia do planowania cron zadań.
cron.allow Za pomocą pliku można kontrolować, kto może uruchamiać cron zadania wymusza te zasady. Łatwiej jest zarządzać listą dozwolonych niż lista odmów. Na liście odmowy można potencjalnie dodać identyfikator użytkownika do systemu i zapomnieć, aby dodać go do plików odmowy. |
Tworzenie /etc/cron.allow i /etc/at.allow przy użyciu autoryzowanych użytkowników, usuwanie i usuwanie /etc/cron.deny/etc/at.deny |
| Aby spełnić najlepsze rozwiązania, należy skonfigurować protokół SSH i zarządzać nimi. - "/etc/ssh/sshd_config Protocol = 2" (106.1) |
Upewnij się, że protokół SSH jest skonfigurowany (CIS: L1 — Serwer — 5.2.4) | Opis: Osoba atakująca może użyć wad we wcześniejszej wersji protokołu SSH w celu uzyskania dostępu | Dodawanie Protocol 2 i /etc/ssh/sshd_config ponowne uruchamianie usługi sshd |
| Aby spełnić najlepsze rozwiązania, należy skonfigurować protokół SSH i zarządzać nimi. - '/etc/ssh/sshd_config IgnoreRhosts = yes' (106.3) |
Upewnij się, że skonfigurowano hosty IgnoreRhost SSH (CIS: L1 — Serwer — 5.2.8) | Opis: Osoba atakująca może użyć wad protokołu Rhosts w celu uzyskania dostępu | Dodawanie IgnoreRhosts yes i /etc/ssh/sshd_config ponowne uruchamianie usługi sshd |
| Upewnij się, że dla elementu LogLevel protokołu SSH ustawiono wartość INFO (106.5) |
Upewnij się, że skonfigurowano element LogLevel protokołu SSH (CIS: L1 — Serwer — 5.2.5) | Opis: Protokół SSH udostępnia kilka poziomów rejestrowania o różnych ilościach szczegółowości.
DEBUGnie jest szczególnie zalecane poza ściśle debugowaniem komunikacji SSH, ponieważ udostępnia tak dużo danych, że trudno jest zidentyfikować ważne informacje o zabezpieczeniach.
INFO poziom jest podstawowym poziomem, który rejestruje tylko aktywność logowania użytkowników SSH. W wielu sytuacjach, takich jak reagowanie na zdarzenia, ważne jest określenie, kiedy dany użytkownik był aktywny w systemie. Rekord wylogowywanie może wyeliminować tych użytkowników, którzy rozłączyli się, co pomaga zawęzić pole. |
Edytuj plik, /etc/ssh/sshd_config aby ustawić parametr w następujący sposób: LogLevel INFO |
| Upewnij się, że dla protokołu SSH MaxAuthTries ustawiono wartość 6 lub mniejszą (106.7) |
Upewnij się, że skonfigurowano protokół SSH MaxAuthTries (CIS: L1 — Serwer — 5.2.7) | Opis: ustawienie parametru MaxAuthTries na niską liczbę spowoduje zminimalizowanie ryzyka pomyślnego ataku siłowego na serwer SSH. Chociaż zalecane ustawienie wynosi 4, ustaw liczbę na podstawie zasad witryny. |
Upewnij się, że dla protokołu SSH MaxAuthTries ustawiono wartość 6 lub mniej Edytuj /etc/ssh/sshd_config plik, aby ustawić parametr w następujący sposób: MaxAuthTries 6 |
| Upewnij się, że dostęp SSH jest ograniczony (106.11) |
Upewnij się, że są skonfigurowani dozwoloni użytkownicy dostępu SSH (CIS: L1 — Serwer — 5.2.18) | Opis: Ograniczenie, którzy użytkownicy mogą zdalnie uzyskiwać dostęp do systemu za pośrednictwem protokołu SSH, pomoże zagwarantować, że tylko autoryzowani użytkownicy uzyskują dostęp do systemu. | Upewnij się, że dostęp za pomocą protokołu SSH jest ograniczony Do edycji /etc/ssh/sshd_config pliku w celu ustawienia co najmniej jednego parametru w następujący sposób: AllowUsers AllowGroups DenyUsers DenyGroups |
| Emulacja polecenia rsh za pośrednictwem serwera SSH powinna być wyłączona. - '/etc/ssh/sshd_config RhostsRSAAuthentication = nie' (107) |
N/A | Opis: Osoba atakująca może użyć wad protokołu RHosts w celu uzyskania dostępu | Dodawanie RhostsRSAAuthentication no i /etc/ssh/sshd_config ponowne uruchamianie usługi sshd |
| Uwierzytelnianie oparte na hoście SSH powinno być wyłączone. - "/etc/ssh/sshd_config HostbasedAuthentication = nie" (108) |
Upewnij się, że skonfigurowano protokół SSH HostBasedAuthentication (CIS: L1 — Serwer — 5.2.9) | Opis: Osoba atakująca może użyć uwierzytelniania opartego na hoście w celu uzyskania dostępu z naruszonego hosta | Dodawanie HostbasedAuthentication no i /etc/ssh/sshd_config ponowne uruchamianie usługi sshd |
| Logowanie główne za pośrednictwem protokołu SSH powinno być wyłączone. - '/etc/ssh/sshd_config PermitRootLogin = nie' (109) |
Upewnij się, że skonfigurowano protokół SSH PermitRootLogin (CIS: L1 — Serwer — 5.2.10) | Opis: Osoba atakująca może siłą wymusić użycie hasła głównego lub ukryć historię poleceń, logując się bezpośrednio jako główny | Dodawanie PermitRootLogin no i /etc/ssh/sshd_config ponowne uruchamianie usługi sshd |
| Połączenia zdalne z kont z pustymi hasłami powinny być wyłączone. - '/etc/ssh/sshd_config PermitEmptyPasswords = nie' (110) |
Upewnij się, że skonfigurowano protokół SSH PermitEmptyPasswords (CIS: L1 — Serwer — 5.2.11) | Opis: Osoba atakująca może uzyskać dostęp za pośrednictwem odgadnięcia haseł | Dodawanie PermitEmptyPasswords no i /etc/ssh/sshd_config ponowne uruchamianie usługi sshd |
| Upewnij się, że skonfigurowano interwał limitu czasu bezczynności protokołu SSH. (110.1) |
Upewnij się, że skonfigurowano element ClientAliveCountMax protokołu SSH | Opis: Brak wartości limitu czasu skojarzonej z połączeniem może umożliwić nieautoryzowanemu użytkownikowi dostęp do sesji SSH innego użytkownika. Ustawienie wartości limitu czasu co najmniej zmniejsza ryzyko wystąpienia tego problemu. Chociaż zalecane ustawienie wynosi 300 sekund (5 minut), ustaw tę wartość limitu czasu na podstawie zasad witryny. Zalecane ustawienie dla ClientAliveCountMax parametru to 0. W takim przypadku sesja klienta zostanie zakończona po upływie 5 minut bezczynności i nie będą wysyłane żadne komunikaty na żywo. |
Edytuj plik /etc/ssh/sshd_config, aby ustawić parametry zgodnie z zasadami |
| Upewnij się, że parametr SSH LoginGraceTime jest ustawiony na minutę lub mniej. (110.2) |
Upewnij się, że skonfigurowano protokół SSH LoginGraceTime (CIS: L1 — Serwer — 5.2.17) | Opis: ustawienie parametru LoginGraceTime na niską liczbę spowoduje zminimalizowanie ryzyka pomyślnego ataku siłowego na serwer SSH. Spowoduje to również ograniczenie liczby współbieżnych nieuwierzytelnionych połączeń, natomiast zalecane ustawienie wynosi 60 sekund (1 minuta), ustawiając liczbę na podstawie zasad witryny. |
Dodawanie LoginGraceTime 60 i /etc/ssh/sshd_config ponowne uruchamianie usługi sshd |
| Upewnij się, że są używane tylko zatwierdzone algorytmy MAC (110.3) |
Upewnij się, że są używane tylko zatwierdzone algorytmy MAC (CIS: L1 — Serwer — 5.2.14) | Opis: Algorytmy MAC MD5 i 96-bitowe są uznawane za słabe i wykazano zwiększenie możliwości wykorzystania ataków na starszą dół protokołu SSH. Słabe algorytmy nadal mają dużą uwagę jako słaby punkt, który może być wykorzystywany z rozszerzoną mocą obliczeniową. Osoba atakująca, która łamie algorytm, może skorzystać z pozycji MiTM w celu odszyfrowania tunelu SSH i przechwycenia poświadczeń i informacji | Dodaj zatwierdzone karty MACs do /etc/ssh/sshd_configusługi : MACs hmac-sha2-512,hmac-sha2-256 i uruchom ponownie usługę sshd |
| Upewnij się, że transparent ostrzeżenia o zdalnym logowaniu jest poprawnie skonfigurowany. (111) |
Upewnij się, że baner ostrzeżenia o zdalnym logowaniu jest prawidłowo skonfigurowany (CIS: L1 — Serwer — 1.7.1.3) | Opis: Komunikaty ostrzegawcze informują użytkowników, którzy próbują zalogować się do systemu ich stanu prawnego w odniesieniu do systemu i muszą zawierać nazwę organizacji, która jest właścicielem systemu i wszelkich zasad monitorowania, które zostały wprowadzone. Wyświetlanie informacji o systemie operacyjnym i na poziomie poprawek na banerach logowania ma również efekt uboczny dostarczania szczegółowych informacji o systemie osobom atakującym próbującym wycelować w określone luki w systemie. Autoryzowani użytkownicy mogą łatwo uzyskać te informacje, uruchamiając polecenie po zalogowaniu uname -a. |
Usuń sekwencje ucieczki informacji o systemie (\m, \r, , \s\v) i /etc/issue.net zastąp element odpowiednim tekstem ostrzegawczym |
| Upewnij się, że lokalny baner ostrzegawczy logowania jest poprawnie skonfigurowany. (111.1) |
Upewnij się, że lokalny baner ostrzegawczy logowania został prawidłowo skonfigurowany (CIS: L1 — Serwer — 1.7.1.2) | Opis: Komunikaty ostrzegawcze informują użytkowników, którzy próbują zalogować się do systemu ich stanu prawnego w odniesieniu do systemu i muszą zawierać nazwę organizacji, która jest właścicielem systemu i wszelkich zasad monitorowania, które zostały wprowadzone. Wyświetlanie informacji o systemie operacyjnym i na poziomie poprawek na banerach logowania ma również efekt uboczny dostarczania szczegółowych informacji o systemie osobom atakującym próbującym wycelować w określone luki w systemie. Autoryzowani użytkownicy mogą łatwo uzyskać te informacje, uruchamiając polecenie po zalogowaniu uname -a. |
Usuń sekwencje ucieczki informacji o systemie (\m, \r, , \s\v) i /etc/issue zastąp element odpowiednim tekstem ostrzegawczym |
| Powinien zostać włączony baner ostrzegawczy SSH. - "/etc/ssh/sshd_config Banner = /etc/issue.net" (111.2) |
Upewnij się, że skonfigurowano baner ostrzegawczy SSH (CIS: L1 — Serwer — 5.2.19) | Opis: Użytkownicy nie będą ostrzegani, że ich działania w systemie są monitorowane | Dodawanie Banner /etc/issue.net i /etc/ssh/sshd_config ponowne uruchamianie usługi sshd |
| Użytkownicy nie mogą ustawiać opcji środowiska dla protokołu SSH. (112) |
Upewnij się, że skonfigurowano protokół SSH PermitUserEnvironment (CIS: L1 — Serwer — 5.2.12) | Opis: Osoba atakująca może obejść pewne ograniczenia dostępu za pośrednictwem protokołu SSH | Usuń wiersz "PermitUserEnvironment yes" z pliku "/etc/ssh/sshd_config" |
| Odpowiednie szyfry powinny być używane na potrzeby protokołu SSH. (Szyfry aes128-ctr,aes192-ctr,aes256-ctr) (113) |
Upewnij się, że odpowiednie szyfry są używane dla protokołu SSH (CIS: L1 — Serwer — 5.2.13) | Opis: Osoba atakująca może naruszyć słabe zabezpieczenia połączenia SSH | Dodawanie Ciphers aes128-ctr,aes192-ctr,aes256-ctr i /etc/ssh/sshd_config ponowne uruchamianie usługi sshd |
| Usługa demona avahi powinna być wyłączona. (114) |
Upewnij się, że usługa demona avahi jest wyłączona (CIS: L1 — Serwer — 2.2.3) | Opis: Osoba atakująca może użyć luki w zabezpieczeniach demona avahi w celu uzyskania dostępu | Wyłącz usługę demona avahi: systemctl disable avahi-daemon (systemd) lub chkconfig avahi-daemon off (sysv) |
| Usługa kubków powinna być wyłączona. (115) |
Upewnij się, że usługa cups jest wyłączona (CIS: L1 — Serwer — 2.2.4) | Opis: Osoba atakująca może użyć wady usługi cups w celu podniesienia uprawnień | Wyłącz usługę cups: systemctl disable cups (systemd) lub chkconfig cups off (sysv) |
| Usługa isc-dhcpd powinna być wyłączona. (116) |
Upewnij się, że pakiet isc-dhcp-server nie jest zainstalowany (CIS: L1 — Serwer — 2.2.5) — połączone reguły usług i pakietów | Opis: Osoba atakująca może użyć protokołu dhcpd, aby udostępnić klientom błędne informacje, zakłócając normalne działanie. | Usuń pakiet isc-dhcp-server: yum remove dhcp-server (RHEL/CentOS) lub apt remove isc-dhcp-server (Debian/Ubuntu) |
| Należy odinstalować pakiet isc-dhcp-server. (117) |
Upewnij się, że pakiet isc-dhcp-server nie jest zainstalowany (CIS: L1 — Serwer — 2.2.5) — połączone reguły usług i pakietów | Opis: Osoba atakująca może użyć protokołu dhcpd, aby udostępnić klientom błędne informacje, zakłócając normalne działanie. | Usuń pakiet isc-dhcp-server: yum remove dhcp-server (RHEL/CentOS) lub apt remove isc-dhcp-server (Debian/Ubuntu) |
| Pakiet sendmail powinien zostać odinstalowany. (120) |
Upewnij się, że pakiet sendmail nie jest zainstalowany | Opis: Osoba atakująca może użyć tego systemu do wysyłania wiadomości e-mail ze złośliwą zawartością do innych użytkowników | Odinstaluj pakiet sendmail: yum remove sendmail (RHEL/CentOS) lub apt remove sendmail (Debian/Ubuntu) |
| Pakiet postfiksu powinien zostać odinstalowany. (121) |
Upewnij się, że pakiet postfiksu nie jest zainstalowany | Opis: Osoba atakująca może użyć tego systemu do wysyłania wiadomości e-mail ze złośliwą zawartością do innych użytkowników | Odinstaluj pakiet postfiksu: yum remove postfix (RHEL/CentOS) lub apt remove postfix (Debian/Ubuntu) |
| Nasłuchiwanie sieci postfiksu powinno być wyłączone zgodnie z potrzebami. (122) |
Upewnij się, że nasłuchiwanie sieci postfiksów jest wyłączone | Opis: Osoba atakująca może użyć tego systemu do wysyłania wiadomości e-mail ze złośliwą zawartością do innych użytkowników | Dodaj wiersz "inet_interfaces localhost" do pliku "/etc/postfix/main.cf" |
| Usługa ldap powinna być wyłączona. (124) |
Upewnij się, że usługa ldap jest wyłączona, a pakiet sldapd nie jest zainstalowany (CIS: L1 — Serwer — 2.2.6) | Opis: Osoba atakująca może manipulować usługą LDAP na tym hoście w celu dystrybuowania fałszywych danych do klientów LDAP | Odinstaluj pakiet slapd: yum remove openldap-servers (RHEL/CentOS) lub apt remove slapd (Debian/Ubuntu) |
| Usługa rpcgssd powinna być wyłączona. (126) |
Upewnij się, że usługa rpcgssd jest wyłączona | Opis: Osoba atakująca może użyć wad rpcgssd/nfs w celu uzyskania dostępu | Wyłącz usługę rpcgssd: systemctl disable rpc-gssd (systemd) lub chkconfig rpc-gssd off (sysv) |
| Usługa rpcidmapd powinna być wyłączona. (127) |
Upewnij się, że usługa rpcidmapd jest wyłączona | Opis: Osoba atakująca może użyć wady w pliku idmapd/nfs w celu uzyskania dostępu | Wyłącz usługę rpcidmapd: systemctl disable rpc-idmapd (systemd) lub chkconfig rpc-idmapd off (sysv) |
| Usługa mapy portów powinna być wyłączona. (129.1) |
Upewnij się, że usługa mapy portów jest wyłączona | Opis: Osoba atakująca może użyć wady w mapie portów, aby uzyskać dostęp | Wyłącz usługę rpcbind: systemctl disable rpcbind (systemd) lub chkconfig rpcbind off (sysv) |
| Usługa systemu plików sieciowych (NFS) powinna być wyłączona. (129.2) |
Upewnij się, że usługa sieciowego systemu plików (NFS) jest wyłączona (CIS: L1 — Serwer — 2.2.7 — częściowe) | Opis: Osoba atakująca może użyć systemu plików nfs do zainstalowania udziałów i wykonania/kopiowania plików. | Wyłącz usługę nfs: systemctl disable nfs-server (systemd) lub chkconfig nfs off (sysv) |
| Usługa rpcsvcgssd powinna być wyłączona. (130) |
Upewnij się, że usługa rpcsvcgssd jest wyłączona | Opis: Osoba atakująca może użyć wady w pliku rpcsvcgssd w celu uzyskania dostępu | Usuń wiersz "NEED_SVCGSSD = yes" z pliku "/etc/inetd.conf" |
| Nazwana usługa powinna być wyłączona. (131) |
Upewnij się, że nazwana usługa jest wyłączona, a pakiet bind9 nie jest zainstalowany (CIS: L1 — Serwer — 2.2.8) — połączone reguły usług i pakietów | Opis: Osoba atakująca może użyć usługi DNS do dystrybuowania fałszywych danych do klientów | Odinstaluj pakiet bind: yum remove bind (RHEL/CentOS) lub apt remove bind9 (Debian/Ubuntu) |
| Pakiet powiązania powinien zostać odinstalowany. (132) |
Upewnij się, że nazwana usługa jest wyłączona, a pakiet bind9 nie jest zainstalowany (CIS: L1 — Serwer — 2.2.8) — połączone reguły usług i pakietów | Opis: Osoba atakująca może użyć usługi DNS do dystrybuowania fałszywych danych do klientów | Odinstaluj pakiet bind: yum remove bind (RHEL/CentOS) lub apt remove bind9 (Debian/Ubuntu) |
| Usługa dovecot powinna być wyłączona. (137) |
Upewnij się, że usługa dovecot jest wyłączona, a pakiet dovecot-core nie jest zainstalowany — połączone reguły usług i pakietów | Opis: System może być używany jako serwer IMAP/POP3 | Odinstaluj pakiet dovecot: yum remove dovecot (RHEL/CentOS) lub apt remove dovecot-core (Debian/Ubuntu) |
| Należy odinstalować pakiet dovecot. (138) |
Upewnij się, że usługa dovecot jest wyłączona, a pakiet dovecot-core nie jest zainstalowany — połączone reguły usług i pakietów | Opis: System może być używany jako serwer IMAP/POP3 | Odinstaluj pakiet dovecot: yum remove dovecot (RHEL/CentOS) lub apt remove dovecot-core (Debian/Ubuntu) |
Upewnij się, że w /etc/passwd nie istnieją żadne starsze + wpisy(156.1) |
Upewnij się, że w /etc/passwd nie istnieją żadne starsze wpisy (CIS: L1 — Serwer — 6.2.2) | Opis: Osoba atakująca może uzyskać dostęp przy użyciu nazwy użytkownika "+" bez hasła | Usuń wszystkie wpisy w /etc/passwd, które zaczynają się od "+:" |
Upewnij się, że w /etc/shadow nie istnieją żadne starsze + wpisy(156.2) |
Upewnij się, że w /etc/shadow nie istnieją żadne starsze wpisy (CIS: L1 — Serwer — 6.2.3) | Opis: Osoba atakująca może uzyskać dostęp przy użyciu nazwy użytkownika "+" bez hasła | Usuń wszystkie wpisy w /etc/shadow, które zaczynają się od "+:" |
Upewnij się, że w /etc/group nie istnieją żadne starsze + wpisy(156.3) |
Upewnij się, że w /etc/group nie istnieją żadne starsze wpisy (CIS: L1 — Serwer — 6.2.4) | Opis: Osoba atakująca może uzyskać dostęp przy użyciu nazwy użytkownika "+" bez hasła | Usuń wszystkie wpisy w /etc/group, które zaczynają się od "+:" |
| Upewnij się, że wygaśnięcie hasła wynosi 365 dni lub mniej. (157.1) |
Upewnij się, że skonfigurowano wygaśnięcie hasła (CIS: L1 — Serwer — 5.4.1.1) | Opis: Zmniejszenie maksymalnego wieku hasła zmniejsza również możliwość wykorzystania poświadczeń naruszonych przez osobę atakującą lub pomyślnego naruszenia poświadczeń za pośrednictwem ataku siłowego w trybie online. | Ustaw PASS_MAX_DAYS 365 w /etc/login.defs |
| Upewnij się, że liczba dni ostrzeżenia o wygaśnięciu hasła wynosi 7 lub więcej. (157.2) |
Upewnij się, że skonfigurowano dni ostrzeżenia o wygaśnięciu hasła (CIS: L1 — Serwer — 5.4.1.3) | Opis: podanie ostrzeżenia z wyprzedzeniem o wygaśnięciu hasła daje użytkownikom czas na myślenie o bezpiecznym haśle. Użytkownicy złapani nieświadomi mogą wybrać proste hasło lub zapisać je tam, gdzie można je odnaleźć. | Ustaw PASS_WARN_AGE 7 w /etc/login.defs |
| Upewnij się, że ponowne użycie hasła jest ograniczone. (157.5) |
Upewnij się, że ponowne użycie hasła jest ograniczone (CIS: L1 — Serwer — 5.3.3) | Opis: Zmuszanie użytkowników do ponownego użycia ostatnich pięciu haseł sprawia, że osoba atakująca będzie mogła odgadnąć hasło. | Dodawanie remember=5 do modułu hasła usługi PAM w programie /etc/pam.d/common-password |
| Upewnij się, że algorytm wyznaczania skrótów haseł to SHA-512 (157.11) |
Upewnij się, że algorytm wyznaczania wartości skrótu haseł to SHA-512 (CIS: L1 — Serwer — 5.3.4) | Opis: Algorytm SHA-512 zapewnia znacznie silniejsze wyznaczanie wartości skrótu niż MD5, zapewniając w ten sposób dodatkową ochronę systemu przez zwiększenie poziomu nakładu pracy osoby atakującej w celu pomyślnego określenia haseł. Uwaga: te zmiany dotyczą tylko kont skonfigurowanych w systemie lokalnym. | Ustaw algorytm wyznaczania wartości skrótu haseł na sha512. Wiele dystrybucji udostępnia narzędzia do aktualizowania konfiguracji usługi PAM. Aby uzyskać szczegółowe informacje, zapoznaj się z dokumentacją. Jeśli nie podano narzędzi, edytuj odpowiedni /etc/pam.d/ plik konfiguracji i dodaj lub zmodyfikuj pam_unix.so wiersze, aby uwzględnić opcję sha512: password sufficient pam_unix.so sha512 |
| Upewnij się, że minimalna liczba dni między zmianami hasła wynosi 7 lub więcej. (157.12) |
Upewnij się, że skonfigurowano minimalną liczbę dni między zmianami haseł (CIS: L1 — Serwer — 5.4.1.2) | Opis: Ograniczając częstotliwość zmian haseł, administrator może uniemożliwić użytkownikom wielokrotne zmienianie hasła w celu obejścia kontrolek ponownego użycia hasła. |
PASS_MIN_DAYS 7 Ustawianie /etc/login.defs i uruchamianie chage --mindays 7 <username> dla istniejących użytkowników |
| Upewnij się, że wszyscy użytkownicy ostatnio zmienili datę zmiany hasła w przeszłości (157.14) |
Upewnij się, że skonfigurowano nieaktywny okres blokady hasła (CIS: L1 — Serwer — 5.4.1.4) | Opis: Jeśli w przyszłości użytkownicy zarejestrowali datę zmiany hasła, mogą pominąć wszelkie ustawione wygaśnięcie hasła. | Upewnij się, że nieaktywna blokada hasła wynosi 30 dni lub mniej Uruchom następujące polecenie, aby ustawić domyślny okres braku aktywności hasła na 30 dni: Zmodyfikuj parametry użytkownika dla wszystkich użytkowników z hasłem ustawionym tak, aby były zgodne: # useradd -D -f 30# chage --inactive 30 |
| Upewnij się, że konta systemowe nie są logowaniem (157.15) |
Upewnij się, że wszystkie konta systemowe nie są logowaniem (CIS: L1 — Serwer — 5.4.2) | Opis: Ważne jest, aby upewnić się, że konta, które nie są używane przez zwykłych użytkowników, nie mogą być używane do udostępniania interaktywnej powłoki. Domyślnie system Ubuntu ustawia pole hasła dla tych kont na nieprawidłowy ciąg, ale zaleca się również ustawienie pola powłoki w pliku haseł na wartość /usr/sbin/nologin. Zapobiega to potencjalnie użyciu konta do uruchamiania dowolnych poleceń. |
Ustaw powłokę dla wszystkich kont zwróconych przez skrypt inspekcji na /sbin/nologin |
| Upewnij się, że domyślna grupa dla konta głównego to GID 0 (157.16) |
Upewnij się, że domyślną grupą konta głównego jest GID 0 (CIS: L1 — Serwer — 5.4.3) | Opis: Korzystanie z giD 0 dla root konta pomaga zapobiec rootprzypadkowemu udostępnieniu plików należących do użytkowników niebędących uprzywilejowanym. |
Uruchom następujące polecenie, aby ustawić domyślną grupę root użytkownika na GID 0 : # usermod -g 0 root |
| Upewnij się, że katalog główny jest jedynym kontem UID 0 (157.18) |
Upewnij się, że katalog główny jest jedynym kontem UID 0 (CIS: L1 — Serwer — 6.2.5) | Opis: Ten dostęp musi być ograniczony tylko do konta domyślnego root i tylko z konsoli systemu. Dostęp administracyjny musi być za pośrednictwem konta nieuprzywilejowanego przy użyciu zatwierdzonego mechanizmu. |
Usuń wszystkich użytkowników innych niż root z identyfikatorem UID 0 lub przypisz im nowy identyfikator UID, jeśli jest to konieczne. |
| Usuwanie niepotrzebnych kont (159) |
Upewnij się, że niepotrzebne konta są usuwane | Opis: Aby uzyskać zgodność | Usuwanie niepotrzebnych kont |
| Upewnij się, że włączono usługę inspekcji (162) |
Upewnij się, że pakiet inspekcji jest zainstalowany | Opis: Przechwytywanie zdarzeń systemowych zapewnia administratorom systemu informacje umożliwiające im ustalenie, czy nieautoryzowany dostęp do systemu występuje. | Instalowanie pakietu inspekcji (systemctl enable auditd) |
| Uruchamianie usługi AuditD (163) |
Upewnij się, że usługa inspekcji jest uruchomiona | Opis: Przechwytywanie zdarzeń systemowych zapewnia administratorom systemu informacje umożliwiające im ustalenie, czy nieautoryzowany dostęp do systemu występuje. | Uruchamianie usługi AuditD (systemctl start auditd) |
| Upewnij się, że serwer SNMP nie jest włączony (179) |
Upewnij się, że serwer SNMP nie jest włączony (CIS: L1 — Serwer — 2.2.14) | Opis: Serwer SNMP może komunikować się przy użyciu protokołu SNMP v1, który przesyła dane w postaci jasnej i nie wymaga uwierzytelniania do wykonywania poleceń. Jeśli nie jest to absolutnie konieczne, zaleca się, aby usługa SNMP nie była używana. Jeśli protokół SNMP jest wymagany, należy skonfigurować serwer tak, aby nie zezwalał na protokół SNMP v1. | Uruchom jedno z następujących poleceń, aby wyłączyć polecenie snmpd: # chkconfig snmpd off# systemctl disable snmpd# update-rc.d snmpd disable |
| Upewnij się, że usługa rsync nie jest włączona (181) |
Upewnij się, że usługa rsync nie jest włączona (CIS: L1 — Serwer — 2.2.16) | Opis: Usługa rsyncd stanowi zagrożenie bezpieczeństwa, ponieważ używa niezaszyfrowanych protokołów do komunikacji. |
Wyłącz usługę rsync: systemctl disable rsyncd (systemd) lub chkconfig rsyncd off (sysv) |
| Upewnij się, że serwer NIS nie jest włączony (182) |
Upewnij się, że serwer NIS nie jest włączony (CIS: L1 — Serwer — 2.2.17) | Opis: Usługa NIS jest z natury niezabezpieczonym systemem, który był podatny na ataki DOS, przepełnianie i ma słabe uwierzytelnianie na potrzeby wykonywania zapytań dotyczących map usługi NIS. Usługa NIS jest zazwyczaj zastępowana przez protokoły, takie jak Lightweight Directory Access Protocol (LDAP). Zaleca się wyłączenie usługi i użycie bezpieczniejszych usług | Uruchom jedno z następujących poleceń, aby wyłączyć polecenie ypserv : # chkconfig ypserv off# systemctl disable ypserv# update-rc.d ypserv disable |
| Upewnij się, że klient rsh nie jest zainstalowany (183) |
Upewnij się, że klient rsh nie jest zainstalowany (CIS: L1 — Serwer — 2.3.2) | Opis: Ci starsi klienci zawierają liczne zagrożenia bezpieczeństwa i zostały zastąpione bardziej bezpiecznym pakietem SSH. Nawet jeśli serwer zostanie usunięty, najlepiej upewnić się, że klienci są również usuwani, aby uniemożliwić użytkownikom przypadkowo podjęcie próby użycia tych poleceń, a tym samym ujawnienie ich poświadczeń. Należy pamiętać, że usunięcie pakietu spowoduje usunięcie rsh klientów programu rshi rcprlogin. |
Odinstaluj protokół rsh przy użyciu odpowiedniego menedżera pakietów: yum remove rsh (RHEL/CentOS), apt remove rsh (Debian/Ubuntu) lub zypper remove rsh (SUSE) |
| Wyłączanie protokołu SMB V1 przy użyciu protokołu Samba (185) |
Upewnij się, że protokół SMB V1 z funkcją Samba jest wyłączony (CIS: L1 — Serwer — 2.2.12) | Opis: protokół SMB v1 ma dobrze znane, poważne luki w zabezpieczeniach i nie szyfruje danych przesyłanych. Jeśli należy go używać ze względów biznesowych, zdecydowanie zaleca się podjęcie dodatkowych kroków w celu ograniczenia ryzyka związanego z tym protokołem. | Dodawanie min protocol = SMB2 do [global] sekcji w /etc/samba/smb.conf usłudze smbd i ponowne uruchamianie jej |
Uwaga
Dostępność określonych ustawień konfiguracji gościa usługi Azure Policy może się różnić w przypadku platformy Azure Government i innych chmur krajowych.
Następne kroki
Dodatkowe artykuły dotyczące usługi Azure Policy i konfiguracji gościa:
- Konfiguracja gościa usługi Azure Policy.
- Omówienie zgodności z przepisami .
- Zapoznaj się z innymi przykładami w przykładach usługi Azure Policy.
- Przejrzyj wyjaśnienie działania zasad.
- Dowiedz się, jak korygować niezgodne zasoby za pomocą nowej funkcji automatycznego korygowania azure-osconfigOgraniczonej publicznej wersji zapoznawczej.