現象 †
muninがデータを収集するだびに
type=1400 audit(1264464906.031:1291): avc: denied { read write } for pid=29260 comm="ethtool" path="socket:[619649]" dev=sockfs ino=619649 scontext=user_u:system_r:ifconfig_t:s0 tcontext=user_u:system_r:initrc_t:s0 tclass=tcp_socket
というようなログが記録されていました。
原因 †
対策 †
- audit2allowでルールを作成し追加しました。
本質的にはmunin専用ドメインを作成して、必要最小限の権限を与えるのが正しい処置です。
ただ今回は知識不足のためaudit2allowに頼って、とりあえず動くようにしました。
方法 †
- ログからポリシーを作成します。
1
2
3
4
5
6
7
| -
|
!
-
|
|
| audit2allow -M mymunin < /var/log/kern/log
|
- mymunin.teを開いて内容を確認します。
1
2
3
4
5
6
7
8
9
10
11
12
|
-
!
-
| module mymunin 1.0;
require {
type ifconfig_t;
type initrc_t;
class tcp_socket { read write };
}
allow ifconfig_t initrc_t:tcp_socket { read write };
|
- モジュールを組み込みます。
1
2
3
4
5
| -
!
-
!
| semodule -i mymunin.pp
semodule -l
|
- 次回のmunin動作後にログを見て、エラーが出力されていないこと確認して終了です。
検証時の環境 †
参考 †