florianutz.ubuntu2004_cis

Ubuntu 20.04 CIS STIG

Status budowy Rola Ansible

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.2 Skonfiguruj aktualizacje oprogramowania
    • 1.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.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.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.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 nftables
      • 3.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 iptables
      • 3.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)

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.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.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.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

O projekcie

Ansible role to apply Ubuntu 20.04 CIS Baseline

Zainstaluj
ansible-galaxy install florianutz.ubuntu2004_cis
Licencja
mit
Pobrania
7.9k
Właściciel