はじめに
auditとは?
auditとはLinuxサーバで用いる監査ツールです。
どんなことができるの?
SELinuxのAVC拒否、システムログイン、アカウント変更、sudoなどを使った認証結果などを監査することができます。
・システムイベントの記録
・監査イベントの記録
・バックアップのチェック
・ログファイルの切り替え
・設定ファイルの変更チェック
etc...
導入
auditのインストールと設定について簡単に説明します。
1. パッケージインストール
RedHat系はyum、Debian系はapt-getでパッケージインストールができます。
$ sudo apt-get install auditd
$ sudo yum install audit
※パッケージの指定がapt-getの場合はauditd、yumの場合はauditとなるので注意してください。
2. 構成
基本的にauditdは設定ファイル(auditd.conf)とルール定義ファイル(audit.rules)、ログ(audit.log)の3つから構成されます。
またこれらのファイルは、デフォルトで以下のパスに配置されます。
・設定ファイル:/etc/audit/auditd.conf
・ルール定義ファイル:/etc/audit/audit.rules
・ログ:/var/log/audit.log
ということでインストールができたので、とにかく利用してみましょう。
3. ルールの確認
まずは、ルールの確認です。
$ sudo auditctl -l
No rules
初期は何もルールが設定されていないので"No rules"となります。
それでは何か追加してみましょう。
4. ルールの追加
$ sudo auditctl -a exit,always -F arch=b64 -S open -F path=/etc/resolv.conf
-a filter,action:指定したルールを追加します。filter_でフィルタを指定し、action_で監査イベントを生成するかどうかを指定します。
ちなみに、-a_でルールを末尾に追加、-A_でルールを先頭に追加です。
-F:監査イベントで抜き出すための条件式を定義します。
-S:システムコール名やシステムコール番号を指定します。allはワイルドカードです。
-k:監査イベントにラベルを付けてログを後から検索できるようにする場合に指定します。
詳しい内容はまた記載しませんが、これは"/etc/resolv.conf"をopenするのをチェックしています。
ルールの追加が完了したらもう一度確認コマンドを実行してみましょう。
$ sudo auditctl -l
LIST_RULES: exit,always arch=3221225534 (0xc000003e) watch=/etc/resolv.conf syscall=open
ルールが追加されたのが確認できます。
5. ルールの削除
それでは追加したルールを今度は削除してみます。
$ sudo auditctl -d exit,always -F arch=b64 -S open -F path=/etc/resolv.conf
-d:指定したルールを削除します。
それでは削除できているか確認します。
$ sudo auditctl -l
No rules
一つしかルールがなかったので削除すると"No rules"になりました。
今回のまとめ
・auditはLinuxサーバで利用する監査ツール
・RedHat系はyum、Debian系はapt-getでパッケージインストールができる。
・パッケージインストールの指定はyumだとaudit、apt-getだとauditdになる。
・_auditctl -l_でルールの確認
・_auditctl -a_でルールの追加
・_auditctl -d_でルールの削除
以上です。