・AlmaLinux8.8にウィルス対策ソフト「Clam AntiVirus」をインストールする手順を知りたい。
・具体的な手順を分かりやすく教えてほしい。
こういった疑問に答えます。
本記事の内容
- AlmaLinux8.8にウィルス対策ソフト「Clam AntiVirus」をインストールする手順
この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。
こういった私が、解説していきます。
私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。
AlmaLinux8.8にウィルス対策ソフト「Clam AntiVirus」をインストールする手順
手順① epelリポジトリの追加
dnf install epel-release
[root@SV-ALTAIR ~]# dnf install epel-release メタデータの期限切れの最終確認: 2:37:52 前の 2023年06月21日 12時33分41秒 に実施しました。 依存関係が解決しました。 ==================================================================================================== パッケージ アーキテクチャー バージョン リポジトリー サイズ ==================================================================================================== インストール: 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 6月 21 15:22:45 SV-ALTAIR clamd[6373]: ELF support enabled. 6月 21 15:22:45 SV-ALTAIR clamd[6373]: Mail files support enabled. 6月 21 15:22:45 SV-ALTAIR clamd[6373]: OLE2 support enabled. 6月 21 15:22:45 SV-ALTAIR clamd[6373]: PDF support enabled. 6月 21 15:22:45 SV-ALTAIR clamd[6373]: SWF support enabled. 6月 21 15:22:45 SV-ALTAIR clamd[6373]: HTML support enabled. 6月 21 15:22:45 SV-ALTAIR clamd[6373]: XMLDOCS support enabled. 6月 21 15:22:45 SV-ALTAIR clamd[6373]: HWP3 support enabled. 6月 21 15:22:45 SV-ALTAIR clamd[6373]: Self checking every 600 seconds. 6月 21 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 6月 21 15:23:57 SV-ALTAIR systemd[1]: Started ClamAV virus database updater. 6月 21 15:23:57 SV-ALTAIR freshclam[6401]: ClamAV update process started at Wed Jun 21 15:23:57 20> 6月 21 15:23:57 SV-ALTAIR freshclam[6401]: daily.cvd database is up-to-date (version: 26945, sigs:> 6月 21 15:23:57 SV-ALTAIR freshclam[6401]: main.cvd database is up-to-date (version: 62, sigs: 664> 6月 21 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
参考にしたページ
参考書籍
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シリーズ |