sudo -i
rootログイン(SSH)が無効になっているが、ユーザーがrootを実行したりrootになったりできるsu -
場合は、ログで誰がrootとして機能しているかを追跡するのにどのような方法が必要ですか?また、元のユーザー名を使用して各コマンドを実行したいと思います。 RHEL 6またはLinux rsyslogなど
答え1
最も強力なアプローチが感謝されるようです。
要件10:ネットワークリソースとカード保有者データへのすべてのアクセスを追跡して監視します。
Auditdはデフォルトですべてのシステムコールを傍受し、ルールセットと比較して検証します。したがって、ファイルには/etc/audit/audit.rules
次の内容があります。
# This file contains the auditctl rules that are loaded
# whenever the audit daemon is started via the initscripts.
# The rules are simply the parameters that would be passed
# to auditctl.
# First rule - delete all
-D
# Increase the buffers to survive stress events.
# Make this bigger for busy systems
-b 320
# Feel free to add below this line. See auditctl man page
-a always,exit -F euid=0 -F perm=wxa -k ROOT_ACTION
最後のルールはデフォルトではなく唯一のルールです。
このアプローチの最大の欠点(そして代替を探している間にこの質問を見つけた理由)は、rawログファイルが非常に秘密であり、rawログファイルでクエリプログラムを実行した後にのみ便利です。ausearch
このルールのクエリ例は次のとおりです。
ausearch -ts today -k ROOT_ACTION -f audit_me | aureport -i -f
常識的な解決策は、生の監査ログを照会し、それをロギングソリューションに送信するcronを作成することです。
答え2
Red Hatディストリビューションは通常、ログを使用してFedora / CentOS / RHELシステムにログインまたは/var/log/secure
使用している人を識別します。sudo
はい
sudo はい$ sudo -Es
結果記録:
数の例9月1日 19:32:51 greeneggs sudo: TTY=pts/2; PWD=/home/saml; command=/bin/bash
$ su -
結果記録:
9月1日 19:34:49 greeneggs su: pam_unix(su-l:session): saml(uid=1000) root ユーザーのセッションが開かれました。
答え3
協力しているユーザーがいる場合は、rootshがrootユーザーが入力したすべての内容をシステムログに記録するように設定できます。
http://linux.die.net/man/1/rootsh
rootsh rpm は EPEL で使用できます。
RHEL6のsudoバージョンには、各sudoセッションのstdoutをファイルに書き込む機能もあります。 sudo_pluginsのマニュアルページをご覧ください。
これらの方法のいずれも完全に無敵ではありません。