業務用エアコン関連の技術情報、エラーコード、環境問題対策に関する別サイト「エアコンの安全な修理・適切なフロン回収」

AlmaLinux9.7 : アンチウィルス(Clamav) , Mailサーバー

Clamav ( アンチウィルスソフト )のインストール

1.Clamavインストール

2.Clam AntiVirus設定ファイル編集

編集内容

●14行目
#Default: disabled
LogFile /var/log/clamd.scan ← コメント解除
●77行目
#Default: disabled
PidFile /run/clamd.scan/clamd.pid ← コメント解除
●103行目に追加
#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
●233行目
#Run as another user (clamd must be started by root for this option to work)
#Default: don't drop privileges
#User clamscan ← 行頭に#を追加してコメントアウト(root権限で動作するようにする)

3.ウイルス定義ファイル更新設定

編集内容

●78行目 : コメントにして、下に追加
#DatabaseMirror database.clamav.net
DatabaseMirror db.jp.clamav.net
●154 行目あたり : 追加
#NotifyClamd /path/to/clamd.conf
NotifyClamd /etc/clamd.d/scan.conf

4.ウイルス定義ファイル最新化

5.Clam AntiVirus起動

6.ウィスルスキャンを実施

■テスト用ウィルスをダウンロードして、ウィスルスキャンを実施

/root/eicar.com.txt: Win.Test.EICAR_HDB-1 FOUND
/root/eicar.com.txt: Removed.
Infected files: 1
と表示されウイルスファイルが検知され削除されています

7.ウィルススキャン自動実行スクリプトの導入

スクリプト保存ディレクトリー作成

ウィルススキャン自動実行スクリプト作成

8.ウイルススキャン除外ディレクトリー設定

sys ディレクトリ、proc ディレクトリは対象外にする

試しにスクリプトを実施してみる

9.ウィルススキャンの定期実行

メールサーバー インストール

1. Postfixのインストール

1.1 インストール
Postfix をインストールして SMTP サーバーを構築します

Postfix がインストールされているか確認

1.2 Postfix をサービスへ登録

1.3 postfix の設定ファイル、main.cf とmaster.cf ファイルをバックアップ

1.4 postfix の設定ファイル編集
メール不正中継防止のため、Dovecot の SASL 機能を利用して、送信にも認証を要求するように Postfix を設定します

編集内容

●96 行目 : 追加
#myhostname = virtual.domain.tld
myhostname = mail.<ドメイン>
●103 行目 : 自ドメイン名を追加
#mydomain = domain.tld
mydomain = <ドメイン>
●118 行目 : コメントアウト削除
myorigin = $mydomain
●132 行目 : コメントアウト削除
inet_interfaces = all
●135 行目 : コメントアウト
#inet_interfaces = localhost
●183 行目 : コメントアウト
#mydestination = $myhostname, localhost.$mydomain, localhost
●184 行目 : コメントアウト削除
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
●286 行目あたり : 自サーバーnetwork追加(192.168.11.0/24は各自環境に合わす)
mynetworks = 192.168.11.0/24, 127.0.0.0/8
●438 行目 : コメント削除(メールの格納形式の設定をします)
home_mailbox = Maildir/ 
●445 行目 : コメントアウト削除
mail_spool_directory = /var/spool/mail 
●593 行目あたりに追加
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

1.5 SMTP ポート(25 番ポート) の解放

1.6 Postfix を起動

2.Dovecotインストール

2.1 dovecotインストール

2.2 dovecot.conf ファイルを編集

編集内容

●25 行目 : 追加
#protocols = imap pop3 lmtp
protocols = imap pop3
●30行目 : コメント解除(IPv4 のみリスンする場合は [::] を削除)
listen = *

2.3 10-auth.conf ファイルを編集

編集内容

●10行目 : コメント解除し変更
プレーンテキスト認証も許可する場合
disable_plaintext_auth = no
●100行目 : 追記
auth_mechanisms = plain login

2.3 10-mail.conf ファイルを編集

2.4 10-master.conf ファイルを編集

2.5 10-ssl.conf ファイルを編集

