misp

Статус действий - Главная Статус действий - Разработка

Ansible роль для MISP

Ansible роль для установки MISP, Платформы обмена информацией о вредоносном ПО и угрозами.

Альтернативы

Требования и зависимости

Ansible

Тестировался на следующих версиях:

  • 2.0
  • 2.2
  • 2.3
  • 2.4
  • 2.5

Операционные системы

Тестировался на Ubuntu 20.04, 22.04 и CentOS 8-Stream.

Пример плейбука

Просто включите эту роль в свой список. Например:

- hosts: all
  roles:
    - juju4.MISP

默认ные учетные данные администратора (admin@admin.test / admin)

Переменные

На данный момент ничего специфического.

Непрерывная интеграция

Эта роль имеет базовый тест travis (для github), более продвинутые тесты с помощью kitchen, а также Vagrantfile (test/vagrant). Конфигурация по умолчанию для kitchen (.kitchen.yml) основана на lxd, в то время как (.kitchen.vagrant.yml) основана на vagrant/virtualbox.

После подтверждения наличия всех необходимых ролей, вы можете протестировать с помощью:

$ 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

или

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

Роль также имеет конфигурацию packer, которая позволяет создать образ для virtualbox, vmware и в конечном итоге digitalocean, lxc и других. При сборке рекомендуется делать это вне директории ролей, так как вся директория загружается на сервер во время сборки, и в настоящее время невозможно исключить директорию packer из этого (https://github.com/mitchellh/packer/issues/1811):

$ cd /path/to/packer-build
$ cp -Rd /path/to/juju4.MISP/packer .
## обновите packer-*.json с вашим текущим абсолютным путем к роли ansible для главной роли
## вы можете добавить дополнительные зависимости роли в setup-roles.sh
$ cd packer
$ packer build packer-*.json
$ packer build -only=virtualbox-iso packer-*.json
## если вы хотите включить дополнительный лог
$ PACKER_LOG_PATH="packerlog.txt" PACKER_LOG=1 packer build packer-*.json
## для сборки digitalocean нужно экспортировать TOKEN в окружение.
## обновите json конфигурацию на своем устройстве и регионе.
$ export DO_TOKEN=xxx
$ packer build -only=digitalocean packer-*.json
## для Azure
$ . ~/.azure/credentials
$ packer build azure-packer-centos7.json
$ packer build -var-file=variables.json azure-packer-centos7.json

Устранение неполадок и известные проблемы

Устранение неполадок

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

Известные ошибки

  • в /var/www/MISP/app/tmp/logs/error.log Ошибка: [MissingTableException] Таблица logs для модели Log не найдена в источнике данных по умолчанию. Проверьте, существует ли база данных MISP в mysql и заполнена ли она.

  • Скрипт curl_tests.sh для MISP выполняется один раз, в отличие от kitchen verify. Если его повторить, этот тест провалится.

  • если вы используете привилегированный docker и хост с mysql, вы можете столкнуться со следующей проблемой

mysqld[29176]: /usr/sbin/mysqld: ошибка при загрузке разделяемых библиотек: libaio.so.1: не удается получить доступ к разделяемому объекту: доступ запрещён

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

  • docker и redis тоже могут вызывать проблемы, и может потребоваться редактирование конфигурации systemd на xenial. См. задачу 'docker redis workaround ???'

  • CI иногда сбивается на Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction. Вероятно, связано с Проблема 5004 - Открыто.

  • Ubuntu 22.04, похоже, не поддерживается, поскольку php8.1, а app/composer.json требует php >=7.2.0,<8.0.0.

  • Ошибка: Подключение к базе данных "Mysql" отсутствует или не может быть создано. может возникнуть, если присутствует несколько версий php, и из cli вызывается неверная версия.

  • PHP Фатальная ошибка: Необработанный TypeError: Возвращаемое значение Symfony\\Component\\Process\\Process::close() должно быть типа int, возвращено null в phar:///usr/local/bin/composer/vendor/symfony/process/Process.php:1466 (rhel/rockylinux8 и 9): коренная причина не установлена, возможно, связана с контейнерами/docker, так как ошибка возникает только в molecule/docker и не в чистых образах, размещенных на github.

Вопросы и ответы

Запланировано

  • Роль не управляет обновлениями (в разработке/git pull между минорными версиями).
  • Мониторинг, если не используется serverspec.
  • Ужесточение безопасности: ужесточение apache и nginx выполняется в отдельных ролях (harden-webserver). +Viper https://asciinema.org/a/28808 https://asciinema.org/a/28845

Лицензия

BSD 2-клаузная

О проекте

MISP - Malware Information Sharing Platform & Threat Sharing

Установить
ansible-galaxy install juju4/ansible-MISP
Лицензия
bsd-2-clause
Загрузки
1123
Владелец