そういうのがいいブログ

SIerで働く30代サラリーマンSEがインフラエンジニアに憧れてLinux・クラウド・AWSの勉強をするブログ

AlmaLinux8.8ウィルス対策ソフトClam AntiVirusインストール手順

※[PR]当ブログの記事の中にはプロモーションが含まれています。

・AlmaLinux8.8にウィルス対策ソフト「Clam AntiVirus」をインストールする手順を知りたい。
・具体的な手順を分かりやすく教えてほしい。

こういった疑問に答えます。

本記事の内容

  1. AlmaLinux8.8にウィルス対策ソフト「Clam AntiVirus」をインストールする手順

サトナカ (@souiunogaii)

この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。

こういった私が、解説していきます。

私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。

AlmaLinux8.8にウィルス対策ソフト「Clam AntiVirus」をインストールする手順

手順① epelリポジトリの追加

dnf install epel-release
[root@SV-ALTAIR ~]# dnf install epel-release
メタデータの期限切れの最終確認: 2:37:52 前の 20230621123341秒 に実施しました。
依存関係が解決しました。
====================================================================================================
 パッケージ                 アーキテクチャー     バージョン              リポジトリー         サイズ
====================================================================================================
インストール:
 epel-release               noarch               8-18.el8                extras                24 k

トランザクションの概要
====================================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 24 k
インストール後のサイズ: 35 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
epel-release-8-18.el8.noarch.rpm                                    371 kB/s |  24 kB     00:00
----------------------------------------------------------------------------------------------------
合計                                                                 27 kB/s |  24 kB     00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                            1/1
  インストール中   : epel-release-8-18.el8.noarch                                               1/1
  scriptletの実行中: epel-release-8-18.el8.noarch                                               1/1
Many EPEL packages require the CodeReady Builder (CRB) repository.
It is recommended that you run /usr/bin/crb enable to enable the CRB repository.

  検証             : epel-release-8-18.el8.noarch                                               1/1

インストール済み:
  epel-release-8-18.el8.noarch

完了しました!

手順② 「Clam AntiVirus」をインストール

dnf install clamav clamav-server-systemd clamav-update clamav-scanner-systemd
[root@SV-ALTAIR ~]# dnf install clamav clamav-server-systemd clamav-update clamav-scanner-systemd
メタデータの期限切れの最終確認: 0:00:22 前の 2023年06月21日 15時13分09秒 に実施しました。
依存関係が解決しました。
====================================================================================================
 パッケージ                    アーキテクチャー   バージョン                 リポジトリー     サイズ
====================================================================================================
インストール:
 clamav                        x86_64             0.103.8-3.el8              epel             339 k
 clamav-update                 x86_64             0.103.8-3.el8              epel             131 k
 clamd                         x86_64             0.103.8-3.el8              epel             126 k
依存関係のインストール:
 clamav-filesystem             noarch             0.103.8-3.el8              epel              47 k
 clamav-lib                    x86_64             0.103.8-3.el8              epel             863 k
 libprelude                    x86_64             5.2.0-1.el8                epel             326 k

トランザクションの概要
====================================================================================================
インストール  6 パッケージ

ダウンロードサイズの合計: 1.8 M
インストール後のサイズ: 169 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/6): clamav-filesystem-0.103.8-3.el8.noarch.rpm                   539 kB/s |  47 kB     00:00
(2/6): clamav-update-0.103.8-3.el8.x86_64.rpm                       2.0 MB/s | 131 kB     00:00
(3/6): clamav-0.103.8-3.el8.x86_64.rpm                              1.7 MB/s | 339 kB     00:00
(4/6): clamd-0.103.8-3.el8.x86_64.rpm                               2.0 MB/s | 126 kB     00:00
(5/6): clamav-lib-0.103.8-3.el8.x86_64.rpm                          3.6 MB/s | 863 kB     00:00
(6/6): libprelude-5.2.0-1.el8.x86_64.rpm                            3.5 MB/s | 326 kB     00:00
----------------------------------------------------------------------------------------------------
合計                                                                2.0 MB/s | 1.8 MB     00:00
Extra Packages for Enterprise Linux 8 - x86_64                      1.6 MB/s | 1.6 kB     00:00
GPG 鍵 0x2F86D6A1 をインポート中:
 Userid     : "Fedora EPEL (8) <epel@fedoraproject.org>"
 Fingerprint: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                            1/1
  インストール中   : libprelude-5.2.0-1.el8.x86_64                                              1/6
  scriptletの実行中: libprelude-5.2.0-1.el8.x86_64                                              1/6
  インストール中   : clamav-lib-0.103.8-3.el8.x86_64                                            2/6
  scriptletの実行中: clamav-filesystem-0.103.8-3.el8.noarch                                     3/6
  インストール中   : clamav-filesystem-0.103.8-3.el8.noarch                                     3/6
  インストール中   : clamav-update-0.103.8-3.el8.x86_64                                         4/6
  scriptletの実行中: clamav-update-0.103.8-3.el8.x86_64                                         4/6
  インストール中   : clamav-0.103.8-3.el8.x86_64                                                5/6
  scriptletの実行中: clamav-0.103.8-3.el8.x86_64                                                5/6
  scriptletの実行中: clamd-0.103.8-3.el8.x86_64                                                 6/6
  インストール中   : clamd-0.103.8-3.el8.x86_64                                                 6/6
  scriptletの実行中: clamd-0.103.8-3.el8.x86_64                                                 6/6
  検証             : clamav-0.103.8-3.el8.x86_64                                                1/6
  検証             : clamav-filesystem-0.103.8-3.el8.noarch                                     2/6
  検証             : clamav-lib-0.103.8-3.el8.x86_64                                            3/6
  検証             : clamav-update-0.103.8-3.el8.x86_64                                         4/6
  検証             : clamd-0.103.8-3.el8.x86_64                                                 5/6
  検証             : libprelude-5.2.0-1.el8.x86_64                                              6/6

