Debian Jessieがgrsecurityでコンパイルされている場合、単純なユーザーはすべてのプロセスを見ることができません。したがって、Sensuクライアント(監視およびテレメトリソリューション)によって実行されるタスクは、別のプロセス(Apacheなど)が存在するかどうかを確認できません。
sensu
ユーザーにすべてのシステムプロセスを表示する権限を付与する方法はありますか?
ユーザーがお互いのプロセスを見ることができない場合、Grsecurityはカーネル構成シンボルでコンパイルされます。
GRKERNSEC_PROC_USER
ここで
Y
と言うと、root以外のユーザーは自分のプロセスしか表示できず、ネットワーク関連の情報の表示、カーネルシンボルとモジュールの情報の表示を制限されます。
ユーザーを特別なグループに追加することで、ユーザーが他のプロセスを表示できるようにするかどうかは、GRKERNSEC_PROC_USERGROUP
によって異なります。
GRKERNSEC_PROC_USERGROUP
ここで
Y
と言うと、すべてのプロセスとネットワーク関連の情報を表示できるグループを選択できます。GRKERNSEC_HIDESYM
を有効にした場合でも、カーネルとシンボルの情報は非表示のままになる可能性があります。このオプションは、非rootユーザーとしてidentdを実行する場合に役立ちます。選択したグループは、起動時にカーネルコマンドラインのgrsec_proc_gid=
から選択することもできます。
また、GRKERNSEC_PROC_GID
は、免除されるグループを指定します(ブート時カーネルCLIを介して設定されていない場合)。
このセットがあるかどうかを確認し、Sensuユーザーをこのグループに追加できます:
uname -r
で実行中のカーネルリリースを見つけます。grep "GRKERNSEC_PROC_GID" /boot/config-<kernel_release>
から設定を確認してください/etc/group
からこのグループの名前を探します。同時に、Sensuユーザーが現在属しているすべてのグループを確認できます。そうでない場合は、次の手順でこれらすべてのグループから削除します。 (グループが存在しない場合は、groupadd -g GID grsecproc
で作成してください。)usermod -a -G GROUP sensu
を使用してSensuユーザーをこのグループに追加しますが、手順3のその他すべてのグループもリストすることを忘れないでください。
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
A list of supplementary groups which the user is also a member of.
Each group is separated from the next by a comma, with no
intervening whitespace. The groups are subject to the same
restrictions as the group given with the -g option.
If the user is currently a member of a group which is not listed,
the user will be removed from the group. This behaviour can be
changed via the -a option, which appends the user to the current
supplementary group list.
同じ手順がすべてのサーバー監視ソフトウェアで機能するため、グループのリストは異なる場合があります。 したがって、この場合、Sensuとの重要なグループがなくても、これを強調する必要がありました。
GRKERNSEC_PROC_GID
(またはGRKERNSEC_PROC_USERGROUP
)が設定されていない場合( Jessieでの新しいカーネルのコンパイル について読んでください)make menuconfig
で構成してコンパイルできますカーネル。