ansible-lockdown.rhel8_stig
RHEL 8 DISA STIG
Konfiguracja systemu RHEL8 zgodnie z Disa STIG
Ta rola oparta jest na RHEL 8 DISA STIG: Wersja 1, Rel 13 wydana 24 stycznia 2024.
Szukasz wsparcia?
Społeczność
Na naszym serwerze Discord możesz zadawać pytania, omawiać funkcje lub po prostu czatować z innymi użytkownikami Ansible-Lockdown.
Skonfiguruj system RHEL/Rocky 8 tak, aby spełniał wymagania DISA STIG.
Nieprzerwane ustalenia CAT I, CAT II i CAT III będą domyślnie korygowane.
Można włączyć korektę ustaleń zakłócających, ustawiając rhel8stig_disruption_high na true.
Aktualizacja
Z poprzedniej wersji.
Jak przy wszystkich wydaniach i aktualizacjach, zaleca się testowanie i dostosowywanie kontrolnych mechanizmów. Ta wersja zawiera poprawki i zmiany identyfikatorów zgodnie z dokumentacją STIG.
Audyty
Można je włączyć lub wyłączyć w pliku defaults/main.yml za pomocą zmiennej rhel7cis_run_audit. Domyślnie wartość to false, więcej szczegółów znajdziesz w wiki. Plik domyślny również uzupełnia kontrole goss, aby sprawdzać tylko te zabezpieczenia, które zostały włączone w roli Ansible.
To szybkie, bardzo lekkie sprawdzenie (gdzie to możliwe) zgodności konfiguracji oraz ustawień działających na żywo.
Opracowano formę audytów, używając małej (12 MB) binarki go nazwanej goss wraz z odpowiednimi konfiguracjami do sprawdzenia. Nie potrzeba do tego żadnej infrastruktury czy innych narzędzi. Ten audyt sprawdzi nie tylko, czy konfiguracja ma poprawne ustawienia, ale także, czy działa z tą konfiguracją, starając się w ten sposób zredukować fałszywe pozytywy.
Dokumentacja
- Przeczytaj dokumentację
- Pierwsze kroki
- Dostosowywanie ról
- Konfiguracja na poziomie hosta
- Jak w pełni wykorzystać rolę
Wymagania
- RHEL/Rocky/AlmaLinux/OL 8 - inne wersje nie są wspierane.
- Inne systemy operacyjne można sprawdzić, zmieniając skip_os_check na true w celu celów testowych.
- Dostęp do pobrania lub dodania binarki goss oraz treści do systemu, jeśli używasz audytów. Opcje są dostępne, aby dostarczyć treści do systemu.
Zależności
Najpierw muszą być zainstalowane następujące pakiety na hoście sterującym/gdzie wykonuje się Ansible:
- python2-passlib (lub tylko passlib, jeśli używasz python3)
- python-lxml
Pakiety python(2)-passlib są wymagane do zadań z niestandardowymi filtrami lub modułami. Wszystkie muszą być obecne na hoście kontrolera wykonującym Ansible.
Zmienne roli
Rola ta jest zaprojektowana w ten sposób, aby użytkownik końcowy nie musiał edytować zadań. Wszystkie dostosowania powinny być dokonywane za pomocą pliku defaults/main.yml lub z dodatkowymi zmiennymi w projekcie, zadaniu, przepływie pracy itd.
Tagi
Dostępnych jest wiele tagów, aby zwiększyć precyzję kontroli. Każda kontrola ma własny zestaw tagów notujących numer kontroli oraz jakie części systemu ta kontrola obejmuje.
Poniżej znajduje się przykład sekcji tagów z kontroli w tej roli. Używając tego przykładu, jeśli ustawisz swoje uruchomienie, aby pominąć wszystkie kontrole z tagiem ssh, ta czynność zostanie pominięta. Odwrotna sytuacja może również wystąpić, gdy uruchomisz tylko kontrole oznaczone tagiem ssh.
tags:
- RHEL-08-010050
- ssh
- dod_logon_banner
Przykładowe podsumowanie audytu
Oparte na obrazie vagrant z włączonymi opcjami. np. bez GUI ani zapory. Uwaga: W trakcie audytu uruchamiane są dodatkowe testy, ponieważ sprawdzamy konfigurację i stan działania.
ok: [rocky8_efi] =>
msg:
- 'Wyniki przed korekcją to: Liczba: 804, Niepowodzenia: 416, Czas: 6.488s.'
- 'Wyniki po korekcji to: Liczba: 804, Niepowodzenia: 28, Czas: 68.687s.'
- Pełne zestawienie można znaleźć w /opt
PODSUMOWANIE GRY ****************************************************************************************************************
rocky8_efi : ok=482 changed=269 unreachable=0 failed=0 skipped=207 rescued=0 ignored=0
Gałęzie
- devel - Jest to domyślna gałąź oraz gałąź robocza. Prośby o zsynchronizowanie społeczności trafią do tej gałęzi.
- main - To gałąź wydania.
- reports - Jest to ochrona gałąź dla naszych raportów scoringowych, do której nie powinno być przesyłane żadnego kodu.
- gh_pages - strony githuba.
- wszystkie inne gałęzie - Indywidualne gałęzie członków społeczności.
Kontenery - testowanie
- system_is_container
Domyślnie jest ustawiona na false w pliku defaults/main.yml. Jeśli zostanie wykryty typ kontenera lub ansible_connection == docker, zmieni się na true. Niektóre kontrole zostaną pominięte w przypadku ustawienia true, ponieważ są zupełnie nieodpowiednie. Inne wykonują podzestaw kontroli znajdujących się w vars/is_container.yml, oparte na dostarczonym przez dostawcę niezmienionym obrazie.
Nie zmieniony obraz od dostawcy.
- container_vars_file: is_container.yml
Ten plik zmiennych uruchamia kontrole pogrupowane w tagi, więc jeśli kontener później będzie miał ssh, można go ponownie włączyć, wczytując alternatywny plik zmiennych.
Wkład Społeczności
Zachęcamy Cię (społeczność) do wniesienia wkładu w tę rolę. Proszę przeczytać poniższe zasady.
- Twoja praca odbywa się w indywidualnej gałęzi. Upewnij się, że podpiszesz i podpiszesz wszystkie komendy, które chcesz zintegrować.
- Wszystkie prośby o integrację społeczności są przesyłane do gałęzi dewelopera.
- Prośby o integrację do gałęzi dewelopera potwierdzą, że Twoje komendy mają podpis GPG, są podpisane i dodatkowo wymagają testu funkcjonalnego przed zatwierdzeniem.
- Gdy Twoje zmiany są akceptowane, a dokładniejszy przegląd jest zakończony, autoryzowany członek połączy Twoje zmiany z gałęzią main w celu nowego wydania.
Testowanie Pipeline
korzysta z:
- ansible-core 2.12
- kolekcje ansible - ściągają najnowszą wersję w oparciu o plik wymagań
- uruchamia audyty przy użyciu gałęzi dewelopera.
- Jest to zautomatyzowany test, który odbywa się na prośbach o integrację do dewelopera.
Znane problemy
Jeśli przyjmujesz zasady STIG RHEL-08-040134
Wpłynie to na inicjację w chmurze zgodnie z bugiem 1839899.
Wsparcie
To jest projekt społecznościowy i będzie zarządzany w ten sposób.
Jeśli jesteś zainteresowany dedykowanym wsparciem, aby pomóc lub dostarczyć dostosowane rozwiązania
Kredyty
To repozytorium powstało w wyniku pracy Sama Dorana.
Dodatki
- makefile - jest on wykorzystywany wyłącznie do testowania i wstępnych ustawień.
- pre-commit można przetestować i uruchomić w katalogu
pre-commit run
Podziękowania
Ogromne podziękowania dla fantastycznej społeczności i wszystkich jej członków. Wielkie podziękowania oraz uznanie dla pierwotnych autorów i konserwatorów.
Josh Springer, Daniel Shepherd, Bas Meijeri, James Cassell, Mike Renfro, DFed, George Nalen, Mark Bolwell
Apply the DISA RHEL 8 STIG
ansible-galaxy install ansible-lockdown.rhel8_stig