「インストール - Clam AntiVirus」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
154行目: 154行目:
  sudo mkdir -p /usr/lib/perl5/vendor_perl/5.26.1/ClamTk
  sudo mkdir -p /usr/lib/perl5/vendor_perl/5.26.1/ClamTk
  sudo cp lib/*.pm /usr/lib/perl5/vendor_perl/5.26.1/ClamTk
  sudo cp lib/*.pm /usr/lib/perl5/vendor_perl/5.26.1/ClamTk
sudo chmod go+r /usr/lib/perl5/vendor_perl/5.26.1/ClamTk/App.pm \
                /usr/lib/perl5/vendor_perl/5.26.1/ClamTk/Schedule.pm
<br>
<br>
ClamTKの画像ファイルを、/usr/share/pixmapsディレクトリにコピーする。<br>
ClamTKの画像ファイルを、/usr/share/pixmapsディレクトリにコピーする。<br>

2023年5月31日 (水) 08:46時点における版

概要

Clam AntiVirus(Clam AV)は、オープンソースのクロスプラットフォームのウイルス対策ソフトであり、
ウイルスを含む様々な種類の悪意のあるソフトウェアを検出できるツールキットである。

Clam AntiVirusにおける最も一般的な使い方は、メールサーバ上でのサーバサイドメールウイルススキャナである。
また、Clam AntiVirusには、コマンドラインスキャナ、データベースの自動更新機能、アンチウィルスエンジン上で動作するスケーラブルなマルチスレッドデーモン等が含まれている。

メールゲートウェイのスキャンソフトとして広く使用されており、
Clam AntiVirusには、マルチスレッドのスキャナデーモン、オンデマンドのファイルスキャン用のコマンドラインユーティリティ、自動シグネチャアップデートが含まれている。


Clam AntiVirusのインストール

パッケージ管理システムからインストール

以下のコマンドを入力して、Clam AntiVirusをインストールする。

# CentOS
sudo yum --enablerepo=epel install clamav clamav-update    # Clam AntiVirusをEPELからインストール

# SUSE
sudo zypper install pcre-devel clamav clamav-database clamav-nodb clamz


Clam AntiVirusのインストール完了後、Clam AntiVirusの設定ファイルを以下のように編集する。

sudo sed -i -e "s/^Example/#Example/" /etc/freshclam.conf  # Exampleから始まる行をコメントアウト


CentOSの場合、Clam AntiVirusのウイルスデータベースの自動更新を実施しないようにするため、FRESHCLAM_DELAY項目をdisabled-warnに設定する。

sudo vi /etc/sysconfig/freshclam


# /etc/sysconfig/freshclamファイル

FRESHCLAM_DELAY=disabled-warn


ソースコードからインストール

Clam AntiVirusのビルドに必要な依存関係のライブラリをインストールする。

# CentOS
sudo yum install libcurl-devel libjson-c-devel libmilter1_0 libxml2-devel pcre-devel pcre2-devel libopenssl-devel

# SUSE
sudo zypper install valgrind-devel libbz2-devel check-devel libcjson1 cJSON-devel libjson-c-devel libcjson1 libcurl-devel libxml2-devel \
                    libbz2-devel check-devel python3-pytest ncurses-devel libopenssl-devel pcre-devel pcre2-devel sendmail-devel \
                    zlib-devel libmspack-devel libmilter1_0 systemd-devel cargo rust-cbindgen


Clam AntiVirusの公式Webサイトにアクセスして、Clam AntiVirusのソースコードをダウンロードする。

ダウンロードしたClam AntiVirusを解凍して、ビルド向けディレクトリを作成する。

tar xf clamav-<バージョン名>.tar.gz

cd clamav-<バージョン名>
mkdir build && cd build


Clam AntiVirusをビルドおよびインストールする。

../configure --prefix=<Clam AntiVirusのインストールディレクトリ> \
  --disable-clamav --with-systemdsystemunitdir=no  # ホームディレクトリにインストールする場合
make -j $(nproc)
sudo make install

# または

cmake -DCMAKE_INSTALL_PREFIX=<Clam AntiVirusのインストールディレクトリ> \
      -DCMAKE_BUILD_TYPE=Release -DENABLE_MILTER=OFF -DENABLE_SYSTEMD=ON ..
cmake --build . --config Release -j $(nproc)
sudo cmake --build . --config Release --target install


スーパユーザ権限でmake installコマンドを実行する理由は、/usr/lib/systemd/systemディレクトリにClamAVのデーモンを作成する必要があるからである。
そのため、Clam AntiVirusのインストールディレクトリに対して、以下のコマンドを実行する。

sudo chown -R <ユーザ名>:<ユーザのグループ名> <Clam AntiVirusのインストールディレクトリ>


次に、/<Clam AntiVirusのインストールディレクトリ>/etcディレクトリにあるclamd.conf.sampleファイルとfreshclam.conf.sampleファイルを元に、
clamd.confファイルとfreshclam.confファイルを作成する。

cp clamd.conf.sample clamd.conf
cp freshclam.conf.sample freshclam.conf


最後に、clamd.confファイルとfreshclam.confファイルを以下のように編集する。

sed -i -e "s/^Example/#Example/" /<Clam AntiVirusのインストールディレクトリ>/clamd.conf  # Exampleから始まる行をコメントアウト
sed -i -e "s/^Example/#Example/" /<Clam AntiVirusのインストールディレクトリ>/freshclam.conf  # Exampleから始まる行をコメントアウト


最後に、ビルドディレクトリにあるinstall_manifest.txtファイルを、Clam AntiVirusのインストールディレクトリにコピーする。

cp install_manifest.txt <ClamAVのインストールディレクトリ>


ソースコードからインストールしたClam AntiVirusをアンインストールする場合、上記のinstall_manifest.txtファイルを使用する。

cd <Clam AntiVirusのインストールディレクトリ>

xargs rm < install_manifest.txt
# または
sudo xargs rm < install_manifest.txt



ウイルスのパターンファイルの更新

Clam AntiVirusのウイルスの定義を更新する。

sudo freshclam



ウイルススキャンの実行

動作確認として、ウイルススキャンを実行する。

sudo clamscan --infected --remove --recursive /home

# スキャン結果
----------- SCAN SUMMARY -----------
Known viruses: 3575245
Engine version: 0.98.4
Scanned directories: 2
Scanned files: 3
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 10.369 sec (0 m 10 s)


また、無害ウイルスを使用したウイルススキャンを試すこともできる。
お試しの無害ウィルスをダウンロードする。

sudo curl -O http://www.eicar.org/download/eicar.com


ウイルススキャンを実行する。

sudo clamscan --infected --remove --recursive .

# スキャン結果
./eicar.com: Eicar-Test-Signature FOUND
./eicar.com: Removed.     # 無害ウィルスが検出された
----------- SCAN SUMMARY -----------
Known viruses: 3575245
Engine version: 0.98.4
Scanned directories: 3
Scanned files: 10
Infected files: 1
Data scanned: 0.00 MB
Data read: 256.57 MB (ratio 0.00:1)
Time: 10.307 sec (0 m 10 s)


以下の例では、指定したディレクトリを再帰的にスキャンしている。この時、スキャンするファイルサイズの上限は10[MB]である。

sudo clamscan -r --bell --max-filesize=10M ~/Downloads



ClamTKのインストール

パッケージ管理システムからインストール

# CentOS
sudo yum install clamtk

# SUSE
sudo zypper install clamtk


ソースコードからインストール

ClamTKを実行するために必要なライブラリをインストールする。

sudo zypper install perl-Cairo perl-Cairo-GObject perl-Encode perl-ExtUtils-Depends perl-ExtUtils-PkgConfig perl-Glib \
                    perl-Glib-Object-Introspection perl-Gtk3 perl-JSON perl-JSON-XS perl-Text-CSV perl-Text-CSV_XS \
                    perl-Types-Serialiser perl-common-sense typelib-1_0-GdkPixdata-2_0


ClamTKのGithubにアクセスして、ClamTKをダウンロードする。
または、Gitコマンドを使用してダウンロードする。

tar xf clamtk-<バージョン>.tar.xz
cd clamtk-<バージョン>
# または
git clone https://github.com/dave-theunsub/clamtk.git clamtk
cd clamtk


/usr/lib/perl5/vendor_perl/<Perlのバージョン>/ClamTkディレクトリを作成して、
ダウンロードしたファイルのlibディレクトリ内にあるファイルを、/usr/lib/perl5/vendor_perl/<Perlのバージョン>/ClamTkディレクトリにコピーする。

sudo mkdir -p /usr/lib/perl5/vendor_perl/5.26.1/ClamTk
sudo cp lib/*.pm /usr/lib/perl5/vendor_perl/5.26.1/ClamTk
sudo chmod go+r /usr/lib/perl5/vendor_perl/5.26.1/ClamTk/App.pm \
                /usr/lib/perl5/vendor_perl/5.26.1/ClamTk/Schedule.pm


ClamTKの画像ファイルを、/usr/share/pixmapsディレクトリにコピーする。

sudo cp images/clamtk.png /usr/share/pixmaps/


ClamTKの実行ファイルに実行権限を付加して、/usr/binディレクトリにコピーする。

sudo cp clamtk /usr/bin/
sudo chmod +x /usr/bin/clamtk


ClamTKのデスクトップエントリファイルを作成する。

vi ~/local/share/applications/ClamTK.desktop


# ~/local/share/applications/ClamTK.desktopファイル

[Desktop Entry]
Type=Application
Name=ClamTk
GenericName=Virus Scanner
GenericName[ja]=ウイルススキャナ
Comment=Scan for threats...
Comment[ja]=ウィルスをスキャンします..
TryExec=/usr/bin/clamtk
Exec=/usr/bin/clamtk %F
Icon=clamtk
Categories=GTK;GNOME;Utility;
Keywords=antivirus;virus;malware;scan;scanner;
Terminal=false
StartupNotify=true


ClamTKを日本語化する場合、ClamTKのGithubにアクセスして、clamtk-<バージョン>.el8.noarch.rpmをダウンロードする。
ダウンロードしたRPMファイルを展開する。
/<展開したディレクトリ>/usr/share/locale/ja/LC_MESSAGES/clamtk.moファイルを、/usr/share/locale/ja/LC_MESSAGESディレクトリにコピーする。

sudo cp /<展開したディレクトリ>/usr/share/locale/ja/LC_MESSAGES/clamtk.mo /usr/share/locale/ja/LC_MESSAGES


もし、ClamTKの実行時において、Perlファイルのパーミッションでエラーが出力される場合は、グループとその他のユーザに対して読み込み権限を付加する。

sudo chmod go+r /usr/lib/perl5/vendor_perl/ClamTk/*