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

AlmaLinux 9.1 : アンチウィルス(Clamav) , Mailサーバー

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

1.Clam AntiVirusインストール

# dnf -y install clamav clamd clamav-update

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

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

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

# 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
4.ウイルス定義ファイル最新化

5.Clam AntiVirus起動

# 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 Thu 2023-01-05 10:03:54 JST; 20s ago
       Docs: man:clamd(8)
             man:clamd.conf(5)
             https://www.clamav.net/documents/
   Main PID: 10553 (clamd)
      Tasks: 2 (limit: 10883)
     Memory: 1.2G
        CPU: 20.559s
     CGroup: /system.slice/system-clamd.slice/clamd@scan.service
             mq10553 /usr/sbin/clamd -c /etc/clamd.d/scan.conf

Jan 05 10:03:53 Alma clamd[10553]: ELF support enabled.
Jan 05 10:03:53 Alma clamd[10553]: Mail files support enabled.
Jan 05 10:03:53 Alma clamd[10553]: OLE2 support enabled.
Jan 05 10:03:53 Alma clamd[10553]: PDF support enabled.
Jan 05 10:03:53 Alma clamd[10553]: SWF support enabled.
Jan 05 10:03:53 Alma clamd[10553]: HTML support enabled.
Jan 05 10:03:53 Alma clamd[10553]: XMLDOCS support enabled.
Jan 05 10:03:53 Alma clamd[10553]: HWP3 support enabled.
Jan 05 10:03:53 Alma clamd[10553]: Self checking every 600 seconds.
Jan 05 10:03:54 Alma systemd[1]: Started clamd scanner (scan) daemon.
6.ウィスルスキャンを実施
■テスト用ウィルスをダウンロードして、ウィスルスキャンを実施
# wget http://www.eicar.org/download/eicar.com
# clamscan --infected --remove --recursive
/etc/pki/tls/certs/eicar.com: Win.Test.EICAR_HDB-1 FOUND
/etc/pki/tls/certs/eicar.com: Removed.

----------- SCAN SUMMARY -----------
Known viruses: 8647067
Engine version: 0.103.7
Scanned directories: 1
Scanned files: 3
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 62.724 sec (1 m 2 s)
Start Date: 2023:01:05 10:05:28
End Date:   2023:01:05 10:06:31
7.ウィルススキャン自動実行スクリプトの導入
# 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} /

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

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

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

1. Postfixのインストール

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

# dnf -y install postfix
Postfix がインストールされているか確認
# rpm -qa | grep postfix
postfix-3.5.9-19.el9.x86_64
postfix-perl-scripts-3.5.9-19.el9.x86_64
pcp-pmda-postfix-5.3.7-7.el9.x86_64
1.2 Postfix をサービスへ登録
# 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
1.3 postfix の設定ファイル、main.cf とmaster.cf ファイルをバックアップ
# 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'`
1.4 postfix の設定ファイル編集
メール不正中継防止のため、Dovecot の SASL 機能を利用して、送信にも認証を要求するように Postfix を設定します

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

# firewall-cmd --add-service=smtp --permanent
success
# firewall-cmd --reload
success
1.5 Postfix を起動
# systemctl restart --now postfix

2.Dovecotインストール

2.1 dovecotインストール
# dnf -y install dovecot
2.2 dovecot.conf ファイルを編集
# 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 = *

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

# vi /etc/dovecot/conf.d/10-auth.conf
●10行目 : コメント解除し変更
プレーンテキスト認証も許可する場合
disable_plaintext_auth = no
●100行目 : 追記
auth_mechanisms = plain login
2.4 10-mail.conf ファイルを編集
# vi /etc/dovecot/conf.d/10-mail.conf
●31行目 : 追記
mail_location = maildir:~/Maildir
2.5 10-master.conf ファイルを編集
# 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
}
2.6 10-ssl.conf ファイルを編集
# vi /etc/dovecot/conf.d/10-ssl.conf
●8 行目あたり
「ssl = required」を「ssl = yes」に変更
ssl = yes
2.7 dovecot をサービスに登録し、起動する
# 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
2.8 firewalldでPOP/IMAP サービスの許可ポート開放を行う
POP は [110/TCP], IMAP は [143/TCP]
# firewall-cmd --permanent --add-service=pop3
# firewall-cmd --permanent --add-service=imap
# firewall-cmd --reload

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

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

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

# 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}

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

