Linuxサーバにアンチウィルス対策ソフトウェアをインストール

Linuxサーバにアンチウィルス対策ソフトウェアをインストールしてみます

Linuxサーバでは、それほどウィルス感染したという話は聞かないですが、デスクトップでLinuxを使っている企業というのが、それほど多く無いというだけではないかと思っています。
ファイルサーバやWebサーバとして、Linuxサーバを使用していることは多いのではないでしょうか?

「KORKERDS」をコピーしたLinux向け仮想通貨発掘マルウェアを確認、その他のマルウェアやプロセスを停止しリソースを占有
https://blog.trendmicro.co.jp/archives/20345

を狙う仮想通貨発掘マルウェアを確認、ルートキットを利用し活動を隠ぺい
https://blog.trendmicro.co.jp/archives/19844

脆弱性「SambaCry」を利用するLinuxマルウェアを新たに確認。Linux 利用者は至急更新を
https://blog.trendmicro.co.jp/archives/15470

使用しているLinuxサーバにMalwareに感染したWindowsクライアントからファイルを保存されて、Linuxサーバを経由して、別のWindowsクライアントに感染する可能性もあるのではないと思います。

参考情報ですが、セキュリティ対策ソフトをリリースしているシマンテックの公開情報がありました。

Linux にウイルス対策は本当に必要なのか?
https://www.websecurity.symantec.com/ja/jp/security-topics/do-we-really-need-antivirus-linux

Linuxサーバ用アンチウィルス対策ソフトウェア

無償版があるのは Sophos Anti-Virus for Linuxと ClamAV(OpenSoruceSoftware)

ほとんどの製品は、有償なのですが、Sophos Anti-Virus for Linuxには、無償で使用できるバージョンがあるようなので、こちらを試しに使ってみようかと思います。

Sophos AntiVirus for Linux 公式サイト
https://www.sophos.com/ja-jp/products/free-tools/sophos-antivirus-for-linux.aspx

ClamAV公式サイト
http://www.clamav.net/
ClamAVのページ
https://clamav-jp.osdn.jp/

Sophos Anti-Virus for Linux システム要件

必要最低のシステム要件が公開されています。

対応ディストリビューション (最新のマイナーバージョンまたは LTS バージョン)
Amazon Linux、Amazon Linux 2
6/7
Debian 8/9
Novell Open Enterprise Server 2015 SP1
Oracle Linux 6/7
Red Hat Enterprise Linux 6/7
SUSE 11/12/15
Ubuntu 14/16/18
システムの種類: x86_64
ライブラリバージョン: GNU C Library (Glibc) 2.11 以降
カーネルバージョン: Kernel 2.6.32 以降
空きディスク容量: 1 GB
空きメモリ容量: 1 GB
スタックのサイズ: デフォルトのスタックサイズを変更することはサポートされていません。
言語バージョン: 英語および日本語 (EUC および UTF-8): Shift JIS および JIS はサポートされていません。
Docker コンテナへの対応については、次をご覧ください。Sophos Anti-Virus for Linux: Docker コンテナへのサポート

出典: Sophos Anti-Virus for Linux: システム要件
https://community.sophos.com/kb/ja-jp/16819

ClamAVのSupported platforms

Supported platforms等が公開されています。

Clam AntiVirus is highly cross-platform. The development team cannot test every OS, so we have chosen to test ClamAV using the two most recent Long Term Support (LTS) versions of each of the most popular desktop operating systems. Our regularly tested operating systems include:

  • GNU/Linux
    • Ubuntu
      • 16.04
      • 18.04
    • Debian
      • 7
      • 8
    • CentOS
      • 6
      • 7
  • UNIX
    • Solaris
      • 11
    • FreeBSD
      • 10
      • 11
    • macOS
      • 10.13 (High Sierra)
      • 10.14 (Mojave)
  • Windows
    • 7
    • 10

ClamAVのRecommended System Requirements

The following minimum recommended system requirements are for using clamscan or clamd and clamdscan binaries with the standard ClamAV signature database provided by Cisco.

Minimum recommended RAM:

  • FreeBSD and Linux server edition: 1 GiB+
  • Linux non-server edition: 2 GiB+
  • Windows 7 & 10 32-bit: 2 GiB+
  • Windows 7 & 10 64-bit: 3 GiB+
  • macOS: 3 GiB+

Minimum recommended CPU:

  • FreeBSD and Linux systems: 1 CPU 2.0 Ghz+
  • Windows 7 & 10: 1 CPU 2.0 Ghz+
  • OSX: 2 CPUs at 2.0 Ghz+

Minimum available hard disk space required:

For the ClamAV application we recommend having 5 GB of free space available. This recommendation is in addition to the recommended disk space for each OS.

Please note: The tests to determine these minimum requirements were performed on systems that were not running other applications. If other applications are being run on the system, additional resources will be required in addition to our recommended minimums.

ClamAVをインストールしてみます

特に機能を比較してという訳ではありませんが、Sophos Anti-Virus for Linux ダウンロードまでに登録などがいくつかあるので、面倒になってClamAVを選んだだけです。
ここでインストールする環境は、CentOS 7.6 です。

インストール方法は、公式サイトに紹介されているものと、yum を使用するものがあるようです。

Installation on Redhat and CentOS Linux Distributions
https://www.clamav.net/documents/installation-on-redhat-and-centos-linux-distributions
Linuxアンチウイルスソフト ClamAV
https://qiita.com/bezeklik/items/4696e15c889ffff6bc41

ここでは、yum を使用してインストールします。

