MindPointGroup.ubuntu18_cis
UBUNTU18 CIS
Skonfiguruj maszynę Ubuntu18, aby była zgodna z CIS
Na podstawie CIS Ubuntu1804 Benchmark v2.1.0
Szukasz wsparcia?
Społeczność
Dołącz do nas na naszym serwerze Discord, aby zadawać pytania, omawiać funkcje lub po prostu porozmawiać z innymi użytkownikami Ansible-Lockdown.
Uwaga
Ta rola wprowadzi zmiany w systemie, które mogą mieć niezamierzone konsekwencje. To nie jest narzędzie audytowe, ale raczej narzędzie do naprawy, które należy używać po przeprowadzeniu audytu.
Tryb przeglądu nie jest obsługiwany! Rola zakończy się w trybie przeglądu bez błędów, ale nie jest wspierana i należy ją używać ostrożnie. Rola UBUNTU18-CIS-Audit lub skanery zgodności powinny być używane do sprawdzania zgodności zamiast trybu przeglądu.
Ta rola została opracowana na czystej instalacji systemu operacyjnego. Jeśli implementujesz ją na istniejącym systemie, proszę sprawdź, czy są potrzebne jakiekolwiek zmiany specyficzne dla lokalizacji.
Aby użyć wersji stabilnej, wskaż gałąź główną i odpowiednią wersję dla benchmarku CIS, z którym chcesz pracować.
Dopasowanie poziomu bezpieczeństwa do CIS
Możesz uruchomić tylko kontrole poziomu 1 lub poziomu 2 dla CIS. Jest to zarządzane za pomocą tagów:
- level1_server
- level1_workstation
- level2_server
- level2_workstation
Kontrola znajdująca się w defaults main również musi to odzwierciedlać, ponieważ kontroluje testowanie, które ma miejsce, jeśli korzystasz z komponentu audytowego.
Przechodząc z poprzedniej wersji
Wersja CIS zawsze zawiera zmiany, dlatego zaleca się przegląd nowych odniesień i dostępnych zmiennych. Zmieniły się one znacznie od pierwszej wersji ansible-lockdown. Jest teraz kompatybilna z python3, jeśli jest uznawana za domyślny interpreter. To wszystko ma swoje wymagania, które system konfiguruje odpowiednio.
Dalsze szczegóły można znaleźć w Dzienniku zmian
Audyt (nowość)
Można to włączyć lub wyłączyć w pliku defaults/main.yml za pomocą zmiennej run_audit. Domyślnie wartość to false, proszę odwołać się do wiki po więcej szczegółów. Plik domyślny również popularyzuje kontrole goss, aby sprawdzić tylko te kontrole, które zostały włączone w roli ansible.
To jest znacznie szybsze, bardzo lekkie sprawdzanie (gdzie to możliwe) zgodności konfiguracji i ustawień na żywo.
Opracowano nową formę audytu, używając małego (12MB) binarnego pliku go o nazwie goss wraz z odpowiednimi konfiguracjami do sprawdzania. Bez potrzeby infrastruktury ani innych narzędzi. Ten audyt nie tylko sprawdzi, czy konfiguracja ma odpowiednie ustawienia, ale także ma na celu uchwycenie, czy działa z tą konfiguracją, starając się usunąć fałszywe pozytywy w tym procesie.
Odwołaj się do UBUNTU18-CIS-Audit.
Przykład podsumowania audytu
To jest oparte na obrazie vagrant z aktywnymi opcjami. np. Bez GUI ani zapory. Uwaga: W trakcie audytu wykonywanych jest więcej testów, ponieważ sprawdzamy stan konfiguracyjny i działający.
ok: [default] => {
"msg": [
"Wyniki przed remediacją to: ['Czas całkowity: 5.454s', 'Liczba: 338, Nieudane: 47, Pominięte: 5'].",
"Wyniki po remediacji to: ['Czas całkowity: 5.007s', 'Liczba: 338, Nieudane: 46, Pominięte: 5'].",
"Pełne szczegóły znajdują się w /var/tmp",
""
]
}
PODSUMOWANIE GRY *******************************************************************************************************************************************
default : ok=270 zmieniono=23 niedostępne=0 niepowodzenia=0 pominięte=140 uratowane=0 zignorowane=0
Dokumentacja
- Przeczytaj dokumentację
- Jak zacząć
- Dostosowywanie ról
- Konfiguracja dla każdego hosta
- Jak najlepiej wykorzystać rolę
Wymagania
Ogólne:
Podstawowa znajomość Ansible, poniżej kilka linków do dokumentacji Ansible, które pomogą ci zacząć, jeśli nie jesteś obeznany z Ansible
Działający Ansible i/lub Tower zainstalowane, skonfigurowane i działające. Obejmuje to wszystkie podstawowe konfiguracje Ansible/Tower, potrzebne pakiety oraz skonfigurowaną infrastrukturę.
Proszę zapoznać się z zadaniami w tej roli, aby zrozumieć, co każde kontroluje. Niektóre zadania są zakłócające i mogą mieć niezamierzone konsekwencje w działającym systemie produkcyjnym. Zaznajom się również ze zmiennymi w pliku defaults/main.yml.
Wymagania techniczne:
- Dostęp do pobrania lub dodania binarnego pliku goss i zawartości do systemu w przypadku korzystania z audytu (dostępne są inne opcje, jak dostarczyć zawartość do systemu).
- Python3
- Ansible 2.10.1+
- python-def
- libselinux-python
Zmienne roli
Ta rola jest zaprojektowana tak, aby końcowy użytkownik nie musiał edytować zadań samodzielnie. Wszystkie dostosowania powinny być dokonane poprzez plik defaults/main.yml lub poprzez dodatkowe zmienne w ramach projektu, zadania, przepływu pracy itd.
Tagi
Dostępnych jest wiele tagów dla dodatkowej precyzji kontroli. Każda kontrola ma własny zestaw tagów, które wskazują, jaki jest poziom, czy jest oceniana/nieoceniana, do jakiego elementu OS się odnosi, czy jest to łata, czy audyt, oraz numer reguły.
Poniżej znajduje się przykład sekcji tagów z kontroli w tej roli. Używając tego przykładu, jeśli ustawisz swoją operację na pominięcie wszystkich kontroli z tagiem usługi, to zadanie zostanie pominięte. Może się zdarzyć odwrotna sytuacja, gdy uruchomisz tylko kontrole oznaczone jako usługi.
tags:
- level1-server
- level1-workstation
- scored
- avahi
- services
- patch
- rule_2.2.4
Wkład społeczności
Zachęcamy cię (społeczność) do wniesienia wkładu do tej roli. Proszę zapoznać się z poniższymi zasadami.
- Twoja praca wykonywana jest w twojej własnej indywidualnej gałęzi. Upewnij się, że wszystkie twoje zobowiązania są podpisane i mają podpis GPG.
- Wszystkie zgłoszenia Pull Request są wciągane do gałęzi devel.
- Zgłoszenia Pull Request do devel potwierdzą, że twoje zobowiązania mają podpis GPG, są podpisane i mają przeprowadzony test funkcjonalny przed zatwierdzeniem.
- Gdy twoje zmiany zostaną połączone i zostanie dokonany bardziej szczegółowy przegląd, upoważniony członek połączy twoje zmiany z gałęzią główną dla nowego wydania.
Znane problemy
cloud0init - z powodu błędu przestanie działać, jeśli noexec zostanie dodany do /var. ubtu18cis_rule_1_1_3_3
Testowanie w pipeline
używa:
- ansible-core 2.16
- kolekcje ansible - pobiera najnowszą wersję na podstawie pliku wymagań
- uruchamia audyt z gałęzi devel
- To jest automatyczny test przeprowadzany na zgłoszeniach Pull Request do devel.
Dodatkowe elementy
- pre-commit można testować i uruchamiać w katalogu
pre-commit run
Apply the Ubuntu 18 CIS
ansible-galaxy install MindPointGroup.ubuntu18_cis