juju4.misp

Aktueller Status - Master Aktueller Status - Devel

MISP Ansible Rolle

Ansible Rolle zur Einrichtung von MISP, der Malware Information Sharing Platform & Threat Sharing

Alternativen

Anforderungen & Abhängigkeiten

Ansible

Getestet mit den folgenden Versionen:

  • 2.0
  • 2.2
  • 2.3
  • 2.4
  • 2.5

Betriebssysteme

Getestet auf Ubuntu 20.04, 22.04 und CentOS 8-Stream

Beispiel-Playbook

Fügen Sie einfach diese Rolle in Ihre Liste ein. Zum Beispiel:

- hosts: all
  roles:
    - juju4.MISP

Standard-Admin-Zugangsdaten (admin@admin.test / admin)

Variablen

Derzeit nichts Spezielles.

Kontinuierliche Integration

Diese Rolle hat einen grundlegenden Travis-Test (für GitHub), einen umfangreicheren mit Kitchen und auch eine Vagrant-Datei (test/vagrant). Die Standard-Kitchen-Konfiguration (.kitchen.yml) basiert auf LXD, während (.kitchen.vagrant.yml) auf Vagrant/VirtualBox basiert.

Sobald Sie sichergestellt haben, dass alle benötigten Rollen vorhanden sind, können Sie testen mit:

$ 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

oder

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

Die Rolle hat auch eine Packer-Konfiguration, die es ermöglicht, Bilder für VirtualBox, VMware, eventuell DigitalOcean, LXC und andere zu erstellen. Beim Erstellen wird empfohlen, dies außerhalb des Rollenverzeichnisses zu tun, da das gesamte Verzeichnis während des Buildvorgangs in die Box hochgeladen wird und es derzeit nicht möglich ist, das Packer-Verzeichnis davon auszuschließen (https://github.com/mitchellh/packer/issues/1811)

$ cd /path/to/packer-build
$ cp -Rd /path/to/juju4.MISP/packer .
## Aktualisieren Sie packer-*.json mit Ihrem aktuellen absoluten Ansible-Rollenpfad für die Hauptrolle
## Sie können zusätzliche Rollenabhängigkeiten in setup-roles.sh hinzufügen
$ cd packer
$ packer build packer-*.json
$ packer build -only=virtualbox-iso packer-*.json
## wenn Sie zusätzliche Log-Dateien aktivieren möchten
$ PACKER_LOG_PATH="packerlog.txt" PACKER_LOG=1 packer build packer-*.json
## für DigitalOcean-Bauten müssen Sie das TOKEN in der Umgebung exportieren.
## Aktualisieren Sie die JSON-Konfiguration in Ihrer Einrichtung und Region.
$ export DO_TOKEN=xxx
$ packer build -only=digitalocean packer-*.json
## für Azure
$ . ~/.azure/credentials
$ packer build azure-packer-centos7.json
$ packer build -var-file=variables.json azure-packer-centos7.json

Fehlersuche & Bekannte Probleme

Fehlersuche

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

Bekannte Fehler

  • In /var/www/MISP/app/tmp/logs/error.log Fehler: [MissingTableException] Die Tabelle logs für das Modell Log wurde in der Datenquelle default nicht gefunden. Überprüfen Sie, ob die MISP-Datenbank in MySQL existiert und gefüllt ist.

  • MISP curl_tests.sh ist so konzipiert, dass es einmal ausgeführt wird, im Gegensatz zu kitchen verify. Wenn es wiederholt wird, schlägt dieser Test fehl.

  • Wenn Sie privilegiertes Docker verwenden und einen Host mit MySQL haben, könnten Sie folgendes Problem haben:

mysqld[29176]: /usr/sbin/mysqld: Fehler beim Laden von gemeinsamen Bibliotheken: libaio.so.1: kann gemeinsames Objekt nicht ermitteln: Berechtigung verweigert

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

  • Docker und Redis können ebenfalls Probleme haben, und es könnte notwendig sein, die systemd-Konfiguration unter Xenial zu bearbeiten. Siehe Aufgabe 'Docker Redis Workaround ???'

  • CI schlägt manchmal fehl mit Serialization failure: 1213 Deadlock found when trying to get lock; versuchen Sie, die Transaktion neu zu starten. Sie scheint mit Issue 5004 - Offen in Zusammenhang zu stehen.

  • Ubuntu 22.04 scheint nicht unterstützt zu werden, da php8.1 und app/composer.json php >=7.2.0,<8.0.0 erfordert.

  • Fehler: Datenbankverbindung „Mysql“ fehlt oder konnte nicht erstellt werden. kann verursacht werden, wenn mehrere PHP-Versionen vorhanden sind und die falsche Version von der CLI aufgerufen wird.

  • 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 und 9): Ursache noch nicht identifiziert, möglicherweise container-/dockerbezogen, da es nur in molecule/docker und nicht bei bare github-gehosteten Bildern fehlschlägt.

FAQ

TODO

  • Die Rolle verwaltet kein Upgrade (Arbeit in der Entwicklung/git pull zwischen Minor-Releases)
  • Monitoring, es sei denn, Sie verwenden Serverspec
  • Härtung: Apache- & Nginx-Härtung erfolgt in separaten Rollen (harden-webserver) +Viper https://asciinema.org/a/28808 https://asciinema.org/a/28845

Lizenz

BSD 2-Klausel

Über das Projekt

MISP - Malware Information Sharing Platform & Threat Sharing

Installieren
ansible-galaxy install juju4.misp
Lizenz
bsd-2-clause
Downloads
1.1k
Besitzer