ビュー:

このエラーは、Kernel Hook Module (KHM)をアンロードできない場合に発生します。

KHMは、リアルタイム検索を実行するためにOSのシステムコールに割り込みます。
splxサービス(ServerProtect for Linux のサービス) よりも後に起動したサービスによって
同じシステムコールへの競合が発生している場合、そのサービスを停止してからsplxサービスを
停止しないと、KHMがアンロードできずに上記のようなエラーが発生します。

ただし、splxサービスの停止が一時的なものであれば上記のエラーが発生しても特に問題はありません。
この現象を改善するには、下記のいずれかの対処法を行う必要があります。

対処法1:splxサービス停止前に競合するサービスを停止する

splxサービスと競合が発生しているサービスを探し、splxサービスを停止させる前に競合するサービスを停止させるようにします。

弊社でsplxサービスとの競合が確認されているのは、以下の製品となります。

  • Trend Micro InterScan VirusWall for Unix (sendmail サービス)
  • Trend Micro InterScan Web Security Suite (ISFtp サービス)
  • 富士通 Interstage (FJSVsvmon サービス)

splxサービスが停止するタイミングは、以下の通りです。

  • /etc/rc.d/init.d/splx stop コマンドによってサービスを手動で停止する時。
  • ServerProtect for Linux をアンインストールする時。
  • ServerProtect for Linux をアップグレードする時。
  • カーネルのアップグレード等で KHM を差し替える時。
  • OSをシャットダウンする時。(この時にはKHMがアンロードされないままシャットダウンされる為、影響はありません。)

対処法2:splxサービスの起動順序を競合サービスよりも後に設定する

splxサービスの起動スクリプトファイルを変更し、競合サービスよりも後に起動させます。

ランレベルが3の時、splxサービスの起動スクリプトはシンボリックリンク「/etc/rc3.d/S01splx」によって起動します。(このSxxは起動時の優先度を示しています。)

例:sendmailサービスより後にsplxサービスを起動させたい場合
# mv S01splx S91splx

注意:splxサービスの起動順序を遅らせると、splxサービスが起動する前にウイルスの進入を
許してしまう危険性を伴います。競合サービスおよびsplxサービスは可能な限り他のサービス
よりも早く起動するように設定される事を推奨します。

例:競合サービスがabcで、初期設定の起動順序が90の場合
# mv S90abc S01abc
# mv S01splx S02splx

※ InterScan Web Security Suite (IWSS)の場合、設定変更やパターンアップデートによってサービスが再起動される仕様のため、対処法2を行っても現象が発生する可能性があります。
IWSSのように、OS起動後でも自動的にサービスの再起動が行われる製品の場合、対処法1のみが有効となります。