開発者ドキュメント

Ubuntu14.04でOSSECサーバーを使用してOSSECエージェントを監視する方法

序章

OSSECは、オープンソースのホストベースの侵入検知システム(HIDS)であり、ログ分析、整合性チェック、Windowsレジストリ監視、ルートキット検出、時間ベースのアラート、およびアクティブな応答を実行します。 サーバー内で何が起こっているかを監視したい場合は、サーバーにインストールするアプリケーションです。 OSSECは、WindowsおよびすべてのUnixライクなオペレーティングシステムでサポートされています。 ただし、このチュートリアルで使用されているドロップレットは両方ともUbuntu14.04を実行しています。

OSSECをインストールして、インストール先のサーバーのみを監視できます。これは、OSSEC用語ではローカルインストールです。 OSSECに関するこれまでの2つのチュートリアルは、ローカルOSSECインストールの例です。 Ubuntu14.04にOSSECセキュリティ通知をインストールおよび構成する方法とFreeBSD10.1にOSSECをインストールおよび構成する方法。

OSSECは、OSSEC agentと呼ばれる他の何千ものサーバーを監視するためにも使用できます。 OSSECエージェントは、OSSECサーバーと呼ばれる別のタイプのOSSECインストールによって監視されます。 OSSECサーバーが1つ以上のエージェントを監視するように構成された後、追加のエージェントはいつでも追加または削除できます。 OSSECエージェントの監視は、エージェントにインストールされているエージェントソフトウェアを介して、またはエージェントレスモードを介して行うことができます。 このチュートリアルでは、エージェントモードを使用します。このモードでは、エージェントにOSSECエージェントソフトウェアをインストールします。

このチュートリアルでは、OSSECサーバーとOSSECエージェントをインストールし、サーバーがエージェントを監視し、サーバーが電子メールにアラートを送信するようにサーバーとエージェントを構成する方法を学習します。

前提条件

このチュートリアルを完了するには、次のものが必要です。

ステップ1—サーバーとエージェントにOSSECをダウンロードして確認する

まず、両方のドロップレット(サーバーとエージェント)でOSSECをダウンロードして検証します。 このステップのすべてのコマンドは、特に指定がない限り、両方のドロップレットで実行する必要があります。

OSSECは、圧縮されたtarballとして提供されます。 このセクションでは、OSSECとそのチェックサムファイルをダウンロードします。このファイルは、tarballが改ざんされていないことを確認するために使用されます。 まず、通常どおりにサーバーにログインしてから、パッケージデータベースを更新します。

sudo apt-get update

利用可能なアップデートをインストールします。

sudo apt-get upgrade

最後に、必要なパッケージをインストールします。

サーバーに、以下をインストールする必要があります。

sudo apt-get install inotify-tools build-essential

エージェントに、以下をインストールする必要があります。

sudo apt-get install build-essential

その後、両方のドロップレットで、OSSECとそのチェックサムファイルをダウンロードします。 プロジェクトのウェブサイトで最新バージョンを確認できますが、以下のバージョンは執筆時点で最新のものです。

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1.tar.gz

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1-checksum.txt

両方のファイルをダウンロードした後、圧縮されたtarballのmd5sumを確認します。

md5sum -c ossec-hids-2.8.1-checksum.txt

出力は次のようになります。

ossec-hids-2.8.1.tar.gz: OK
md5sum: WARNING: 1 line is improperly formatted

その後、SHA1チェックサムを確認します。

sha1sum -c ossec-hids-2.8.1-checksum.txt

その出力は次のようになります。

ossec-hids-2.8.1.tar.gz: OK
sha1sum: WARNING: 1 line is improperly formatted

いずれの場合も、WARNING行は無視してください。 OK 行は、ファイルが正常であることを確認するものです。

ステップ2—OSSECサーバーをインストールします

このステップでは、OSSEC server をインストールするため、これらのコマンドは1つのドロップレットでのみ実行する必要があります。 サーバーのインストールを開始する前に、サーバーを解凍します。

tar xf ossec-hids-2.8.1.tar.gz

ossec-hids-2.8.1というディレクトリに解凍されます。そのディレクトリに移動します。

cd ossec-hids-2.8.1/

次に、インストールを開始します。

sudo ./install.sh

セットアッププロセス全体を通して、入力を入力するように求められます。 ほとんどの場合、ENTERを押してデフォルト値を受け入れるだけです。

プロンプトが表示される最初の選択肢は、インストール言語を選択することです。 デフォルトでは英語(en)なので、希望する言語の場合はENTERを押してください。 それ以外の場合は、サポートされている言語のリストから2文字を入力します。

次の質問では、どのようなインストールが必要かを尋ねます。 ここに、serverと入力します。

1- What kind of installation do you want (server, agent, local, hybrid or help)? server

以降の質問では、デフォルトを受け入れることができます。つまり、ENTERを押すだけです。 メールでの質問には、必ず有効なメールアドレスを入力してください。 通知が送信されます。

インストールが成功すると、次の出力が得られます。

