ファイル改ざん検知ツール Samhain

## Samhain
http://www.la-samhna.de/samhain/
ホスト型侵入検知システム (HIDS) の **Samhain** は、ファイル整合性チェック、ログファイル監視/分析、ポート監視、不正な SUID 実行可能ファイルの検出などの機能を提供する。
inotify によるリアルタイムのファイル改ざん検知に対応している。
過去に[ルートキット検知](http://qiita.com/bezeklik/items/27a188c951441b25ac0a)機能も実装されていたが、時代に合わなくなったとして 4.0 時点で廃止された。[^rootkit]

最新版は 2018/09/25 リリースの **Samhain 4.3.1** になる。

[^rootkit]: http://www.la-samhna.de/samhain/manual/kerneldef.html

## 由来
Samhain の発音は**サーウィン** `ˈsɑːwɪn` で、古代ケルトで11月1日に行われた収穫祭のこと。ハロウィンの由来。
Samhain サーバーの呼称 **Yule** は古代ゲルマン民族の冬至の祭りのことで、クリスマスの由来。

## HIDS
Smhain 以外の主な HIDS は以下の通り。

* [AFICK](http://qiita.com/bezeklik/items/298dafd2aeb053b4ca88) 3.6.0 (2017/12/08) - SourceForge に rpm パッケージがある。
* [AIDE](http://qiita.com/bezeklik/items/d144d77a3e54cd35c06b) 0.16 (2016/07/25) - CentOS の Base リポジトリーにある。
* [OSSEC](http://qiita.com/bezeklik/items/2143c02f1432d90f5c38)  2.9.3 (2017/12/24) - inotify 対応。Atomic リポジトリーにある。
* [Samhain](http://qiita.com/bezeklik/items/6b7fb75f1a37b0fc41a2) 4.3.1 (2018/09/25) - inotify 対応。コンパイル必須。
* [Tripwire](http://qiita.com/bezeklik/items/2dfb871b9397211c735b) 2.4.3.6 (2017/10/02) - EPEL リポジトリーにある。

## パッケージ作成
残念ながらパッケージがないのでやむなくソースからコンパイルする。

```bash
yum -y install gcc rpm-build {libacl,libattr,pcre,zlib}-devel
curl -O http://www.la-samhna.de/samhain/samhain-current.tar.gz
tar xf samhain-current.tar.gz && tar xf samhain-4.3.1.tar.gz && cd samhain-4.3.1
echo "%_topdir $HOME/rpmbuild" > ~/.rpmmacros
./configure -q\
  --enable-selinux \
  --enable-posix-acl \
  --enable-login-watch \
  --enable-mounts-check \
  --enable-logfile-monitor \
  --enable-process-check \
  --enable-port-check \
  --enable-userfiles \
  --enable-suidcheck
make rpm
```
必要に応じて ./configure のオプションを取捨選択する。

## インストール
```bash
yum -y install samhain-4.3.1.rpm
```
設定ファイルは /etc/samhainrc に配置される。

## 自動起動の確認
```bash
chkconfig --list samhain
```
```text:出力例
samhain         0:off   1:off   2:on    3:on    4:on    5:on    6:off
```

## 初期化
```bash
samhain -t init
```

## 起動
```bash
samhain -t check -D
```
## プロセスの確認
```bash
ps aux | grep -v grep | grep "USER\|samhain"
```
```text:出力例
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      6742 50.5  0.0 169244   188 ?        SL   00:49   0:27 samhain -t check -D
root      6743  0.1  0.0 167444     0 ?        S    00:49   0:02 samhain -t check -D
```

# セキュリティ関連記事
* [PHPセキュリティ強化モジュール Suhosin](http://qiita.com/bezeklik/items/5e8b1f76465e39dc6cd0)
* [DoS攻撃/ブルートフォース攻撃対策アプリの近況](http://qiita.com/bezeklik/items/6d86a162e278f576e4ca)
* [Linuxアンチウイルスソフト ClamAV](http://qiita.com/bezeklik/items/4696e15c889ffff6bc41)
* [Linux Malware Detect](http://qiita.com/bezeklik/items/43a7d4fce6bc23fe84d3)
* [ルートキット検出ツール Rootkit Hunter (rkhunter)](http://qiita.com/bezeklik/items/bc7affef8afe7c63f2ce)
* [ルートキット検出ツール chkrootkit](http://qiita.com/bezeklik/items/7964ce67f1a1363b694e)
* [ファイル改ざん検知ツール AFICK](http://qiita.com/bezeklik/items/298dafd2aeb053b4ca88)
* [ファイル改ざん検知ツール AIDE](http://qiita.com/bezeklik/items/d144d77a3e54cd35c06b)
* [ファイル改ざん検知ツール OSSEC](http://qiita.com/bezeklik/items/2143c02f1432d90f5c38)
* [ファイル改ざん検知ツール Samhain](http://qiita.com/bezeklik/items/6b7fb75f1a37b0fc41a2)
* [ファイル改ざん検知ツール Tripwire](http://qiita.com/bezeklik/items/2dfb871b9397211c735b)
* [脆弱性スキャナー OpenVAS](http://qiita.com/bezeklik/items/a64cad37eb03a1db2de4)
* [脆弱性スキャナー Nikto](http://qiita.com/bezeklik/items/12643654dc0c45f4eb29)
* [Linuxセキュリティ監査ツール Lynis](http://qiita.com/bezeklik/items/cf9be2deb546c69123e7)