3.3 動作確認 ①
メールユーザーでログインして、テストメールを送る
# su - linux
$ mail linux@localhost
Subject: Test Mail
To: linux@localhost
mail test
^D
-------
(Preliminary) Envelope contains:
To: linux@localhost
Subject: Test Mail
Send this message [yes/no, empty: recompose]? y
②メール確認
$ mail
s-nail version v14.9.22.  Type `?' for help
/home/linux/Maildir: 1 message 1 new
?N  1 linux@korodes.com     2023-01-05 10:45   14/408   "Test Mail                           "
& 1
[-- Message  1 -- 14 lines, 408 bytes --]:
Date: Thu, 05 Jan 2023 10:45:32 +0900
To: linux@localhost
Subject: Test Mail
Message-Id: <20230105014532.B57C4226AF47@mail.korodes.com>
From: linux@korodes.com

mail test

&
3.4 動作確認 ②
Mozilla Thunderbirdにアカウントを設定し、確認します(メールユーザーとしてOSユーザーhuongの場合)

①Thunderbirdを起動
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 + Amavisd+SpamAssassin

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

①Amavisd および Clamav Server をインストール
# dnf config-manager --set-enabled crb
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
# dnf config-manager --set-enabled epel
# dnf -y install amavisd-new clamd perl-Digest-SHA1 perl-IO-stringy
 
➁設定ファイル編集
# vi /etc/clamd.d/scan.conf
●77行目:変更
PidFile /var/run/clamd.scan/clamd.pid
●81行目:コメント解除
TemporaryDirectory /var/tmp
●96行目:変更
LocalSocket /var/run/clamd.scan/clamd.sock
# touch /var/log/clamd.scan
# chown clamscan. /var/log/clamd.scan
# systemctl enable clamd@scan
➂Amavisd を設定して起動
# vi /etc/amavisd/amavisd.conf
●13 行目あたり行頭の#削除
@bypass_spam_checks_maps = (1); # controls running of anti-spam code 
● 23行目:自ドメイン名に変更
$mydomain = 'ドメイン名';
●28 行目あたりコメントアウト
#$QUARANTINEDIR = undef; # -Q
●125 行目あたりコメントアウト
# $virus_admin = undef; # notifications recip
●158行目:コメント解除して自ホスト名に変更
$myhostname = 'mail.ドメイン名';

# systemctl start amavisd
# systemctl enable amavisd 
Created symlink /etc/systemd/system/multi-user.target.wants/amavisd.service → /usr/lib/systemd/system/amavisd.service.

④Postfix の設定

# vi /etc/postfix/main.cf
# 最終行に追記
content_filter=smtp-amavis:[127.0.0.1]:10024
# vi /etc/postfix/master.cf
# 最終行に追記 
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
# systemctl restart postfix
⑤Thunderbirdで確認
Thunderbirdで自分宛にテストメールを送付し、受信メールのヘッダー表示部分に下記のように
「X-Virus-Scanned: amavisd-new at korodes.com」が表示される

 

2.メールのスパム対策

 ①スパム対策としてSpamAssassin を導入
# dnf -y install spamassassin spamass-milter-postfix
# systemctl start spamassassin
# systemctl enable spamassassin
Created symlink /etc/systemd/system/multi-user.target.wants/spamassassin.service → /usr/lib/systemd/system/spamassassin.service.
②SpamAssassin の設定
# vi /etc/mail/spamassassin/v310.pre
●24 行目あたり行頭の#を削除
loadplugin Mail::SpamAssassin::Plugin::DCC
③SpamAssassin 設定ファイル最新化スクリプト
# cd /var/www/system
# vi /var/www/system/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 スクリプトに実行権限を付与し、実行

# chmod 700 /var/www/system/spamassassin-update.sh
# /var/www/system/spamassassin-update.sh
/etc/mail/spamassassin ディレクトリにSpamAssassin 設定ファイルが当日日付で
作成されていることを確認
# ls -l /etc/mail/spamassassin
total 1612
drwxr-xr-x 2 root root     40 Jan  5 11:04 channel.d
-rw-r--r-- 1 root root   1194 Mar 31  2022 init.pre
-rw-r--r-- 1 root root 499337 Jan  5 11:22 local.cf
drwx------ 2 root root      6 Mar 31  2022 sa-update-keys
-rw-r--r-- 1 root root     62 Mar 31  2022 spamassassin-default.rc
-rwxr-xr-x 1 root root     39 Mar 31  2022 spamassassin-helper.sh
-rw-r--r-- 1 root root     55 Mar 31  2022 spamassassin-spamc.rc
-rw-r--r-- 1 root root 499289 Dec 29  2021 user_prefs
-rw-r--r-- 1 root root 499289 Jan  5 11:22 user_prefs.org
-rw-r--r-- 1 root root   2523 Jan  5 11:21 v310.pre
-rw-r--r-- 1 root root   1194 Mar 31  2022 v312.pre
-rw-r--r-- 1 root root   2416 Mar 31  2022 v320.pre
-rw-r--r-- 1 root root   1237 Mar 31  2022 v330.pre
-rw-r--r-- 1 root root   1020 Mar 31  2022 v340.pre
-rw-r--r-- 1 root root   1309 Mar 31  2022 v341.pre
-rw-r--r-- 1 root root   1469 Mar 31  2022 v342.pre
-rw-r--r-- 1 root root   1264 Mar 31  2022 v343.pre
SpamAssassin 設定ファイルを最新化するスクリプトが毎日自動実行されるようcron に設定
# crontab -e
0 2 * * * /var/www/system/spamassassin-update.sh > /dev/null 2>&1
④Postfix にSpamAssassin を組み込む
# vi /etc/postfix/master.cf
●11 行目の行頭に「#」を追加し12 行目にSpamAssassin 設定を追加
# smtp inet   n   -   n   -   -   smtpd
smtp inet   n   -   n   -   -   smtpd
-o content_filter=spamassassin
●最終行へ追加
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000

spamassassin unix   -   n   n   -   -   pipe
user=nobody argv=/usr/bin/spamc -e /usr/sbin/sendmail.postfix -oi -f ${sender} ${recipient}

⑤postfix を再起動

# systemctl restart postfix
⑥Thunderbirdで自分宛に本文に下記記入してメールを送ると、ヘッダーに次のように表示される。
「XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X」
 
 
タイトルとURLをコピーしました