私が見たほとんどすべてのチュートリアルとほとんどのシステムではselinuxが無効になっているようです。実際の世界ではselinuxセキュリティが実際に実装されていますか?
答え1
SELinuxは、一連のラベルを使用してプロセスが実行できる操作と実行できない操作を制御する必須アクセス制御形式です。権限に関して、Linuxの基本的なアクセス制御方法はugo
任意です。実際にどの権限をどこに送信するかを決定するのはユーザーの役割です。 SELinuxの必須アクセス制御に関する1つの「問題」は、アプリケーションが時折不明な理由で目的の方法で動作することを拒否することです。
rsyslog
デーモンプロセスを例に挙げます。次のディレクトリとファイルには、/var/log
使用する正しいSELinuxラベルがありますrsyslog
。ただし、システム内の他の/opt
場所(たとえば)でログファイルを定義しようとすると、rsyslog
ファイルのSELinuxコンテキストが正しくないため、ログファイルに書き込むことができません。アクセス制御は必須であるため、777
新しいログファイルの権限を設定してもこの問題が発生します。この特別なケースでは、SELinuxコンテキストが機能しますchcon
。ただし、次にファイルシステムのラベルを再指定すると、そのコンテキストが失われます。だからあなたに本当に必要なのはですsemanage fcontext
。
上記の例で説明しようとしたように、SELinuxは強力な学習曲線を持っています。仕組みの基本を理解しても、必要な結果を得るには、まだ多くのコマンド(、、、、、、、)を使用semanage
する必要があります。それにもかかわらず、文書を見ると、時々何が間違っているのか混乱することがあります。sestatus
sealert
chcon
restorecon
audit2allow
実際、SELinuxの使用に伴う困難を考えると、ほとんどの人はSELinuxを無効にする方が便利なオプションだと思います。実際、U&LのSELinuxタグで最もよく表れている質問は、SELinuxの無効化に関するものです。
注目すべきもう1つのことは、SELinuxがRed Hat関連のディストリビューション(Fedora、RHEL、およびその派生物)でアクティブになることです。これらのシステムに付属しているSELinuxポリシーは、多くの人が自分のシステムでSELinuxが実行されているという事実をしばしば認識しないほど優れています。
答え2
はい。Red Hat Enterprise Linuxこれはデフォルトで有効になっています。たとえば、次のようになります。
実施モードは、基本で推奨される動作モードです。強制モードでは、SELinuxは正常に動作し、システム全体にロードされたセキュリティポリシーを強制します。