florianutz.ubuntu1804_cis

Ubuntu 18.04 CIS STIG

Status Budowy Rola Ansible

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

O projekcie

Ansible role to apply Ubuntu 18.04 CIS Baseline

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