CentOS7でSElinuxを再試行すると、clamAVがファイルを取得できなくなります。
数ヶ月前、私は同じ問題に直面しました。ここに投稿してください最後に、次の構成でこの問題を解決しました。
# grep 'StreamMin\|StreamMax' /etc/clamd.d/scan.conf
StreamMaxLength 2000M
StreamMinPort 30000
StreamMaxPort 32000
# getsebool -a | grep antivirus
antivirus_can_scan_system --> on
antivirus_use_jit --> on
# semanage port -l | grep clamd
clamd_port_t tcp 30000-32000, 3310
昨日システムにyumアップデートがあり、その間にパッケージselinux-policy*
もアップデートされたことを確認しました。
Updated selinux-policy-3.13.1-102.el7_3.16.noarch @updates
Update 3.13.1-166.el7_4.4.noarch @updates
Updated selinux-policy-targeted-3.13.1-102.el7_3.16.noarch @updates
Update 3.13.1-166.el7_4.4.noarch @updates
アップデート後、以下のように同じ問題が再発生しました/var/log/messages
。
Sep 15 10:55:45 production clamd: LibClamAV Warning: RWX mapping denied: Can't allocate RWX Memory: Permission denied
Sep 15 10:55:45 production clamd: LibClamAV Warning: Bytecode: disabling JIT because SELinux is preventing 'execmem' access.
Sep 15 10:55:45 production clamd: Run 'setsebool -P clamd_use_jit on'.
ログは明確に見え、解決策を示していますが、とにかくこのブール値は以前はtrueに設定されていたため、あまり役に立ちません。
関連audit.log
項目は次のとおりです。
type=AVC msg=audit(1505723879.248:302432): avc: denied { name_connect } for pid=21691 comm="java" dest=3310 scontext=system_u:system_r:tomcat_t:s0 tcontext=system_u:object_r:clamd_port_t:s0 tclass=tcp_socket
同様に、次のエラーは私の問題に関連しているようです。
- https://bugzilla.redhat.com/show_bug.cgi?id=1248785
- https://bugzilla.redhat.com/show_bug.cgi?id=573191
しかし、読んだ後は問題を解決する方法を本当に理解することはできません。
公式のCentOSリポジトリが提供するパッケージアップデートを使い続けたいので、先ほど適用したアップデート(上に貼り付け)をロールバックしません。またSElinuxを強制モードにしておきたいです。
どの眼科学デバッグを続けて問題を解決するにはどうすればよいですか?