ansible-lockdown.amazon2023_cis

AMAZON 2023 CIS

Skonfiguruj maszynę Amazon 2023, aby była zgodna z normami CIS

Na podstawie CIS Amazon 2023 Benchmark v1.0.0 - 26-06-2023


Org Stars Stars Forks followers Twitter URL

Ansible Galaxy Quality Discord Badge

Release Branch Release Tag Release Date

Main Pipeline Status

Devel Pipeline Status Devel Commits

Issues Open Issues Closed Pull Requests

License


Szukasz wsparcia?

Lockdown Enterprise

Wsparcie Ansible

Społeczność

Dołącz do nas na naszym serwerze Discord, aby zadawać pytania, omawiać funkcje lub po prostu rozmawiać z innymi użytkownikami Ansible-Lockdown.

Wkład

Problemy i prośby o wciągnięcie są mile widziane. Proszę upewnić się, że wszystkie commit'y są podpisane i gpg-signed. Odwołaj się do Przewodnika Wkładowego


Uwaga

Ta rola wprowadzi zmiany w systemie, które mogą mieć niezamierzone konsekwencje. To nie jest narzędzie audytowe, ale narzędzie do naprawy, które powinno być używane po przeprowadzeniu audytu.

Tryb sprawdzania nie jest wspierany! Rola zakończy się w trybie sprawdzania bez błędów, ale nie jest wspierana i należy jej używać ostrożnie. Do sprawdzania zgodności należy używać skanera zgodności.

Ta rola została opracowana na czystej instalacji systemu operacyjnego. Jeśli wdrażasz ją na istniejącym systemie, proszę przejrzeć tę rolę w poszukiwaniu wszelkich zmian specyficznych dla lokalizacji, które są potrzebne.

Aby używać wersji wydania, proszę wskazać na gałąź main i odpowiednie wydanie dla benchmarku CIS, z którym chcesz pracować.


Dopasowanie poziomu bezpieczeństwa dla CIS

Możliwe jest uruchomienie tylko kontroli poziomu 1 lub poziomu 2 dla CIS. Zarządza się tym przy użyciu tagów:

  • level1-server
  • level2-server

Kontrola znajdująca się w głównym defaults także musi odzwierciedlać to, ponieważ ta kontrola jest testowaniem, które odbywa się, jeśli używasz komponentu audytowego.

Przechodzenie z poprzedniej wersji

Wydanie CIS zawsze zawiera zmiany, dlatego zaleca się przegląd nowych odniesień i dostępnych zmiennych. Zmieniło się to znacznie od początkowego wydania ansible-lockdown. Teraz jest zgodne z python3, jeśli jest znaleziony jako domyślny interpreter. Wiąże się to z wymaganiami, które odpowiednio konfigurowują system.

Dalsze szczegóły można znaleźć w Dzienniku Zmian

Audyt (nowy)

Może być włączony lub wyłączony w pliku defaults/main.yml za pomocą zmiennych setup_audit i run_audit. Wartość domyślna to false. Proszę odwołać się do wiki, aby uzyskać więcej szczegółów. Plik domyślny także uzupełnia kontrole goss, aby sprawdzić tylko te kontrole, które zostały włączone w roli ansible.

To znacznie szybsze, bardzo lekkie sprawdzanie (gdzie to możliwe) zgodności konfiguracji i działających ustawień.

Nowa forma audytu została opracowana przy użyciu małego (12MB) binarnego pliku go o nazwie goss wraz z odpowiednimi konfiguracjami, aby sprawdzić bez potrzeby infrastruktury lub innych narzędzi. Ten audyt nie tylko sprawdzi, czy konfiguracja ma właściwe ustawienie, ale także ma na celu uchwycenie, czy działa z tą konfiguracją i spróbować usunąć fałszywe pozytywy w tym procesie.

Odwołaj się do AMAZON2023-CIS-Audit.

Dokumentacja

Wymagania

Amazon 2023

  • Możliwość pobrania lub dodania pliku binarnego goss oraz zawartości do systemu, jeśli używasz audytowania (dostępne są inne opcje, jak uzyskać zawartość do systemu).

