このブログを検索

2012年7月24日火曜日

Service squidclamav not initialized.

c-icapでsquidclamavが初期化できない問題の話。

最近、弊社サイトから無料でダウンロードできるソフトウェアアプライアンスを製作中なのですが、その中のProxyサーバーを製作中にあった不具合の話。
原因の解決はできてないのだけれど、ダウングレードすることで、性能は発揮できる。
問題が起きたのは、c-icap 0.2.1を使用するとsquidclamav 6.6が動作しないというものである。
(※追記2012/10/10:c-icap0.2.xから、/usr/local/c-icap/lib64にプログラムが置かれるようになったため。なので、単なる設定ミス。squidclamav6.9+c-icap0.2.2を参照。)

さて、その動作しないというのは、タイトルにもあるが、squidclamavがイニシャライズできないという話である。

今回、製作中のプロキシーサーバーは、
OSにOpenSUSE 12.1
ウイルス検出にclamav 0.9.5
Proxyにsquid 3.1.16
Proxyとウイルス検出のつなぎにsquidclamav 6.6
icapにc-icap 0.2.1を始めは使用していたが、最終的にc-icap 0.1.7に変更
(※追記2012/10/10:上にも書いたけど、設定ミス。。。)
以上のようなプログラムを使用した。

今の時点ではsquidは3.2系があるが、SUSEのデフォルトでは上がってこなかったので、使用しなかった。

問題が起きるのは、上記の組み合わせのうち、c-icapを最新の0.2.1にすると
タイトルのようなエラーが出るのだ。
(※追記2012/10/10:だからぁ、上にも書いたけど、設定ミス。。。)
そのエラーは、どこに吐き出されているかというと
/usr/local/c-icap/var/log/server.log
にでてくるのだが
/usr/local/c-icap/etc/c-icap.confのなかの
DebugLevelを3にすると出てくる。
これでは、サイト閲覧時、squidclamavが動作していない事なので、ウイルスチェックに失敗してしまう。
もちろん、squidclamavが動いていなくても、squid単体が動くが、
昨今、大手企業のサイトでさえ、ウイルスやワームなどに感染しているので、万全を期するに越した事は無いので、
マルチベンダーセキュリティチェックは必須であると、弊社は考える。

ということで、squidclamavは必須要件なのですが、冒頭のようなエラーが出て困り果てしまったわけである。
パスの間違いなどではない。
同じパスにある
/usr/local/c-icap/lib64/c_icap/srv.echo.so
は動いているのであるから。
(※追記2012/10/10:上にも書いたけど、設定ミス。。。0.1.x系ではlibのディレクトリが使われ、0.2.x系ではlib64が使われており、バージョンアップを繰り返したために、見逃した。。。)
最終的に現在動いているプロキシーサーバーとの比較となったわけであるが、
違いはc-icapだったというわけである。
バージョンが、0.2.1と若干メジャーアップされているために、何かが変わったのかもしれない。
(※追記2012/10/10:libとlib64のタイムスタンプを確認すれば明らかだった。。。)
一日探したけど、解決には至らなかったので、ダウングレードして、リリースする予定である。

今後、何か分かった時点で再度アップ致します。
(※追記2012/10/10:squidclamav6.9+c-icap0.2.2へのバージョンアップをアップしました。)

ではでは、また。

※御用命は、webmaster@niriakot.jpまでどうぞ。

0 件のコメント:

コメントを投稿