Prelude-IDS インストール

更新履歴

  • 2006/06/05 各ソフトウェアのバージョンアップ
  • 2006/04/24 初版

概要

  • Snort,Samhain,mwcollect,Nepenthes,syslog等を一元的に管理するためのフレームワーク
  • 本手順では ベース部分(マネージャー) のみ設定を行う。
  • Prelude-lml,Snort,Nepenthesのセンサー追加方法については、別ページを参照すること。

Prelude framework

バージョン

  • Prelude-IDS
    • libprelude 0.9.8    preludeベースライブラリ
    • libpreludedb 0.9.7.1  preludeベースライブラリ(DB接続)
    • manager 0.9.4.1     preludeマネージャ
    • prewikka 0.9.5     Webインターフェース
  • その他
    • Apache 2.2.2
    • MySQL 5.0.21

インストール環境

  • CentOS4.3 (X + Gnome + 開発環境)

前提条件

  • 以下が必要
    • GnuTLS
    • Python  ※おそらく初期インストール済み
    • PCRE(devel)
    • MySQL or PostgreSQL  ※本手順ではMySQLを使用
    • Apache  ※Prewikkaで使用する場合のみ
    • Cheetah  ※テンプレートエンジン

参考URL

インストール手順

事前準備

  • 必要なプログラム・ライブラリについてインストールする。また、共有ライブラリのパス(/usr/local/lib)を設定する。
# yum install gnutls-devel
# rpm -qa |grep gnutls
gnutls-devel-1.0.20-3.2.2
gnutls-1.0.20-3.2.2
# 
# rpm -qa |grep "^python-"
python-urlgrabber-2.9.6-2
python-elementtree-1.2.6-4
python-sqlite-1.1.6-1
python-2.3.4-14.2
python-devel-2.3.4-14.2
python-ldap-2.0.1-2
# 
# yum install pcre-devel
# rpm -qa |grep pcre
pcre-4.5-3.2.RHEL4
pcre-devel-4.5-3.2.RHEL4
# 
# cd /usr/local/src
# wget http://jaist.dl.sourceforge.net/sourceforge/cheetahtemplate/Cheetah-1.0.tar.gz
# tar xvzf Cheetah-1.0.tar.gz
# cd Cheetah-1.0
# python ./setup.py install
# 
# vi /etc/ld.so.conf.d/local-i386.conf ※新規作成(ファイル名は適当)

/etc/ld.so.conf.d/local-i386.conf

以下を追加

/usr/local/lib

MySQL インストール

  • ログ・アラートをデータベースに保存するため、MySQLをインストールする。
  • インストール手順については、以下ページを参照。

libprelude インストール

  • Preludeアーキティクチャのベースライブラリをインストールする。
# cd /usr/local/src
# wget http://www.prelude-ids.org/download/releases/libprelude-latest.tar.gz
# tar xvzf libprelude-latest.tar.gz
# cd libprelude-0.9.8
# ./configure

~ 省略 ~

*** Dumping configuration ***
    - Generate documentation : no
    - Perl binding           : yes
    - Python binding         : yes

# make 
# make install
# ldconfig
# libprelude-config --version
0.9.8
# 

libpreludedb インストール

  • データベース接続用ライブラリをインストールする。
# cd /usr/local/src
# wget http://prelude-ids.org/download/releases/libpreludedb-latest.tar.gz
# tar xvzf libpreludedb-latest.tar.gz
# cd libpreludedb-0.9.7.1
# ./configure

~ 省略 ~

*** Dumping configuration ***
    - Generate documentation    : no
    - Enable MySQL plugin       : yes
    - Enable PostgreSQL plugin  : no
    - Enable SQLite3 plugin     : no
    - Perl binding              : yes
    - Python binding            : yes

# make
# make install
# ldconfig
# libpreludedb-config --version
0.9.7.1
# 
  • イベント用データベースを作成する。
# mysqladmin -u root -p create prelude ※preludeのDB作成
Enter password: 管理者パスワードを入力
# 
# mysql -u root -p < /usr/local/share/libpreludedb/classic/mysql.sql prelude ※preludeのテーブル作成
Enter password: 管理者パスワードを入力
# 
# mysql -u root -p prelude
Enter password: 管理者パスワードを入力 
Welcome to the MySQL monitor.  Commands END with ; OR \g.
Your MySQL connection id IS 9 to server version: 5.0.21-LOG
 
