Contents
1. clamav ( アンチウィルスソフト )のインストール
1.1 Clam AntiVirusインストール
1 |
# dnf -y install clamav clamd clamav-update |
1.2 Clam AntiVirus設定ファイル編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# vi /etc/clamd.d/scan.conf 14行目 # Default: disabled LogFile /var/log/clamd.scan ← コメント解除 77行目 # Default: disabled PidFile /run/clamd.scan/clamd.pid ← コメント解除 97行目 : 追加 # Path to a local socket file the daemon will listen on. # Default: disabled (must be specified by a user) #LocalSocket /run/clamd.scan/clamd.sock LocalSocket /var/run/clamd.scan/clamd.sock 219行目 # Run as another user (clamd must be started by root for this option to work) # Default: don't drop privileges #User clamscan ← 行頭に#を追加してコメントアウト(root権限で動作するようにする) |
1.3 ウイルス定義ファイル更新設定
1 2 3 4 5 6 7 8 9 10 11 12 |
# vi /etc/freshclam.conf 75行目 「DatabaseMirror database.clamav.net」の行頭に「#」を挿入し、 「DatabaseMirror db.jp.clamav.net」を追加 #DatabaseMirror database.clamav.net DatabaseMirror db.jp.clamav.net 151 行目あたり 「NotifyClamd /etc/clamd.d/scan.conf」を追加 #NotifyClamd /path/to/clamd.conf NotifyClamd /etc/clamd.d/scan.conf |
1.4 ウイルス定義ファイル最新化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# freshclam ClamAV update process started at Wed Oct 25 13:26:27 2023 daily database available for download (remote version: 27071) Time: 2.0s, ETA: 0.0s [========================>] 59.19MiB/59.19MiB Testing database: '/var/lib/clamav/tmp.b7ad97906d/clamav-568549ccc8a852f780de57fb5b8c9b66.tmp-daily.cvd' ... Database test passed. daily.cvd updated (version: 27071, sigs: 2044795, f-level: 90, builder: raynman) main database available for download (remote version: 62) Time: 3.2s, ETA: 0.0s [========================>] 162.58MiB/162.58MiB Testing database: '/var/lib/clamav/tmp.b7ad97906d/clamav-bf665f7b790e262c564c30fcb975d6e1.tmp-main.cvd' ... Database test passed. main.cvd updated (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr) bytecode database available for download (remote version: 334) Time: 1.1s, ETA: 0.0s [========================>] 285.12KiB/285.12KiB Testing database: '/var/lib/clamav/tmp.b7ad97906d/clamav-15fafe53519a521121028d4b4fc22065.tmp-bytecode.cvd' ... Database test passed. bytecode.cvd updated (version: 334, sigs: 91, f-level: 90, builder: anvilleg) WARNING: Clamd was NOT notified: Can't connect to clamd through /run/clamd.scan/clamd.sock: No such file or directory |
1.5 Clam AntiVirus起動
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# systemctl start clamd@scan ← clamd起動 # systemctl enable clamd@scan ← clamd自動起動設定 Created symlink /etc/systemd/system/multi-user.target.wants/clamd@scan.service → /usr/lib/systemd/system/clamd@.service. # systemctl is-enabled clamd@scan enabled # systemctl status clamd@scan ← 動作確認 ● clamd@scan.service - clamd scanner (scan) daemon Loaded: loaded (/usr/lib/systemd/system/clamd@.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2023-10-31 11:13:50 JST; 18s ago Docs: man:clamd(8) man:clamd.conf(5) https://www.clamav.net/documents/ Main PID: 14444 (clamd) Tasks: 2 (limit: 23021) Memory: 1.2G CGroup: /system.slice/system-clamd.slice/clamd@scan.service mq14444 /usr/sbin/clamd -c /etc/clamd.d/scan.conf Oct 31 11:13:50 Lepard clamd[14444]: ELF support enabled. Oct 31 11:13:50 Lepard clamd[14444]: Mail files support enabled. Oct 31 11:13:50 Lepard clamd[14444]: OLE2 support enabled. Oct 31 11:13:50 Lepard clamd[14444]: PDF support enabled. Oct 31 11:13:50 Lepard clamd[14444]: SWF support enabled. Oct 31 11:13:50 Lepard clamd[14444]: HTML support enabled. Oct 31 11:13:50 Lepard clamd[14444]: XMLDOCS support enabled. Oct 31 11:13:50 Lepard clamd[14444]: HWP3 support enabled. Oct 31 11:13:50 Lepard clamd[14444]: Self checking every 600 seconds. Oct 31 11:13:50 Lepard systemd[1]: Started clamd scanner (scan) daemon. |
1.6 ウィスルスキャンを実施
テスト用ウィルスをダウンロードして、ウィスルスキャンを実施
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# wget http://www.eicar.org/download/eicar.com # clamscan --infected --remove --recursive root/eicar.com: Win.Test.EICAR_HDB-1 FOUND /root/eicar.com: Removed. ----------- SCAN SUMMARY ----------- Known viruses: 8677025 Engine version: 0.103.10 Scanned directories: 1 Scanned files: 10 Infected files: 1 Data scanned: 0.02 MB Data read: 0.01 MB (ratio 2.00:1) Time: 26.500 sec (0 m 26 s) Start Date: 2023:10:31 11:15:08 End Date: 2023:10:31 11:15:34 |
1.7 ウィルススキャン自動実行スクリプトの導入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# mkdir -p /var/www/system # cd /var/www/system clamscan.sh を次の内容で/var/www/systemに作成 # vi /var/www/system/clamscan.sh #!/bin/bash PATH=/usr/bin:/bin # excludeopt setup excludelist=/var/www/system/clamscan.exclude if [ -s $excludelist ]; then for i in `cat $excludelist` do if [ $(echo "$i"|grep \/$) ]; then i=`echo $i|sed -e 's/^\([^ ]*\)\/$/\1/p' -e d` excludeopt="${excludeopt} --exclude-dir=$i" else excludeopt="${excludeopt} --exclude=$i" fi done fi # signature update freshclam # virus scan clamscan --recursive --remove ${excludeopt} / |
スクリプトに実行権限付与
1 |
# chmod 700 clamscan.sh |
1.8 ウイルススキャン除外ディレクトリー設定
1 2 |
# echo "/sys/" >> /var/www/system/clamscan.exclude # echo "/proc/" >> /var/www/system/clamscan.exclude |
sys ディレクトリ、proc ディレクトリは対象外にする
1.9 ウィルススキャンの定期実行
1 2 |
# crontab -e 0 1 * * * /var/www/system/clamscan.sh > /dev/null 2>&1 |
試しにスクリプトを実行し、フルスキャンする(時間がかかります)
1 |
# /var/www/system/clamscan.sh |
2. メールサーバー (Postfix)
2.1 Postfixのインストール
Postfix をインストールして SMTP サーバーを構築します
1 |
# dnf -y install postfix |
Postfix がインストールされているか確認
1 2 3 4 |
# rpm -qa | grep postfix pcp-pmda-postfix-5.3.7-17.el8_8.alma.x86_64 postfix-perl-scripts-3.5.8-4.el8.x86_64 postfix-3.5.8-4.el8.x86_64 |
2.2 Postfix をサービスへ登録
1 2 3 4 |
# systemctl enable postfix.service Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service. # systemctl is-enabled postfix.service enabled |
2.3 postfix の設定ファイル編集
postfix の設定ファイル、main.cf とmaster.cf ファイルをバックアップ
1 2 |
# cp -p /etc/postfix/main.cf `date '+/etc/postfix/main.cf.%Y%m%d'` # cp -p /etc/postfix/master.cf `date '+/etc/postfix/master.cf.%Y%m%d'` |
メール不正中継防止のため、Dovecot の SASL 機能を利用して、送信にも認証を要求するように Postfix を設定します
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# vi /etc/postfix/main.cf 96 行目あたりに追加 #myhostname = virtual.domain.tld myhostname = mail.[ドメイン] 103 行目あたりに自ドメイン名を追加 #mydomain = domain.tld mydomain = [ドメイン] 118 行目あたりコメントアウト削除 myorigin = $mydomain 135 行目あたり変更 inet_interfaces = all 183 行目あたりをコメントアウトし、184 行目に追加します。 #mydestination = $myhostname, localhost.$mydomain, localhost mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 287 行目あたりに追加 #mynetworks = 168.100.189.0/28, 127.0.0.0/8 #mynetworks = $config_directory/mynetworks #mynetworks = hash:/etc/postfix/network_table mynetworks = 192.168.11.0/24, 127.0.0.0/8 ←192.168.11.0/24は各自環境に合わす 439 行目あたりコメント削除 メールの格納形式の設定をします。 #home_mailbox = Mailbox home_mailbox = Maildir/ 447 行目あたりに追加 #mail_spool_directory = /var/mail mail_spool_directory = /var/spool/mail 593 行目あたりに追加 #smtpd_banner = $myhostname ESMTP $mail_name #smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) smtpd_banner = $myhostname ESMTP unknown 以下の内容を最終行に追加 # 送受信メールサイズを 10M に制限 message_size_limit = 10485760 # メールボックスサイズを 1G に制限 mailbox_size_limit = 1073741824 # SMTP-Auth 設定 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $mydomain smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject |
2.4 SMTP ポート(25 番ポート) の解放
1 2 3 4 |
# firewall-cmd --add-service=smtp --permanent success # firewall-cmd --reload success |
2.5 Postfix を起動
1 2 |
# systemctl enable --now postfix # systemctl start postfix |
3. メールサーバー (Dovecot)
3.1 Dovecotインストール
1 |
# dnf -y install dovecot |
3.2 dovecot.conf ファイルを編集
1 2 3 4 5 6 7 8 9 10 11 |
# cp -p /etc/dovecot/dovecot.conf `date '+ /etc/dovecot/dovecot.conf.%Y%m%d'` # vi /etc/dovecot/dovecot.conf 25 行目あたりに追加 # protocols = imap pop3 lmtp protocols = imap pop3 30行目 : コメント解除 # IPv4 のみリスンする場合は [::] を削除 listen = *, :: |
3.3 10-auth.conf ファイルを編集
1 2 3 4 5 6 7 8 |
# vi /etc/dovecot/conf.d/10-auth.conf 10行目 : コメント解除し変更 プレーンテキスト認証も許可する場合 disable_plaintext_auth = no 100行目 : 追記 auth_mechanisms = plain login |
3.4 10-mail.conf ファイルを編集
1 2 3 4 |
# vi /etc/dovecot/conf.d/10-mail.conf 31行目 : 追記 mail_location = maildir:~/Maildir |
3.5 10-master.conf ファイルを編集
1 2 3 4 5 6 7 8 9 |
# vi /etc/dovecot/conf.d/10-master.conf 107-109行目 : コメント解除して追記 # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } |
3.6 10-ssl.conf ファイルを編集
1 2 3 4 5 |
# vi /etc/dovecot/conf.d/10-ssl.conf 8 行目あたり 「ssl = required」を「ssl = yes」に変更 ssl = yes |
3.7 dovecot をサービスに登録し、起動する
1 2 3 4 5 |
# systemctl enable dovecot.service Created symlink /etc/systemd/system/multi-user.target.wants/dovecot.service → /usr/lib/systemd/system/dovecot.service. # systemctl is-enabled dovecot.service Enabled # systemctl start dovecot.service |
3.8 firewalldでPOP/IMAP サービスの許可ポート開放を行う
POP は [110/TCP], IMAP は [143/TCP]
1 2 3 |
# firewall-cmd --permanent --add-service=pop3 # firewall-cmd --permanent --add-service=imap # firewall-cmd --reload |
4.メールユーザー作成と動作確認
4.1 事前準備
①新規ユーザーの為の前処理
新規でユーザーを追加した場合、自動的にメールの送受信ができるよう設定をします。
1 2 3 4 |
# mkdir -p /etc/skel/Maildir/{new,cur,tmp} # chmod -R 700 /etc/skel/Maildir/ # echo "~/Maildir/"> /etc/skel/.forward # chmod 600 /etc/skel/.forward |
②既存ユーザーのメール環境前処理
すでに作成してあるユーザーがメールの送受信が出来るよう設定をします。
1 2 3 4 |
# mkdir -p /home/huong/Maildir/{new,cur,tmp} # chown -R huong:huong /home/huong/Maildir/ # chmod 700 /home/huong/Maildir # chmod 700 /home/huong/Maildir/{new,cur,tmp} |
4.2 ユーザーアカウント作成
メールクライアントインストール
1 2 |
# dnf -y install mailx # echo 'export MAIL=$HOME/Maildir' >> /etc/profile.d/mail.sh |
ユーザー [linux] を追加
1 2 3 4 5 6 |
# useradd linux # passwd linux ユーザー linux のパスワードを変更。 New password: Retype new password: passwd: all authentication tokens updated successfully. |
4.3 動作確認 ①
メールユーザーでログインして、テストメールを送る
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# su - linux $ mail linux@localhost Subject: Test Mail test mail . ← 本文終了するには「.」を入力 EOT メールを確認する $ mail Heirloom Mail version 12.5 7/5/10. Type ? for help. "/home/linux/Maildir": 1 message 1 new >N 1 linux@korodes.com Tue Oct 31 12:21 17/509 "Test Mail" & 1 Message 1: From linux@korodes.com Tue Oct 31 12:21:24 2023 Return-Path: <linux@korodes.com> X-Original-To: linux@localhost Delivered-To: linux@localhost Date: Tue, 31 Oct 2023 12:21:24 +0900 To: linux@localhost Subject: Test Mail User-Agent: Heirloom mailx 12.5 7/5/10 Content-Type: text/plain; charset=utf-8 From: linux@korodes.com Status: R test mail & ^CInterrupt & q Held 1 message in /home/linux/Maildir You have mail in /home/linux/Maildir |
4.4 動作確認 ②
Mozilla Thunderbirdにアカウントを設定し、確認します。今回は一般ユーザー「huong」で設定します
①Thunderbirdを起動し、「Tools」「Account Settings」
②「Account Actions」「Add Mail Account」
③「Your full name」は任意の名称
「Email addtess」は先ほど追加した「huong@korodes.com」
「Password」はユーザーhuongのパスワード
をそれぞれ入力し、「Configure manually」クリック
④「INCOMMING SERVER」「OUTGOING SERVER」を下図のように設定し、「Re-test」クリック
⑤「サーバーがみつかりました(The following settings were found by probinfg the given server)」が表示される
「Done」をクリックすると、下図の「警告」が表示されるが問題は無いので「Confirm」をクリック
⑥「アカウントが作成されました(Account syccessfuly created)」が表示されますので「Finish」クリック
Mail サーバー : Postfix + Clamav + clamav-milter+SpamAssassin
1.メールのリアルタイムスキャン
①clamav-milterインストール
Clam AntiVirusを使用してメールサーバー側でメールに対するウイルスチェックを行う。
メールサーバーとClam AntiVirusとの連携はclamav-milterを利用して行なう。
1 |
# dnf -y install clamav-milter clamav-milter-systemd |
➁clamav-milter設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# vi /etc/mail/clamav-milter.conf ← clamav-milter設定ファイル編集 6行目 # Comment or remove the line below. #Example ← 行頭に#を追加してコメントアウト 22-23行目当たり: 追加 # Default: no default #MilterSocket /run/clamav-milter/clamav-milter.socket #MilterSocket inet:7357 MilterSocket /var/run/clamav-milter/clamav-milter.socket ← clamav-milterのUNIXソケット名を指定 MilterSocketMode 660 ← clamav-milterのUNIXソケットのアクセス権を指定 96行目当たり: 追加 # Default: no default #ClamdSocket tcp:scanner.mydomain:7357 ClamdSocket unix:/var/run/clamd.scan/clamd.sock ← Clam AntiVirusのUNIXソケット名を指定(/etc/clamd.d/scan.confのLocalSocketオプションに合わせる) 169行目当たり : 追加 # Action to be performed on infected messages # Default: Quarantine #OnInfected Quarantine OnInfected Blackhole ← ウイルス感染メールは破棄 191行目当たり : 追加 # Note that while "Replace" can potentially break DKIM signatures, "Add" may # confuse procmail and similar filters. # Default: no #AddHeader Replace AddHeader Yes ← メールヘッダにウイルスチェック実施した旨を出力 252行目当たり : 追加 # Default: LOG_LOCAL6 #LogFacility LOG_MAIL LogFacility LOG_MAIL ← ログ出力先をメールログにする |
➂clamav-milter起動・自動起動設定
1 2 3 4 |
# systemctl start clamav-milter # systemctl enable clamav-milter Created symlink /etc/systemd/system/multi-user.target.wants/clamav-milter.service → /usr/lib/systemd/system/clamav-milter.service. |
④Postfix・clamav-milter連携設定
Postfix設定ファイル編集
1 2 3 4 5 |
# vi /etc/postfix/main.cf 下記を追加 milter_default_action = tempfail smtpd_milters = unix:/var/run/clamav-milter/clamav-milter.socket non_smtpd_milters = unix:/var/run/clamav-milter/clamav-milter.socket |
⑤clamiltグループにpostfixユーザーを追加
1 |
# usermod -G clamilt -a postfix |
⑥Postfix設定反映
1 |
# systemctl restart postfix |
⑦Thunderbirdで確認
Thunderbirdで自分宛に空メールを送付し、受信メールのヘッダー表示部分に下記のように
「X-Virus-Scanned: clamav-milter 0.103.10 at Lepard」が表示される
自分自身にメール本文が「X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*」のメールを送ってみて、メールが破棄されて届かないことを確認する
2.メールのスパム対策
2.1 SpamAssassin・spamass-milter・postfix設定
①SpamAssassin・spamass-milterインストール
1 |
# dnf -y install spamassassin spamass-milter-postfix |
➁SpamAssassin起動
1 |
# systemctl start spamassassin |
➂SpamAssassin の設定
1 2 3 4 |
# vi /etc/mail/spamassassin/v310.pre 24 行目あたり行頭の#を削除 loadplugin Mail::SpamAssassin::Plugin::DCC |
④SpamAssassin 設定ファイル最新化スクリプト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# cd /var/www/system # vi spamassassin-update.sh 下記内容を記述 #!/bin/bash cd /etc/mail/spamassassin wget -q https://github.com/kittyfreak/spamassassin_user_prefs/archive/refs/heads/main.zip [ $? -ne 0 ] && exit unzip main.zip >/dev/null 2>&1 [ $? -ne 0 ] && exit rm -f main.zip mv spamassassin_user_prefs-main/user_prefs . rm -rf spamassassin_user_prefs-main diff user_prefs user_prefs.org > /dev/null 2>&1 if [ $? -ne 0 ]; then cp user_prefs local.cf echo "report_safe 0" >> local.cf echo "rewrite_header Subject ***SPAM***" >> local.cf # SpamAssassin再起動 if [ -f /etc/rc.d/init.d/spamassassin ]; then /etc/rc.d/init.d/spamassassin restart > /dev/null else systemctl restart spamassassin > /dev/null fi fi cp user_prefs user_prefs.org |
spamassassin-update スクリプトに実行権限を付与し、実行
1 2 |
# chmod 700 /var/www/system/spamassassin-update.sh # /var/www/system/spamassassin-update.sh |
/etc/mail/spamassassin ディレクトリにSpamAssassin 設定ファイル(local.cf)が当日日付で
作成されていることを確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# ls -l /etc/mail/spamassassin total 1524 drwxr-xr-x 2 root root 40 Oct 31 14:21 channel.d -rw-r--r-- 1 root root 985 Apr 19 2022 init.pre -rw-r--r-- 1 root root 500636 Oct 31 14:31 local.cf drwx------ 2 root root 6 Apr 19 2022 sa-update-keys -rw-r--r-- 1 root root 62 Apr 19 2022 spamassassin-default.rc -rwxr-xr-x 1 root root 35 Apr 19 2022 spamassassin-helper.sh -rw-r--r-- 1 root root 55 Apr 19 2022 spamassassin-spamc.rc -rw-r--r-- 1 root root 500588 Apr 30 2023 user_prefs -rw-r--r-- 1 root root 500588 Oct 31 14:31 user_prefs.org -rw-r--r-- 1 root root 2523 Oct 31 14:30 v310.pre -rw-r--r-- 1 root root 1194 Apr 19 2022 v312.pre -rw-r--r-- 1 root root 2416 Apr 19 2022 v320.pre -rw-r--r-- 1 root root 1237 Apr 19 2022 v330.pre -rw-r--r-- 1 root root 1020 Apr 19 2022 v340.pre -rw-r--r-- 1 root root 1114 Apr 19 2022 v341.pre -rw-r--r-- 1 root root 1313 Apr 19 2022 v342.pre -rw-r--r-- 1 root root 1264 Apr 19 2022 v343.pre |
SpamAssassin 設定ファイルを最新化するスクリプトが毎日自動実行されるようcron に設定
1 2 |
# crontab -e 0 2 * * * /var/www/system/spamassassin-update.sh > /dev/null 2>&1 |
⑤spamass-milter起動・自動起動設定
1 2 3 4 |
# systemctl start spamass-milter # systemctl enable spamass-milter Created symlink /etc/systemd/system/multi-user.target.wants/spamass-milter.service → /usr/lib/systemd/system/spamass-milter.service. |
⑥Postfix・spamass-milter連携設定
1 2 3 4 5 6 |
# vi /etc/postfix/main.cf 下記を追加 milter_default_action = tempfail smtpd_milters = unix:/var/run/clamav-milter/clamav-milter.socket,unix:/run/spamass-milter/postfix/sock ※既にclamav-milterが定義されている場合 non_smtpd_milters = unix:/var/run/clamav-milter/clamav-milter.socket,unix:/run/spamass-milter/postfix/sock ※既にclamav-milterが定義されている場合 |
⑦postfix を再起動
1 |
# systemctl restart postfix |
⑧Procmail設定
procmail設定ファイル作成
1 2 3 4 5 6 7 8 |
# vi /etc/procmailrc SHELL=/bin/bash PATH=/usr/bin:/bin DROPPRIVS=yes MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/ LOGFILE=$HOME/.procmail.log # ログ出力先 VERBOSE=ON # 詳細ログ出力 |
procmailログローテーション設定ファイル作成
1 2 3 4 5 6 |
# vi /etc/logrotate.d/procmail /home/*/.procmail.log { missingok nocreate notifempty } |
⑨Postfix・Procmail連携設定
1 2 3 4 5 6 |
# vi /etc/postfix/main.cf 469行目当たり : 追加 #mailbox_command = /some/where/procmail #mailbox_command = /some/where/procmail -a "$EXTENSION" mailbox_command = /usr/bin/procmail ← 追加(Procmailと連携するようにする) |
Postfix設定反映
1 |
# systemctl restart postfix |
2.2 スパムメール振分け設定
SpamAssassinによりメールヘッダにスパムメールの印を付けられたメールはスパム専用メールボックスへ、その他のメールは通常どおりのメールボックスへ配送するようにする。
①スパム専用メールボックス作成
既存ユーザーについては、メールボックスにスパム専用メールボックスを追加する。
また、新規ユーザーについては、ユーザー追加時に自動でスパム専用メールボックスが作成されるようにする 。
①スパム専用メールボックス作成スクリプト作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# vi spamfolder-create #!/bin/bash for user in `ls /home` do id -u $user > /dev/null 2>&1 if [ $? -eq 0 ] && [ ! -d /home/$user/Maildir/.Spam/new ]; then mkdir -p /home/$user/Maildir/.Spam/new mkdir -p /home/$user/Maildir/.Spam/cur mkdir -p /home/$user/Maildir/.Spam/tmp chmod -R 700 /home/$user/Maildir/.Spam chown -R $user. /home/$user/Maildir/.Spam echo $user fi done |
スパム専用メールボックス作成スクリプト実行
1 2 3 |
# bash spamfolder-create huong linux |
新規ユーザー対策
新規ユーザー追加時に自動でスパム専用メールボックス作成
1 2 |
# mkdir -p /etc/skel/Maildir/.Spam/{new,cur,tmp} # chmod -R 700 /etc/skel/Maildir/.Spam |
➁スパムメール振分け
SpamAssassinがスパム判定したメールはスパム専用メールボックスへ配送する
1 2 3 4 5 6 |
# vi /etc/procmailrc 以下を最後尾へ追加 # SpamAssassinがスパム判定したメールはスパム専用メールボックスへ配送 :0 *^X-Spam-Flag: YES $HOME/Maildir/.Spam/ |
➂spamass-milter確認
自分自身に空メールを送ると、受信したメールのヘッダに以下のメッセージが付加されている
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on Lepard
④スパムチェック確認
自分自身にメール本文が「XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X」のメールを送るとメールは配信されずSpamフォルダへ振り分けられていることを確認する