Selinux は clamd がスレッドごとに新しいポートを開くのを防ぎます。

Selinux は clamd がスレッドごとに新しいポートを開くのを防ぎます。

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

同様に、次のエラーは私の問題に関連しているようです。

しかし、読んだ後は問題を解決する方法を本当に理解することはできません。

公式のCentOSリポジトリが提供するパッケージアップデートを使い続けたいので、先ほど適用したアップデート(上に貼り付け)をロールバックしません。またSElinuxを強制モードにしておきたいです。

どの眼科学デバッグを続けて問題を解決するにはどうすればよいですか?

ベストアンサー1

おすすめ記事