- System is Debian (Ubuntu or derivative).
 - Init script modified to start OSSEC HIDS during boot.

 - Configuration finished properly.

...

    More information can be found at http://www.ossec.net

    ---  Press ENTER to finish (maybe more information below). ---

次に、 ENTER を押すと、次のように表示されます。

- In order to connect agent and server, you need to add each agent to the server.
   Run the 'manage_agents' to add or remove them:

   /var/ossec/bin/manage_agents

   More information at:
   http://www.ossec.net/en/manual.html#ma

ステップ3—OSSECサーバーを構成します

エージェントはまだインストールされていないため、後でサーバーに追加するタスクに取り組みます。 今のところ、アラートを送信できるようにサーバーを構成しましょう。

ここでは、OSSECサーバーの電子メール設定を構成し、指定された電子メールにアラートを送信できることを確認します。 OSSECのファイルとディレクトリにアクセスして変更するには、rootユーザーに切り替える必要があります。

sudo su

ルートになったら、cdをOSSECの構成ファイルが存在するディレクトリに移動します。

cd /var/ossec/etc

構成ファイルはossec.confです。 まず、バックアップコピーを作成します。

cp ossec.conf ossec.conf.00

次に、オリジナルを開きます。 ここでは、nanoテキストエディタを使用していますが、どちらでも使用できます。

nano ossec.conf

メール設定はファイルの先頭にあります。 変更するフィールドの説明と、それに続くサンプルossec.confファイルを次に示します。

ご了承くださいと同じにすることができます。 完了すると、そのセクションは次のようになります。 赤の変数を独自の変数に置き換えます。

<global>
    <email_notification>yes</email_notification>
    <email_to>sammy@example.com</email_to>
    <smtp_server>mail.example.com.</smtp_server>
    <email_from>sammy@example.com</email_from>
</global>

メール設定を変更したら、ファイルを保存して閉じます。 次に、OSSECを起動します。

/var/ossec/bin/ossec-control start

受信トレイで、OSSECが開始されたことを通知する電子メールを確認してください。 メールが表示されない場合は、スパムフォルダを確認してください。

ステップ4—OSSECエージェントをインストールします

このセクションでは、OSSEC agentを2番目のドロップレットにインストールする方法を学習します。 これは、サーバーのインストールに似ています。 エージェントのインストールを開始する前に、それを解凍します。

tar xf ossec-hids-2.8.1.tar.gz

ossec-hids-2.8.1というディレクトリに解凍されます。そのディレクトリに移動します。

cd ossec-hids-2.8.1/

次に、インストールを開始します。

sudo ./install.sh

ほとんどのプロンプトは以前と同じですが、いくつかは異なります。 尋ねられたとき:

1- What kind of installation do you want (server, agent, local, hybrid or help)? agent

答えはエージェントでなければなりません。 そして尋ねられたとき:

3.1- What's the IP Address or hostname of the OSSEC HIDS server?:your_server_ip

以前に取得したOSSECサーバーのIPアドレスを入力します。 これは、他のドロップレット(OSSECサーバーがインストールされているドロップレット)のIPアドレスです。

その他の質問については、OSSECサーバーのインストール時に行ったように、ENTERを押してデフォルトを受け入れます。 インストール後、次の出力が得られるはずです。

- System is Debian (Ubuntu or derivative).
 - Init script modified to start OSSEC HIDS during boot.

 - Configuration finished properly.

...

    More information can be found at http://www.ossec.net

    ---  Press ENTER to finish (maybe more information below). ---

そして、 ENTER をもう一度押すと、次のように表示されます。

- You first need to add this agent to the server so they
   can communicate with each other. When you have done so,
   you can run the 'manage_agents' tool to import the
   authentication key from the server.

   /var/ossec/bin/manage_agents

   More information at:
   http://www.ossec.net/en/manual.html#ma

これでエージェントとサーバーがインストールされましたが、まだ通信できません。

ステップ5—サーバーにエージェントを追加し、そのキーを抽出する

OSSECサーバーで、エージェントを追加するプロセスを開始します。

:ステップ3からルートとして動作しているはずなので、これらのコマンドでsudoを使用する必要はありません。

/var/ossec/bin/manage_agents

次に、以下に示すオプションが表示されます。 aを選択してエージェントを追加します。

   (A)dd an agent (A).
   (E)xtract key for an agent (E).
   (L)ist already added agents (L).
   (R)emove an agent (R).
   (Q)uit.
Choose your action: A,E,L,R or Q: a

次に、エージェントの名前、そのIPアドレス、およびIDを指定するように求められます。 サーバーから受信したアラートをフィルタリングするのに役立つため、名前を一意にします。 IDについては、ENTERを押すことでデフォルトを受け入れることができます。

3つのフィールドすべてに入力したら、yと入力して確認します。

- Adding a new agent (use '\q' to return to the main menu).
  Please provide the following:
   * A name for the new agent: agentUbuntu
   * The IP Address of the new agent: your_agent_ip
   * An ID for the new agent[001]:
