はじめに
Amazon Linux2にOSSEC(Agent)をインストールしたときのメモ
この記事はOSSECのAgentをインストールしたときのメモです。
OSSEC-Serverインストールの記事と合わせてお読みください。
理由:OSSECサーバで発行したkeyが必要なため。また、OSSECのServerをインストールしたサーバIPアドレスも必要です。
環境
AmazonLinux2 AMI(HVM)
Kernel 4.14
SSD Volume Type
64ビットx86
VCPUの数 1
参考ページ
https://github.com/ossec/ossec-hids
https://www.ossec.net/docs/docs/manual/installation/installation-requirements.html#redhat-centos-fedora-amazon-linux
OSSECのインストール
OSSECのインストールに必要なコンポーネントをインストール
# sudo su
# yum install zlib-devel pcre2-devel make gcc sqlite-devel openssl-devel libevent-devel systemd-devel
OSSECのソースコードのアーカイブ(tar.gz)を/tmpにダウンロードして解凍
# cd /tmp
# wget https://github.com/ossec/ossec-hids/archive/refs/heads/master.zip
# ls
# master.zip
# unzip master.zip
# ls
# master.zip ossec-hids-master
OSSECのインストールシェルを実行
# cd ossec-hids-master
# ls
# active-response build.sh CONFIG CONTRIBUTORS doc etc install.sh README.md SUPPORT.md
BUGS CHANGELOG.md contrib debian_files Dockerfile INSTALL LICENSE src
# ./install.sh
インストール言語を選択。今回は日本語なので、jpを入力。
# (en/br/cn/de/el/es/fr/hu/it/jp/nl/pl/ru/sr/tr) [en]:jp
以下の画面が表示されるのでENTERを押下。なお、Cコンパイラについては、最初の手順でgccをインストール済み
OSSEC HIDS v3.6.0 インストールスクリプト - http://www.ossec.net
OSSEC HIDS のインストール作業を始めます.
事前に C コンパイラがシステムにインストールされてる必要があります.
- システム: Linux ip-xxx-xxx-xxx-xxx.ec2.internal yyy.yyy.yyy-yyy.yyy.amzn2.x86_64
- ユーザ: root
- ホスト: ip-xxx-xxx-xxx-xxx.ec2.internal
-- 続けるには ENTER を押してください.また,Ctrl-C で中止します. --
インストールの種類を選択。今回はエージェントをインストールするので、agentを入力。
1- どの種類のインストールを選択しますか (server,agent,local または help)? agent
- Agent(client) インストールを選択しました.
インストール先ディレクトリはそのままで良いのでENTERを押下。
2- インストール環境を設定しています.
- OSSEC HIDS のインストール先を選択してください [/var/ossec]:
- インストール先を以下に作成します /var/ossec .
OSSSECのサーバIPアドレスを聞かれるので、OSSECサーバをインストールするサーバーのIPアドレスを入力。
3- 設定 OSSEC HIDS.
3.1- OSSEC HIDS サーバの IP/hostname アドレスは何ですか?:xxx.xxx.xxx.xxx
- サーバの IP を加えています xxx.xxx.xxx.xxx
整合性検査を行うデーモンを実行させるか選択。今回は希望するので、yを入力
3.2- 整合性検査を行うデーモンを実行させますか? (y/n) [y]: y
- syscheck (整合性検査デーモン) を実行させます.
rootkit検知エンジンを実行させるか選択。今回は希望するので、yを入力
3.3- rootkit 検知エンジンを実行させますか? (y/n) [y]: y
- rootcheck (rootkit 検知) を実行させます.
アクティブレスポンスを有効にするか選択。今回は希望するので、yを入力
3.4- アクティブレスポンスによりイベントが発生した際に特定の
コマンドを実行することができます.
例えば,ある IP アドレスを遮断することや特定のユーザ
に対してアクセスを無効にすることができます.
詳細な情報は以下にあります:
http://www.ossec.net/en/manual.html#active-response
- アクティブレスポンスを有効にしますか? (y/n) [y]: y
以下のログはデフォルトで監視するようだ。続けるのでENTERを押下
3.5- 以下のログを解析するための設定を準備しています:
-- /var/log/messages
-- /var/log/secure
-- /var/log/maillog
- 他のファイルを監視したい場合は,ossec.conf を変更し
新しいエントリーを追加してください.
設定に関するどんな質問にも我々の Web サイト http://www.ossec.net
を訪れることで答えることができます.
--- 続けるには ENTER を押してください ---
コンパイルとインストールが開始。インストールが完了すると以下の画面が出力される
- システムは Linux.
- 初期スクリプトはブート中に OSSEC HIDS を起動するよう修正しました.
- 設定が完全に終了しました.
- OSSEC HIDS を開始させます:
/var/ossec/bin/ossec-control start
- OSSEC HIDS を停止させます:
/var/ossec/bin/ossec-control stop
- 以下のファイルで設定についての確認と変更ができます /var/ossec/etc/ossec.conf
OSSEC HIDS の使用に感謝します.
あなたが何らかの質問,提案したいときや,バグを発見したときは,
contact@ossec.net まで連絡するか ossec-list@ossec.net にある
我々の公開メーリングリストを使ってください.
(http://www.ossec.net/main/support/).
詳細な情報は http://www.ossec.net にあります.
--- ENTER を押すと終了します (以下,詳細な情報が続きます).---
- 最初に,このエージェントをサーバに追加する必要があります.
それにより互いに通信が可能となります.その後,サーバから
の認証鍵を取り入れるために 'manage_agents' ツールを実行
することができます.
/var/ossec/bin/manage_agents
詳細な情報は以下にあります:
http://www.ossec.net/docs/docs/programs/manage_agents.html
インストール後の確認
OSSECの状態確認。起動していないので、not running...が出力される
# /var/ossec/bin/ossec-control status
ossec-logcollector not running...
ossec-syscheckd not running...
ossec-agentd not running...
ossec-execd is running...
OSSECを起動する。
# /var/ossec/bin/ossec-control start
Starting OSSEC HIDS v3.7.0...
ossec-execd already running...
2022/03/02 09:58:36 ossec-agentd: INFO: Using notify time: 600 and max time to reconnect: 1800
Started ossec-agentd...
Started ossec-logcollector...
2022/03/02 09:58:39 ossec-syscheckd(1210): ERROR: Queue '/var/ossec/queue/ossec/queue' not accessible: 'Connection refused'.
2022/03/02 09:58:39 rootcheck(1210): ERROR: Queue '/var/ossec/queue/ossec/queue' not accessible: 'Connection refused'.
2022/03/02 09:58:47 ossec-syscheckd(1210): ERROR: Queue '/var/ossec/queue/ossec/queue' not accessible: 'Connection refused'.
2022/03/02 09:58:47 rootcheck(1210): ERROR: Queue '/var/ossec/queue/ossec/queue' not accessible: 'Connection refused'.
2022/03/02 09:59:00 ossec-syscheckd(1210): ERROR: Queue '/var/ossec/queue/ossec/queue' not accessible: 'Connection refused'.
2022/03/02 09:59:00 rootcheck(1211): ERROR: Unable to access queue: '/var/ossec/queue/ossec/queue'. Giving up..
ossec-syscheckd did not start
OSSECサーバとの連携をしていないので、エラーになっていると思われる。
OSSECサーバのIPアドレスは/tmp/ossec-hids-master/etc/ossec.mcに設定されているようだ。
インストール時に参照していると思われる。
/tmp/ossec-hids-master/etc/ossec.mc
<server-ip>xxx.xxx.xxx.xxx</server-ip>
起動時に参照していると思われる。
/var/ossec/etc/ossec.conf
<server-ip>xxx.xxx.xxx.xxx</server-ip>
manage_agentsを実行
****************************************
* OSSEC HIDS v3.7.0 Agent manager. *
* The following options are available: *
****************************************
(I)mport key from the server (I).
(Q)uit.
Choose your action: I or Q: I
* Provide the Key generated by the server.
* The best approach is to cut and paste it.
*** OBS: Do not include spaces or new lines.
Paste it here (or '\q' to quit):hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge
Agent information:
ID:001
Name:test
IP Address:xxx.xxx.xxx.xxx
Confirm adding it?(y/n): y
2022/03/02 10:40:01 manage_agents: ERROR: Cannot unlink /queue/rids/sender: No such file or directory
Added.
** Press ENTER to return to the main menu.
今度は/queue/rids/senderが無いというエラーが・・・
無いというなら、touchコマンドで作成する
touch /var/ossec/queue/rids/sender
もう一度、manage_agentsを実行。エラーは解消された!!
# /var/ossec/bin/manage_agents
****************************************
* OSSEC HIDS v3.7.0 Agent manager. *
* The following options are available: *
****************************************
(I)mport key from the server (I).
(Q)uit.
Choose your action: I or Q: I
* Provide the Key generated by the server.
* The best approach is to cut and paste it.
*** OBS: Do not include spaces or new lines.
Paste it here (or '\q' to quit): hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge
Agent information:
ID:001
Name:test
IP Address:xxx.xxx.xxx.xxx
Confirm adding it?(y/n): y
Added.
** Press ENTER to return to the main menu.
****************************************
* OSSEC HIDS v3.7.0 Agent manager. *
* The following options are available: *
****************************************
(I)mport key from the server (I).
(Q)uit.
Choose your action: I or Q: Q
** You must restart OSSEC for your changes to take effect.
manage_agents: Exiting.
manage_agents: Exiting.
OSSECの状態確認。起動していないので、not running...が出力される
# /var/ossec/bin/ossec-control status
ossec-logcollector not running...
ossec-syscheckd not running...
ossec-agentd not running...
ossec-execd not running...
OSSECを起動する。
Starting OSSEC HIDS v3.7.0...
Started ossec-execd...
2022/03/02 10:47:18 ossec-agentd: INFO: Using notify time: 600 and max time to reconnect: 1800
Started ossec-agentd...
Started ossec-logcollector...
Started ossec-syscheckd...
Completed.
OSSECの状態確認。起動したので、is running...が出力される
# /var/ossec/bin/ossec-control status
ossec-logcollector is running...
ossec-syscheckd is running...
ossec-agentd is running...
ossec-execd is running...
psコマンドでプロセスを確認
# ps -aef | grep OSSEC
root 4681 3269 0 10:49 pts/0 00:00:00 grep --color=auto OSSEC
[root@ip-172-31-91-134 etc]# ps -aef | grep ossec
root 4639 1 0 10:47 ? 00:00:00 /var/ossec/bin/ossec-execd
ossec 4643 1 0 10:47 ? 00:00:00 /var/ossec/bin/ossec-agentd
root 4647 1 0 10:47 ? 00:00:00 /var/ossec/bin/ossec-logcollector
root 4651 1 0 10:47 ? 00:00:00 /var/ossec/bin/ossec-syscheckd
root 4683 3269 0 10:49 pts/0 00:00:00 grep --color=auto ossec
他のコマンドも試してみる。enableの後にオプションを付加して、機能を有効にできるようだ。
# /var/ossec/bin/ossec-control enable
Enable options: database, client-syslog, agentless, debug
Usage: /var/ossec/bin/ossec-control enable [database|client-syslog|agentless|debug]
おわりに
今回の記事は以上です。では、また。