clamd の起動失敗への対処方法
CentOS 4.5 で Clamd の起動がどうしてもうまくいかない現象が発生しました。その影響で sendmail までメールを処理できなくなってしまいました。
/etc/init.d/clamd の中で、start 時に ulimit の値を指定している箇所を直したら起動するようになりました。ulimit の -f オプションは出力ファイルをブロック単位で指定して制限します。
start() { echo -n $"Starting $prog: " # Don't allow files larger than 20M to be created, to limit DoS # Needs to be large enough to extract the signature files ulimit -f 25600 ← 51200 にする。 LANG= daemon $progdir/$prog RETVAL=$?
ulimt -f の値が 25600 になっていたので、倍の 51200 にしたところ起動するようになりました。この値は DoS 攻撃対策として 20M 以下にした方がよいようです。Linux で 1ブロックは 1024k (=1M) なので 51200 ブロックは 51M となっていてすでに限界を超えています。しかしこの値を低く設定すると clamd が起動しません。
調べたところ、フィッシング対策として Calm AntiVirus で Google SafeBrowsing を有効にしている場合に、この値が大きくないと起動できませんでした。SafeBrowsing の定義ファイルである safebrowsing.cvd を削除してやると ulimit の値が 25600 (=26M) でも起動できるのを確認しています。
おそらく Google SafeBrowsing の定義ファイルが次第に肥大化して、clamd 起動時に /tmp ディレクトリに作成する一時ファイルの作成に失敗してしまっているのだと思われます。DoS の危険とフィッシング対策とどちらをとるか悩ましいところですね。
コメントはまだありません
No comments yet.
Sorry, the comment form is closed at this time.