clamav(ウイルス検出)
Linuxだからといってウイルスが居ないわけじゃない。
ただ、Linuxを使う人が少ないからウイルスを作る人が少ないだけで・・・
こんぴゅーたーういるすは、
「1匹居たらPCをフォーマット♪」とまで言われる嫌われ者です。
Winでウイルスにかかった人はもとより、
アンチウイルスソフトがないと夜も眠れないという人、
ウイルスが怖いのでパソコンをやめたという人(実在する)、
Winが不正終了するたびにウイルスにかかったとびびる人、
そんな人たちにお勧めな、フリーで使える(申請の必要も無い)アンチウイルスソフトです。
まぁ、いろいろ使えるみたいですし・・・
「clamav」
このソフトはWinのアンチウイルスソフトのように常駐監視するわけじゃないですし、
ましてや駆除・削除などもしません(を
ウイルスを見つけるだけのソフトです。
まぁ、見つけた後は削除するなりご自由にと言う感じでしょうか?
メール鯖と連携させてウイルス駆除(当然、ウイルスメールは削除or拒否する)したり、
他のソフトと連携して使うことのほうが多いようです。
まぁ、Linuxシステムを侵食するウイルスは少ないですから・・・
やること一覧 ・事前準備 ・インストール ・データベースの更新 ・使い方(簡単に)
関連ページ ・定期ウイルスチェックスクリプト
結構いろいろなソフトが必要になる。
片っ端から入れていこう。
その1)gmp(謎ソフト:電子署名関係のソフトらしい)
gmp-4.2.1.tar.gzを探してくる。
The GNU MP Bignum Library
Index of /pub/GNU/gmp
で、ユーザーのホームディレクトリにFFFTPで送る。
例のあれ
$ tar xvfz gmp-4.2.1.tar.gz $ cd gmp-4.2.1 $ ./configure --prefix=/usr $ make $ make check # make install 注:結構時間がかかる
$ tar xvfz curl-7.16.1.tar.gz $ cd curl-7.16.1 $ ./configure --prefix=/usr $ make $ make check # make installおまじない
# strip -p /usr/bin/curl
$ tar xvfz bc-1.06.tar.gz $ cd bc-1.06 $ ./configure --prefix=/usr $ make $ make check # make installおまじない
# cd /usr/bin # strip -p bc dcその4)check(謎ソフト)
$ wget http://downloads.sourceforge.net/check/check-0.9.5.tar.gz 参考:Check例のあれ
$ tar xvfz check-0.9.5.tar.gz $ cd check-0.9.5 $ ./configure --prefix=/usr $ make $ make check # make installインストールされるもの
[prefix]/include/check.h [prefix]/info/check.info [prefix]/lib/libcheck.* [prefix]/lib/pkgconfig/check.pc [prefix]/share/aclocal/check.m4 [prefix]/share/doc/check/その5)bzip2 and libbzip2(圧縮展開用ソフト)
$ wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz 参考:bzip2例のあれ
$ tar xvfz bzip2-1.0.6.tar.gz $ cd bzip2-1.0.6 $ make -f Makefile-libbz2_so $ make $ make check # make install PREFIX=/usr ライブラリの置き換え # cp libbz2.so.1.0 libbz2.so.1.0.6 /usr/lib/ # rm /usr/lib/libbz2.so /usr/lib/libbz2.so.0 /usr/lib/libbz2.so.1 # ln -s /usr/lib/libbz2.so.1.0.6 /usr/lib/libbz2.so # ln -s /usr/lib/libbz2.so.1.0.6 /usr/lib/libbz2.so.0 # ln -s /usr/lib/libbz2.so.1.0.6 /usr/lib/libbz2.so.1 (参考)6.36. Bzip2-1.0.5 bzip2-1.0.6インストールされるもの?
[prefix]/bin/ bunzip2 bzcmp bzegrep bzgrep bzip2recover bzmore bzcat bzdiff bzfgrep bzip2 bzless [prefix]/include/bzlib.h [prefix]/lib/libbz2.a [prefix]/man/man1/ bzcmp.1 bzdiff.1 bzegrep.1 bzfgrep.1 bzgrep.1 bzip2.1 bzless.1 bzmore.1おまじない
# strip -p /usr/bin/bunzip2 /usr/bin/bzip2その6)pcre(謎w):0.99.2あたりでデータベース更新時エラーが出るので。
$ wget https://ftp.pcre.org/pub/pcre/pcre-8.34.tar.gz 参考:PCRE - Perl Compatible Regular Expressions例のあれ
$ tar xvfz pcre-8.34.tar.gz $ cd pcre-8.34 $ ./configure --prefix=/usr $ make $ make check # make installインストールされるもの: install files list(default): use command is: ls -pR /usr/local >~/bin.txt
[prefix]/bin: pcre-config pcregrep pcretest [prefix]/include: pcre.h pcre_scanner.h pcre_stringpiece.h pcrecpp.h pcrecpparg.h pcreposix.h [prefix]/lib: libpcre.a libpcre.la libpcre.so* libpcrecpp.a libpcrecpp.la libpcrecpp.so* libpcreposix.a libpcreposix.la libpcreposix.so* [prefix]/lib/pkgconfig: libpcre.pc libpcrecpp.pc libpcreposix.pc [prefix]/share/doc/pcre: pcre-config.txt pcre.txt pcregrep.txt pcretest.txt [prefix]/share/doc/pcre/html/pcre*.html [prefix]/share/man/man1/pcre*.1 [prefix]/share/man/man3/pcre*.3 一部除く(正確にはリンクテキスト内を参照)「謎ソフト」
専用のユーザーを作る。
# groupadd -g 22 clamav # useradd -g clamav -u 22 -d /var/empty -s /bin/false clamavユーザーをロックする
# vipw または # vi /etc/passwd 変更点:! を * に書き換える
$ tar xvfz clamav-0.100.1.tar.gz $ cd clamav-0.100.1 $ ./configure --prefix=/usr $ wget http://kuro.crow2.net/enhance/data/manager.c.patch $ patch -p0 < manager.c.patch $ make $ make check # make install 注:やっぱりそれなりに時間がかかる 注:0.100.1からエラーでmakeがこけるのでfreshclam/manager.cの修正が必要 「変数?が宣言されていない」と言うエラーを吐くので無かったことにするパッチです(→荒療治)参考:clamav0.95以前からのアップデート場合は[prefix]/lib/の libclamav* libclamunrar* を削除する。
make check のログ(一部) ┃LibClamAV Error: magic_scandesc: Can't fstat descriptor 1835103789 ┃LibClamAV Warning: cli_unlink: failure - No such file or directory ┃LibClamAV Error: magic_scandesc: Can't fstat descriptor 1835103789 ┃LibClamAV Warning: cli_unlink: failure - No such file or directory ┃clamscan did not detect all testfiles correctly! ┃make[2]: *** [check-TESTS] Error 1 ┃make[1]: *** [check-am] Error 2 ┃make: *** [check-recursive] Error 1 注:他にもテスト中、clamd.shでFAILしたりする。参考:clamav0.98のmake checkでエラーが出る。
make check のログ(一部) ┃FAIL: check_clamav ┃PASS: check_freshclam.sh ┃PASS: check_sigtool.sh ┃SKIP: check_unit_vg.sh ┃PASS: check1_clamscan.sh ┃PASS: check2_clamd.sh ┃PASS: check3_clamd.sh ┃PASS: check4_clamd.sh ┃SKIP: check5_clamd_vg.sh ┃SKIP: check6_clamd_vg.sh ┃SKIP: check7_clamd_hg.sh ┃SKIP: check8_clamd_hg.sh ┃SKIP: check9_clamscan_vg.sh ┃======================================== ┃1 of 7 tests failed ┃(6 tests were not run) ┃See unit_tests/test-suite.log ┃Please report to http://bugs.clamav.net/ ┃======================================== ┃make[3]: *** [test-suite.log] Error 1 ┃make[3]: Leaving directory `/mnt/home/rutiferu/clamav-0.98/unit_tests' ┃make[2]: *** [check-TESTS] Error 2 ┃make[2]: Leaving directory `/mnt/home/rutiferu/clamav-0.98/unit_tests' ┃make[1]: *** [check-am] Error 2 ┃make[1]: Leaving directory `/mnt/home/rutiferu/clamav-0.98/unit_tests' ┃make: *** [check-recursive] Error 1インストールされるもの
[prefix]/bin/ clam* freshclam sigtool [prefix]/etc/ clamd.comf freshclam.conf [prefix]/include/clamav.h [prefix]/lib/ libclamav* libclamunrar* [prefix]/lib/pkgconfig/libclamav.pc [prefix]/sbin/clamd [prefix]/share/clamav/ [prefix]/share/man/man1/ clam* freshclam.1 sigtool.1 [prefix]/share/man/man5/ calmd.conf.5 freshclam.conf.5 [prefix]/share/man/man8/ clamav*おまじない
# cd /usr/bin # strip -p clamdscan clamscan freshclam sigtool clamconf # strip -p /usr/sbin/clamd初期設定とか
# vi /usr/etc/freshclam.conf
# vi /usr/etc/clamd.conf
(追加)
┃#Example
注:両方とも同じ変更
freshclamのログファイルを作成# touch /var/log/freshclam.log # chown clamav /var/log/freshclam.log「clamav」
ウイルス情報を格納しているデータベースの更新方法。
これをやらないとウイルスソフトも無用の長物(ちょっと言いすぎ)
# freshclam --quiet -l /var/log/freshclam.log
option | 説明など |
--quiet | 標準出力への表示を抑止する |
-l | ログファイルを作成(追記)する |
# crontab -e ┃3 */4 * * * freshclam -l /var/log/freshclam.log | grep WARNING 注:上記では毎日4時間ごとの3分にデータベースの更新確認をします「quiet」
簡単に使う方法をメモ。
スキャン方法(手動)
$ clamscan [-vr] pass..
option | 説明など |
-v | 詳細を出力する |
-r | 再帰的に検査する ディレクトリを指定すると指定したディレクトリ自身と そのサブディレクトリに存在するファイルを全て検査する |
戻るなら押せ!