インストール済み:
  clamav-0.103.8-3.el8.x86_64                   clamav-filesystem-0.103.8-3.el8.noarch
  clamav-lib-0.103.8-3.el8.x86_64               clamav-update-0.103.8-3.el8.x86_64
  clamd-0.103.8-3.el8.x86_64                    libprelude-5.2.0-1.el8.x86_64

完了しました!

手順② ウィルス定義ファイルの更新

更新用の設定ファイル変更

vi /etc/freshclam.conf
[root@SV-ALTAIR ~]# vi /etc/freshclam.conf
148 # Send the RELOAD command to clamd.
149 # Default: no
150 #NotifyClamd /path/to/clamd.conf
151 NotifyClamd /etc/clamd.d/scan.conf  ★★追記

ウィルス定義ファイルの更新

freshclam
[root@SV-ALTAIR ~]# freshclam
ClamAV update process started at Wed Jun 21 15:16:00 2023
daily database available for download (remote version: 26945)
Time:    8.0s, ETA:    0.0s [========================>]   58.69MiB/58.69MiB
Testing database: '/var/lib/clamav/tmp.dcbd6bccb0/clamav-864d8c3c5a02b5c8e0d0959c90f5a665.tmp-daily.cvd' ...
Database test passed.
daily.cvd updated (version: 26945, sigs: 2037537, f-level: 90, builder: raynman)
main database available for download (remote version: 62)
Time:   17.4s, ETA:    0.0s [========================>]  162.58MiB/162.58MiB
Testing database: '/var/lib/clamav/tmp.dcbd6bccb0/clamav-7228a57029c98301ae659e703a2c4d46.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.dcbd6bccb0/clamav-10f7fb776b9b0b666054827c408cd761.tmp-bytecode.cvd' ...
Database test passed.
bytecode.cvd updated (version: 334, sigs: 91, f-level: 90, builder: anvilleg)
ERROR: NotifyClamd: No communication socket specified in /etc/clamd.d/scan.conf
ERROR: Can't send to clamd: Socket operation on non-socket

手順③ エラーが出ているので設定変更

vi /etc/clamd.d/scan.conf
[root@SV-VEGA tmp]# vi /etc/clamd.d/scan.conf
94 # Path to a local socket file the daemon will listen on.
95 # Default: disabled (must be specified by a user)
96 LocalSocket /run/clamd.scan/clamd.sock  ★★コメント解除して有効化
217 # Run as another user (clamd must be started by root for this option to work)
218 # Default: don't drop privileges
219 #User clamscan   ★★コメントアウトして無効化

手順④ 自動起動の設定