2.6 dovecot をサービスに登録し、起動する

2.7 firewalldでPOP/IMAP サービスの許可ポート開放を行う
POP は [110/TCP], IMAP は [143/TCP]

3.メールユーザー作成と動作確認

3.1 事前準備
①新規ユーザーの為の前処理
新規でユーザーを追加した場合、自動的にメールの送受信ができるよう設定をします。

②既存ユーザーのメール環境前処理
すでに作成してあるユーザーがメールの送受信が出来るよう設定をします。

3.2 ユーザーアカウント作成

3.3 動作確認 ①
メールユーザーでログインして、テストメールを送る

②メール確認

3.4 動作確認 ②
Mozilla Thunderbirdにアカウントを設定し、確認します(メールユーザーとしてOSユーザーhuongの場合)
①Thunderbirdを起動し、右上の[三本]メニューの[New Account][Email]をクリック

Full name : 任意の名称
Email address : huong@<domain-name>
をそれぞれ入力し、「Continue」クリック

[EDIT CONFIGURATION]をクリック

受信サーバーの設定
[Connection security]を[None]にして[Continue]をクリック

送信サーバーの設定
[Connection security]を[None]にして[Test]をクリック

[Continue]をクリック

[Password]欄にユーザーのパスワードを入力し、[Continue]をクリック

[Continue]をクリック

メールアカウントの作成が成功しましたので、[Finish]をクリック

Mail : Postfix + Clamav + clamav-milter+SpamAssassin

1.メールのリアルタイムスキャン

①clamav-milterインストール
Clam AntiVirusを使用してメールサーバー側でメールに対するウイルスチェックを行う。
メールサーバーとClam AntiVirusとの連携はclamav-milterを利用して行なう。

➁clamav-milter設定

clamav-milter設定ファイル編集

編集内容

●6行目 : コメントアウト
#Example
●23行目当たり: 追加
MilterSocket /var/run/clamav-milter/clamav-milter.socket ← clamav-milterのUNIXソケット名を指定
MilterSocketMode 660 ← clamav-milterのUNIXソケットのアクセス権を指定
●98行目当たり: 追加
ClamdSocket unix:/var/run/clamd.scan/clamd.sock ← Clam AntiVirusのUNIXソケット名を指定(/etc/clamd.d/scan.confのLocalSocketオプションに合わせる)
●171行目当たり : 追加
OnInfected Blackhole ← ウイルス感染メールは破棄
●193行目当たり : 追加
AddHeader Yes ← メールヘッダにウイルスチェック実施した旨を出力
●253行目当たり : コメント解除
LogFacility LOG_MAIL ← ログ出力先をメールログにする

➂clamav-milter起動・自動起動設定

④Postfix・clamav-milter連携設定
Postfix設定ファイル編集

⑤clamiltグループにpostfixユーザーを追加

⑥Postfix設定反映

⑦Thunderbirdで確認
Thunderbirdで自分宛に空メールを送付し、受信メールのヘッダー表示部分に下記のように
「X-Virus-Scanned: clamav-milter 1.4.3 at Lepard」が表示される

X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: xxxxx@xxxxxxx.com
X-Original-To: xxxxx@xxxxxxx.com
Delivered-To: xxxxx@xxxxxxx.com
Received: from [192.168.11.6] (buffalo.setup [192.168.11.1])
by mail.xxxxxxx.com (Postfix) with ESMTPA id 7383B113B57D
for xxxxx@xxxxxxx.com; Thu, 1 Jan 2026 10:02:27 +0900 (JST)
Message-ID: f21a16cf-b64f-4245-b99c-efc54d4f9244@xxxxxxx.com
Date: Thu, 1 Jan 2026 10:02:30 +0900
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: xxxxx xxxxx@xxxxxxx.com
Content-Language: en-US
To: xxxxx xxxxx@xxxxxxx.com
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 1.4.3 at Lepard
X-Virus-Status: Clean

自分自身にメール本文が「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インストール

➁SpamAssassin起動

➂SpamAssassin の設定

④SpamAssassin 設定ファイル最新化スクリプト作成