Type 'help;' OR '\h' for HELP. Type '\c' to clear the buffer.
 
mysql> SHOW tables;
+-------------------------------+
| Tables_in_prelude             |
+-------------------------------+
| Prelude_Action                |
| Prelude_AdditionalData        |
| Prelude_Address               |
| Prelude_Alert                 |
| Prelude_Alertident            |
| Prelude_Analyzer              |
| Prelude_AnalyzerTime          |
| Prelude_Assessment            |
| Prelude_Checksum              |
| Prelude_Classification        |
| Prelude_Confidence            |
| Prelude_CorrelationAlert      |
| Prelude_CreateTime            |
| Prelude_DetectTime            |
| Prelude_File                  |
| Prelude_FileAccess            |
| Prelude_FileAccess_Permission |
| Prelude_Heartbeat             |
| Prelude_Impact                |
| Prelude_Inode                 |
| Prelude_Linkage               |
| Prelude_Node                  |
| Prelude_OverflowAlert         |
| Prelude_Process               |
| Prelude_ProcessArg            |
| Prelude_ProcessEnv            |
| Prelude_Reference             |
| Prelude_Service               |
| Prelude_SnmpService           |
| Prelude_Source                |
| Prelude_Target                |
| Prelude_ToolAlert             |
| Prelude_User                  |
| Prelude_UserId                |
| Prelude_WebService            |
| Prelude_WebServiceArg         |
| _format                       |
+-------------------------------+
37 rows IN SET (0.00 sec)
 
mysql> GRANT ALL PRIVILEGES ON prelude.* TO prelude@'localhost' IDENTIFIED BY 'prelude'; ※'prelude'はパスワード
Query OK, 0 rows affected (0.01 sec)
 
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
 
mysql> exit
Bye

prelude-manager インストール

  • Preludeマネージャーをインストールする。
# groupadd -g 1000 prelude
# useradd -u 1000 -g prelude -d /dev/null -s /sbin/nologin prelude
# 
# cd /usr/local/src
# wget http://www.prelude-ids.org/download/releases/prelude-manager-latest.tar.gz
# tar xvzf prelude-manager-latest.tar.gz
# cd prelude-manager-0.9.4.1
# ./configure

~ 省略 ~

*** Dumping configuration ***
    - Enable Xml plugin      : yes
    - Enable database support: yes

# make
# make install
#
# vi /usr/local/etc/prelude-manager/prelude-manager.conf

/usr/local/etc/prelude-manager/prelude-manager.conf

 DBセクションを編集(86行目付近)

[db]

# The type of database (mysql/pgsql).
type = mysql

# Host the database is listening on.
host = localhost

# Port the database is listening on.
port = 3306

# Name of the database.
name = prelude

# Username to be used to connect the database.
user = prelude

# Password used to connect the database.
pass = prelude
# prelude-adduser add prelude-manager --uid 0 --gid 0

- Using default TLS settings from /usr/local/etc/prelude/default/tls.conf:
  - Generated key size: 1024 bits.
  - Authority certificate lifetime: unlimited.
  - Generated certificate lifetime: unlimited.

- Creating analyzer prelude-manager.
  - Creating /usr/local/etc/prelude/profile/prelude-manager...
  - Allocated ident for prelude-manager: 3867103799399940.
    - Generating RSA private key... This might take a very long time.
      [Increasing system activity will speed-up the process.]

    - Generating 1024 bits RSA private key... Done.

  - Creating /usr/local/var/spool/prelude/prelude-manager...
# 
# prelude-manager &
- Subscribing Normalize to active decoding plugins.
- server started (listening on 127.0.0.1 port 4690).
- Subscribing db[default] to active reporting plugins.
- Generating 1024 bits Diffie-Hellman key for TLS...

# 

