juju4.misp

Status akcji - Master Status akcji - Devel

Rola ansible MISP

Rola Ansible do konfiguracji MISP, platformy do wymiany informacji o zagrożeniach i złośliwym oprogramowaniu.

Alternatywy:

Wymagania i zależności

Ansible

Testowano na następujących wersjach:

  • 2.0
  • 2.2
  • 2.3
  • 2.4
  • 2.5

Systemy operacyjne

Testowano na Ubuntu 20.04, 22.04 i CentOS 8-Stream.

Przykład Playbooka

Wystarczy dodać tę rolę do swojej listy. Na przykład:

- hosts: all
  roles:
    - juju4.MISP

Domyślne dane logowania admina (admin@admin.test / admin)

Zmienne

Na razie nic specyficznego.

Integracja ciągła

Ta rola ma podstawowy test travis (dla github), bardziej zaawansowany z kitchen oraz plik Vagrantfile (test/vagrant). Domyślna konfiguracja kitchen (.kitchen.yml) jest oparta na lxd, podczas gdy (.kitchen.vagrant.yml) jest oparta na vagrant/virtualbox.

Gdy upewnisz się, że wszystkie niezbędne role są obecne, możesz przetestować to używając:

$ gem install kitchen-ansible kitchen-lxd_cli kitchen-sync kitchen-vagrant
$ cd /path/to/roles/juju4.MISP
$ kitchen verify
$ kitchen login
$ KITCHEN_YAML=".kitchen.vagrant.yml" kitchen verify

lub

$ cd /path/to/roles/juju4.MISP/test/vagrant
$ vagrant up
$ vagrant ssh

Rola ma również konfigurację packer, która pozwala na stworzenie obrazu dla VirtualBox, VMware, a ostatecznie dla DigitalOcean, LXC i innych. Podczas budowy, zaleca się robić to poza katalogiem ról, ponieważ cały katalog zostanie przesłany do boxa podczas budowy, a obecnie nie ma możliwości wykluczenia katalogu packer (https://github.com/mitchellh/packer/issues/1811).

$ cd /path/to/packer-build
$ cp -Rd /path/to/juju4.MISP/packer .
## zaktualizuj packer-*.json swoją aktualną bezwzględną ścieżką do roli ansible
## możesz dodać dodatkowe zależności ról w setup-roles.sh
$ cd packer
$ packer build packer-*.json
$ packer build -only=virtualbox-iso packer-*.json
## jeśli chcesz włączyć dodatkowe logi
$ PACKER_LOG_PATH="packerlog.txt" PACKER_LOG=1 packer build packer-*.json
## dla budowy DigitalOcean musisz wyeksportować TOKEN do środowiska.
## zaktualizuj konfigurację json na swoim setupie i regionie.
$ export DO_TOKEN=xxx
$ packer build -only=digitalocean packer-*.json
## dla Azure
$ . ~/.azure/credentials
$ packer build azure-packer-centos7.json
$ packer build -var-file=variables.json azure-packer-centos7.json

Rozwiązywanie problemów i znane problemy

Rozwiązywanie problemów:

$ tail /var/log/apache2/misp.*
$ tail /var/www/MISP/app/tmp/logs/*.log
$ cd /var/www/MISP/app/Console && ./cake CakeResque.CakeResque tail

Znane błędy:

  • w /var/www/MISP/app/tmp/logs/error.log Błąd: [MissingTableException] Tabela logs dla modelu Log nie została znaleziona w źródle danych default. sprawdź, czy baza danych MISP istnieje w MySQL i jest uzupełniona

  • Test curl w MISP curl_tests.sh wykonywany jest jednorazowo, w przeciwieństwie do kitchen verify. Jeśli powtórzysz, ten test nie powiedzie się.

  • jeśli korzystasz z uprzywilejowanego dockera i hosta z MySQL, możesz napotkać następujący problem:

mysqld[29176]: /usr/sbin/mysqld: błąd podczas ładowania współdzielonych bibliotek: libaio.so.1: nie można uzyskać obiektu: Odmowa dostępu

https://github.com/docker/docker/issues/7512

  • Docker i Redis mogą mieć również problemy, może być konieczne edytowanie konfiguracji systemd w xenial zobacz zadanie 'docker redis workaround ???'

  • CI czasami zawodzi przy Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction. Wydaje się to być związane z Issue 5004 - Otwarte

  • Ubuntu 22.04 wydaje się być nieobsługiwany, ponieważ php8.1, a app/composer.json wymaga php >=7.2.0,<8.0.0

  • Błąd: Połączenie z bazą danych „Mysql” jest niedostępne lub nie mogło być utworzone. może być spowodowane, jeśli wiele wersji PHP jest obecnych i nieprawidłowa wersja jest wywoływana z CLI.

  • PHP Fatal error: Uncaught TypeError: Return value of Symfony\\Component\\Process\\Process::close() must be of the type int, null returned in phar:///usr/local/bin/composer/vendor/symfony/process/Process.php:1466 (rhel/rockylinux8 i 9): przyczyna nie została ustalona, prawdopodobnie związana z kontenerem/docker, ponieważ występuje tylko w molecule/docker, a nie w bazowych obrazach hostowanych przez github.

FAQ

TODO

  • Rola nie zarządza aktualizacjami (Praca w toku/git pull między wersjami pomocniczymi)
  • Monitoring, chyba że używasz serverspec
  • Zabezpieczenie: wzmocnienie Apache i Nginx odbywa się w osobnych rolach (harden-webserver) +Viper https://asciinema.org/a/28808 https://asciinema.org/a/28845

Licencja

BSD 2-klauzulowa

O projekcie

MISP - Malware Information Sharing Platform & Threat Sharing

Zainstaluj
ansible-galaxy install juju4.misp
Licencja
bsd-2-clause
Pobrania
1.1k
Właściciel