スクリプト内容

#!/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 スクリプトに実行権限を付与し、実行

/etc/mail/spamassassin ディレクトリにSpamAssassin 設定ファイル(local.cf)が当日日付で
作成されていることを確認

SpamAssassin 設定ファイルを最新化するスクリプトが毎日自動実行されるようcron に設定

⑤spamass-milter起動・自動起動設定

⑥Postfix・spamass-milter連携設定

編集追加内容

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 を再起動

⑧Procmail設定
procmail設定ファイル作成

procmailログローテーション設定ファイル作成

⑨Postfix・Procmail連携設定

Postfix設定反映

2.2 スパムメール振分け設定

SpamAssassinによりメールヘッダにスパムメールの印を付けられたメールはスパム専用メールボックスへ、その他のメールは通常どおりのメールボックスへ配送するようにする。

スパム専用メールボックス作成
既存ユーザーについては、メールボックスにスパム専用メールボックスを追加する。
また、新規ユーザーについては、ユーザー追加時に自動でスパム専用メールボックスが作成されるようにする 。
①スパム専用メールボックス作成スクリプト作成

スクリプト内容

#!/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

スパム専用メールボックス作成スクリプト実行

新規ユーザー対策
新規ユーザー追加時に自動でスパム専用メールボックス作成

➁スパムメール振分け
SpamAssassinがスパム判定したメールはスパム専用メールボックスへ配送する

➂spamass-milter確認
自分自身に空メールを送ると、受信したメールのヘッダに以下のメッセージが付加されている
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on Lepard

X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: xxxxx@xxxxxxx.com
X-Original-To: xxxxx@xxxxxxx.com
Delivered-To: xxxxx@xxxxxxx.com
Received: from [192.168.11.6] (buffalo.setup [192.168.11.1])
by mail.xxxxxxx.com (Postfix) with ESMTPA id 1D223113CA46
for xxxxx@xxxxxxx.com; Thu, 1 Jan 2026 10:24:46 +0900 (JST)
Message-ID: <80a9c3df-bd66-44ca-8723-b76da9415b04@xxxxxxx.com>
Date: Thu, 1 Jan 2026 10:24:47 +0900
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: xxxxx xxxxx@xxxxxxx.com
Content-Language: en-US
To: xxxxx xxxxx@xxxxxxx.com
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 1.4.3 at Lepard
X-Virus-Status: Clean
X-Spam-Status: No, score=5.3 required=13.0 tests=ALL_TRUSTED,
CONTENT_TYPE_PRESENT,EMPTY_MESSAGE,PDS_TONAME_EQ_TOLOCAL_SHORT,
PDS_TONAME_EQ_TOLOCAL_VSHORT autolearn=no autolearn_force=no
version=3.4.6
X-Spam-Level: *****
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フォルダへ振り分けられていることを確認する
ヘッダーには次のように記載されている

X-Spam-Flag: YES
X-Spam-Status: Yes, score=1001.8 required=13.0 tests=ALL_TRUSTED,
CONTENT_TYPE_PRESENT,GTUBE,HTML_MESSAGE,MPART_ALT_DIFF,
MULTIPART_ALTERNATIVE autolearn=no autolearn_force=no version=3.4.6
X-Spam-Report:
* 0.1 ALL_TRUSTED Passed through trusted hosts only via SMTP
* -0.1 CONTENT_TYPE_PRESENT exists:Content-Type
* 0.1 MULTIPART_ALTERNATIVE Multipart/alternative
* 1000 GTUBE BODY: Generic Test for Unsolicited Bulk Email
* 0.7 MPART_ALT_DIFF BODY: HTML and text parts are different
* 1.0 HTML_MESSAGE BODY: HTML included in message
X-Spam-Level:************************************************
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on Lepard

This is a multi-part message in MIME format.
--------------APlZDSJdHKxON0aRHopyNhC9
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

XJSC4JDBQADN1.NSBN32IDNENGTUBE-STANDARD-ANTI-UBE-TEST-EMAILC.34X

タイトルとURLをコピーしました