【追記 9/11 11:10】
すみません。大事なことを書きもらしていました。
今回ご紹介したclamavはウィルスを検知する事はできますが、ウィルスバスターみたいに
自動的にウィルスを駆除したりする事はできません。検知したウィルスはログファイルに
場所が記録されるので、自分で該当のウィルスを削除したり駆除して下さい。
いつもの追記と雰囲気が違ってますが、気にしないで下さい。
今日も歯医者に通わないといけないのであわてていたりします・・・
もうね、虫歯になった親知らずを抜いたはいいけど、両隣りの歯が虫歯が移っているのが
判って、両方とも神経抜かないといけないのだそうです・・・トホホ。
1本直したと思ったら今度は2本直さないといけないなんて。
ちょっと朝から沈んでいます。。。
【追記 9/11 11:50】
えーと、昨日の夕方BIG-serverに繋がりにくい瞬間があったかと思いますが、
どうもデータセンター(PIE)で利用している回線の1つに繋がりにくい状況が
発生しまして、メインルータの方で別の回線に切り替わったのです。
で、日本の幾つかのプロバイダでもそれまでの経路が変わって、一部時間が
かかる様になったのかもしれません。
データセンターPIEでは昨年メインルータをBlackDiamondからFORCE10に変えたのですが、
このメインルータの方で利用している回線に繋がりにくい状況を検知すると、
ルータの中の小人さんたちがこんな感じで審議して、
【審議中】
∧,,∧ ∧,,∧
∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U ( ´・) (・` ) と ノ
u-u (l ) ( ノu-u
`u-u'. `u-u'
別回線に迂回する様に動きます。
PIEでは「Cogent」と「Global Crossing」を利用していまして、今回は後者の方に
繋がりにくい状況が発生して「Cogent」に迂回したのです。
当時の回線の状況が判るグラフが手に入ったので、ちょっとご紹介します。
[Cogent]

[Global crossing]

えーと、迂回が発生したのが日本時間で9/10 16:35 〜 16:45の間です。
米国時間に直すとサマータイム期間中なので、9/10 0:35 〜 0:45、となります。
もしかすると、判りにくいかもしれないのですが、ちょうど下のグラフで青線が下がった
タイミングで上のグラフの青線が跳ね上がっています。これが迂回です。
まあ、大きなデータセンターだと、このような仕組みを入れて通信が途切れない様に
手当している訳です。
追記はここまで。
それでは本編をお楽しみください。
どうも、('A`)です。
今日は夕方から親知らずの抜歯があるのです・・・・もうね、、、憂鬱
そうそう。前回の日記で書きましたが、社内サーバの1台が調子を悪くして設定を弄って
動くようにしたのですが、とうとう壊れちゃいました。
どうも色々調べてみるとHDDで読めない個所ができたらしくて、そこにアクセスにいくと
ダウンするみたい。
なので、昨日会社の中をうろうろして別のマシンを調達しました。
えーと以前日記第23日目でPolywellのSam社長から頂いた
miniサーバがありましたので、これを再インストールして壊れたサーバをリプレースしました。

壊れたサーバもHDDを交換すれば使えるのかなあ・・・でもIDEのHDD無いんだよなあ
で、今日はウィルス対策として「clamav」を社内サーバに入れてみたので
そのお話をしようかな、と。
今年の5月に、maido3.comのHPがウィルスに感染しちゃって、('A`)の日記にも
Javaスクリプトが埋め込まれて、トホホ・・・の事態になりました。
(当時の詳細についてはこちらにまとめています。)
んで、個人的にもなんとかしなきゃ、って心の隅に思っていたのです。
で、色々調べていたら、clamavというソフトがあるのを知りました。
FreeBSDでも提供されているので、ちょっと使ってみようかな、と。
公式サイト(英語)
非公式サイトですが、日本語情報を集めたサイト
検索サイトで色々調べてみると、メールシステムとかにリンクさせて利用している人が多いようです。
で、今回はそうではなく、HDD上の領域の検索で使う為にインストールしてみます。
今回は7.2Rサーバに入れてみました。
どうも最近新しいバージョンが出たらしく、7.2R以降のportsにはその最新版が利用できます。
いつもの様にpkg_addで入れてみます。今回はstableのライブラリから取ってきます。
pkg_add ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-7-stable/All/clamav-0.95.2.tbz
で、これを実行すると以下のソフトウェアがインストールされます。
clamav-0.95.2
unzoo-4.4_2
lha-1.14i_6
arj-3.10.22_1
arc-5.21o_1
と同時にclamavというユーザ/グループが追加されます。
(こんなメッセージが出ます。)
=> Added group "clamav".
=> Added user "clamav".
次に動かす為に設定ファイルを書き換えます。
通常はclamavの各種ログファイルは/var/logにclamavというディレクトリが作られて
そこに出力されるようになっています。
が、('A`)の場合には/var/logには出力しないで、/var/clamavという専用の場所を
作りました。
なんでか、っていうと、/var/logのパーミッションを770にしているから、
この状態だとclamavはvar/logにログを出力できないからです。
通常、素でインストールすると、/var/logのパーティションは755になっています。
が、T-Bananaの場合、一般ユーザがログを弄れない様にパーミッションを770に
しているのです。(改ざんとかされない様に)
mkdir /var/clamav/
chmod 770 /var/clamav/
touch /var/clamav/clamd.log
touch /var/clamav/freshclam.log
chmod 666 /var/clamav/*.log
chown -R clamav:clamav /var/clamav/
あと、clamavの設定ファイルは/usr/local/etcに設置されていますが、
設定ファイルのパーミッションは444になっているので、書き換える時には
666に変更して下さい。
chmod 666 /usr/local/etc/clamd.conf
chmod 666 /usr/local/etc/freshclam.conf
設定内容は、今回以下の様に設定しています。
[clamd.conf]
LogFile /var/clamav/clamd.log
LogFileMaxSize 0
LogTime yes
LogVerbose yes
PidFile /var/run/clamav/clamd.pid
DatabaseDirectory /var/db/clamav
LocalSocket /var/run/clamav/clamd.sock
FixStaleSocket yes
User clamav
AllowSupplementaryGroups yes
ScanMail yes
[freshclam.conf]
DatabaseDirectory /var/db/clamav
UpdateLogFile /var/clamav/freshclam.log
LogFileMaxSize 2M
LogTime yes
LogVerbose yes
PidFile /var/run/clamav/freshclam.pid
DatabaseOwner clamav
AllowSupplementaryGroups yes
DatabaseMirror db.jp.clamav.net
DatabaseMirror database.clamav.net
NotifyClamd /usr/local/etc/clamd.conf
clamdはclamavの本体です。またfreshclamはウィルスの定義ファイルを
アップデートするコマンドです。
で、clamavをインストールして設定ファイルとかログファイルの準備が
できたら、最初にfreshclamを実行して最新の定義ファイルを取得します。
(/var/db/clamavの中にmain.cvdというのが作られます。)
で、clamav本体と定義ファイル更新のデーモンを動かします。
/usr/local/etc/rc.d/clamav-freshclam start
/usr/local/etc/rc.d/clamav-clamd start
サーバ起動時にデーモンを動かす様にしたい場合には、/etc/rc.confに
以下の行を追加します。
clamav_clamd_enable="YES"
clamav_freshclam_enable="YES"
で、例えば、自分のFTPアカウント内を定期的にチェックしたい時は、こんな
シェルスクリプト(ここでは virususcan.sh とします)を作ってcronで実行すると
いいかも・・・
clamscanというコマンドです。clamavをインストールすると、/usr/local/binの中に入ります。
#!/bin/sh
/usr/local/bin/clamscan -l /home/アカウント/scanlog/clamav.log -i -r /home/アカウント/public_html
えーと、検索結果を出力するログファイル(/home/アカウント/scanlog/clamav.log)の
ディレクトリは予め作っておいて下さいね。
それと、よく忘れがちになるのですが、作ったシェルスクリプトに実行できる様に
パーミッションを設定するのを忘れずに・・・
取りあえず、使い方の1つはこれで判りましたので、あとはどんな使い方があるか
引き続き勉強です・・・
あ、そろそろ時間だ。
それではまた。
|