CentOS stream - chociaż zazwyczaj działa, nie jest wspierane i wymaga ustawienia następującej zmiennej

os_check: false

Ogólnie:

  • Podstawowa wiedza na temat Ansible, poniżej kilka linków do dokumentacji Ansible, które mogą pomóc w rozpoczęciu, jeśli nie jesteś zaznajomiony z Ansible

  • Działający Ansible i/lub Tower zainstalowany, skonfigurowany i działający. Obejmuje to wszystkie podstawowe konfiguracje Ansible/Tower, potrzebne pakiety oraz ustawienia infrastruktury.

  • Proszę dokładnie przeczytać zadania w tej roli, aby zrozumieć, co każda kontrola robi. Niektóre zadania mogą być zakłócające i mogą mieć niezamierzone konsekwencje w działającym systemie produkcyjnym. Poznaj także zmienne w pliku defaults/main.yml.

Zależności techniczne:

  • Python3
  • Ansible 2.10+
  • python3-libselinux (zainstalowane w wymaganiach wstępnych, jeśli wymagane)
  • kolekcje znajdujące się w pliku collections/requirements.yml

pre-commit jest dostępny, jeśli jest zainstalowany na hoście do testowania próśb o włączenie.

Zmienne roli

Ta rola jest zaprojektowana tak, aby użytkownik końcowy nie musiał edytować samych zadań. Wszystkie dostosowania powinny być dokonywane poprzez nadpisywanie wymaganych zmiennych znajdujących się w pliku defaults/main.yml, np. przy użyciu inventory, group_vars, extra_vars.

Tagowanie

Dostępnych jest wiele tagów, aby zwiększyć precyzję kontroli. Każda kontrola ma własny zestaw tagów, które wskazują na poziom, czy jest punktowana/niet punktowana, do jakiego elementu systemu operacyjnego się odnosi, czy jest poprawką czy audytem 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, aby pominąć wszystkie kontrole z tagiem services, to to zadanie zostanie pominięte. Odwrotnie, możesz uruchomić tylko kontrole oznaczone jako services.

      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 w tę rolę. Proszę przeczytać poniższe zasady.

  • Twoja praca odbywa się w osobnej gałęzi. Upewnij się, że wszystkie commit'y są podpisane i mają podpis GPG.
  • Wszystkie próby wyciągnięcia z społeczności są przesyłane do gałęzi devel.
  • Prośby o wciągnięcie do devel potwierdzą, że Twoje commit'y mają podpis GPG, są podpisane i przeszły testy funkcjonalne przed zatwierdzeniem.
  • Po zintegrowaniu Twoich zmian i zakończeniu dokładniejszej recenzji, osoba upoważniona zmerguje Twoje zmiany do głównej gałęzi na nową wersję.

Znane problemy

Domyślne instalacje nie mają ustawionego hasła roota, więc prelimina wyniesie błąd. Proszę ustawić hasło roota, używając odpowiedniej wersji szyfrowania.

Kontrole udokumentowane przez CIS:

  • 1.2.2 i 1.2.4 dotyczą domyślnych repozytoriów i zatrzymają aktualizacje.
  • 6.1.1 i 6.1.2 są identyczne. W sekcji 6 jest tylko 12 elementów w porównaniu z dokumentacją.

Testowanie Pipeline

używa:

  • ansible-core 2.12
  • kolekcje ansible - pobiera najnowszą wersję na podstawie pliku wymagań
  • Uruchamia audyt przy użyciu gałęzi devel
  • Uruchamia test pre-commit w PR, aby upewnić się, że wszystko jest na swoim miejscu, jak oczekiwano.
  • To jest automatyczny test, który odbywa się przy próbach wyciągnięcia do devel.

Testowanie lokalne

  • Ansible

    • ansible-base 2.10.17 - python 3.8
    • ansible-core 2.13.4 - python 3.10
    • ansible-core 2.15.1 - python 3.11

Dodatkowe funkcje

  • pre-commit może być testowane i uruchamiane w obrębie katalogu
pre-commit run
Zainstaluj
ansible-galaxy install ansible-lockdown.amazon2023_cis
Licencja
mit
Pobrania
757
Właściciel
Lockdown is a security baseline automation project sponsored by Tyto Athene.