不合格:
# service auditd start
Starting auditd: [FAILED]
不合格:
# /etc/init.d/auditd start
Starting auditd: [FAILED]
そしてイライラする-作品:
# bash /etc/init.d/auditd start
Starting auditd: [ OK ]
Echo 1 echo 2のようなものをbash /etc/init.d/auditdのさまざまな場所に追加したので、スクリプトのパスを確認してください。
最終的に実行されて失敗するコマンドは
env -i PATH=/sbin:/usr/sbin:/bin:/usr/bin TERM=xterm /etc/init.d/auditd start
Bashを追加すると機能するのはなぜですか?トラブルシューティングのアイデアを探しています。
Run_initを使用するというMichaelsの提案に基づいて、bashから意味のあるデバッグを取得できます。
# run_init bash -x /etc/init.d/auditd start
[...]
+ /bin/bash -c 'ulimit -S -c 0 >/dev/null 2>&1 ; auditd '
+ '[' 6 -eq 0 ']'
+ failure 'auditd startup'
/ var/log/messagesに
Dec 8 14:54:06 aws-sonar-01 kernel: type=1100 audit(1418050446.762:250): user pid=7196 uid=0 auid=500 ses=6 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:authentication acct="user" exe="/usr/sbin/run_init" hostname=? addr=? terminal=pts/0 res=success'
Dec 8 14:54:06 aws-sonar-01 kernel: type=1101 audit(1418050446.777:251): user pid=7196 uid=0 auid=500 ses=6 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:accounting acct="user" exe="/usr/sbin/run_init" hostname=? addr=? terminal=pts/0 res=success'
Dec 8 14:54:06 aws-sonar-01 kernel: type=1400 audit(1418050446.795:252): avc: denied { read } for pid=7200 comm="auditd" name="audit" dev=xvda1 ino=393285 scontext=system_u:system_r:auditd_t:s0 tcontext=system_u:object_r:var_log_t:s0 tclass=lnk_file
Dec 8 14:54:06 aws-sonar-01 kernel: type=1300 audit(1418050446.795:252): Arch=c000003e syscall=2 success=no exit=-13 a0=7fa0660a42a0 a1=90800 a2=4000 a3=19 items=0 ppid=7196 pid=7200 auid=500 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=6 comm="auditd" exe="/sbin/auditd" subj=system_u:system_r:auditd_t:s0 key=(null)
Dec 8 14:54:06 aws-sonar-01 auditd: Could not open dir /var/log/audit (Permission denied)
Dec 8 14:54:06 aws-sonar-01 auditd: The audit daemon is exiting.
上記を入力として使用してポリシーを生成しようとしました
cat messages_above | grep awc | audit2allow -M audit
semodule -i audit.pp
Selinuxポリシーの作成に取り掛かりました-これは正しいですか?または何か不足していますか?
semanage permissive -a auditd_t
service auditd start
tail -n 20 messages |grep auditd | audit2allow -M auditd
semodule -i auditd.pp
semanage permissive -d auditd_t
まだ同じ問題
EL(7より前)では、SELinux対応システムでrun_init
を使用してサービスを開始し、SELinuxコンテキストとドメイン遷移が正しいことを確認します。
run_init service auditd start
または、ブート時に起動できるようにすることもできます。
ログエントリは、/var/log/audit
のセキュリティコンテキストが間違っていることを示しています。これを解決するには:
restorecon -r -v /var/log/audit
を実行してセキュリティコンテキストを修正するか、restorecon -r -v /
を実行してシステム全体のラベルを変更します(これにより、他の多くの潜在的な問題も修正されます)。/etc/init.d/auditd.conf
に無効なオプションがあると失敗しますausearch -m DEAMON_END
と入力して、エラーのある行を取得します/ var/log/auditディレクトリの権限を確認します。一部のディストリビューションでは、次のようになります。
0 drw-------. 2 root root 29 Apr 21 13:19 audit
ディレクトリが実行可能ではないことに注意してください!シンプルな
Sudo chmod u + x/var/log/audit
この問題を修正しました