SELinux(Enforcing = 1)がデフォルトで低い(またはすべての)ポートへのバインディングを許可するのはなぜですか?

SELinux(Enforcing = 1)がデフォルトで低い(またはすべての)ポートへのバインディングを許可するのはなぜですか?

文書によると、Selinuxはデフォルトですべてのポート操作がブロックされ、AVCとして記録されることを要求していると仮定しています。

SELinuxの適用が有効になり、Centos7で作成された仮想マシンがあり、すぐに機能します。

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             mls
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31

ただし、Webサーバーを起動してポート1にバインドできます。

[vagrant@localhost ~]$ sudo python -m SimpleHTTPServer 1
Serving HTTP on 0.0.0.0 port 1 ...

私はSElinuxが新しいオペレーティングシステムに適用され、他の修正は実際にはこの種の操作へのアクセスを制限しないと仮定します。 (私は単にセキュリティ違反がどれほど深刻であるかを示す例としてポート1を使用しています。少なくともデフォルトでは selinux によって少数のポートがブロックされます。

ベストアンサー1

SELinux設定(参照ポリシー)には無制限の種類が含まれており、デフォルトではユーザーは無制限のドメイン(unconfined_t)にあります。無制限のプロセス(および無制限のプロセスを開始できるユーザー)にはほとんど制限がありません。無制限のドメインで実行されるプロセスは、SELinux 以外のシステムのプロセスとほぼ同じ権限を持ちます。

別の種類のドメインは制限されたドメインであり、そのドメインで実行されているプロセスに厳密な規則が適用されます。

Red Hat ドキュメント限られた SELinux ユーザーでシステムを構成する場合は、ここにいくつかの詳細と例があります。

おすすめ記事