Agent information:
   ID:001
   Name:agentUbuntu
   IP Address:111.111.111.111

Confirm adding it?(y/n): y
Agent added.

その後、メインメニューに戻ります。 次に、画面にエコーされるエージェントのキーを抽出する必要があります。 (以下の例とは異なります。)エージェント用に入力する必要があるため、必ずコピーしてください。

...

Choose your action: A,E,L,R or Q: e

Available agents:
   ID: 001, Name: agentUbuntu, IP: 111.111.111.111
Provide the ID of the agent to extract the key (or '\q' to quit): 001

Agent key information for '001' is:
MDAxIGFnZW50VWJ1bnyEwNjI5MjI4ODBhMDkzMzA4MR1IXXwNC4yMzYuMjIyLjI1MSBiMTI2U3MTI4YWYzYzg4M2YyNTRlYzM5M2FmNGVhNDYTIwNDE3NDI1NWVkYmQw

** Press ENTER to return to the main menu.

ENTER を押すと、再びメインメニューに戻ります。 qと入力して終了します。

...

Choose your action: A,E,L,R or Q: q

** You must restart OSSEC for your changes to take effect.

manage_agents: Exiting ..

ステップ6—サーバーからエージェントにキーをインポートする

このセクションはエージェントで完了する必要があり、サーバーで抽出されたエージェントのキーをインポート(コピー)して、エージェントの端末に貼り付ける必要があります。 開始するには、次のように入力してルートに変更します。

sudo su

次に、次のように入力します。

/var/ossec/bin/manage_agents

次のオプションが表示されます。

   (I)mport key from the server (I).
   (Q)uit.
Choose your action: I or Q: i

正しいオプションを入力したら、指示に従ってサーバーから生成されたキーをコピーして貼り付けます。

Agent information:
   ID:001
   Name:agentUbuntu
   IP Address:104.236.222.251

Confirm adding it?(y/n): y
Added.
** Press ENTER to return to the main menu.

メインメニューに戻り、qと入力して終了します。

Choose your action: I or Q: q

ステップ7—ファイアウォールを通過するUDPポート1514トラフィックを許可する

エージェントとサーバー間の通信はUDPポート1514を介して行われるため、そのポートを通過するトラフィックを許可するには、両端のiptablesにルールを追加する必要があります。

まず、エージェントとサーバーの両方でドロップルールを一時的に削除します。

sudo iptables -D INPUT -j DROP

ルールをOSSECserver に追加するには、OSSECエージェントのIPを使用して次のように入力します。

iptables -A INPUT -p UDP --dport 1514 -s your_agent_ip -j ACCEPT

次に、エージェントで、OSSECサーバーのIPを使用して次のように入力します。

iptables -A INPUT -p UDP --dport 1514 -s your_server_ip -j ACCEPT

次に、エージェントとサーバーの両方でファイアウォールを通過するすべてのアウトバウンドトラフィックを許可します。

iptables -A OUTPUT -j ACCEPT

最後に、ドロップルールを両方に再度追加します。

sudo iptables -A INPUT -j DROP

これらのルールは、前提条件の間にインストールしたiptables-persistantのため、再起動後も存続するはずです。

ステップ8—OSSECエージェントとサーバーを再起動します

サーバーとエージェントが通信するように構成されたので、両方を再起動して、以下を使用して変更を有効にします。

/var/ossec/bin/ossec-control restart

エージェント自体からOSSECエージェントを再起動できるほか、/var/ossec/bin/agent_control -R 001を使用してOSSECサーバーから再起動することもできます。ここで、001はエージェントのIDです。

OSSECサーバーでは、次のように入力してアクティブなエージェントを一覧表示できます。

/var/ossec/bin/list_agents -c

以下のような出力が得られた場合は、サーバーとエージェントが通信していることがわかります。

agentUbuntu-111.111.111.111 is active.

結論

この時点で、サーバーとエージェントの両方からの通知を含むアラートをサーバーから受信しているはずです。 エージェントに関連するアラートの件名は、OSSEC Notification - (agentUbuntu) 111.111.111.111 - Alert level 3のようになります。 これらのメールの本文はOSSEC HIDS Notificationで始まります。

サーバーとエージェントが通信できることを確認したら、両方のインストールをさらにカスタマイズできます。 OSSECサーバーおよびエージェントでファイルの追加を警告し、リアルタイムで警告するために行うことができる変更は、ローカルOSSECインストールで行うことができる変更と同じです。 これらの変更を行う手順については、 Ubuntu14.04にOSSECセキュリティ通知をインストールおよび構成する方法の関連セクションを参照してください。

監視するドロップレットが3つ以上ある場合は、この記事と同じ手順を使用して、それらをOSSECエージェントとしてセットアップに追加できます。 これを設定しているときに問題が発生した場合、手がかりを探す最初の場所は、/var/ossec/logs/ossec.logにあるエラーログです。

この記事では、サーバーエージェントモードでのOSSECのセットアップの基本についてのみ説明します。 詳細については、http://ossec-docs.readthedocs.orgを参照してください。

モバイルバージョンを終了