florianutz.ubuntu1804_cis
Ubuntu 18.04 CIS STIG
Skonfiguruj maszynę Ubuntu 18.04, aby była zgodna z CIS. Ustawienia poziomu 1 i 2 będą domyślnie poprawione.
Ta rola wprowadzi zmiany w systemie, które mogą spowodować problemy. To nie jest narzędzie audytowe, ale raczej narzędzie do usuwania usterek, które należy używać po przeprowadzeniu audytu.
WAŻNY KROK INSTALACJI
Jeśli chcesz zainstalować to za pomocą polecenia ansible-galaxy
, zrób to w ten sposób:
ansible-galaxy install -p roles -r requirements.yml
W pliku requirements.yml umieść:
- src: https://github.com/florianutz/Ubuntu1804-CIS.git
Na podstawie CIS Ubuntu Benchmark v2.0.1 - 01-03-2020 .
To repozytorium powstało z pracy wykonanej przez MindPointGroup
Wymagania
Powinieneś dokładnie zapoznać się z zadaniami, aby upewnić się, że te zmiany nie zepsują twojego systemu przed uruchomieniem tego playbooka.
Zmienne roli
Zdefiniowano wiele zmiennych roli w defaults/main.yml. Oto najważniejsze.
ubuntu1804cis_notauto: Uruchom kontrole CIS, które zazwyczaj NIE chcemy automatyzować z powodu wysokiego ryzyka uszkodzenia systemu (Domyślnie: fałsz)
ubuntu1804cis_section1: CIS - Ogólne ustawienia (Sekcja 1) (Domyślnie: prawda)
ubuntu1804cis_section2: CIS - Ustawienia usług (Sekcja 2) (Domyślnie: prawda)
ubuntu1804cis_section3: CIS - Ustawienia sieciowe (Sekcja 3) (Domyślnie: prawda)
ubuntu1804cis_section4: CIS - Ustawienia logowania i audytu (Sekcja 4) (Domyślnie: prawda)
ubuntu1804cis_section5: CIS - Ustawienia dostępu, uwierzytelniania i autoryzacji (Sekcja 5) (Domyślnie: prawda)
ubuntu1804cis_section6: CIS - Ustawienia konserwacji systemu (Sekcja 6) (Domyślnie: prawda)
Wyłącz wszystkie funkcje selinux
ubuntu1804cis_selinux_disable: fałsz
Zmienne serwisowe:
Te zmienne kontrolują, czy serwer może lub nie może kontynuować działania tych usług
ubuntu1804cis_avahi_server: fałsz
ubuntu1804cis_cups_server: fałsz
ubuntu1804cis_dhcp_server: fałsz
ubuntu1804cis_ldap_server: fałsz
ubuntu1804cis_telnet_server: fałsz
ubuntu1804cis_nfs_server: fałsz
ubuntu1804cis_rpc_server: fałsz
ubuntu1804cis_ntalk_server: fałsz
ubuntu1804cis_rsyncd_server: fałsz
ubuntu1804cis_tftp_server: fałsz
ubuntu1804cis_rsh_server: fałsz
ubuntu1804cis_nis_server: fałsz
ubuntu1804cis_snmp_server: fałsz
ubuntu1804cis_squid_server: fałsz
ubuntu1804cis_smb_server: fałsz
ubuntu1804cis_dovecot_server: fałsz
ubuntu1804cis_httpd_server: fałsz
ubuntu1804cis_vsftpd_server: fałsz
ubuntu1804cis_named_server: fałsz
ubuntu1804cis_bind: fałsz
ubuntu1804cis_vsftpd: fałsz
ubuntu1804cis_httpd: fałsz
ubuntu1804cis_dovecot: fałsz
ubuntu1804cis_samba: fałsz
ubuntu1804cis_squid: fałsz
ubuntu1804cis_net_snmp: fałsz
Oznacz serwer jako serwer pocztowy
ubuntu1804cis_is_mail_server: fałsz
Parametry sieciowe systemu (tylko host LUB host i router)
ubuntu1804cis_is_router: fałsz
Wymagane IPv6
ubuntu1804cis_ipv6_required: prawda
AIDE
ubuntu1804cis_config_aide: prawda
Ustawienia cron AIDE
ubuntu1804cis_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 X Windows jest potrzebny w twoim środowisku
ubuntu1804cis_xwindows_required: nie
Wymagania dotyczące aplikacji klienckich
ubuntu1804cis_openldap_clients_required: fałsz
ubuntu1804cis_telnet_required: fałsz
ubuntu1804cis_talk_required: fałsz
ubuntu1804cis_rsh_required: fałsz
ubuntu1804cis_ypbind_required: fałsz
Synchronizacja czasu
ubuntu1804cis_time_synchronization: chrony
ubuntu1804cis_time_Synchronization: ntp
ubuntu1804cis_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"
- nazwa: "OCENIANE | 1.1.5 | ŁATA | Upewnij się, że opcja noexec ustawiona na partycji /tmp"
Nie jest zaimplementowane, noexec dla /tmp zakłóci działanie apt. /tmp zawiera skrypty wykonywalne podczas instalacji pakietów
1.5.3 | ŁATA | Upewnij się, że wymagane jest uwierzytelnienie w trybie pojedynczego użytkownika
Jest wyłączone domyślnie, ponieważ ustawia losowe hasło dla roota. Aby to włączyć, ustaw:
ubuntu1804cis_rule_1_5_3: prawda
Aby użyć innego niż losowe hasło:
ubuntu1804cis_root_password: 'nowe hasło'
3.4.2 | ŁATA | Upewnij się, że /etc/hosts.allow jest skonfigurowany
ubuntu1804cis_host_allow:
- "10.0.0.0/255.0.0.0"
- "172.16.0.0/255.240.0.0"
- "192.168.0.0/255.255.0.0"
ubuntu1804cis_firewall: firewalld
ubuntu1804cis_firewall: iptables
5.3.1 | ŁATA | Upewnij się, że wymagania dotyczące tworzenia haseł są skonfigurowane
ubuntu1804cis_pwquality:
- klucz: 'minlen'
wartość: '14'
- klucz: 'dcredit'
wartość: '-1'
- klucz: 'ucredit'
wartość: '-1'
- klucz: 'ocredit'
wartość: '-1'
- klucz: 'lcredit'
wartość: '-1'
Zależności
Ansible >= 2.4 i <= 2.7 (2.8 nie jest jeszcze obsługiwane)
Przykład Playbooka
- nazwa: Utwardzenie serwera
hosts: serwery
become: tak
roles:
- Ubuntu1804-CIS
Aby uruchomić zadania z tego repozytorium, najpierw utwórz ten plik jeden poziom wyżej niż repozytorium (tj. plik playbook .yml i katalog Ubuntu1804-CIS
powinny być obok siebie), następnie sprawdź plik defaults/main.yml
i wyłącz wszelkie zasady/sekcje, które nie chcesz wykonać.
Zakładając, że nazwałeś plik site.yml
, uruchom go za pomocą:
ansible-playbook site.yml
Tagi
Dostępnych jest wiele tagów do precyzyjnej kontroli tego, co zostanie zmienione, a co nie.
Kilka przykładów użycia tagów:
# Audyt i poprawa witryny
ansible-playbook site.yml --tags="patch"
Licencja
MIT
ansible-galaxy install florianutz.ubuntu1804_cis