Privileged Access Manager Server Control (以下、PAMSC) を停止しようとすると以下のエラーメッセージが出力されました。
Shutting down seosd is not allowed because there is another system call intercepting product
この時に PAMSC のプロセスは停止していません。
本文書では、このメッセージについて解説を行います。
PAMSC: 14.1 CP5 以降
本エラーは、PAMSC起動後に他のシステムコールインターセプトを行う別の製品が稼働中であることを示しています。
PAMSC によってインターセプトされているものは何も関係ありません。そのため、 ”secons -scl” コマンドで確認して、停止や再起動を行っても何も効果はありません。
問題は順番を無視して、PAMSC を停止させようとしたことです。
稼働中のマシンで PAMSC、 TrendMicro やその他のアンチウイルス製品など、システムコールのインターセプトを行う複数の製品が稼働しています。
従来のインターセプト方式は、カーネル内のシステムコールテーブルにパッチを適用することです。このようなケースでは、起動した順番と正しく逆の順番で停止を行う必要があります。
今回のケースでは PAMSC の後で別の製品が有効になっていたためで、 PAMSC は停止することができません。
PAMSC を含む多くの製品では、順番以外で停止しようとする場合、これを保護するための仕組みが組み込まれています。
多くの場合は動作しますが、これだけでは十分とは言い切れません。
PAMSC では SEOS_syscall のロード/アンロードではなく、 seosd が起動/停止する際にシステムコールのインターセプトの有効化/無効化が行われます。
以前の安全策は SEOS_syscall 側に実装されており、アンロードができなくなるように保護されていました。
適切にアンロードするためには再度 seosd を起動させる必要がありました。多くの場合は、これで問題が解決できていましたが、状況によってはシステムパニック等を引き起こす可能性がありました。
本安全策は PAMSC 14.1 CP5 から実装されました。
本機能により、seosd は、システムコールのインターセプトを無効化する前にチェックを行います。この時点で検知された場合は、seosd の停止を行わず、動作を継続します。
これを解決するには、PAMSC より後に起動された製品を探して、先にその製品の停止を正常に行う必要があります。
PAMSC より後に起動されたシステムコールをインターセプトする製品を見つけて、起動の順番と逆順に製品を停止する必要があります。
正しい順番で停止された場合は、問題なく PAMSC は停止できます。
こちらのドキュメントもご参照ください。 : Troubleshooting “secons -sk” error message '.. there is another system call intercepting ..'
本文書は 以下の英文の KB を翻訳し、加筆修正しました。
Article ID: 412505: "Shutting down seosd is not allowed because there is another system call intercepting product" error message stopping seosd