OSSECのコマンドについて

# はじめに
OSSECをインストールしたときに、一緒にインストールされるOSSECのコマンドについて記事にしました。なお、OSSECのインストール手順にご興味のある方は以下の記事を参照ください。
- [Amazon Linux2にOSSECをインストールした（OSSEC-Serverインストール）](https://qiita.com/Diavolo/items/81ce9ecdfca2a7c6b1a4)
- [Amazon Linux2にOSSECをインストールした（OSSEC-Agentインストール）](https://qiita.com/Diavolo/items/2bab537c36203049188d)
- [Amazon Linux2にOSSECをインストールした（OSSEC-Localインストール）](https://qiita.com/Diavolo/items/7a5391578abe5ca67536)

# OSSECコマンドのパス
OSSECのコマンドは以下のディレクトリに存在します。
```
[root@ip-172-31-80-224 bin]# pwd;ls | grep -v d$
/var/ossec/bin
agent_control
clear_stats
list_agents
manage_agents
ossec-control
ossec-logcollector　←これはデーモンです。ファイル名の末尾がdではないですが・・・
ossec-logtest
ossec-makelists
ossec-regex
rootcheck_control
syscheck_control
syscheck_update
util.sh
verify-agent-conf
```

ちなみにデーモンはこちら
```
# pwd;ls | grep d$
/var/ossec/bin
ossec-agentlessd
ossec-analysisd
ossec-authd
ossec-csyslogd
ossec-dbd
ossec-execd
ossec-maild
ossec-monitord
ossec-remoted
ossec-reportd
ossec-syscheckd
```

## agent_control
agent_control ツールを使用すると、サーバーに設定したすべてのエージェントに照会して情報を取得できます。また、任意のエージェントの syscheck/rootcheck スキャンを再起動（今すぐ実行）することもできます。

アクティブレスポンスを有効にすると、リモートでスキャンを開始したり、その他の機能を使用したりすることができます。

## clear_stats
イベントの統計情報をクリアする

clear_stats 引数オプション
-h
clear_stats で利用可能なすべてのオプションのヘルプメッセージを印刷、表示する

-a
すべての統計情報（平均値）を消去します。

-d
日次平均をクリアします。

-w
週次平均をクリアします。

## list_agents
OSSEC HIDS list_agents。利用可能なエージェントをリストアップします。list_agents は、OSSEC サーバまたはローカルモードのインストールでのみ利用可能です。このメソッドは、以下の目的で使用できます。
・過去にサーバーへの接続に成功したすべてのOSSECエージェントのリスト
・現在サーバーに接続しているすべてのOSSECエージェントのリスト
・過去にサーバーに接続したが、現在は接続されていないすべてのOSSECエージェントのリスト。
manage_agents ツールで追加したエージェントが、まだサーバに接続していない場合、list_agents の出力には表示されません。

## manage_agents
manage_agentsは2つのバージョンで提供されています。
・OSSEC サーバインストール用バージョン ←エージェントがサーバー（マネージャー）に接続するためのキーを発行
・OSSECエージェントインストール用　←マネージャー（サーバー）が発行したキーを登録
manage_agentsの目的は、OSSECエージェントの認証キーを扱うための使いやすいインターフェイスを提供することです。これらの認証キーは、OSSEC サーバとその関連エージェントインスタンスとの間の安全な (暗号化および認証された) 通信に必要です。

## ossec-control
ossec-control は、OSSEC プロセスの起動、停止、設定、状態の確認を行うスクリプトです。 ossc-control は、クライアントシスログ、データベースロギング、エージェントレス設定、デバッグモードの有効/無効を設定できます。
## ossec-control argument options
### start
Start the OSSEC processes.
### stop
Stop the OSSEC processes.
### restart
Restart the OSSEC processes.
### reload
Restart all OSSEC processes except ossec-execd. This allows an agent to reload without losing active response status.
Note：This is only available on an OSSEC agent.
### status
Determine which OSSEC processes are running.
### enable
Enable OSSEC functionality.
#### database
  Enable the ossec-dbd daemon for logging to a database.
  Available: Server and local installs only.
Note：Database support must be compiled in at install time.
#### client-syslog
Enable ossec-csyslogd for logging to remote syslog.
Available: Server and local installs only.
#### agentless
Enable ossec-agentlessd for running commands on systems without OSSEC agents.
Available: Server and local installs only.
#### debug
Run all OSSEC daemons in debug mode.
### disable
Disable OSSEC functionality.
#### database
Disable the ossec-dbd daemon for logging to a database.
Available: Server and local installs only.
Note：Database support must be compiled in at install time.
#### client-syslog
Disable ossec-csyslogd for logging to remote syslog.
Available: Server and local installs only.
#### agentless
Disable ossec-agentlessd for running commands on systems without OSSEC agents.
Available: Server and local installs only.
#### debug
Turn off debug mode.

## ossec-logtest
ossec-logtestはossecで作業する際に最も便利なツールです。このツールは、ossec-anaylistd と全く同じ方法でログファイルをテストし、検証することができます。ossec-logtestは以下のようなことに役立ちます。
・ルールの作成 (カスタムルールのデバッグ)
・偽陽性、偽陰性のトラブルシューティング
ossec-logtestは、テストするすべてのログの標準入力を受け付けます。

## ossec-makelists
cdb データベースをコンパイルするための ossec-makelists ユーティリティです。 ossec-makelists はデータベースファイルのために ossec.conf をスキャンし、mtime をチェックし、古くなった データベースをすべて再コンパイルします。
## ossec-regex
ossec-regex は正規表現を検証する簡単なプログラムです。パターンは、シェルとの奇妙な相互作用を防ぐためにシングルクォートで囲む必要があります。ossec-regexのシンタックスは単純です。/var/ossec/bin/ossec-regex '<pattern>' そして、stdinから文字列を読み、stdoutにマッチしたものを出力します。マッチングに成功すると、+OSRegex_Execute と +OS_Regex が出力されます。

## rootcheck_control
rootcheck_controlは、サーバー（マネージャー）側に保存されているポリシー監視とシステム監査のデータベースを管理するためのツールです。rootcheck機能で検出された異常を、解決済みと未解決の問題に分類して一覧表示することができます。さらに、ossec-rootcheckが前回いつ実行されたかを知ることができます。

## syscheck_control
syscheck_control は、整合性チェック・データベースを管理および表示するためのインターフェイスを提供します。

## syscheck_update
syscheck_update: 完全性チェックデータベースを更新します。これは、整合性チェックデータベースに追加されたファイルに関するすべての情報が破棄され、エージェントまたはサーバー上でsyscheckデーモンが次に実行されたときに再び入力される空のデータベースが残ることを意味します。

## util.sh
util.shシェルスクリプトは、ossec-logcollectorの監視対象となるファイルを追加することができます。また、ウェブサイトへの変更やドメインのネームサーバーへの変更をチェックするために full_command を追加することができます。

## verify-agent-conf
verify-agent-conf は、OSSEC agent.conf の設定を検証します。設定が正しい場合、静かに終了します。

# おわりに
今回の記事は以上です。では、また。