Heimdall-LinuxおよびUnixシステムで脆弱なパッケージを管理するためのツール

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はまだ実装されていません。次のアップグレードで提供されます。 次のリリースで提供されるその他の機能は、スケジュール付きのパッケージアップグレード、電子メール通知、アクティビティログ、および脆弱性チャットです。