OSSEC(HIDS)およびPrewikka(WebUI)をインストールします

この記事では、 OSSEC侵入検知システムをインストールし、比較的便利で有益なWebインターフェイスでOSSECアラートを表示する方法について説明します。 OSSECは、アラートをsyslog、DBMSに出力するか、別のIDS- Preludeを送信できます。 このIDSは、近年では実際には開発されていませんが、優れたWebインターフェイスであるPrewikkaを備えています。 このシステムでは、OSSEC以外のIDS(Snortなど)を接続することもできます。 最初にPrelude IDSをインストールしてから、Prewikkをインストールします。 次に、OSSECをPreludeに接続します。 このプロセスでは、2つのベースを作成する必要があります。 Prewikkaはユーザー設定などを保存するために1つを使用します。2つ目では、prelude-managerはイベントに関する情報を保存し、Prewikkaはそこから情報を読み取ります。



インストールには、CentOS 6.4がインストールされた仮想マシンを使用します。 まず、Prelude-IDSをインストールする必要があります。 開発者は、ほとんどすべての一般的なプラットフォームのパッケージおよびソースコードからインストール手順を提供しました。 ここで 、ソース、RPM、SRPMをダウンロードできます。



Prelude Managerをインストールする



CentOS / RHELのリポジトリを接続します。

[root@ossec ~]# yum install https://www.prelude-ids.org/attachments/download/297/prelude-ids-rhel-2-1.noarch.rpm
      
      





次に、Prelude Managerと共通データベースの操作に必要なパッケージをインストールします。

 [root@ossec ~]# yum install prelude-manager prelude-manager-db-plugin libpreludedb-mysql
      
      





MySQLを起動します。

 [root@ossec ~]# /etc/init.d/mysqld start [root@ossec ~]# chkconfig mysqld on
      
      





次に、データベースとユーザーを作成します。

 [root@ossec ~]# mysql -u root -p mysql> CREATE database prelude; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON prelude.* TO prelude@'localhost' IDENTIFIED BY 'preludepasswd'; Query OK, 0 rows affected (0.00 sec) [root@ossec ~]# mysql -u root prelude -p < /usr/share/libpreludedb/classic/mysql.sql
      
      





Prelude Managerの設定を編集します。

 [root@ossec ~]# vim /etc/prelude-manager/prelude-manager.conf
      
      





そこに次の行を追加します(またはコメントを削除します):

 [db] type = mysql host = localhost port = 3306 name = prelude user = prelude pass = preludepasswd
      
      







次に、Prelude Managerのプロファイルを作成する必要があります。

 [root@ossec ~]# prelude-admin add "prelude-manager" --uid 0 --gid 0 Generating 2048 bits RSA private key... This might take a very long time. [Increasing system activity will speed-up the process]. Generation in progress...
      
      





一つのポイントがあります。 プログラムが警告するように、キーの生成には非常に長い時間がかかる場合があります。

このプロセスをスピードアップする機会があります:

 [root@ossec ~]# yum install rng-tools [root@ossec ~]# rngd -r /dev/urandom
      
      







キーの生成が完了したら、Prelude Managerを起動できます。

 [root@ossec ~]# /etc/init.d/prelude-manager restart
      
      





サーバーが正常に起動したことを確認します。

 Aug 19 05:36:33 ossec prelude-manager: INFO: server started (listening on 127.0.0.1 port 4690). Aug 19 05:36:33 ossec prelude-manager: INFO: Subscribing db[default] to active reporting plugins. Aug 19 05:36:33 ossec prelude-manager: INFO: Generating 1024 bits Diffie-Hellman key for TLS...
      
      







Prewikkaのインストール



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

 [root@ossec ~]# yum install prewikka libpreludedb-python
      
      





Prewikkaの別のベースを作成します。

 [root@ossec ~]# mysql -u root -p Enter password: mysql> CREATE database prewikka; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON prewikka.* TO prewikka@'localhost' IDENTIFIED BY 'prewikkapasswd'; Query OK, 0 rows affected (0.01 sec) [root@ossec ~]# mysql -u root prewikka -p < /usr/share/prewikka/database/mysql.sql
      
      





次に、Prewikka構成ファイルを編集して、正しいデータベースを指定します。

 [root@ossec ~]# vim /etc/prewikka/prewikka.conf
      
      