epel リポジトリをインストール

[root@centos7-101 ~]# yum repolist
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
リポジトリー ID                               リポジトリー名                                  状態
!base/7/x86_64                                CentOS-7 - Base                                 10,019
!extras/7/x86_64                              CentOS-7 - Extras                                  386
!updates/7/x86_64                             CentOS-7 - Updates                               1,580
repolist: 11,985

[root@centos7-101 ~]# yum install epel-release
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ epel-release.noarch 0:7-11 を 
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                     アーキテクチャー      バージョン           リポジトリー           容量
====================================================================================================
インストール中:
 epel-release                noarch                7-11                 extras                 15 k

トランザクションの要約
====================================================================================================
  1 パッケージ

総ダウンロード容量: 15 k
インストール容量: 24 k
Is this ok [y/d/N]: y
Downloading packages:
epel-release-7-11.noarch.rpm                                                 |  15 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : epel-release-7-11.noarch                                            1/1 
  検証中                  : epel-release-7-11.noarch                                            1/1 

:
  epel-release.noarch 0:7-11                                                                        

完了しました!

ClamAV をインストール

ClamAV はいくつかのパッケージに分かれているようですが、次のパッケージをインストールすることで、依存関係のあるパッケージがインストールされるようです。

yum install clamav clamav-scanner-systemd
[root@centos7-101 ~]# yum install clamav clamav-scanner-systemd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ clamav.x86_64 0:0.101.2-1.el7 を インストール
--> 依存性の処理をしています: clamav-lib = 0.101.2-1.el7 のパッケージ: clamav-0.101.2-1.el7.x86_64

** 長いので略 **

====================================================================================================
 Package                          アーキテクチャー バージョン                  リポジトリー    容量
====================================================================================================
インストール中:
 clamav                           x86_64           0.101.2-1.el7               epel           390 k
 clamav-scanner-systemd           x86_64           0.101.2-1.el7               epel            26 k
依存性関連でのインストールをします:
 clamav-filesystem                noarch           0.101.2-1.el7               epel            27 k
 clamav-lib                       x86_64           0.101.2-1.el7               epel           774 k
 clamav-update                    x86_64           0.101.2-1.el7               epel           102 k
 clamd                            x86_64           0.101.2-1.el7               epel           121 k
 libtool-ltdl                     x86_64           2.4.2-22.el7_3              base            49 k
 pcre2                            x86_64           10.23-2.el7                 base           201 k

トランザクションの要約
====================================================================================================
インストール  2 パッケージ (+6 個の依存関係のパッケージ)

総ダウンロード容量: 1.7 M
インストール容量: 4.7 M
Is this ok [y/d/N]: y
Downloading packages:
警告: /var/cache/yum/x86_64/7/epel/packages/clamav-0.101.2-1.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 352c64e5: NOKEY
clamav-0.101.2-1.el7.x86_64.rpm の公開鍵がインストールされていません
(1/8): clamav-0.101.2-1.el7.x86_64.rpm                                       | 390 kB  00:00:00     

インストール:
  clamav.x86_64 0:0.101.2-1.el7            clamav-scanner-systemd.x86_64 0:0.101.2-1.el7           

** 長いので略 **

依存性関連をインストールしました:
  clamav-filesystem.noarch 0:0.101.2-1.el7             clamav-lib.x86_64 0:0.101.2-1.el7            
  clamav-update.x86_64 0:0.101.2-1.el7                 clamd.x86_64 0:0.101.2-1.el7                 
  libtool-ltdl.x86_64 0:2.4.2-22.el7_3                 pcre2.x86_64 0:10.23-2.el7                   

完了しました!

daemon の設定

clamdの設定ファイルscan.confを編集します。編集前にオリジナルをコピーしておきます。

[root@centos7-101 clamd.d]# ll
合計 24
-rw-r--r--. 1 root root 23654  3月 28 10:57 scan.conf
[root@centos7-101 clamd.d]# cp -p scan.conf scan.conf.org
[root@centos7-101 clamd.d]# ll
合計 48
-rw-r--r--. 1 root root 23654  3月 28 10:57 scan.conf
-rw-r--r--. 1 root root 23654  3月 28 10:57 scan.conf.org

とりあえず編集してみた箇所

  • Exampleをコメントアウトします
  • LogFile /var/log/clamd.scanのコメントアウトを外します
  • LogFileMaxSize 2Mのコメントアウトを外します
  • LogRotate yesのコメントアウトを外します
  • LocalSocket /var/run/clamd.scan/clamd.sock
  • User clamscanをUser rootに変更します

clamdを再起動します。

# systemctl start clamd@scan

なにやらエラーで開始できない。

[root@centos7-101 ~]# systemctl start clamd@scan
Job for clamd@scan.service failed because the control process exited with error code. See "systemctl status clamd@scan.service" and "journalctl -xe" for details.

再度、scan.confを編集してみました。

  • LogVerbose yesのコメントアウトを外しました
  • FixStaleSocket yesのコメントアウトを外しました
  • ExcludePathのコメントアウトを外しました
  • PidFile /var/run/clamd.scan/clamd.pid

/etc/freshclam.confも同様に変更してみました。

直後は動作して、手動検索なども実行できましたが、再起動したら動かなくなってしまいました。現在は停滞している状態です。中途半端で申し訳ありません。

CentOSで自宅サーバー構築 様のサイトなどを参考にすると良いかと思います。
アンチウイルスソフト導入(Clam AntiVirus)
https://centossrv.com/clamav.shtml