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:
Azure Kubernetes Service