Prewikka インストール

  • Preludeフロントエンド Prewikka をインストールする。
  • Prewikka の起動方法は、以下の2パターンがある。
    1. 簡易Webサーバ (prewikka-httpd) を使用する
    2. Apache を使用する。 ※推奨
  • 環境に応じて、どちらの方法で使用するか検討すること。
# cd /usr/local/src
# wget http://www.prelude-ids.org/download/releases/prewikka-latest.tar.gz
# tar xvzf prewikka-latest.tar.gz
# cd prewikka-0.9.5
# python setup.py install
  • Prewikka用データベースを作成する。
# mysqladmin -u root -p create prewikka ※prewikkaのDB作成
Enter password: 管理者パスワードを入力
# 
# mysql -u root -p < /usr/share/prewikka/database/mysql.sql prewikka ※prewikkaのテーブル作成
Enter password: 管理者パスワードを入力
# 
# mysql -u root -p prewikka
Enter password: 管理者パスワードを入力 
Welcome to the MySQL monitor.  Commands END with ; OR \g.
Your MySQL connection id IS 4 to server version: 5.0.21-LOG
 
Type 'help;' OR '\h' for HELP. Type '\c' to clear the buffer.
 
mysql> SHOW tables;
+-----------------------------+
| Tables_in_prewikka          |
+-----------------------------+
| Prewikka_Filter             |
| Prewikka_Filter_Criterion   |
| Prewikka_Permission         |
| Prewikka_Session            |
| Prewikka_User               |
| Prewikka_User_Configuration |
| Prewikka_Version            |
+-----------------------------+
7 rows IN SET (0.00 sec)
 
mysql> GRANT ALL PRIVILEGES ON prewikka.* TO prewikka@'localhost' IDENTIFIED BY 'prewikka'; ※'prewikka'はパスワード
Query OK, 0 rows affected (0.01 sec)
 
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
 
mysql> exit
Bye
  • Prewikkaの設定を行う。
# vi /etc/prewikka/prewikka.conf

/etc/prewikka/prewikka.conf

[general]
#heartbeat_count: 30
#heartbeat_error_margin: 3
#disable_error_traceback
external_link_new_window

[interface] ※適宜変更(WebGUIの表示)
software: Prewikka
place: company ltd.
title: Prelude management

[command]
whois: /usr/bin/whois
traceroute: /bin/traceroute

[idmef_database]
type: mysql
host: localhost
user: prelude
pass: prelude
name: prelude

[database]
type: mysql
host: localhost
user: prewikka
pass: prewikka
name: prewikka

[log stderr]

[auth loginpassword]
expiration: 60 ※適宜変更(セッションタイムアウト値。単位は分)
  • Prewikka を Apache上で動作させる場合は、httpd.conf に以下を追加する。
  • Apache の導入手順については、以下ページを参照。※mod_env を有効にすること!!

httpd.conf

# Prewikka Configuration
SetEnv PREWIKKA_CONFIG "/etc/prewikka/prewikka.conf"

Alias /prewikka/prewikka/ /usr/share/prewikka/htdocs/
ScriptAlias /prewikka/ /usr/share/prewikka/cgi-bin/prewikka.cgi
<Directory /usr/share/prewikka/htdocs/>
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<Directory /usr/share/prewikka/cgi-bin/>
    AllowOverride None
    Options ExecCGI
    <IfModule mod_mime.c>
        AddHandler cgi-script .cgi
    </IfModule>
    Order allow,deny
    Allow from all
</Directory>
  • httpd.conf修正後、Apacheの再起動を行うこと。

各プログラムの起動

  • 各プログラムを起動する。
# prewikka-httpd &  ※簡易Webサーバを使用する場合のみ (Apacheを使用する場合は不要)
# prelude-manager &  ※手順通りに作業をしていると起動済み
  • ブラウザにて、以下URLにアクセスして Prewikka にログインする。
    • prewikka-httpd
      • http://<サーバIPアドレス>:8000
    • apache
      • http://<サーバIPアドレス>/prewikka/
  • デフォルトのユーザ/パスワードについては admin/admin である。ログイン後、必ず変更すること。

Prewikka ログイン画面

 
ids/prelude_install.txt · 最終更新: 2007/10/16 12:02
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki NINJA TOOLS