florianutz.ubuntu2004_cis
Ubuntu 20.04 CIS STIG
Ta rola jest oparta na migracji z wersji 18.04. Zadania są poprawne, ale muszą być przerobione, aby pasowały do benchmarku 20.04. Chętnie przyjmujemy wkład.
Skonfiguruj system Ubuntu 20.04, aby był zgodny z CIS. Domyślnie będą poprawiane wyniki na poziomie 1 i 2.
Ta rola wprowadzi zmiany w systemie, które mogą spowodować problemy. Nie jest to narzędzie audytowe, lecz narzędzie naprawcze, które powinno być używane po przeprowadzonym audycie.
Na podstawie CIS Ubuntu Linux 20.04 LTS Benchmark - v1.0.0 - 07-21-2020 .
Opinia
- Jeśli podoba Ci się nasza praca, ale nie możesz samodzielnie przyczynić się do kodu, prosimy, abyś poświęcił chwilę na ocenienie jej w Ansible Galaxy. Możesz w ten sposób łatwo dodać pozytywną opinię dla deweloperów.
Ocena społeczności Galaxy - Jeśli znajdziesz błąd w tej roli, ale nie możesz go naprawić samodzielnie, prosimy o stworzenie zgłoszenia z jak największą ilością szczegółów. Pamiętaj, że wszyscy deweloperzy pracują nad projektem w swoim wolnym czasie, więc odpowiedź może zająć trochę czasu. Strona problemów
WAŻNY KROK INSTALACJI
Jeśli chcesz zainstalować to za pomocą komendy ansible-galaxy
, musisz uruchomić ją w ten sposób:
ansible-galaxy install -p roles -r requirements.yml
Z tym w pliku requirements.yml:
- src: https://github.com/florianutz/ubuntu2004_cis.git
Przykład skryptu
Możesz znaleźć przykładowy skrypt poniżej. Prosimy o przeczytanie dokumentacji i sprawdzenie ustawień w swoim przypadku. Na przykład domyślne ustawienia usuwają serwer X!
- name: Zabezpiecz serwer
hosts: serwery
become: tak
roles:
- ubuntu2004_cis
Aby uruchomić zadania w tym repozytorium, najpierw stwórz ten plik jeden poziom nad repozytorium
(tzn. plik playbook .yml i katalog ubuntu2004_cis
powinny znajdować się obok siebie), następnie sprawdź plik defaults/main.yml
i wyłącz wszelkie zasady/sekcje, których nie chcesz wykonywać.
Zakładając, że nazwałeś plik site.yml
, uruchom go poleceniem:
ansible-playbook site.yml
Wymagania
Powinieneś starannie przejrzeć zadania, aby upewnić się, że te zmiany nie uszkodzą Twojego systemu przed uruchomieniem tego skryptu.
Zmienne roli
Zdefiniowanych jest wiele zmiennych roli w defaults/main.yml. Poniżej przedstawiono najważniejsze.
ubuntu2004cis_notauto: Wykonaj kontrole CIS, które zazwyczaj nie chcemy automatyzować z powodu wysokiego ryzyka uszkodzenia systemu (domyślnie: fałsz)
ubuntu2004cis_section1: CIS - Ustawienia ogólne (Sekcja 1) (domyślnie: prawda)
ubuntu2004cis_section2: CIS - Ustawienia usług (Sekcja 2) (domyślnie: prawda)
ubuntu2004cis_section3: CIS - Ustawienia sieciowe (Sekcja 3) (domyślnie: prawda)
ubuntu2004cis_section4: CIS - Ustawienia logowania i audytu (Sekcja 4) (domyślnie: prawda)
ubuntu2004cis_section5: CIS - Ustawienia dostępu, uwierzytelniania i autoryzacji (Sekcja 5) (domyślnie: prawda)
ubuntu2004cis_section6: CIS - Ustawienia konserwacji systemu (Sekcja 6) (domyślnie: prawda)
Wyłącz wszystkie funkcje selinux
ubuntu2004cis_selinux_disable: fałsz
Zmienne usług
Te kontrolują, czy serwer może lub nie może nadal uruchamiać te usługi
ubuntu2004cis_avahi_server: fałsz
ubuntu2004cis_cups_server: fałsz
ubuntu2004cis_dhcp_server: fałsz
ubuntu2004cis_ldap_server: fałsz
ubuntu2004cis_telnet_server: fałsz
ubuntu2004cis_nfs_server: fałsz
ubuntu2004cis_rpc_server: fałsz
ubuntu2004cis_ntalk_server: fałsz
ubuntu2004cis_rsyncd_server: fałsz
ubuntu2004cis_tftp_server: fałsz
ubuntu2004cis_rsh_server: fałsz
ubuntu2004cis_nis_server: fałsz
ubuntu2004cis_snmp_server: fałsz
ubuntu2004cis_squid_server: fałsz
ubuntu2004cis_smb_server: fałsz
ubuntu2004cis_dovecot_server: fałsz
ubuntu2004cis_httpd_server: fałsz
ubuntu2004cis_vsftpd_server: fałsz
ubuntu2004cis_named_server: fałsz
ubuntu2004cis_allow_autofs: fałsz
Oznacz serwer jako serwer pocztowy
ubuntu2004cis_is_mail_server: fałsz
Parametry sieciowe systemu (tylko host lub host i router)
ubuntu2004cis_is_router: fałsz
Wymagane IPv6
ubuntu2004cis_ipv6_required: prawda
AIDE
ubuntu2004cis_config_aide: prawda
Ustawienia cron AIDE
ubuntu2004cis_aide_cron:
cron_user: root
cron_file: /etc/crontab
aide_job: '/usr/sbin/aide --check'
aide_minute: 0
aide_hour: 5
aide_day: '*'
aide_month: '*'
aide_weekday: '*'
Ustaw na 'prawda', jeśli środowisko potrzebuje X Windows
ubuntu2004cis_xwindows_required: nie
Wymagania dotyczące aplikacji klienckich
ubuntu2004cis_openldap_clients_required: fałsz
ubuntu2004cis_telnet_required: fałsz
ubuntu2004cis_talk_required: fałsz
ubuntu2004cis_rsh_required: fałsz
ubuntu2004cis_ypbind_required: fałsz
ubuntu2004cis_rpc_required: fałsz
Synchronizacja czasu
ubuntu2004cis_time_synchronization: chrony
ubuntu2004cis_time_synchronization: ntp
ubuntu2004cis_time_synchronization_servers:
- uri: "0.pool.ntp.org"
config: "minpoll 8"
- uri: "1.pool.ntp.org"
config: "minpoll 8"
- uri: "2.pool.ntp.org"
config: "minpoll 8"
- uri: "3.pool.ntp.org"
config: "minpoll 8"
- name: "ZAGROŻENIE | 1.1.5 | ŁATKA | Upewnij się, że opcja noexec jest ustawiona dla partycji /tmp"
Nie jest to zrealizowane, noexec dla /tmp zakłóci działanie apt. /tmp zawiera skrypty wykonywalne podczas instalacji pakietów
1.5.3 | ŁATKA | Upewnij się, że wymagane jest uwierzytelnienie w trybie pojedynczego użytkownika
Jest to domyślnie wyłączone, ponieważ ustawia losowe hasło dla roota. Aby włączyć, ustaw:
ubuntu2004cis_rule_1_5_3: prawda
Aby użyć innego niż losowe hasło:
ubuntu2004cis_root_password: 'nowe hasło'
ubuntu2004cis_firewall: firewalld
ubuntu2004cis_firewall: iptables
5.3.1 | ŁATKA | Upewnij się, że wymagania dotyczące tworzenia hasła są skonfigurowane
ubuntu2004cis_pwquality:
- key: 'minlen'
value: '14'
- key: 'dcredit'
value: '-1'
- key: 'ucredit'
value: '-1'
- key: 'ocredit'
value: '-1'
- key: 'lcredit'
value: '-1'
Zależności
Opracowane i przetestowane z Ansible 2.10
Tagowanie
Dostępnych jest wiele tagów, które pozwalają na precyzyjną kontrolę nad tym, co jest i nie jest zmieniane.
Niektóre przykłady użycia tagów:
# Audytuj i łatkuj stronę
ansible-playbook site.yml --tags="patch"
Lista zaleceń:
1 Początkowa konfiguracja
- 1.1 Konfiguracja systemu plików
- 1.1.1 Wyłącz nieużywane systemy plików
- 1.1.1.1 Upewnij się, że montowanie systemów plików cramfs jest wyłączone (Automatyczne)
- 1.1.1.2 Upewnij się, że montowanie systemów plików freevxfs jest wyłączone - (Automatyczne)
- 1.1.1.3 Upewnij się, że montowanie systemów plików jffs2 jest wyłączone (Automatyczne)
- 1.1.1.4 Upewnij się, że montowanie systemów plików hfs jest wyłączone (Automatyczne)
- 1.1.1.5 Upewnij się, że montowanie systemów plików hfsplus jest wyłączone - (Automatyczne)
- 1.1.1.6 Upewnij się, że montowanie systemów plików udf jest wyłączone (Automatyczne)
- 1.1.1.7 Upewnij się, że montowanie systemów plików FAT jest ograniczone (Ręczne)
- 1.1.2 Upewnij się, że /tmp jest skonfigurowane (Automatyczne)
- 1.1.3 Upewnij się, że opcja nodev jest ustawiona dla partycji /tmp (Automatyczne)
- 1.1.4 Upewnij się, że opcja nosuid jest ustawiona dla partycji /tmp (Automatyczne)
- 1.1.5 Upewnij się, że opcja noexec jest ustawiona dla partycji /tmp (Automatyczne)
- 1.1.6 Upewnij się, że /dev/shm jest skonfigurowane (Automatyczne)
- 1.1.7 Upewnij się, że opcja nodev jest ustawiona dla partycji /dev/shm (Automatyczne)
- 1.1.8 Upewnij się, że opcja nosuid jest ustawiona dla partycji /dev/shm (Automatyczne)
- 1.1.9 Upewnij się, że opcja noexec jest ustawiona dla partycji /dev/shm (Automatyczne)
- 1.1.10 Upewnij się, że istnieje oddzielna partycja dla /var (Automatyczne)
- 1.1.11 Upewnij się, że istnieje oddzielna partycja dla /var/tmp (Automatyczne)
- 1.1.12 Upewnij się, że opcja nodev jest ustawiona dla partycji /var/tmp (Automatyczne)
- 1.1.13 Upewnij się, że opcja nosuid jest ustawiona dla partycji /var/tmp (Automatyczne)
- 1.1.14 Upewnij się, że opcja noexec jest ustawiona dla partycji /var/tmp (Automatyczne)
- 1.1.15 Upewnij się, że istnieje oddzielna partycja dla /var/log (Automatyczne)
- 1.1.16 Upewnij się, że istnieje oddzielna partycja dla /var/log/audit - (Automatyczne)
- 1.1.17 Upewnij się, że istnieje oddzielna partycja dla /home (Automatyczne)
- 1.1.18 Upewnij się, że opcja nodev jest ustawiona dla partycji /home (Automatyczne)
1.1.19 Upewnij się, że opcja nodev jest ustawiona dla partycji wymiennych (Ręczne)1.1.20 Upewnij się, że opcja nosuid jest ustawiona dla partycji wymiennych - (Ręczne)1.1.21 Upewnij się, że opcja noexec jest ustawiona dla partycji wymiennych - (Ręczne)- 1.1.22 Upewnij się, że bit sticky jest ustawiony na wszystkich katalogach zapisywalnych przez wszystkich - (Automatyczne)
- 1.1.23 Wyłącz automatyczne montowanie (Automatyczne)
- 1.1.24 Wyłącz pamięć USB (Automatyczne)
- 1.1.1 Wyłącz nieużywane systemy plików
1.2 Skonfiguruj aktualizacje oprogramowania1.2.1 Upewnij się, że repozytoria menedżera pakietów są skonfigurowane (Ręczne)1.2.2 Upewnij się, że klucze GPG są skonfigurowane (Ręczne)
- 1.3 Skonfiguruj sudo
- 1.3.1 Upewnij się, że sudo jest zainstalowane (Automatyczne)
- 1.3.2 Upewnij się, że polecenia sudo używają pty (Automatyczne)
- 1.3.3 Upewnij się, że plik dziennika sudo istnieje (Automatyczne)
- 1.4 Sprawdzanie integralności systemu plików
- 1.4.1 Upewnij się, że AIDE jest zainstalowane (Automatyczne)
- 1.4.2 Upewnij się, że integralność systemu plików jest regularnie sprawdzana (Automatyczne)
- 1.5 Ustawienia bezpiecznego rozruchu
- 1.5.1 Upewnij się, że hasło bootloadera jest ustawione (Automatyczne)
- 1.5.2 Upewnij się, że uprawnienia w pliku konfiguracyjnym bootloadera są skonfigurowane - (Automatyczne)
- 1.5.3 Upewnij się, że wymagane jest uwierzytelnienie w trybie pojedynczego użytkownika (Automatyczne)
- 1.6 Dodatkowe zjawiska twardnienia
- 1.6.1 Upewnij się, że obsługa XD/NX jest włączona (Automatyczne)
- 1.6.2 Upewnij się, że losowa aranżacja przestrzeni adresowej (ASLR) jest włączona - (Automatyczne)
- 1.6.3 Upewnij się, że prelink jest wyłączony (Automatyczne)
- 1.6.4 Upewnij się, że zrzuty pamięci są ograniczone (Automatyczne)
- 1.7 Obowiązkowa kontrola dostępu
- 1.7.1 Skonfiguruj AppArmor
- 1.7.1.1 Upewnij się, że AppArmor jest zainstalowane (Automatyczne)
- 1.7.1.2 Upewnij się, że AppArmor jest włączone w konfiguracji bootloadera - (Automatyczne)
1.7.1.3 Upewnij się, że wszystkie profile AppArmor są w trybie egzekwującym lub narzekania - (Automatyczne)1.7.1.4 Upewnij się, że wszystkie profile AppArmor egzekwują (Automatyczne)
- 1.7.1 Skonfiguruj AppArmor
- 1.8 Banery ostrzegawcze
- 1.8.1 Banery ostrzegawcze na linii komend
- 1.8.1.1 Upewnij się, że komunikat dnia jest poprawnie skonfigurowany (Automatyczne)
- 1.8.1.2 Upewnij się, że lokalny baner ostrzegawczy logowania jest poprawnie skonfigurowany - (Automatyczne)
- 1.8.1.3 Upewnij się, że baner ostrzegawczy logowania zdalnego jest poprawnie skonfigurowany - (Automatyczne)
- 1.8.1.4 Upewnij się, że uprawnienia w /etc/motd są skonfigurowane (Automatyczne)
- 1.8.1.5 Upewnij się, że uprawnienia w /etc/issue są skonfigurowane (Automatyczne)
- 1.8.1.6 Upewnij się, że uprawnienia w /etc/issue.net są skonfigurowane - (Automatyczne)
- 1.8.1 Banery ostrzegawcze na linii komend
- 1.9 Upewnij się, że aktualizacje, łatki i dodatkowe oprogramowanie zabezpieczające są zainstalowane (Ręczne)
- 1.10 Upewnij się, że GDM jest usunięty lub logowanie jest skonfigurowane (Automatyczne)
2 Usługi
- 2.1 Usługi inetd
- 2.1.1 Upewnij się, że xinetd nie jest zainstalowane (Automatyczne)
- 2.1.2 Upewnij się, że openbsd-inetd nie jest zainstalowane (Automatyczne)
- 2.2 Usługi specjalnego przeznaczenia
- 2.2.1 Synchronizacja czasu
- 2.2.1.1 Upewnij się, że synchronizacja czasu jest używana (Automatyczne)
2.2.1.2 Upewnij się, że systemd-timesyncd jest skonfigurowane (Ręczne)- 2.2.1.3 Upewnij się, że chrony jest skonfigurowane (Automatyczne)
- 2.2.1.4 Upewnij się, że ntp jest skonfigurowany (Automatyczne)
- 2.2.2 Upewnij się, że system X Window nie jest zainstalowany (Automatyczne)
- 2.2.3 Upewnij się, że serwer Avahi nie jest zainstalowany (Automatyczne)
- 2.2.4 Upewnij się, że CUPS nie jest zainstalowane (Automatyczne)
- 2.2.5 Upewnij się, że serwer DHCP nie jest zainstalowany (Automatyczne)
- 2.2.6 Upewnij się, że serwer LDAP nie jest zainstalowany (Automatyczne)
- 2.2.7 Upewnij się, że NFS nie jest zainstalowany (Automatyczne)
- 2.2.8 Upewnij się, że serwer DNS nie jest zainstalowany (Automatyczne)
- 2.2.9 Upewnij się, że serwer FTP nie jest zainstalowany (Automatyczne)
- 2.2.10 Upewnij się, że serwer HTTP nie jest zainstalowany (Automatyczne)
- 2.2.11 Upewnij się, że serwer IMAP i POP3 nie są zainstalowane (Automatyczne)
- 2.2.12 Upewnij się, że Samba nie jest zainstalowana (Automatyczne)
- 2.2.13 Upewnij się, że serwer HTTP Proxy nie jest zainstalowany (Automatyczne)
- 2.2.14 Upewnij się, że serwer SNMP nie jest zainstalowany (Automatyczne)
- 2.2.15 Upewnij się, że agent transferu poczty jest skonfigurowany w trybie lokalnym - (Automatyczne)
- 2.2.16 Upewnij się, że usługa rsync nie jest zainstalowana (Automatyczne)
- 2.2.17 Upewnij się, że serwer NIS nie jest zainstalowany (Automatyczne)
- 2.2.1 Synchronizacja czasu
- 2.3 Klienci usług
- 2.3.1 Upewnij się, że klient NIS nie jest zainstalowany (Automatyczne)
- 2.3.2 Upewnij się, że klient rsh nie jest zainstalowany (Automatyczne)
- 2.3.3 Upewnij się, że klient talk nie jest zainstalowany (Automatyczne)
- 2.3.4 Upewnij się, że klient telnet nie jest zainstalowany (Automatyczne)
- 2.3.5 Upewnij się, że klient LDAP nie jest zainstalowany (Automatyczne)
- 2.3.6 Upewnij się, że RPC nie jest zainstalowane (Automatyczne)
- 2.4 Upewnij się, że nieistotne usługi są usunięte lub zmaskowane (Ręczne)
3 Konfiguracja sieci
- 3.1 Wyłącz nieużywane protokoły i urządzenia sieciowe
- 3.1.1 Wyłącz IPv6 (Ręczne)
- 3.1.2 Upewnij się, że interfejsy bezprzewodowe są wyłączone (Automatyczne)
- 3.2 Parametry sieciowe (tylko host)
- 3.2.1 Upewnij się, że wysyłanie pakietów przekierowujących jest wyłączone (Automatyczne)
- 3.2.2 Upewnij się, że przekazywanie IP jest wyłączone (Automatyczne)
- 3.3 Parametry sieciowe (host i router)
- 3.3.1 Upewnij się, że pakiety z trasowaniem źródłowym nie są akceptowane (Automatyczne)
- 3.3.2 Upewnij się, że przekierowania ICMP nie są akceptowane (Automatyczne)
- 3.3.3 Upewnij się, że zabezpieczone przekierowania ICMP nie są akceptowane (Automatyczne)
- 3.3.4 Upewnij się, że podejrzane pakiety są rejestrowane (Automatyczne)
- 3.3.5 Upewnij się, że żądania ICMP broadcast są ignorowane (Automatyczne)
- 3.3.6 Upewnij się, że fałszywe odpowiedzi ICMP są ignorowane (Automatyczne)
- 3.3.7 Upewnij się, że filtrowanie odwrotnej ścieżki jest włączone (Automatyczne)
- 3.3.8 Upewnij się, że ciasteczka TCP SYN są włączone (Automatyczne)
- 3.3.9 Upewnij się, że reklamy routerów IPv6 nie są akceptowane (Automatyczne)
- 3.4 Niezwykłe protokoły sieciowe
- 3.4.1 Upewnij się, że DCCP jest wyłączone (Automatyczne)
- 3.4.2 Upewnij się, że SCTP jest wyłączone (Automatyczne)
- 3.4.3 Upewnij się, że RDS jest wyłączone (Automatyczne)
- 3.4.4 Upewnij się, że TIPC jest wyłączone (Automatyczne)
- 3.5 Konfiguracja zapory
- 3.5.1 Skonfiguruj UncomplicatedFirewall
- 3.5.1.1 Upewnij się, że Uncomplicated Firewall jest zainstalowane (Automatyczne)
- 3.5.1.2 Upewnij się, że iptables-persistent nie jest zainstalowany (Automatyczne)
- 3.5.1.3 Upewnij się, że usługa ufw jest włączona (Automatyczne)
- 3.5.1.4 Upewnij się, że ruch pętli zwrotnej jest skonfigurowany (Automatyczne)
- 3.5.1.5 Upewnij się, że połączenia wychodzące są skonfigurowane (Ręczne)
- 3.5.1.6 Upewnij się, że reguły zapory istnieją dla wszystkich otwartych portów (Ręczne)
- 3.5.1.7 Upewnij się, że domyślna polityka zapory odrzucająca (Automatyczne)
3.5.2 Skonfiguruj nftables3.5.2.1 Upewnij się, że nftables jest zainstalowane (Automatyczne)3.5.2.2 Upewnij się, że Uncomplicated Firewall nie jest zainstalowane lub wyłączone - (Automatyczne)3.5.2.3 Upewnij się, że iptables są wyczyszczone (Ręczne)3.5.2.4 Upewnij się, że tabela istnieje (Automatyczne)3.5.2.5 Upewnij się, że podstawowe łańcuchy istnieją (Automatyczne)3.5.2.6 Upewnij się, że ruch pętli zwrotnej jest skonfigurowany (Automatyczne)3.5.2.7 Upewnij się, że połączenia wychodzące i ustalone są skonfigurowane - (Ręczne)3.5.2.8 Upewnij się, że domyślna polityka zapory odrzucająca (Automatyczne)3.5.2.9 Upewnij się, że usługa nftables jest włączona (Automatyczne)3.5.2.10 Upewnij się, że reguły nftables są trwałe (Automatyczne)
3.5.3 Skonfiguruj iptables3.5.3.1.1 Upewnij się, że pakiety iptables są zainstalowane (Automatyczne)3.5.3.1.2 Upewnij się, że nftables nie jest zainstalowane (Automatyczne)3.5.3.1.3 Upewnij się, że Uncomplicated Firewall nie jest zainstalowane lub wyłączone - (Automatyczne)3.5.3.2.1 Upewnij się, że domyślna polityka zapory odrzucająca (Automatyczne)3.5.3.2.2 Upewnij się, że ruch pętli zwrotnej jest skonfigurowany (Automatyczne)3.5.3.2.3 Upewnij się, że połączenia wychodzące i ustalone są skonfigurowane - (Ręczne)3.5.3.2.4 Upewnij się, że reguły zapory istnieją dla wszystkich otwartych portów (Automatyczne)3.5.3.3.1 Upewnij się, że polityka zapory IPv6 domyślnie odrzucająca (Automatyczne)3.5.3.3.2 Upewnij się, że ruch pętli zwrotnej IPv6 jest skonfigurowany (Automatyczne)3.5.3.3.3 Upewnij się, że połączenia wyjściowe i ustalone IPv6 są skonfigurowane (Ręczne)3.5.3.3.4 Upewnij się, że reguły zapory IPv6 istnieją dla wszystkich otwartych portów - (Ręczne)
- 3.5.1 Skonfiguruj UncomplicatedFirewall
4 Logowanie i audyt
- 4.1 Skonfiguruj księgowanie systemowe (auditd)
- 4.1.1 Upewnij się, że audyt jest włączony
- 4.1.1.1 Upewnij się, że auditd jest zainstalowane (Automatyczne)
- 4.1.1.2 Upewnij się, że usługa auditd jest włączona (Automatyczne)
- 4.1.1.3 Upewnij się, że audytowanie procesów, które rozpoczynają się przed auditd jest włączone (Automatyczne)
- 4.1.1.4 Upewnij się, że limit zaległości audytu jest wystarczający (Automatyczne)
- 4.1.2 Skonfiguruj zatrzymywanie danych
- 4.1.2.1 Upewnij się, że rozmiar przechowywania dzienników audytu jest skonfigurowany (Automatyczne)
- 4.1.2.2 Upewnij się, że dzienniki audytu nie są automatycznie usuwane (Automatyczne)
- 4.1.2.3 Upewnij się, że system jest wyłączony, gdy dzienniki audytu są pełne - (Automatyczne)
- 4.1.3 Upewnij się, że zdarzenia, które zmieniają informacje o dacie i czasie są zbierane - (Automatyczne)
- 4.1.4 Upewnij się, że zdarzenia, które zmieniają informacje o użytkownikach/grupach są zbierane - (Automatyczne)
- 4.1.5 Upewnij się, że zdarzenia zmieniające środowisko sieciowe systemu są zbierane - (Automatyczne)
- 4.1.6 Upewnij się, że zdarzenia, które modyfikują obowiązkowe kontrole dostępu są zbierane - (Automatyczne)
- 4.1.7 Upewnij się, że zdarzenia logowania i wylogowania są zbierane (Automatyczne)
- 4.1.8 Upewnij się, że informacje o inicjacji sesji są zbierane (Automatyczne)
- 4.1.9 Upewnij się, że zdarzenia modyfikujące uprawnienia są zbierane (Automatyczne)
- 4.1.10 Upewnij się, że są zbierane nieudane próby nieautoryzowanego dostępu do plików (Automatyczne)
- 4.1.11 Upewnij się, że użycie poleceń uprzywilejowanych jest zbierane (Automatyczne)
- 4.1.12 Upewnij się, że udane montowanie systemu plików jest zbierane (Automatyczne)
- 4.1.13 Upewnij się, że zdarzenia usuwania plików przez użytkowników są zbierane (Automatyczne)
- 4.1.14 Upewnij się, że zmiany w zakresie administracyjnym systemu (sudoers) są zbierane (Automatyczne)
- 4.1.15 Upewnij się, że wykonania poleceń przez administratora systemu (sudo) są zbierane (Automatyczne)
- 4.1.16 Upewnij się, że ładowanie i usuwanie modułów jądra jest zbierane - (Automatyczne)
- 4.1.17 Upewnij się, że konfiguracja audytu jest niezmienna (Automatyczne)
- 4.1.1 Upewnij się, że audyt jest włączony
- 4.2 Skonfiguruj logowanie
- 4.2.1 Skonfiguruj rsyslog
- 4.2.1.1 Upewnij się, że rsyslog jest zainstalowane (Automatyczne)
- 4.2.1.2 Upewnij się, że usługa rsyslog jest włączona (Automatyczne)
4.2.1.3 Upewnij się, że logowanie jest skonfigurowane (Ręczne)- 4.2.1.4 Upewnij się, że uprawnienia domyślne pliku rsyslog są skonfigurowane - (Automatyczne)
4.2.1.5 Upewnij się, że rsyslog jest skonfigurowane do wysyłania dzienników do zdalnego hosta (Automatyczne)4.2.1.6 Upewnij się, że zdalne wiadomości rsyslog są akceptowane tylko na wyznaczonych hostach dzienników. (Ręczne)
- 4.2.2 Skonfiguruj journald
- 4.2.2.1 Upewnij się, że journald jest skonfigurowane do wysyłania dzienników do rsyslog - (Automatyczne)
- 4.2.2.2 Upewnij się, że journald jest skonfigurowany do kompresji dużych plików dzienników - (Automatyczne)
- 4.2.2.3 Upewnij się, że journald jest skonfigurowany do zapisywania plików dzienników na trwałym dysku (Automatyczne)
- 4.2.3 Upewnij się, że uprawnienia do wszystkich plików dzienników są skonfigurowane (Automatyczne)
- 4.2.1 Skonfiguruj rsyslog
- 4.3 Upewnij się, że logrotate jest skonfigurowane (Ręczne)
- 4.4 Upewnij się, że logrotate przypisuje odpowiednie uprawnienia (Automatyczne)
5 Dostęp, uwierzytelnianie i autoryzacja
- 5.1 Skonfiguruj harmonogramy zadań oparty na czasie
- 5.1.1 Upewnij się, że demon cron jest włączony i działa (Automatyczne)
- 5.1.2 Upewnij się, że uprawnienia w /etc/crontab są skonfigurowane (Automatyczne)
- 5.1.3 Upewnij się, że uprawnienia w /etc/cron.hourly są skonfigurowane - (Automatyczne)
- 5.1.4 Upewnij się, że uprawnienia w /etc/cron.daily są skonfigurowane - (Automatyczne)
- 5.1.5 Upewnij się, że uprawnienia w /etc/cron.weekly są skonfigurowane - (Automatyczne)
- 5.1.6 Upewnij się, że uprawnienia w /etc/cron.monthly są skonfigurowane - (Automatyczne)
- 5.1.7 Upewnij się, że uprawnienia w /etc/cron.d są skonfigurowane (Automatyczne)
- 5.1.8 Upewnij się, że cron jest ograniczony do autoryzowanych użytkowników (Automatyczne)
- 5.1.9 Upewnij się, że at jest ograniczone do autoryzowanych użytkowników (Automatyczne)
- 5.2 Skonfiguruj serwer SSH
- 5.2.1 Upewnij się, że uprawnienia w /etc/ssh/sshd_config są skonfigurowane - (Automatyczne)
- 5.2.2 Upewnij się, że uprawnienia w plikach prywatnych kluczy hostów SSH są skonfigurowane (Automatyczne)
- 5.2.3 Upewnij się, że uprawnienia w plikach publicznych kluczy hostów SSH są skonfigurowane - (Automatyczne)
- 5.2.4 Upewnij się, że poziom logowania SSH jest odpowiedni (Automatyczne)
- 5.2.5 Upewnij się, że przekazywanie X11 SSH jest wyłączone (Automatyczne)
- 5.2.6 Upewnij się, że maksymalne próby uwierzytelnienia SSH są ustawione na 4 lub mniej (Automatyczne)
- 5.2.7 Upewnij się, że SSH IgnoreRhosts jest włączony (Automatyczne)
- 5.2.8 Upewnij się, że SSH HostbasedAuthentication jest wyłączone (Automatyczne)
- 5.2.9 Upewnij się, że logowanie do roota przez SSH jest wyłączone (Automatyczne)
- 5.2.10 Upewnij się, że SSH PermitEmptyPasswords jest wyłączone (Automatyczne)
- 5.2.11 Upewnij się, że SSH PermitUserEnvironment jest wyłączone (Automatyczne)
- 5.2.12 Upewnij się, że używane są tylko mocne szyfry (Automatyczne)
- 5.2.13 Upewnij się, że używane są tylko mocne algorytmy MAC (Automatyczne)
- 5.2.14 Upewnij się, że używane są tylko mocne algorytmy wymiany kluczy - (Automatyczne)
- 5.2.15 Upewnij się, że interwał czasu bezczynności SSH jest skonfigurowany (Automatyczne)
- 5.2.16 Upewnij się, że SSH LoginGraceTime jest ustawiony na jedną minutę lub mniej - (Automatyczne)
- 5.2.17 Upewnij się, że dostęp SSH jest ograniczony (Automatyczne)
- 5.2.18 Upewnij się, że baner ostrzegawczy SSH jest skonfigurowany (Automatyczne)
- 5.2.19 Upewnij się, że SSH PAM jest włączone (Automatyczne)
- 5.2.20 Upewnij się, że SSH AllowTcpForwarding jest wyłączone (Automatyczne)
- 5.2.21 Upewnij się, że pięciorys maksymalizacji SSH jest skonfigurowany (Automatyczne)
- 5.2.22 Upewnij się, że maksymalne sesje SSH są ograniczone (Automatyczne)
- 5.3 Skonfiguruj PAM
- 5.3.1 Upewnij się, że wymagania dotyczące tworzenia haseł są skonfigurowane - (Automatyczne)
- 5.3.2 Upewnij się, że zablokowanie nieudanych prób hasła jest skonfigurowane - (Automatyczne)
- 5.3.3 Upewnij się, że ponowne użycie hasła jest ograniczone (Automatyczne)
- 5.3.4 Upewnij się, że algorytm haszowania hasła to SHA-512 (Automatyczne)
- 5.4 Konta użytkowników i środowisko
- 5.4.1 Ustaw parametry zestawu haseł Shadow
- 5.4.1.1 Upewnij się, że wygaśnięcie hasła jest 365 dni lub mniej (Automatyczne)
- 5.4.1.2 Upewnij się, że minimalne dni między zmianami hasła są skonfigurowane - (Automatyczne)
- 5.4.1.3 Upewnij się, że dni ostrzeżenia o wygaśnięciu hasła wynoszą 7 lub więcej - (Automatyczne)
- 5.4.1.4 Upewnij się, że blokada nieaktywnych haseł wynosi 30 dni lub mniej (Automatyczne)
- 5.4.1.5 Upewnij się, że data ostatniej zmiany hasła dla wszystkich użytkowników jest w przeszłości - (Automatyczne)
- 5.4.2 Upewnij się, że konta systemowe są zabezpieczone (Automatyczne)
- 5.4.3 Upewnij się, że domyślna grupa dla konta roota to GID 0 (Automatyczne)
- 5.4.4 Upewnij się, że domyślny umask użytkownika to 027 lub bardziej restrykcyjne - (Automatyczne)
- 5.4.5 Upewnij się, że domyślny limit czasu powłoki użytkownika wynosi 900 sekund lub mniej - (Automatyczne)
- 5.4.1 Ustaw parametry zestawu haseł Shadow
5.5 Upewnij się, że logowanie do roota jest ograniczone do konsoli systemowej (Ręczne)- 5.6 Upewnij się, że dostęp do polecenia su jest ograniczony (Automatyczne)
6 Konserwacja systemu
- 6.1 Uprawnienia do plików systemowych
6.1.1 Przeprowadź audyt uprawnień plików systemowych (Ręczne)- 6.1.2 Upewnij się, że uprawnienia w /etc/passwd są skonfigurowane (Automatyczne)
- 6.1.3 Upewnij się, że uprawnienia w /etc/gshadow są skonfigurowane (Automatyczne)
- 6.1.4 Upewnij się, że uprawnienia w /etc/shadow są skonfigurowane (Automatyczne)
- 6.1.5 Upewnij się, że uprawnienia w /etc/group są skonfigurowane (Automatyczne)
- 6.1.6 Upewnij się, że uprawnienia w /etc/passwd- są skonfigurowane (Automatyczne)
- 6.1.7 Upewnij się, że uprawnienia w /etc/shadow- są skonfigurowane (Automatyczne)
- 6.1.8 Upewnij się, że uprawnienia w /etc/group- są skonfigurowane (Automatyczne)
- 6.1.9 Upewnij się, że uprawnienia w /etc/gshadow są skonfigurowane (Automatyczne)
6.1.10 Upewnij się, że nie istnieją pliki zapisywalne przez wszystkich (Automatyczne)6.1.11 Upewnij się, że nie istnieją pliki lub katalogi bez właściciela (Automatyczne)6.1.12 Upewnij się, że nie istnieją pliki lub katalogi bez grupy (Automatyczne)6.1.13 Przeprowadź audyt plików wykonywalnych SUID (Ręczne)6.1.14 Przeprowadź audyt plików wykonywalnych SGID (Ręczne)
- 6.2 Ustawienia użytkowników i grup
- 6.2.1 Upewnij się, że pola haseł nie są puste (Automatyczne)
- 6.2.2 Upewnij się, że root jest jedynym kontem UID 0 (Automatyczne)
- 6.2.3 Upewnij się, że integralność PATH dla roota jest zachowana (Automatyczne)
6.2.4 Upewnij się, że wszystkie katalogi domowe użytkowników istnieją (Automatyczne)- 6.2.5 Upewnij się, że uprawnienia katalogów domowych użytkowników to 750 lub bardziej restrykcyjne (Automatyczne)
6.2.6 Upewnij się, że użytkownicy są właścicielami swoich katalogów domowych (Automatyczne)6.2.7 Upewnij się, że pliki dot w katalogach domowych użytkowników nie są zapisywalne przez grupy lub wszystkich - (Automatyczne)- 6.2.8 Upewnij się, że żaden użytkownik nie ma plików .forward (Automatyczne)
- 6.2.9 Upewnij się, że żaden użytkownik nie ma plików .netrc (Automatyczne)
6.2.10 Upewnij się, że pliki .netrc użytkowników nie są dostępne dla grupy lub wszystkich - (Automatyczne)- 6.2.11 Upewnij się, że żaden użytkownik nie ma plików .rhosts (Automatyczne)
6.2.12 Upewnij się, że wszystkie grupy w /etc/passwd istnieją w /etc/group - (Automatyczne)6.2.13 Upewnij się, że nie istnieją duplikaty UID (Automatyczne)6.2.14 Upewnij się, że nie istnieją duplikaty GID (Automatyczne)6.2.15 Upewnij się, że nie istnieją duplikaty nazw użytkowników (Automatyczne)6.2.16 Upewnij się, że nie istnieją duplikaty nazw grup (Automatyczne)6.2.17 Upewnij się, że grupa shadow jest pusta (Automatyczne)
Licencja
MIT
inne
To repozytorium powstało na podstawie pracy wykonanej przez MindPointGroup
ansible-galaxy install florianutz.ubuntu2004_cis