以前ファイルの改ざん検知用にTripwireを導入しましたが、AIDE (Advanced Intrusion Detection Environment)というパッケージもソフトウェアのインテグリティチェックを行う事が出来るようなので試しに導入してみました。
下記資料を参考に行いました。
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』
ソフトウェアのインテグリティチェックを行うことによって、侵入を防ぐことはできませんが、侵入があった事を検知することはできます。
1)インストール
yumコマンドで簡単にインストール出来ます。
# yum install aide Installed: aide.x86_64 0:0.14-3.el6_2.2 Complete!
2)設定ファイル /etc/aide.conf
設定方法は未確認ですが、デフォルト設定でも多くの環境でそのまま使用できるようです。必要に応じてカスタマイズします。
3)ファイル情報を保持するデータベースを作成
①新しいデータベースを初期化
下記コマンドでデータベースを初期化します。
aide –init
・デフォルトでは、データベースは/var/lib/aide/aide.db.new.gzファイルに作成されます。
・データベースと設定ファイル(aide.conf)とバイナリ(/usr/sbin/aide)はコピーしてセキュアな場所に保存しておくようにします。
(実行例)
# aide --init AIDE, version 0.14 ### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
②新しく作成されたデータベースをインストールする
# cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz ※設定ファイル(aide.conf)にデータベースの保存場所が下記のように設定されているのでデータベースファイルの名前を設定ファイルに合わせます。 @@define DBDIR /var/lib/aide # The location of the database to be read. database=file:@@{DBDIR}/aide.db.gz
4)aideでインテグリティチェック
①手動で事前に保存したデータベースと相違がないかチェックする場合
(実行例)
# /usr/sbin/aide --check AIDE found differences between database and filesystem!! Start timestamp: 2013-10-04 21:49:17 Summary: Total number of files: 139184 Added files: 1 Removed files: 1 Changed files: 1 --------------------------------------------------- Added files: --------------------------------------------------- added: /var/log/smtpd/@40000000524eb80d3171e7d4.s --------------------------------------------------- Removed files: --------------------------------------------------- removed: /var/log/smtpd/@40000000524e8c96137bccf4.s --------------------------------------------------- Changed files: --------------------------------------------------- changed: /var/log/smtpd/current -------------------------------------------------- Detailed information about changes: --------------------------------------------------- File: /var/log/smtpd/current Size : 78894 , 26163 Inode : 792562 , 783729
②インテグリティチェックを自動で定期的に実行する場合
(設定例)
Cronに毎日4時5分に実行するように登録する例を示します。
# vi /etc/crontab
05 4 * * * root /usr/sbin/aide –check
-
OpenSSH
- レンタルサーバー(VPS)にSSHでログイン
- VPS(レンタル)サーバー上のssh初期設定確認
- SSH接続の仕組み
- OpenSSHの設定ファイル
- OpenSSHの設定をよりセキュアに
- CentOS Stream9のSSH設定(OpenSSH)
- WinSCPを使ってファイル転送
ネットワーク、ポート番号
rpmパッケージ、サービス
パーミッション
ログイン、認証、パスワード、アカウント制御
auditdでシステム監査
ツール
トラブルシューティング
-
ネットワーク、ポート番号
- iptablesを使ってCentOSのファイアウォール設定
- CentOS6のTCPラッパーの概要と設定方法
- nmapでオープンしているポート番号とバージョンを確認
- yumコマンドで最新のパッケージにアップデート
- 更新可能なRPMパッケージのリストをメールで送信する
- CentOSで不要なサービスは起動しないようにする
- RPMパッケージのインテグリティチェック
- cronで使用するファイルのパーミッション設定
- CentOSのumaskの設定
- ユーザーホームディレクトリ内の権限設定をセキュアにする
- CentOSのパスワードファイルのパーミッション設定
- findコマンドでファイル書込権限をいっせいにチェック
- findコマンドでセットユーザ(グループ)IDが不要にセットされていないかチェック
- findコマンドで所有者、グループが存在しないファイルを抽出
- ログイン時などに表示されるシステムバナーを変更するには?
- CentOSのユーザーアカウントのパスワードポリシーを設定
- pam_cracklibモジュールでパスワードポリシーを設定
- pam_unix.soモジュールを使って過去のパスワード再使用を制限する
- システムコンソールでのrootログインを制限する方法
- suコマンドによるrootへのスイッチを制限する
- root権限でのコマンド実行、sudoだと監査ログが取得できる
- デーモン用アカウントなどに対しシェルを使用を無効にする
- パスワード認証を失敗時にアカウントをロックアウトする設定
- rootアカウントのPATH環境変数のセキュリティについて
- NTPのセキュリティを考慮した設定
- セキュリティを考慮してX Windowsを設定または削除する方法
- ファイルの改ざん対策用にTripwireを導入
- CentOSにホスト型侵入検知ソフトAIDE(Advanced Intrusion Detection Environment)を導入
- アイドルのシェルを自動で強制終了させるには?
- CentOSでコアダンプを無効にする方法
- Linuxのbash脆弱性CVE-2014-6271、Shellshockを修整
- CentOSでバッファーオーバーフロー脆弱性に対する防御機能が有効になっているか確認する
yum、rpmパッケージ、サービス
パーミッション
ログイン、認証、パスワード、アカウント制御
ツール
トラブルシューティング