darkwizard242.cis_ubuntu_2004
Rola Ansible: cis_ubuntu_2004 :computer:
Rola Ansible do stosowania CIS Benchmark dla Ubuntu Linux 20.04 LTS.
Obecnie dostępne wersje to:
- CIS Benchmark dla Ubuntu Linux 20.04 LTS v1.1.0
- CIS Benchmark dla Ubuntu Linux 20.04 LTS v1.0.0
Wersjonowanie
Poniższa tabela określa wersje roli dostępne na Ansible Galaxy oraz GitHub Releases, w odniesieniu do odpowiedniego CIS Benchmark dla Ubuntu Linux 20.04 LTS.
Wersja CIS Ubuntu 20.04 Benchmark | Wersja Ansible Galaxy | Wersja tagu repozytorium |
---|---|---|
1.0.0 | 1.0.0, 1.0.1, 1.0.2 | 1.0.0, 1.0.1, 1.0.2 |
1.1.0 | 2.0.0, 2.0.1, 2.1.0, 3.0.0, 3.1.0, 3.2.0 | 2.0.0, 2.0.1, 2.1.0, 3.0.0, 3.1.0, 3.2.0 |
1. Instrukcje instalacji/pobierania:
Ta rola jest dostępna na Ansible Galaxy. Możesz zainstalować/pobrać rolę cis_ubuntu_2004
na swoim węźle kontrolera Ansible z Ansible Galaxy lub bezpośrednio z repozytorium.
Bez pliku requirements.yml:
Instalacja/pobranie najnowszej (domyślnej) dostępnej wersji:
ansible-galaxy install darkwizard242.cis_ubuntu_2004
Instalacja/pobranie konkretnej wersji (przykład 3.2.0):
ansible-galaxy install darkwizard242.cis_ubuntu_2004,3.2.0
Instalacja/pobranie konkretnej wersji z gałęzi repozytorium (używając gałęzi
master
jako przykładu,master
zawsze będzie zgodny z najnowszą dostępną wersją CIS Ubuntu 20.04 Benchmark):ansible-galaxy install darkwizard242.cis_ubuntu_2004,master
Instalacja/pobranie konkretnej wersji z gałęzi repozytorium (używając gałęzi
feature/cis_version_1.1.0
jako przykładu, która jest zgodna z najnowszymi aktualizacjami dla CIS Ubuntu 20.04 Benchmark Version v1.1.0):ansible-galaxy install darkwizard242.cis_ubuntu_2004,feature/cis_version_1.1.0
Instalacja/pobranie konkretnej wersji z gałęzi repozytorium (używając gałęzi
feature/cis_version_1.0.0
jako przykładu, która jest zgodna z najnowszymi aktualizacjami dla CIS Ubuntu 20.04 Benchmark Version v1.0.0):ansible-galaxy install darkwizard242.cis_ubuntu_2004,feature/cis_version_1.0.0
Z plikiem requirements.yml:
Dodaj do istniejącego pliku requirements.yml z innymi rolami lub stwórz nowy, aby zainstalować cis_ubuntu_2004
.
Najnowsza wersja bezpośrednio z Ansible Galaxy.
- name: darkwizard242.cis_ubuntu_2004
Konkretna wersja bezpośrednio z Ansible Galaxy.
- name: darkwizard242.cis_ubuntu_2004 version: 3.2.0
Konkretna gałąź z repozytorium.
- name: cis_ubuntu_2004 src: https://github.com/darkwizard242/cis_ubuntu_2004 version: master
Instalacja/pobranie po dodaniu do requirements.yml:
ansible-galaxy install -r requirements.yml
UWAGA: Instalacja roli w powyższy sposób tylko pobiera rolę, aby była dostępna do użycia w Twoich skryptach Ansible. Możesz przeczytać instrukcje dotyczące instalacji/pobierania ról tutaj.
2. Kilka uwag:
Wzorce dotyczące partycjonowania dysku i ich punktów montażu z Sekcji 1 nie są stosowane w tej roli. Powód jest prosty: architektura systemu każdego użytkownika/organizacji i układ dysków mogą się znacznie różnić. Zaleca się stosowanie tych wzorców samodzielnie. Oto lista tych wzorców:
- 1.1.10 Upewnij się, że istnieje osobna partycja dla /var (Zautomatyzowane)
- 1.1.11 Upewnij się, że istnieje osobna partycja dla /var/tmp (Zautomatyzowane)
- 1.1.12 Upewnij się, że partycja /var/tmp zawiera opcję nodev (Zautomatyzowane)
- 1.1.13 Upewnij się, że partycja /var/tmp zawiera opcję nosuid (Zautomatyzowane)
- 1.1.14 Upewnij się, że partycja /var/tmp zawiera opcję noexec (Zautomatyzowane)
- 1.1.15 Upewnij się, że istnieje osobna partycja dla /var/log (Zautomatyzowane)
- 1.1.16 Upewnij się, że istnieje osobna partycja dla /var/log/audit (Zautomatyzowane)
- 1.1.17 Upewnij się, że istnieje osobna partycja dla /home (Zautomatyzowane)
- 1.1.18 Upewnij się, że partycja /home zawiera opcję nodev (Zautomatyzowane)
- 1.1.19 Upewnij się, że opcja nodev jest ustawiona na partycjach mediów wymiennych (Ręczne)
- 1.1.20 Upewnij się, że opcja nosuid jest ustawiona na partycjach mediów wymiennych (Ręczne)
- 1.1.21 Upewnij się, że opcja noexec jest ustawiona na partycjach mediów wymiennych (Ręczne)
Poniższe wzorce z Sekcji 4 również nie zostały wdrożone:
- 4.2.1.5 Upewnij się, że rsyslog jest skonfigurowany do wysyłania logów do zdalnego hosta logów (Zautomatyzowane)
- 4.2.1.6 Upewnij się, że zdalne wiadomości rsyslog są akceptowane tylko na wyznaczonych hostach logów. (Ręczne)
- 4.3 Upewnij się, że logrotate jest skonfigurowany (Ręczne)
3. Wymagania
Brak.
4. Zmienne roli
Domyślne zmienne roli, używane w zadaniach roli, znajdują się w defaults/main/
.
defaults/main/main.yml zawiera zmienne odnoszące się do wszystkich sekcji CIS, np. takie jak poniżej oraz zmienne krytyczne wymienione w sekcji Ważne zmienne:
ubuntu_2004_cis_section1: true
ubuntu_2004_cis_section2: true
ubuntu_2004_cis_section3: true
ubuntu_2004_cis_section4: true
ubuntu_2004_cis_section5: true
ubuntu_2004_cis_section6: true
Celem powyższych zmiennych jest wskazanie, że wszystkie zadania dotyczące tych sekcji powinny być stosowane za pomocą roli cis_ubuntu_2004
.
Zmienne dla każdej z sekcji znajdują się w swoich plikach.
- Zmienne sekcji 1 znajdują się w defaults/main/section_01.yml
- Zmienne sekcji 2 znajdują się w defaults/main/section_02.yml
- Zmienne sekcji 3 znajdują się w defaults/main/section_03.yml
- Zmienne sekcji 4 znajdują się w defaults/main/section_04.yml
- Zmienne sekcji 5 znajdują się w defaults/main/section_05.yml
- Zmienne sekcji 6 znajdują się w defaults/main/section_06.yml
Domyślne wartości roli dla wszystkiego w roli cis_ubuntu_2004
mogą być zastąpione przez przekazanie ich w playbooku lub inną metodą priorytetów zmiennych.
Ważne zmienne
Wzorce zabezpieczeń CIS Ubuntu 20.04 wymagają usunięcia wielu usług, które mogą być wykorzystywane, mają znane luki, prowadzą do zwiększenia powierzchni ataku lub powinny być wyłączone, jeśli nie są potrzebne. Zgodnie z wzorcem, domyślnie - wszystkie te usługi będą usuwane, a ich zmienne ustalone na false
. Jednak, jeśli nadal potrzebujesz korzystać z tych usług z jakiegokolwiek powodu, zmień ich wartości na true
, aby podczas stosowania roli w playbooku można było pominąć zadania dotyczące usunięcia tych usług.
Oprócz powyższej wyjaśnienia dla niektórych zmiennych, istnieją także inne zmienne, które definiują, czy konkretna usługa jest pożądana w systemie, czy nie (np. demon SSH), parametry konfiguracji różnych narzędzi (np. auditd) itd. Mogą być również nadpisane w playbooku.
# Ustaw na `true`, jeśli IPv6 jest wymagane.
ubuntu_2004_cis_require_ipv6: false
# Ustaw na `true`, jeśli bezprzewodowy jest wymagany.
ubuntu_2004_cis_require_wireless: false
# Ustaw na `true`, jeśli system ma działać jako router.
ubuntu_2004_cis_require_router: false
# Ustaw na `false`, jeśli demon SSH nie jest wymagany.
ubuntu_2004_cis_require_ssh_server: true
# Zmienna do przechowywania silnych szyfrów dla demona SSH.
ubuntu_2004_cis_require_ssh_ciphers: [email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr
# Zmienna do przechowywania silnych algorytmów MAC dla demona SSH.
ubuntu_2004_cis_require_ssh_macs: [email protected],[email protected],hmac-sha2-512,hmac-sha2-256
# Zmienna do przechowywania silnych algorytmów wymiany kluczy dla demona SSH.
ubuntu_2004_cis_require_ssh_kexalgorithms: curve25519-sha256,[email protected],diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256
# Zmienna do przechowywania interwału Alive Client w sekundach dla demona SSH.
ubuntu_2004_cis_require_ssh_clientaliveinterval: '300'
# Zmienna do przechowywania maksymalnej liczby Alive Count dla demona SSH.
ubuntu_2004_cis_require_ssh_clientalivecountmax: '3'
# Zmienna do przechowywania czasu łaski logowania w sekundach dla demona SSH.
ubuntu_2004_cis_require_ssh_logingracetime: '60'
# Zmienna do przechowywania użytkowników dozwolonych dla demona SSH.
ubuntu_2004_cis_require_ssh_allowusers: ubuntu vagrant
# Zmienna do przechowywania grup dozwolonych dla demona SSH.
ubuntu_2004_cis_require_ssh_allowgroups: ubuntu vagrant
# Zmienna do przechowywania użytkowników zablokowanych dla demona SSH.
ubuntu_2004_cis_require_ssh_denyusers: bogus dummy
# Zmienna do przechowywania grup zablokowanych dla demona SSH.
ubuntu_2004_cis_require_ssh_denygroups: bogus dummy
# Zmienna do przechowywania minimalnej długości i klasy znaków dla jakości hasła pam.
ubuntu_2004_cis_require_pam_pwquality:
- key: 'minlen'
value: '14'
- key: 'minclass'
value: '4'
# Zmienna do przechowywania wartości PASS_MAX_DAYS dla wygaśnięcia hasła.
ubuntu_2004_cis_require_passmaxdays: '365'
# Zmienna do przechowywania wartości PASS_MIN_DAYS dla zmiany hasła.
ubuntu_2004_cis_require_passmindays: '1'
# Zmienna do przechowywania wartości INACTIVE, aby ustawić domyślny okres nieaktywności hasła na 30 dni.
ubuntu_2004_cis_require_passwarnage: '7'
# Zmienna do przechowywania wartości PASS_WARN_AGE dla ustawienia alertu wygaśnięcia hasła w liczbie dni.
ubuntu_2004_cis_require_passinactive: '30'
# Zmienna do przechowywania wartości timeoutu powłoki w sekundach.
ubuntu_2004_cis_require_shell_timeout: '900'
# Zmienna do przechowywania wartości nazwy grupy, która będzie wymagana do użycia wykonania su.
ubuntu_2004_cis_require_su_group: sugroup
# Zmienna do przechowywania pliku logu, do którego będą propagowane rezultaty wykonywania cron dla zadania 6.1.1 Audyt systemu plików (Ręczne).
ubuntu_2004_cis_require_audit_system_file_permissions_logfile: /var/log/6_1_1_cis_audit_system.log
# może być jednym z 'iptables' lub 'nftables' lub 'ufw'.
ubuntu_2004_cis_firewall: ufw
# Jeśli używane jest 'ufw', ustawienie na 'tak' pozwala skonfigurować profil aplikacji UFW dla gita.
ubuntu_2004_cis_section3_rule_3_5_1_7_ufw_require_git_profile: yes
# Jeśli używane jest 'ufw', ustawienie na 'tak' pozwala skonfigurować profil aplikacji UFW dla HTTP.
ubuntu_2004_cis_section3_rule_3_5_1_7_ufw_require_http_profile: yes
# Jeśli używane jest 'ufw', ustawienie na 'tak' pozwala skonfigurować profil aplikacji UFW dla HTTPS.
ubuntu_2004_cis_section3_rule_3_5_1_7_ufw_require_https_profile: yes
# Jeśli używane jest 'ufw', ustawienie na 'true' domyślnie zablokuje wszystkie przychodzące połączenia. Działa jak `ufw default deny incoming`. Ustaw na `false`, jeśli nie wymagasz tego zastosowania.
ubuntu_2004_cis_section3_rule_ufw_default_deny_incoming: true
# Jeśli używane jest 'ufw', ustawienie na 'true' domyślnie zablokuje wszystkie wychodzące połączenia. Działa jak `ufw default deny outgoing`. Ustaw na `false`, jeśli nie wymagasz tego zastosowania.
ubuntu_2004_cis_section3_rule_ufw_default_deny_outgoing: true
# Jeśli używane jest 'ufw', ustawienie na 'true' domyślnie zablokuje wszystkie routowane połączenia. Działa jak `ufw default deny routed`. Ustaw na `false`, jeśli nie wymagasz tego zastosowania.
ubuntu_2004_cis_section3_rule_ufw_default_deny_routed: true
# Jeśli używane jest 'nftables', ustawienie na 'true' zablokuje wszystkie połączenia wejściowe/forwardowe/wyjściowe domyślnie, czyniąc system niedostępnym. Ustaw na `false`, jeśli nie wymagasz tego zastosowania lub chcesz stracić połączenie.
ubuntu_2004_cis_section3_rule_3_5_2_8: true
# Jeśli używane jest 'iptables', ustawienie na 'true' zablokuje wszystkie przychodzące połączenia na ipv4 domyślnie, czyniąc system niedostępnym. Ustaw na `false`, jeśli nie wymagasz tego zastosowania lub chcesz stracić połączenie.
ubuntu_2004_cis_section3_rule_iptables_ipv4_default_deny_input: true
# Jeśli używane jest 'iptables', ustawienie na 'true' zablokuje wszystkie wychodzące połączenia na ipv4 domyślnie, czyniąc system niedostępnym. Ustaw na `false`, jeśli nie wymagasz tego zastosowania lub chcesz stracić połączenie.
ubuntu_2004_cis_section3_rule_iptables_ipv4_default_deny_output: true
# Jeśli używane jest 'iptables', ustawienie na 'true' zablokuje wszystkie połączenia forwardowe na ipv4 domyślnie, czyniąc system niedostępnym. Ustaw na `false`, jeśli nie wymagasz tego zastosowania lub chcesz stracić połączenie.
ubuntu_2004_cis_section3_rule_iptables_ipv4_default_deny_forward: true
# Jeśli używane jest 'iptables' i ipv6 jest włączone, ustawienie na 'true' zablokuje wszystkie przychodzące połączenia na ipv4 domyślnie, czyniąc system niedostępnym. Ustaw na `false`, jeśli nie wymagasz tego zastosowania lub chcesz stracić połączenie.
ubuntu_2004_cis_section3_rule_iptables_ipv6_default_deny_input: true
# Jeśli używane jest 'iptables' i ipv6 jest włączone, ustawienie na 'true' zablokuje wszystkie wychodzące połączenia na ipv4 domyślnie, czyniąc system niedostępnym. Ustaw na `false`, jeśli nie wymagasz tego zastosowania lub chcesz stracić połączenie.
ubuntu_2004_cis_section3_rule_iptables_ipv6_default_deny_output: true
# Jeśli używane jest 'iptables' i ipv6 jest włączone, ustawienie na 'true' zablokuje wszystkie połączenia forwardowe na ipv4 domyślnie, czyniąc system niedostępnym. Ustaw na `false`, jeśli nie wymagasz tego zastosowania lub chcesz stracić połączenie.
ubuntu_2004_cis_section3_rule_iptables_ipv6_default_deny_forward: true
# może być jednym z 'ntp' lub 'chrony' lub 'systemd-timesyncd'.
ubuntu_2004_cis_time_synchronization: systemd-timesyncd
# Limit backlog audytu, aby przechować wystarczającą liczbę rekordów podczas rozruchu.
ubuntu_2004_cis_auditd_backloglimit: '8192'
# Rozmiar pliku logu dla logów auditd. Ustaw zgodnie z potrzebami.
ubuntu_2004_cis_auditd_maxlogfile: '25'
# Akcja do podjęcia, gdy logi auditd osiągną maksymalny rozmiar. Ustaw zgodnie z potrzebami.
ubuntu_2004_cis_auditd_maxlogfileaction: keep_logs
# Akcja do podjęcia w przypadku niskiej przestrzeni dla auditd. Ustaw zgodnie z potrzebami.
ubuntu_2004_cis_auditd_spaceleftaction: email
# Kogo mailować dla auditd. Ustaw zgodnie z potrzebami.
ubuntu_2004_cis_auditd_actionmailacct: root
# Opcja wstrzymania, gdy logi audytu są pełne. Ustaw zgodnie z potrzebami.
ubuntu_2004_cis_auditd_adminspaceleftaction: halt
# Użytkownicy dozwoleni do planowania zadań cron.
ubuntu_2004_cis_cron_allow_users:
- root
- ubuntu
# Użytkownicy dozwoleni do używania 'at' do planowania zadań.
ubuntu_2004_cis_at_allow_users:
- root
- ubuntu
# Ustaw na `true`, jeśli wymagana jest X Windows System.
ubuntu_2004_cis_require_xwindows_system: false
# Ustaw na `true`, jeśli wymagana jest CUPS.
ubuntu_2004_cis_require_cups: false
# Ustaw na `true`, jeśli wymagany jest serwer DHCP.
ubuntu_2004_cis_require_dhcp_server: false
# Ustaw na `true`, jeśli wymagany jest serwer LDAP.
ubuntu_2004_cis_require_ldap_server: false
# Ustaw na `true`, jeśli wymagany jest serwer NFS.
ubuntu_2004_cis_require_nfs_server: false
# Ustaw na `true`, jeśli wymagany jest serwer DNS.
ubuntu_2004_cis_require_dns_server: false
# Ustaw na `true`, jeśli wymagany jest serwer FTP.
ubuntu_2004_cis_require_ftp_server: false
# Ustaw na `true`, jeśli wymagany jest serwer HTTP (apache2).
ubuntu_2004_cis_require_http_server: false
# Ustaw na `true`, jeśli wymagane są serwery IMAP i POP3.
ubuntu_2004_cis_require_imap_pop3_server: false
# Ustaw na `true`, jeśli wymagany jest daemon Samba.
ubuntu_2004_cis_require_samba_server: false
# Ustaw na `true`, jeśli wymagany jest serwer Squid.
ubuntu_2004_cis_require_squid_server: false
# Ustaw na `true`, jeśli wymagany jest serwer SNMP.
ubuntu_2004_cis_require_snmp_server: false
# Aby uniknąć konfiguracji postfix do działania w trybie tylko lokalnym. Zdefiniuj jako `false`, jeśli postfix ma działać w trybie tylko lokalnym.
ubuntu_2004_cis_require_mail_server: true
# Ustaw na `true`, jeśli wymagany jest serwer RSYNC.
ubuntu_2004_cis_require_rsyncd_server: false
# Ustaw na `true`, jeśli wymagany jest serwer NIS.
ubuntu_2004_cis_require_nis_server: false
# Ustaw na `true`, jeśli wymagany jest klient NIS.
ubuntu_2004_cis_require_nis_client: false
# Ustaw na `true`, jeśli wymagany jest klient RSH.
ubuntu_2004_cis_require_rsh_client: false
# Ustaw na `true`, jeśli wymagany jest klient TALK.
ubuntu_2004_cis_require_talk_client: false
# Ustaw na `true`, jeśli wymagany jest klient TELNET.
ubuntu_2004_cis_require_telnet_client: false
# Ustaw na `true`, jeśli wymagany jest klient LDAP.
ubuntu_2004_cis_require_ldap_client: false
# Ustaw na `true`, jeśli wymagany jest klient RPCBIND.
ubuntu_2004_cis_require_rpcbind_client: false
5. Zależności
Brak
6. Przykłady playbooków:
Przykłady playbooków znajdują się w folderze playbook-examples. Zawiera playbooki z domyślnymi i dostosowanymi wymaganiami.
UWAGA: Biorąc pod uwagę, że niektóre z zasad CIS dotyczących sieci mogą zablokować system i uniemożliwić użytkownikowi zalogowanie się ponownie do systemu, zaleca się, aby zastosować lub eksperymentować najpierw z playbookiem playbook-examples/playbook_with_custom_firewall_changes.yml. Zmodyfikuj typ połączenia i hosty w playbooku, aby odpowiadały Twoim potrzebom.
Zastosowanie przykładów:
Jeśli używasz któregokolwiek z podanych playbooków w folderze playbook-examples, możesz wybrać jeden z nich i uruchomić następujące polecenie, aby je zastosować:
ansible-playbook playbook_with_defaults.yml
ansible-playbook playbook_with_custom_firewall_changes.yml
ansible-playbook playbook_with_ipv6.yml
ansible-playbook playbook_with_ufw.yml
Zakładając, że stworzysz własny niestandardowy playbook nazwany myplaybook.yml, możesz go po prostu uruchomić za pomocą następującego polecenia.
ansible-playbook myplaybook.yml
Zastosowanie przykładów z użyciem tagów:
Wszystkie zadania w roli mają przypisane tagi w oparciu o przydział poziomu CIS, numer zasady i numer sekcji. Domyślnie zarówno kontrole poziomu 1, jak i poziomu 2 będą stosowane. Dlatego jeśli chcesz przeprowadzić dostosowane aplikacje dla poziomów, numerów zasad lub sekcji - możesz użyć następujących przykładów:
Przykład zastosowania tylko kontroli poziomu 1:
ansible-playbook <playbook-name-here>.yml --tags "level_1"
Przykład zastosowania tylko kontroli poziomu 2:
ansible-playbook <playbook-name-here>.yml --tags "level_2"
Przykład zastosowania kontroli z konkretnej sekcji (np. sekcja 4 wzorca CIS Ubuntu 20.04 jako przykład):
ansible-playbook <playbook-name-here>.yml --tags "section4"
Przykład zastosowania konkretnej kontroli (np. kontrola 6.2.2 wzorca CIS Ubuntu 20.04 jako przykład):
ansible-playbook <playbook-name-here>.yml --tags "rule_6_2_2"
7. Lokalne rozwijanie i CI/CD:
Aby lokalnie rozwijać rolę cis_ubuntu_2004, wykonaj następujące kroki:
Forkuj repozytorium.
Sklonuj je lokalnie.
Zainstaluj Vagrant na swoim komputerze. Instrukcje instalacji dostępne są tutaj lub, jeśli chcesz, możesz wykorzystać rolę darkwizard242.vagrant do instalacji - ale upewnij się, że obsługuje Twoje OS.
Zainstaluj Virtualbox na swoim komputerze. Instrukcje instalacji dostępne są tutaj lub, jeśli chcesz, możesz wykorzystać rolę darkwizard242.virtualbox do instalacji - ale upewnij się, że obsługuje Twoje OS.
Zainstaluj wymagane moduły używając:
# Aby zainstalować moduły pip globalnie, gdy pracujesz jako użytkownik nie-root. sudo -H python3 -m pip install -U molecule ansible-lint flake8 pytest-testinfra molecule-vagrant
LUB
# Aby zainstalować moduły pip lokalnie w katalogu użytkownika, gdy pracujesz jako użytkownik nie-root. python3 -m pip install -U molecule ansible-lint flake8 pytest-testinfra molecule-vagrant
Wprowadź zmiany i uruchom
molecule test
lubmolecule converge
.
molecule test uruchomi cały zestaw skonfigurowanej sekcji testowej.
molecule converge utworzy tylko instancję vagrant i zastosuje wszystkie operacje zdefiniowane w roli.
Oczywiście możesz też po prostu pobrać kod dla roli cis_ubuntu_2004, wprowadzić zmiany i uruchomić go za pomocą ansible-playbook na testowym komputerze, jeśli nie znasz molecule.
Kiedy tworzysz Pull Request - automatycznie wyzwoli to budowę TravisCI tutaj. Konfiguracja budowy TravisCI znajduje się w .travis.yml. To wykona różne zadania, takie jak:
- Sklonuj kod z pull request.
- Przeprowadź aktualizację pamięci podręcznej repozytorium.
- Zainstaluj wymagane pakiety.
- Zainstaluj Vagrant i Virtualbox.
- Wykonaj kontrolę jakości kodu SonarCloud dla całej bazy kodu repozytorium.
- Uruchom testy molekularne (które provisionują istotę vagrant, stosują kod roli i uruchamiają zestaw testowy TestInfra dla roli cis_ubuntu_2004).
8. Wkład:
Wkłady są mile widziane. Instrukcje dotyczące wkładu zostały wymienione tutaj.
Inspiracja
Zainspirowany doskonałą pracą wykonaną przez wielu członków społeczności Ansible (Florian Utz oraz ansible-lockdown to tylko niektórzy z wielu). Kontynuuj dobrą pracę :metal:
Licencja
Informacje o autorze
Ta rola została stworzona przez Ali Muhammad.
Role to apply CIS Benchmark for Ubuntu Linux 20.04 LTS.
ansible-galaxy install darkwizard242.cis_ubuntu_2004