1 Oracle LinuxでのSELinuxの管理について
この章では、SELinux機能について説明し、Oracle LinuxシステムでSELinuxを管理するためのタスクを示します。
ノート:
このドキュメントの内容はOracle Linux 8とOracle Linux 9に対して検証されましたが、ほとんどのOracle Linuxリリースにも当てはまり、他のディストリビューションにも当てはまる可能性があります。
従来のLinuxのセキュリティは、壊れたソフトウェアからの最小限の保護、または通常ユーザーあるいはroot
として実行されるマルウェアからの最小限の保護を提供する、任意アクセス制御(DAC)ポリシーに基づいていました。ファイルやデバイスへのアクセスは、ユーザーIDと所有権のみに基づいています。マルウェアや壊れたソフトウェアは、プロセスを起動したユーザーがファイルやリソースに対して実行できることはすべて実行できます。ユーザーがroot
の場合、またはアプリケーションがroot
にsetuid
またはsetgid
されている場合、プロセスはファイル・システム全体に対するroot
アクセス制御を持つことができます。
国家安全保障局は、Linux OSのファイル、プロセス、ユーザー、アプリケーションの詳細レベルでの制御を可能にするために、Security Enhanced Linux (SELinux)を策定しました。LinuxカーネルのSELinux拡張により、強制アクセス制御(MAC)ポリシーが実装され、すべてのユーザー、プログラム、プロセス、ファイル、デバイスに詳細な権限を提供するセキュリティ・ポリシーを定義できるようになりました。カーネルのアクセス制御の決定は、認証されたユーザーIDだけでなく、利用可能なすべてのセキュリティ関連情報に基づいて行われます。
プロセスがファイルを開くなど、セキュリティ関連アクセスが発生すると、SELinuxはカーネルの操作をインターセプトします。MACポリシー・ルールで操作が許可されている場合、操作は続行されます。それ以外の場合、SELinuxは操作をブロックし、プロセスにエラーを返します。カーネルは、MACルールの前にDACポリシー・ルールを確認して実施するため、DACルールでリソースへのアクセスが拒否された場合、SELinuxポリシー・ルールは確認されません。