この場合、次の行を追加(または編集)する必要があります。

 [idmef_database] type: mysql host: localhost user: prelude pass: preludepasswd name: prelude [database] type: mysql host: localhost user: prewikka pass: prewikkapasswd name: prewikka
      
      





次にApacheを配置します。

 [root@ossec ~]# yum install httpd
      
      





仮想ホストを作成します。

 [root@ossec ~]# vim /etc/httpd/conf.d/prewikka.conf
      
      





 <VirtualHost *:80> ServerName my.server.org Setenv PREWIKKA_CONFIG "/etc/prewikka/prewikka.conf" <Location "/"> AllowOverride None Options ExecCGI <IfModule mod_mime.c> AddHandler cgi-script .cgi </IfModule> Order allow,deny Allow from all </Location> Alias /prewikka/ /usr/share/prewikka/htdocs/ ScriptAlias / /usr/share/prewikka/cgi-bin/prewikka.cgi </VirtualHost>
      
      





すべての準備が整っているように見えますが、ここではいくつかの落とし穴が待っています。 まず、SELinuxを無効にするか、設定する必要があります。次に、ローカルファイアウォールでポート80を開き、3番目に、設定ファイルを使用してフォルダーにアクセス許可を設定します。

 [root@ossec ~]# chmod o+x /etc/prewikka/
      
      





ただし、今すぐPrewikkにログインしようとすると、エラーが発生します。

ログを確認します。

 [root@ossec ~]# tail -f /var/log/httpd/error_log [Mon Aug 19 06:26:53 2013] [error] [client 172.16.86.1] from prewikka import utils, siteconfig, cairoplot [Mon Aug 19 06:26:53 2013] [error] [client 172.16.86.1] File "/usr/lib/python2.6/site-packages/prewikka/cairoplot.py", line 34, in <module> [Mon Aug 19 06:26:53 2013] [error] [client 172.16.86.1] [Mon Aug 19 06:26:53 2013] [error] [client 172.16.86.1] import cairo [Mon Aug 19 06:26:53 2013] [error] [client 172.16.86.1] ImportError [Mon Aug 19 06:26:53 2013] [error] [client 172.16.86.1] : [Mon Aug 19 06:26:53 2013] [error] [client 172.16.86.1] No module named cairo
      
      





不足しているモジュールをインストールします。

 [root@ossec ~]# yum install cairo
      
      





これで、サーバーにアクセスして、ユーザー名/パスワードのペアadmin / adminでログインできます。

プレウィッカ



OSSECをインストールする



OSSECの最新バージョンのアーカイブをここからダウンロードしてください 。 同じページで、RHEL / CentOSのRPM AtomiCorp リポジトリから取得できると書かれています 。 このリポジトリのOSSECはlibpreludのサポートなしで構築されているため、このオプションは機能しませんが、宛先サーバーにエージェントをインストールするときに使用できます。



そのため、OSSECの最新バージョンをダウンロードして解凍します。

 [root@ossec ~]# wget http://www.ossec.net/files/ossec-hids-2.7.tar.gz [root@ossec ~]# tar xvzf ossec-hids-2.7.tar.gz
      
      





次に、OSSECをコンパイルするために、コンパイラーlibprelude-develを設定し、

 [root@ossec ~]# yum install libprelude-devel gcc make
      
      





コンパイルオプションを設定します。

 [root@ossec ~]# cd ossec-hids-2.7/src/ [root@ossec src]# make setprelude
      
      





インストールを開始します

 [root@ossec src]# ../install.sh
      
      





