juju4.misp

アクションステータス - マスター アクションステータス - デベロップ

MISP ansible ロール

MISP(マルウェア情報共有プラットフォームと脅威共有)を設定するためのAnsibleロール

代替手段

要件と依存関係

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)

変数

特にありません。

継続的インテグレーション

このロールにはGitHub用のTravis基本テストがあり、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、デジタルオーシャン、LXCなどのイメージを作成できます。 これをビルドする際は、すべてのディレクトリがビルド中にボックスにアップロードされるため、ロールディレクトリの外で行うことをお勧めします。 そして、Packerディレクトリを除外することは現時点ではできません(https://github.com/mitchellh/packer/issues/1811)。

$ cd /path/to/packer-build
$ cp -Rd /path/to/juju4.MISP/packer .
## メインロールの現在の絶対的なAnsibleロールパスでpacker-*.jsonを更新
## 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
## デジタルオーシャンのビルドの場合、環境に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] データソースdefaultにモデルLogのためのテーブルが見つかりません。 mispデータベースがMySQLに存在し、内容があるか確認してください。

  • MISP curl_tests.shは一度だけ実行されるように作成されており、繰り返すとこのテストは失敗します。

  • 特権Dockerを使用し、MySQLをホストする場合、次の問題が発生する可能性があります。

mysqld[29176]: /usr/sbin/mysqld: エラーが共有ライブラリの読み込み中に発生しました: libaio.so.1: 共有オブジェクトが見つかりません: 許可が拒否されました

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

  • DockerとRedisにも問題がある可能性があり、Xenial上でsystemd設定を編集する必要があります。 タスク 'docker redis workaround ???' を参照してください。

  • CIが時々 Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction で失敗します。これは Issue 5004 に関連しているようです。

  • Ubuntu 22.04はサポートされていないようで、php8.1とapp/composer.jsonはphp >=7.2.0,<8.0.0を要求します。

  • Error: データベース接続 "Mysql" が欠落しているか、作成できませんでした。 は、複数のphpバージョンが存在し、CLIから間違ったバージョンが呼ばれると発生する可能性があります。

  • PHP Fatal error: Uncaught TypeError: Symfony\\Component\\Process\\Process::close()の戻り値がintの型である必要がありますが、nullが返されました(rhel/rockylinux8および9):根本原因は特定されていませんが、コンテナ/dockerに関連している可能性があります。

FAQ

TODO

  • このロールはアップグレードを管理していません(進行中/gitプルはマイナーリリースの間で行われます)
  • モニタリング(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.misp
ライセンス
bsd-2-clause
ダウンロード
1.1k
所有者