スパムメールチェック、電子署名付与、外部プログラム連携を実装するメール管理ソフトウェア。
スパムフィルタ・ウイルスチェックを実装する場合、従来は複数のソフトウェアを組み合わせていたが、
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}/
ヘッダー情報 |
ヘッダー情報 |
ヘッダー情報 |