インストールスクリプトは、使用する言語、インストールの種類など、いくつかの質問をします。最も重要なことは、正しいインストールの種類を指定することです。 私たちの場合、サーバー。 また、最初にマニュアルを読んで自分用にカスタマイズせずにアクティブレスポンス機能を含めることはお勧めしません。

 OSSEC HIDS v2.7 Installation Script - http://www.ossec.net You are about to start the installation process of the OSSEC HIDS. You must have a C compiler pre-installed in your system. If you have any questions or comments, please send an e-mail to dcid@ossec.net (or daniel.cid@gmail.com). - System: Linux ossec 2.6.32-358.el6.x86_64 - User: root - Host: ossec -- Press ENTER to continue or Ctrl-C to abort. -- 1- What kind of installation do you want (server, agent, local, hybrid or help)? server - Server installation chosen. 2- Setting up the installation environment. - Choose where to install the OSSEC HIDS [/var/ossec]: - Installation will be made at /var/ossec . 3- Configuring the OSSEC HIDS. 3.1- Do you want e-mail notification? (y/n) [y]: n --- Email notification disabled. 3.2- Do you want to run the integrity check daemon? (y/n) [y]: - Running syscheck (integrity check daemon). 3.3- Do you want to run the rootkit detection engine? (y/n) [y]: - Running rootcheck (rootkit detection). 3.4- Active response allows you to execute a specific command based on the events received. For example, you can block an IP address or disable access for a specific user. More information at: http://www.ossec.net/en/manual.html#active-response - Do you want to enable active response? (y/n) [y]: n - Active response disabled. 3.5- Do you want to enable remote syslog (port 514 udp)? (y/n) [y]: - Remote syslog enabled. 3.6- Setting the configuration to analyze the following logs: -- /var/log/messages -- /var/log/secure -- /var/log/maillog -- /var/log/httpd/error_log (apache log) -- /var/log/httpd/access_log (apache log) - If you want to monitor any other file, just change the ossec.conf and add a new localfile entry. Any questions about the configuration can be answered by visiting us online at http://www.ossec.net . --- Press ENTER to continue ---
      
      





「Enter」キーを最後に押した後、OSSECのコンパイルとインストールディレクトリへのコピーが開始されます(デフォルトでは/ var / ossec /です)。



構成ファイルで、イベントをprelude-managerに送信する必要があることを示します。

 [root@ossec src]# vim /var/ossec/etc/ossec.conf
      
      





セクションで、行<prelude_output> yes </ prelude_output>を追加します。

次のようになります。

 <ossec_config> <global> <email_notification>no</email_notification> <prelude_output>yes</prelude_output> </global> <rules> <include>rules_config.xml</include> <include>pam_rules.xml</include> <include>sshd_rules.xml</include> ...
      
      







次に、OSSECをプレリュードに接続します。 1つのコンソールで登録サーバーを起動します。

 [root@ossec ~]# prelude-admin registration-server prelude-manager The "p9gnqy98" password will be requested by "prelude-admin register" in order to connect. Please remove the quotes before using it. Generating 1024 bits Diffie-Hellman key for anonymous authentication... Waiting for peers install request on 0.0.0.0:5553... Waiting for peers install request on :::5553...
      
      





もう一方の-OSSECコマンドを登録します。

 [root@ossec ~]# prelude-admin register OSSEC "idmef:w" 127.0.0.1 --uid ossec --gid ossec Generating 2048 bits RSA private key... This might take a very long time. [Increasing system activity will speed-up the process]. Generation in progress... X
      
      





前回同様、次のコマンドでキー生成を高速化できます。

 [root@ossec ~]# rngd -r /dev/urandom
      
      





キーの生成が完了するとすぐに、2番目のコンソールからワンタイムパスワードの入力を求められます。 この場合、「p9gnqy98」です。

次に、両方のデーモンを再起動します。

 [root@ossec ~]# /etc/init.d/prelude-manager start [root@ossec ~]# /etc/init.d/ossec start
      
      







Prewikkに移動すると、OSSECからの通知とアラームを確認できます。

[エージェント]タブに移動すると、エージェントのリストにprelude-managerとOSSECが含まれているはずです。



まとめ



そのため、サーバーにPrelude IDSをインストールしました。 同じサーバーにインストールされたMySQL DBMSでアラートの出力を構成しました。 また、Prewikka Webインターフェイス用に、Prelude IDSの一部である別のデータベースを作成しました。 これらすべての後、OSSECイベントをsyslogまたはDBMSだけでなく、Preludeに直接送信できる特別なオプションを使用してOSSEC HIDSをコンパイルしました。

現在、ログに疑わしいイベントがある場合、OSSECはアラートを生成し、/ var / ossec / logs / ossec.logファイルに書き込み、Prelude IDSに送信します。 次に、Preludeがデータベースに書き込み、Prewiikaが入力されると、これらのすべてのイベントが読み取り可能な形式で表示されるようにします。



この記事では、興味のある読者がいる場合、複数の記事を捧げることができるということについてはあまり説明していません。

たとえば、コンパイラーなしでサーバーにOSSECをインストールする方法、Preludeのデータベースを構成および保守する方法、他のサーバーにOSSECエージェントをインストールおよび構成する方法、OSSECのイベントを生成するための独自のルールを構成する方法。



All Articles