systemctl enable clamd@scan
systemctl start clamd@scan
[root@SV-ALTAIR ~]# systemctl enable clamd@scan
Created symlink /etc/systemd/system/multi-user.target.wants/clamd@scan.service → /usr/lib/systemd/system/clamd@.service.
[root@SV-ALTAIR ~]# systemctl start clamav-freshclam
[root@SV-ALTAIR ~]# systemctl status clamd@scan
● clamd@scan.service - clamd scanner (scan) daemon
   Loaded: loaded (/usr/lib/systemd/system/clamd@.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-06-21 15:22:45 JST; 13s ago
     Docs: man:clamd(8)
           man:clamd.conf(5)
           https://www.clamav.net/documents/
  Process: 6372 ExecStart=/usr/sbin/clamd -c /etc/clamd.d/scan.conf (code=exited, status=0/SUCCESS)
 Main PID: 6373 (clamd)
    Tasks: 2 (limit: 12340)
   Memory: 1.2G
   CGroup: /system.slice/system-clamd.slice/clamd@scan.service
           mq6373 /usr/sbin/clamd -c /etc/clamd.d/scan.conf

 621 15:22:45 SV-ALTAIR clamd[6373]: ELF support enabled.
 621 15:22:45 SV-ALTAIR clamd[6373]: Mail files support enabled.
 621 15:22:45 SV-ALTAIR clamd[6373]: OLE2 support enabled.
 621 15:22:45 SV-ALTAIR clamd[6373]: PDF support enabled.
 621 15:22:45 SV-ALTAIR clamd[6373]: SWF support enabled.
 621 15:22:45 SV-ALTAIR clamd[6373]: HTML support enabled.
 621 15:22:45 SV-ALTAIR clamd[6373]: XMLDOCS support enabled.
 621 15:22:45 SV-ALTAIR clamd[6373]: HWP3 support enabled.
 621 15:22:45 SV-ALTAIR clamd[6373]: Self checking every 600 seconds.
 621 15:22:45 SV-ALTAIR systemd[1]: Started clamd scanner (scan) daemon.
systemctl enable clamav-freshclam
systemctl start clamav-freshclam
[root@SV-ALTAIR ~]# systemctl enable clamav-freshclam
Created symlink /etc/systemd/system/multi-user.target.wants/clamav-freshclam.service → /usr/lib/systemd/system/clamav-freshclam.service.
[root@SV-ALTAIR ~]# systemctl start clamav-freshclam
[root@SV-ALTAIR ~]# systemctl status clamav-freshclam
● clamav-freshclam.service - ClamAV virus database updater
   Loaded: loaded (/usr/lib/systemd/system/clamav-freshclam.service; enabled; vendor preset: disabl>
   Active: active (running) since Wed 2023-06-21 15:23:57 JST; 20s ago
     Docs: man:freshclam(1)
           man:freshclam.conf(5)
           https://docs.clamav.net/
 Main PID: 6401 (freshclam)
    Tasks: 1 (limit: 12340)
   Memory: 8.7M
   CGroup: /system.slice/clamav-freshclam.service
           mq6401 /usr/bin/freshclam -d --foreground=true

 621 15:23:57 SV-ALTAIR systemd[1]: Started ClamAV virus database updater.
 621 15:23:57 SV-ALTAIR freshclam[6401]: ClamAV update process started at Wed Jun 21 15:23:57 20>
 621 15:23:57 SV-ALTAIR freshclam[6401]: daily.cvd database is up-to-date (version: 26945, sigs:>
 621 15:23:57 SV-ALTAIR freshclam[6401]: main.cvd database is up-to-date (version: 62, sigs: 664>
 621 15:23:57 SV-ALTAIR freshclam[6401]: bytecode.cvd database is up-to-date (version: 334, sigs>

手順⑤ テスト

clamdscan -c /etc/clamd.d/scan.conf --remove
[root@SV-ALTAIR ~]# clamdscan -c /etc/clamd.d/scan.conf --remove
/root: OK

----------- SCAN SUMMARY -----------
Infected files: 0
Time: 0.073 sec (0 m 0 s)
Start Date: 2023:06:21 15:25:30
End Date:   2023:06:21 15:25:30

手順⑥ cronで日次スケジュール実行の設定

vi /etc/cron.daily/clamdscan
[root@SV-ALTAIR ~]# cat /etc/cron.daily/clamdscan
#!/bin/bash

# 設定ファイル
CONFIG=/etc/clamd.d/scan.conf

# スキャン実行
# ※ウイルス検知時は隔離ディレクトリへ隔離
CLAMSCANLOG=`mktemp`
QUARANTINEDIR=/tmp/clamdscan-quarantinedir-$(date +%Y%m%d)
mkdir -p ${QUARANTINEDIR}
clamdscan -c ${CONFIG} --move=${QUARANTINEDIR} / > ${CLAMSCANLOG} 2>&1

# ウイルス検知時のみroot宛にメール通知
if [ -z "$(grep FOUND$ ${CLAMSCANLOG})" ]; then
    rm -rf ${QUARANTINEDIR}
else
    grep -A 1 FOUND$ ${CLAMSCANLOG} | mail -s "Virus Found in `hostname` => ${QUARANTINEDIR}" root
fi

# スキャンログをシスログに出力
cat ${CLAMSCANLOG} | logger -t $(basename ${0})
rm -f ${CLAMSCANLOG}

実行権限追加

[root@SV-ALTAIR ~]# chmod +x /etc/cron.daily/clamdscan

除外ディレクトリ設定

[root@SV-ALTAIR ~]# echo ExcludePath ^/tmp/clamdscan-quarantinedir-.*/ >> /etc/clamd.d/scan.conf
[root@SV-ALTAIR ~]# echo ExcludePath ^/proc/ >> /etc/clamd.d/scan.conf
[root@SV-ALTAIR ~]# echo ExcludePath ^/sys/ >> /etc/clamd.d/scan.conf

設定変更後の再起動

[root@SV-ALTAIR ~]# systemctl restart clamd@scan

参考にしたページ

centossrv.com

参考書籍

Rocky Linux & AlmaLinux実践ガイド

LinuxにおけるITプロ向け定番書籍がRocky Linux 8 & AlmaLinux 8に対応
Rocky Linux 8 & AlmaLinux 8の運用管理にかかわるシステム管理者を対象に、
システム管理の基礎、ネットワーク、ストレージ、パフォーマンスチューニング、
バックアップ、障害対応など、
IT現場で役立つ幅広いシステム管理手法を網羅しています。
Rocky Linux 8 & AlmaLinux 8.5対応

Rocky Linux & AlmaLinux実践ガイド
impress top gearシリーズ