SELinuxが有効かどうかを確認するには、
sestatus
コマンドを使用します。SELinuxがDeep Security Agentサービスをブロックする
SELinuxポリシーが有効に設定され、Deep Security Agentサービスをブロックすると、次のアラートサンプルがシステム監査ログ
/var/log/audit/audit.log
またはSELinuxログ/var/log/audit.log
に表示されることがあります:[TIMESTAMP] [HOSTNAME] python: SELinuxがファイル/var/opt/ds_agent/dsa_core/ds_agent.db-shmへの読み取り、書き込みアクセスを[/PATH/BINARY]に対して防止しています。
***** プラグインリーク (86.2 信頼度) が示唆する *****************************
[BINARY]がds_agent.db-shmファイルへの読み取り/書き込みアクセスを試みるのを無視したい場合は、このアクセスが不要であると考えられるため、バグとして報告する必要があります。
このアクセスをdontauditするためのローカルポリシーモジュールを生成できます。
実行
ausearch -x [/PATH/BINARY] --raw | audit2allow -D -M [POLICYNAME]
semodule -i POLICYNAME.pp
この問題を解決するには、Audit2allowを使用してカスタムSELinuxポリシーを次のように作成します:
-
rootユーザとしてDeep Security Agentシステムに接続します。
-
以下のコマンドを実行して、Deep Security Agentファイルへのアクセスを許可するカスタムポリシーを作成します。cd /tmpgrep ds_agent /var/log/audit/audit* | audit2allow -M ds_agentsemodule -i ds_agent.pp
-
ds_agent
サービスを再起動します。 -
次のコマンドを実行してシステムメッセージを確認し、
ds_agent
に関連するアラートがないことを確認してください。cat /var/log/messages | grep ds_agent -
アラートが引き続き発生する場合は、手順2のコマンドを再度実行し、既存のポリシーをアップデートして再適用します。
SELinuxポリシーを削除するには、次のコマンドを使用します:
semodule -r ds_agent
。Berkeley Packet Filter (BPF) 操作がブロックされました
この問題は、次の状況で発生する可能性があります。
-
エージェントOSはRed Hat Enterprise Linux 7 (64ビット) です。
-
SELinuxの強制モードが有効になっています。
-
高度なTLSトラフィック検査機能がエージェントで有効になっています。
次のような警告がシステム監査ログ
/var/log/audit/audit.log
または SELinux ログ /var/log/audit.log
に表示されることがあります:type=AVC msg=audit(1682773485.952:1080): avc: denied { map_create } for pid=12807
comm="ds_nuagent" scontext=system_u:system_r:unconfined_service_t:s0 tcontext=system_u:system_r:unconfined_service_t:s0
tclass=bpf permissive=0
type=SYSCALL msg=audit(1682773485.952:1080): arch=c000003e syscall=321 success=no
exit=-13 a0=0 a1=c000a25800 a2=2c a3=0 items=0 ppid=12802 pid=12807 auid=4294967295
uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295
comm="ds_nuagent" exe="/opt/ds_agent/nuagent/ds_nuagent" subj=system_u:system_r:unconfined_service_t:s0
key=(null)
この問題を解決するには、次の手順に従ってカスタムSELinuxポリシーを作成します。
-
rootユーザとしてDeep Security Agentシステムに接続します。
-
nuagent.te
という名前のType Enforcementファイルを作成します。モジュールnuagent 1.0;require {type unconfined_service_t;class bpf { map_create map_read map_write prog_load prog_run };}#============= unconfined_service_t ==============allow unconfined_service_t self:bpf { map_create map_read map_write prog_load prog_run }; -
次のコマンドを実行して、
ds_nuagent
のbpfアクセスを許可するカスタムポリシーを作成します:checkmodule -M -m -o nuagent.mod nuagent.tesemodule_package -o nuagent.pp -m nuagent.modsemodule -i nuagent.pp -
ds_agent
サービスを再起動します。
Deep Security Agentバージョン20.0.0-8137+では、
tm_netagent
という新しいプロセスのサポートが追加されました。ds_nuagent
プロセスも引き続きサポートされており、プロセス名は互換的に使用できます。