Udostępnij za pośrednictwem


Test porównawczy usługi Azure Linux w usłudze Center for Internet Security (CIS)

Konfiguracja systemu operacyjnego zabezpieczeń zastosowana do hosta kontenera systemu Linux platformy Azure dla usługi AKS jest oparta na punkcie odniesienia zabezpieczeń systemu Linux platformy Azure, który jest zgodny z testem porównawczym ciS. Jako bezpieczna usługa AKS jest zgodna ze standardami SOC, ISO, PCI DSS i HIPAA. Aby uzyskać więcej informacji na temat zabezpieczeń hosta kontenera systemu Linux platformy Azure, zobacz Pojęcia dotyczące zabezpieczeń klastrów w usłudze AKS. Aby dowiedzieć się więcej na temat testu porównawczego CIS, zobacz Centrum testów porównawczych zabezpieczeń internetowych (CIS). Aby uzyskać więcej informacji na temat punktów odniesienia zabezpieczeń platformy Azure dla systemu Linux, zobacz Punkt odniesienia zabezpieczeń systemu Linux.

Azure Linux 2.0

Ten system operacyjny Azure Linux Container Host jest oparty na obrazie systemu Linux 2.0 platformy Azure z zastosowanymi wbudowanymi konfiguracjami zabezpieczeń.

W ramach systemu operacyjnego zoptymalizowanego pod kątem zabezpieczeń:

  • Usługi AKS i Azure Linux zapewniają system operacyjny hosta zoptymalizowany pod kątem zabezpieczeń domyślnie bez opcji wybrania alternatywnego systemu operacyjnego.
  • System operacyjny hosta zoptymalizowany pod kątem zabezpieczeń jest kompilowany i obsługiwany specjalnie dla usługi AKS i nie jest obsługiwany poza platformą AKS.
  • Niepotrzebne sterowniki modułów jądra zostały wyłączone w systemie operacyjnym w celu zmniejszenia obszaru ataków.

Zalecenia

Poniższa tabela zawiera cztery sekcje:

  • IDENTYFIKATOR CIS: skojarzony identyfikator reguły z każdą z reguł punktu odniesienia.
  • Opis zalecenia: opis zalecenia wydanego przez test porównawczy CIS.
  • Poziom: L1 lub Poziom 1, zaleca podstawowe wymagania dotyczące zabezpieczeń, które można skonfigurować w dowolnym systemie i powinny powodować niewielkie przerwy w działaniu usługi lub ograniczonej funkcjonalności.
  • Stan:
    • Pass — zalecenie zostało zastosowane.
    • Niepowodzenie — zalecenie nie zostało zastosowane.
    • Nie dotyczy — zalecenie dotyczy wymagań dotyczących uprawnień do pliku manifestu, które nie są istotne dla usługi AKS.
    • Zależy od środowiska — zalecenie jest stosowane w określonym środowisku użytkownika i nie jest kontrolowane przez usługę AKS.
    • Równoważna kontrola — zalecenie zostało zaimplementowane w inny sposób równoważny.
  • Przyczyna:
    • Potencjalny wpływ operacji — zalecenie nie zostało zastosowane, ponieważ miałoby to negatywny wpływ na usługę.
    • Omówione w innym miejscu — zalecenie jest objęte inną kontrolą w obliczeniach w chmurze platformy Azure.

Poniżej przedstawiono wyniki zaleceń ciS Azure Linux 2.0 Benchmark w wersji 1.0 opartej na regułach ciS:

Identyfikator CIS Opis rekomendacji Stan Przyczyna
1.1.4 Wyłączanie autoinstalowania Zdane
1.1.1.1 Upewnij się, że instalowanie systemu plików cramfs jest wyłączone Zdane
1.1.2.1 Upewnij się, że /tmp jest oddzielną partycją Zdane
1.1.2.2 Upewnij się, że opcja nodev jest ustawiona na partycji /tmp Zdane
1.1.2.3 Upewnij się, że opcja nosuid ustawiona na partycji /tmp Zdane
1.1.8.1 Upewnij się, że opcja nodev jest ustawiona na partycji /dev/shm Zdane
1.1.8.2 Upewnij się, że opcja nosuid jest ustawiona na partycji /dev/shm Zdane
1.2.1 Upewnij się, że sprawdzanie gpgcheck systemu plików DNF jest aktywowane globalnie Zdane
1.2.2 Upewnij się, że sprawdzanie gpgcheck systemu plików TDNF zostało aktywowane globalnie Zdane
1.5.1 Upewnij się, że magazyn zrzutu podstawowego jest wyłączony Zdane
1.5.2 Upewnij się, że odejmowanie zrzutu rdzenia jest wyłączone Zdane
1.5.3 Upewnij się, że włączono losowość układu przestrzeni adresowej (ASLR) Zdane
1.7.1 Upewnij się, że lokalny baner ostrzegawczy logowania został prawidłowo skonfigurowany Zdane
1.7.2 Upewnij się, że baner ostrzeżenia o zdalnym logowaniu jest prawidłowo skonfigurowany Zdane
1.7.3 Upewnij się, że skonfigurowano uprawnienia dla /etc/motd Zdane
1.7.4 Upewnij się, że skonfigurowano uprawnienia dotyczące /etc/issue Zdane
1.7.5 Upewnij się, że skonfigurowano uprawnienia w pliku /etc/issue.net Zdane
2.1.1 Upewnij się, że synchronizacja czasu jest używana Zdane
2.1.2 Upewnij się, że synchronizacja jest skonfigurowana Zdane
2.2.1 Upewnij się, że xinetd nie jest zainstalowany Zdane
2.2.2 Upewnij się, że program xorg-x11-server-common nie jest zainstalowany Zdane
2.2.3 Upewnij się, że avahi nie jest zainstalowany Zdane
2.2.4 Upewnij się, że serwer wydruku nie jest zainstalowany Zdane
2.2.5 Upewnij się, że serwer DHCP nie jest zainstalowany Zdane
2.2.6 Upewnij się, że serwer DNS nie jest zainstalowany Zdane
2.2.7 Upewnij się, że klient FTP nie jest zainstalowany Zdane
2.2.8 Upewnij się, że serwer FTP nie jest zainstalowany Zdane
2.2.9 Upewnij się, że serwer tftp nie jest zainstalowany Zdane
2.2.10 Upewnij się, że serwer internetowy nie jest zainstalowany Zdane
2.2.11 Upewnij się, że serwer IMAP i POP3 nie są zainstalowane Zdane
2.2.12 Upewnij się, że Samba nie jest zainstalowana Zdane
2.2.13 Upewnij się, że serwer proxy HTTP nie jest zainstalowany Zdane
2.2.14 Upewnij się, że net-snmp nie jest zainstalowany lub usługa snmpd nie jest włączona Zdane
2.2.15 Upewnij się, że serwer usługi NIS nie jest zainstalowany Zdane
2.2.16 Upewnij się, że serwer telnet-server nie jest zainstalowany Zdane
2.2.17 Upewnij się, że agent transferu poczty jest skonfigurowany dla trybu lokalnego Zdane
2.2.18 Upewnij się, że narzędzie nfs-utils nie jest zainstalowane lub usługa nfs-server jest maskowana Zdane
2.2.19 Upewnij się, że demon rsync-daemon nie jest zainstalowany lub usługa rsyncd jest maskowana Zdane
2.3.1 Upewnij się, że klient usługi NIS nie jest zainstalowany Zdane
2.3.2 Upewnij się, że klient rsh nie jest zainstalowany Zdane
2.3.3 Upewnij się, że klient rozmów nie jest zainstalowany Zdane
2.3.4 Upewnij się, że klient telnet nie jest zainstalowany Zdane
2.3.5 Upewnij się, że klient LDAP nie jest zainstalowany Zdane
2.3.6 Upewnij się, że klient TFTP nie jest zainstalowany Zdane
3.1.1 Upewnij się, że protokół IPv6 jest włączony Zdane
3.2.1 Upewnij się, że wysyłanie przekierowania pakietów jest wyłączone Zdane
3.3.1 Upewnij się, że pakiety kierowane przez źródło nie są akceptowane Zdane
3.3.2 Upewnij się, że przekierowania protokołu ICMP nie są akceptowane Zdane
3.3.3 Upewnij się, że bezpieczne przekierowania protokołu ICMP nie są akceptowane Zdane
3.3.4 Upewnij się, że są rejestrowane podejrzane pakiety Zdane
3.3.5 Upewnij się, że żądania ICMP emisji są ignorowane Zdane
3.3.6 Upewnij się, że fałszywe odpowiedzi protokołu ICMP są ignorowane Zdane
3.3.7 Upewnij się, że włączono filtrowanie ścieżki odwrotnej Zdane
3.3.8 Upewnij się, że włączono pliki cookie SYN protokołu TCP Zdane
3.3.9 Upewnij się, że anonse routerów IPv6 nie są akceptowane Zdane
3.4.3.1.1 Upewnij się, że pakiet iptables jest zainstalowany Zdane
3.4.3.1.2 Upewnij się, że tabele nftable nie są zainstalowane za pomocą tabel iptable Zdane
3.4.3.1.3 Upewnij się, że zapora nie jest zainstalowana lub maskowana przy użyciu tabel iptable Zdane
4.2 Upewnij się, że skonfigurowano logrotate Zdane
4.2.2 Upewnij się, że wszystkie pliki dziennika mają skonfigurowany odpowiedni dostęp Zdane
4.2.1.1 Upewnij się, że zainstalowano serwer rsyslog Zdane
4.2.1.2 Upewnij się, że usługa rsyslog jest włączona Zdane
4.2.1.3 Upewnij się, że skonfigurowano domyślne uprawnienia pliku rsyslog Zdane
4.2.1.4 Upewnij się, że rejestrowanie zostało skonfigurowane Zdane
4.2.1.5 Upewnij się, że program rsyslog nie jest skonfigurowany do odbierania dzienników z klienta zdalnego Zdane
5.1.1 Upewnij się, że demon cron jest włączony Zdane
5.1.2 Upewnij się, że skonfigurowano uprawnienia na /etc/crontab Zdane
5.1.3 Upewnij się, że skonfigurowano uprawnienia /etc/cron.hourly Zdane
5.1.4 Upewnij się, że skonfigurowano uprawnienia /etc/cron.daily Zdane
5.1.5 Upewnij się, że skonfigurowano uprawnienia dla /etc/cron.weekly Zdane
5.1.6 Upewnij się, że skonfigurowano uprawnienia /etc/cron.monthly Zdane
5.1.7 Upewnij się, że skonfigurowano uprawnienia w pliku /etc/cron.d Zdane
5.1.8 Upewnij się, że cron jest ograniczony do autoryzowanych użytkowników Zdane
5.1.9 Upewnij się, że użytkownik jest ograniczony do autoryzowanych użytkowników Zdane
5.2.1 Upewnij się, że skonfigurowano uprawnienia dla /etc/ssh/sshd_config Zdane
5.2.2 Upewnij się, że skonfigurowano uprawnienia do plików klucza prywatnego hosta SSH Zdane
5.2.3 Upewnij się, że skonfigurowano uprawnienia do plików kluczy publicznego hosta SSH Zdane
5.2.4 Upewnij się, że dostęp SSH jest ograniczony Zdane
5.2.5 Upewnij się, że poziom loglevel protokołu SSH jest odpowiedni Zdane
5.2.6 Upewnij się, że włączono protokół SSH PAM Zdane
5.2.7 Upewnij się, że logowanie główne protokołu SSH jest wyłączone Zdane
5.2.8 Upewnij się, że host SSHbasedAuthentication jest wyłączony Zdane
5.2.9 Upewnij się, że ustawienie SSH PermitEmptyPasswords jest wyłączone Zdane
5.2.10 Upewnij się, że ustawienie SSH PermitUserEnvironment jest wyłączone Zdane
5.2.11 Upewnij się, że hosty IgnoreRhost protokołu SSH są włączone Zdane
5.2.12 Upewnij się, że są używane tylko silne szyfry Zdane
5.2.13 Upewnij się, że są używane tylko silne algorytmy MAC Zdane
5.2.14 Upewnij się, że są używane tylko silne algorytmy wymiany kluczy Zdane
5.2.15 Upewnij się, że skonfigurowano transparent ostrzegawczy SSH Zdane
5.2.16 Upewnij się, że dla protokołu SSH MaxAuthTries ustawiono wartość 4 lub mniejszą Zdane
5.2.17 Upewnij się, że skonfigurowano ustawienia MaxStartups protokołu SSH Zdane
5.2.18 Upewnij się, że parametr SSH LoginGraceTime jest ustawiony na minutę lub mniej Zdane
5.2.19 Upewnij się, że wartość maxSessions protokołu SSH jest ustawiona na 10 lub mniej Zdane
5.2.20 Upewnij się, że skonfigurowano interwał limitu czasu bezczynności protokołu SSH Zdane
5.3.1 Upewnij się, że program sudo jest zainstalowany Zdane
5.3.2 Upewnij się, że ponowne uwierzytelnianie na potrzeby eskalacji uprawnień nie jest wyłączone globalnie Zdane
5.3.3 Upewnij się, że limit czasu uwierzytelniania sudo jest poprawnie skonfigurowany Zdane
5.4.1 Upewnij się, że skonfigurowano wymagania dotyczące tworzenia haseł Zdane
5.4.2 Upewnij się, że skonfigurowano blokadę dla nieudanych prób haseł Zdane
5.4.3 Upewnij się, że algorytm wyznaczania skrótów haseł to SHA-512 Zdane
5.4.4 Upewnij się, że ponowne użycie hasła jest ograniczone Zdane
5.5.2 Upewnij się, że konta systemowe są zabezpieczone Zdane
5.5.3 Upewnij się, że domyślna grupa dla konta głównego to GID 0 Zdane
5.5.4 Upewnij się, że domyślna maska użytkownika to 027 lub bardziej restrykcyjne Zdane
5.5.1.1 Upewnij się, że wygaśnięcie hasła wynosi 365 dni lub mniej Zdane
5.5.1.2 Upewnij się, że skonfigurowano minimalną liczbę dni między zmianami haseł Zdane
5.5.1.3 Upewnij się, że liczba dni ostrzeżenia o wygaśnięciu hasła to 7 lub więcej Zdane
5.5.1.4 Upewnij się, że nieaktywna blokada hasła wynosi 30 dni lub mniej Zdane
5.5.1.5 Upewnij się, że wszyscy użytkownicy ostatnio zmienili datę zmiany hasła w przeszłości Zdane
6.1.1 Upewnij się, że skonfigurowano uprawnienia dla /etc/passwd Zdane
6.1.2 Upewnij się, że skonfigurowano uprawnienia dla /etc/passwd Zdane
6.1.3 Upewnij się, że skonfigurowano uprawnienia dla /etc/group Zdane
6.1.4 Upewnij się, że skonfigurowano uprawnienia dla /etc/group Zdane
6.1.5 Upewnij się, że skonfigurowano uprawnienia do /etc/shadow Zdane
6.1.6 Upewnij się, że skonfigurowano uprawnienia do /etc/shadow Zdane
6.1.7 Upewnij się, że skonfigurowano uprawnienia w /etc/gshadow Zdane
6.1.8 Upewnij się, że skonfigurowano uprawnienia w /etc/gshadow Zdane
6.1.9 Upewnij się, że nie istnieją żadne nieznajdowane lub niezgrupowane pliki lub katalogi Zdane
6.1.10 Upewnij się, że pliki i katalogi z możliwością zapisu na świecie są zabezpieczone Zdane
6.2.1 Upewnij się, że pola haseł nie są puste Zdane
6.2.2 Upewnij się, że wszystkie grupy w /etc/passwd istnieją w /etc/group Zdane
6.2.3 Upewnij się, że nie istnieją zduplikowane identyfikatory UID Zdane
6.2.4 Upewnij się, że nie istnieją zduplikowane identyfikatory GID Zdane
6.2.5 Upewnij się, że nie istnieją zduplikowane nazwy użytkowników Zdane
6.2.6 Upewnij się, że nie istnieją zduplikowane nazwy grup Zdane
6.2.7 Upewnij się, że integralność ścieżki głównej Zdane
6.2.8 Upewnij się, że katalog główny jest jedynym kontem UID 0 Zdane
6.2.9 Upewnij się, że wszystkie katalogi główne użytkowników istnieją Zdane
6.2.10 Upewnij się, że użytkownicy są właścicielami swoich katalogów domowych Zdane
6.2.11 Upewnij się, że uprawnienia katalogów domowych użytkowników są 750 lub bardziej restrykcyjne Zdane
6.2.12 Upewnij się, że pliki kropkowe użytkowników nie są grupowalne ani nie są zapisywalne w świecie Zdane
6.2.13 Upewnij się, że pliki .netrc użytkowników nie są grupowe ani dostępne dla świata Zdane
6.2.14 Upewnij się, że żaden użytkownik nie ma plików przekazywania dalej Zdane
6.2.15 Upewnij się, że żaden użytkownik nie ma plików .netrc Zdane
6.2.16 Upewnij się, że żaden użytkownik nie ma plików rhosts Zdane

Następne kroki

Aby uzyskać więcej informacji na temat zabezpieczeń usługi Azure Linux Container Host, zobacz następujące artykuły: