スパムメールチェック、電子署名付与、外部プログラム連携を実装するメール管理ソフトウェア。
スパムフィルタ・ウイルスチェックを実装する場合、従来は複数のソフトウェアを組み合わせていたが、
Rspamdのみで管理する事が出来るのでメンテナンス性が向上する。
殆どのコンポーネントはSQLiteにデータを書き込むが、
ニューラルネットワーク、メール構文解析など高度・高速処理が必要な物は、
Redis(RemoteDictionaryServer)にデータを書き込む為、Redisも構築する必要がある。
|
未設画像 | |||||||||||||||||||||||||||||||||||||||
# zypper install ragel libevent-devel sqlite3-devel file-devel # zypper install lua lua-devel lua51-luajit lua51-luajit-devel # zypper install pcre-devel pcre2-devel libfann-devel libfann2 # zypper install jemalloc-devel libjemalloc2 gd-devel
# cd /usr/local/src
# wget https://github.com/vstakhov/rspamd/archive/1.7.4.tar.gz
# tar zxvf 1.7.4.tar.gz
# cd rspamd-1.7.4
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/rspamd \
-DINSTALL_EXAMPLES=ON \
-DINSTALL_WEBUI=ON \
-DENABLE_JEMALLOC=ON \
-DENABLE_LUAJIT=ON \
-DENABLE_SQLITE=ON \
-DENABLE_REDIRECTOR=ON \
-DENABLE_URL_INCLUDE=ON \
-DENABLE_TORCH=ON \
-DENABLE_FANN=ON \
-DENABLE_PCRE2=ON \
-DENABLE_GD=ON
# make && make install
# vi /usr/lib/systemd/system/rspamd.service --- [Unit] Description=rapid spam filtering system After=nss-lookup.target network-online.target Documentation=https://rspamd.com/doc/ [Service] LimitNOFILE=1048576 NonBlocking=true ExecStart=/usr/local/rspamd/bin/rspamd -c /etc/rspamd/rspamd.conf -f ExecReload=/bin/kill -HUP $MAINPID User=rspamd Group=rspamd RuntimeDirectory=rspamd RuntimeDirectoryMode=0755 Restart=always [Install] WantedBy=multi-user.target
# vi /etc/logrotate.d/rspamd
---
/var/log/rspamd/rspamd.log {
weekly
compress
rotate 4
missingok
ifempty
sharedscripts
create 0644 rspamd rspamd
postrotate
systemctl restart rspamd > /dev/null 2>/dev/null || true
endscript
}
# groupadd rspamd # useradd -g rspamd -s /sbin/nologin rspamd # mkdir /var/log/rspamd /var/lib/rspamd # chown rspamd.rspamd /var/log/rspamd /var/lib/rspamd # cd /usr/local # mv rspamd rspamd-1.7.4 # ln -s /usr/local/rspamd-1.7.4 rspamd # ln -s /usr/local/rspamd/etc/rspamd /etc/rspamd
ただし、基本的には "local.d" にて設定を上書修正しておき、
モジュールを無効化する場合のみ "override.d" 内に "enabled=false" を1行記載する。
設定ファイルの拡張子は ".conf/.inc" の二つが存在する。
対応する拡張子は設定ファイル毎に違う為、呼び出し元となる "modules.d" を都度確認する。# rspamadm configwizard --- ・コンフィグウィザードの開始 Do you wish to continue?[Y/n]: y ・WEB管理画面の設定 Controller password is not set, do you want to set one?[Y/n]: y Enter passphrase: ・Redisの設定 Do you wish to set Redis servers?[Y/n]: y Input read only servers separated by `,` [default: localhost]: localhost Input write only servers separated by `,` [default: 127.0.0.1]: 127.0.0.1 Do you have any password set for your Redis?[y/N]: y Do you have any specific database for your Redis?[y/N]: y ・DKIM設定(後で設定) Do you want to setup dkim signing feature?[y/N]: n ・トークンタイムアウト Expire time for new tokens [100d]: 100d ・設定の出力 Reset previous data?[y/N]: y ・Redisのイニシャライズ Do you wish to convert them to Redis?[Y/n]: y ・設定の保存 Apply changes?[Y/n]: y
| 設定内容 |
| 設定内容 |
| 設定内容 |
| 設定内容 |
| 設定内容 |
| 設定内容 |
| 設定内容 |
| 設定内容 |
| 設定内容 |
| 設定内容 |
| 設定内容 |
| 設定内容 |
| 設定内容 |
| 設定内容 |
・迷惑メール学習(1通)
# rspamc -c bayes -h 127.0.0.1:11334 learn_spam /${FilePath}/mail.eml
・迷惑メール学習(複数)
# rspamc -c bayes -h 127.0.0.1:11334 learn_spam /${FilePath}/
・正常メール学習1通)
# rspamc -c bayes -h 127.0.0.1:11334 learn_ham /${FilePath}/mail.eml
・正常メール学習(複数)
# rspamc -c bayes -h 127.0.0.1:11334 learn_ham /${FilePath}/
| ヘッダー情報 |
| ヘッダー情報 |
| ヘッダー情報 |