juju4.misp

Statut des actions - Master Statut des actions - Devel

Rôle Ansible MISP

Rôle Ansible pour configurer MISP, la plateforme de partage d'informations sur les logiciels malveillants et partage de menaces.

Alternatives

Exigences et dépendances

Ansible

Il a été testé sur les versions suivantes :

  • 2.0
  • 2.2
  • 2.3
  • 2.4
  • 2.5

Systèmes d'exploitation

Testé sur Ubuntu 20.04, 22.04 et CentOS 8-Stream.

Exemple de Playbook

Il suffit d'inclure ce rôle dans votre liste. Par exemple :

- hosts: all
  roles:
    - juju4.MISP

Identifiants administratifs par défaut (admin@admin.test / admin)

Variables

Rien de spécifique pour l'instant.

Intégration continue

Ce rôle a un test de base travis (pour github), plus avancé avec kitchen et aussi un Vagrantfile (test/vagrant). La configuration de kitchen par défaut (.kitchen.yml) est basée sur lxd, tandis que (.kitchen.vagrant.yml) est basée sur vagrant/virtualbox.

Une fois que vous vous êtes assuré que tous les rôles nécessaires sont présents, vous pouvez tester avec :

$ 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

ou

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

Le rôle a aussi une configuration packer qui permet de créer une image pour virtualbox, vmware, éventuellement digitalocean, lxc et d'autres. Lors de la construction, il est conseillé de le faire en dehors du répertoire des rôles car tout le répertoire est téléchargé sur la box pendant la construction et il n'est actuellement pas possible d'exclure le répertoire packer de cela (https://github.com/mitchellh/packer/issues/1811).

$ cd /path/to/packer-build
$ cp -Rd /path/to/juju4.MISP/packer .
## mettez à jour packer-*.json avec votre chemin d'accès absolu actuel au rôle ansible pour le rôle principal
## vous pouvez ajouter des dépendances de rôle supplémentaires dans setup-roles.sh
$ cd packer
$ packer build packer-*.json
$ packer build -only=virtualbox-iso packer-*.json
## si vous souhaitez activer des journaux supplémentaires
$ PACKER_LOG_PATH="packerlog.txt" PACKER_LOG=1 packer build packer-*.json
## pour la construction de digitalocean, vous devez exporter le TOKEN dans l'environnement.
## mettez à jour la configuration json sur votre installation et votre région.
$ export DO_TOKEN=xxx
$ packer build -only=digitalocean packer-*.json
## pour Azure
$ . ~/.azure/credentials
$ packer build azure-packer-centos7.json
$ packer build -var-file=variables.json azure-packer-centos7.json

Dépannage et problèmes connus

Dépannage

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

Bugs connus

  • dans /var/www/MISP/app/tmp/logs/error.log Erreur : [MissingTableException] La table logs pour le modèle Log n'a pas été trouvée dans la source de données par défaut. vérifiez que la base de données MISP existe dans mysql et est remplie.
  • Le script curl_tests.sh de MISP est conçu pour être exécuté une seule fois, contrairement à kitchen verify. S'il est répété, ce test échouera.
  • si vous utilisez Docker avec des privilèges et un hôte avec mysql, vous pourriez avoir le problème suivant :
mysqld[29176]: /usr/sbin/mysqld: erreur lors du chargement des bibliothèques partagées : libaio.so.1 : impossible de statuer l'objet partagé : Permission refusée

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

  • Docker et Redis peuvent également avoir des problèmes et il pourrait être nécessaire de modifier la configuration systemd sur Xenial. voir la tâche 'docker redis workaround ???'
  • CI échoue parfois avec Échec de la sérialisation : 1213 Deadlock trouvé lors de la tentative d'obtenir un verrou ; essayez de redémarrer la transaction. Cela semble lié à Issue 5004 - Ouvert
  • Ubuntu 22.04 semble non supporté car php8.1 et app/composer.json requièrent php >=7.2.0,<8.0.0.
  • Erreur : La connexion à la base de données "Mysql" est manquante ou n'a pas pu être créée. peut être causée par la présence de plusieurs versions de php et un appel de mauvaise version depuis la CLI.
  • Erreur fatale PHP : TypeError non intercepté : La valeur de retour de Symfony\\Component\\Process\\Process::close() doit être de type int, null renvoyé dans phar:///usr/local/bin/composer/vendor/symfony/process/Process.php:1466 (rhel/rockylinux8 et 9) : cause racine non identifiée, possiblement liée à container/docker car cela échoue uniquement dans molecule/docker et pas dans des images hébergées sur bare github.

FAQ

À faire

  • le rôle ne gère pas la mise à niveau (Travail en cours / git pull entre les versions mineures)
  • surveillance sauf si vous utilisez serverspec.
  • renforcement : le durcissement d'apache et nginx se fait dans des rôles séparés (harden-webserver). +Viper https://asciinema.org/a/28808 https://asciinema.org/a/28845

Licence

BSD 2-clauses

À propos du projet

MISP - Malware Information Sharing Platform & Threat Sharing

Installer
ansible-galaxy install juju4.misp
Licence
bsd-2-clause
Téléchargements
1.1k
Propriétaire