Heimdallは、サーバーまたはデスクトップにインストールされているLinuxディストリビューションに見られるすべての脆弱性を管理するためのツールです。 一元化されたheimdallサーバーは、heimdallエージェントを介してクライアントマシンからすべての脆弱性データを収集します。 このエージェントを使用すると、脆弱性の修正を実用的かつ単純な方法で実行できます。 ヘイムダル 情報セキュリティのスペシャリストであるMatheusBernardesによって開発されました。
ヘイムダルのしくみ
〉他のすべてのクライアントを管理するサーバーにHeimdallWebプラットフォームをインストールして構成します。
〉クライアントにHeimdallエージェントをインストールして構成します。
〉クライアントはすべてのパッケージをインストールし、vulners.comを参照して、脆弱なパッケージを見つけます。
〉クライアントは脆弱なパッケージをheimdall_webserverに報告します。
〉 Heimdall WebPlatformを使用してクライアントのパッケージをアップグレードできるようになりました。
この記事では、次のheimdallサーバーとheimdallエージェントがインストールされるクライアントを使用します。
サーバーIP:139.162.27.102
クライアントIP:139.162.57.23
Heimdallサーバーを準備する
heimdallサーバーをインストールするための必要条件は、PythonPIPとgitです。 したがって、heimdallサーバーをインストールする前に、pythonPIPとgitをインストールしましょう。
ターミナルから次のコマンドを実行して、PythonPIPとgitをUbuntu16にインストールします。
# sudo apt-get install python-pip
# sudo apt-get install git
# pip -V
# sudo apt-get install git
CentOS 7では、yumを使用してpythonpipとgitをインストールします。
# yum install epel-release
# yum -y install python-pip
# pip -V
# yum install git
次に、gitを使用してheimdall Webサーバーのクローンを作成し、インストーラーを実行します。
# git clone https://github.com/mthbernardes/heimdall_webserver.git
# cd heimdall_webserver
# chmod +x install.sh
# ./install.sh
...............................
...............................
...............................
Installed 5 object(s) from 1 fixture(s)
[+] - Alldone - [+]
Default username and password
.................
.................
ターミナルで次のコマンドを実行してサーバーを実行します。 選択したポート番号を変更できます。
# python manage.py runserver 0.0.0.0:1337
Performing system checks...
System check identified no issues (0 silenced).
July 11, 2017 - 14:59:33
Django version 1.11.2, using settings 'heimdall_webserver.settings'
Starting development server at https://0.0.0.0:1337/
Quit the server with CONTROL-C.
ファイアウォールを有効にしている場合は、ポート番号1337を開いて、クライアントがサーバーと通信できるようにします。 次に、ブラウザで https://Server-IP:1337
デフォルトのユーザー名とパスワードを「heimdalll」としてログインします
ダッシュボードから「heimdall」をクリックして、デフォルトのパスワードを変更します。
[クライアント]->[登録]をクリックします
クライアントを登録するには、名前、クライアントのIPアドレス、ポート番号、およびディストリビューション名を指定します。
表示ボタンをクリックします。
クライアントマシンでエージェントを構成するときに使用するメモ帳に、このクライアントの「APIキー」をコピーします。 クライアントをまだ構成していないため、ステータス列は「オフライン」になります。
[ユーザー]をクリックすると、デフォルトのユーザーが一覧表示されます。 さらにユーザーを登録するには、[登録]ボタンをクリックします。
登録フォームに記入してください。 これら3つのいずれかからグループを選択してください-
admin -すべてを行うことができます。
インフラ-ユーザーを作成できません。
security、dev-サーバーに関する情報のみを表示できます。
ヘイムダルクライアントを準備する
Heimdallサーバーがクライアントから脆弱性情報を取得する準備ができたので、クライアントでエージェントを構成します。IPは139.162.57.23です。 インストールは非常に簡単です。 エージェントのgitリポジトリのクローンを作成して実行します。 サーバーで行ったのと同じ方法でPythonpipとgitをインストールすることを忘れないでください。
# git clone https://github.com/mthbernardes/heimdall_agent.git
# cd heimdall_agent
# pip install -r requeriments.txt
エージェントの構成ファイルを編集します。 serverパラメーターは、サーバーのIPとポート番号であり、サーバーでクライアントセクションを構成するときにコピーしたAPIキーを貼り付けます。 エージェントが実行しているプラットフォームに応じて、ディストリビューションとディストリビューションのバージョンを選択します。
# vi etc/agent.conf
[Config]
server = 139.162.27.102:1337
distro = centos
distro_version = 7
api = 46650c9f-bb50-438e-b720-562fce84f416
update_command = apt-get --only-upgrade install -y
最後に、エージェントを実行します。
# python agent.py
wait first vulnerability collect
heimdallサーバーを介してクライアントの脆弱性を見つける
サーバーとエージェントの両方が実行されているので、サーバーのWebインターフェイスでクライアントページを表示/更新します。 脆弱なパッケージがある場合は、「脆弱なパッケージ」セクションにリストされます。 パッケージの脆弱性の詳細を表示して更新します。 パッケージが更新されたら、[表示]ボタンを押して詳細を表示します。
heimdallプロジェクトは beta バージョンには、たくさんのバグや問題があります。 したがって、最終リリースまで、ライブ環境で使用しないでください。 httpsはまだ実装されていません。次のアップグレードで提供されます。 次のリリースで提供されるその他の機能は、スケジュール付きのパッケージアップグレード、電子メール通知、アクティビティログ、および脆弱性チャットです。