web-dev-qa-db-ja.com

selinuxを無効にすると何がうまくいかないのでしょうか

私たちは他のチームから多数の中古サーバーを引き継ぎました。 SELinuxが有効になっているものもあれば、そうでないものもあります。 SELinuxのため、パスワードなしのsshやウェブサーバーなどの設定に問題があります。 this stackexchange site で回避策が見つかりました。

restorecon -R -v ~/.ssh

ただし、SELinuxを実行する必要がないため、パーミッションが必要なディレクトリで上記のコマンドを実行することを覚えておくよりも、オフにする方が簡単な場合があります。

将来の影響なしにSELinuxをオフにできますか、それともサーバーのイメージを再作成するだけの方が良いですか?注意すべきことが1つあります。私たちのITグループは本当に忙しいので、絶対に必要でない限り(非常に優れたビジネスケースが必要です)、または誰かがスコッチまたはウイスキーのボトルで上司に賄賂を贈らない限り、サーバーのリストを再作成する必要はありません。

更新:みんなの提案とアドバイスをありがとう。これらのサーバーはすべて内部開発サーバーとして使用されます。これらのマシンに外部からアクセスすることはないため、セキュリティはそれほど重要ではありません。私たちがすべて使用している現在のサーバー(私の知る限り)では、SELinuxが有効になっていません。私のマネージャーが取得したものの一部は機能しますが、それらは、クラスター内のすべてが均一になるように無効化しようとしているものです。

9
Classified

SELinuxは、オペレーティングシステムのセキュリティ機能です。サーバーの一部を他の部分から保護するように設計されています。

たとえば、Webサーバーを実行していて、攻撃者が任意のコマンドを実行できるようにする「脆弱な」コードがある場合、SELinuxは、Webサーバーがアクセスを許可されていないファイルにアクセスできないようにすることで、これを軽減できます。

さて、あなたはcan SELinuxを無効にし、何も壊してはなりません。サーバーは通常どおり動作し続けます。

ただし、セキュリティ機能の1つを無効にします。

14
Stephen Harris

SELinuxにはさまざまな見方があります。多くの場合、一部のアプリケーションはSELinuxでうまく機能しないため、この決定は議論の余地があります(Oracleはその一例です)。
一般に、SELinuxは、悪意のあるユーザーがシステムを破壊しようとする際に別の障害をもたらす保護メカニズムです。

大企業でのシステム管理者としての私の以前の役割では、私は一般にSELinuxを無効にしています。ユーザー、開発者、およびマネージャーが使用しているすべてのシステムのすべてのSELinuxエラーを追跡する時間はありませんでした。

物事を無効にする前に、システム上のファイルのラベルを元に戻す必要があります。私が見つけた最も簡単な方法は、コマンドを入力することです:

 # /sbin/fixfiles onboot

OR

 # touch /.autorelabel

次に、再起動し、システムがシステム内の誤ったSELinuxラベルを確認してリセットするのにほぼ同じ時間がかかるのを待ちます。その後、サーバーの管理を試みる前に変更された可能性のある非準拠のSELinuxラベルを修正および修正するので、問題はありません。

ただし、そうでない場合でも、SELinuxを強制モードにしないことでシステムに害が及ぶことはありません。それは単なる追加の保護レイヤーです。

8
mdpc

簡単に言うと、SELinuxのような必須のアクセス制御(MAC)メカニズムを無効にすることは良い考えではなく、悪意のある人物が任意アクセスによって実装された名前ベースのアクセス制御をうまく回避すると、セキュリティ上の不利益をもたらす可能性がありますコントロール(DAC)。

それが私だったら、私は次のようなことをします

semanage fcontext -a -t ssh_home_t ~/.ssh # Adding the policy
restorecon -R -v ~/.ssh # Applying the policy

~/.sshから再帰的に割り当てられるtype-labelについてさらに確認する

5
sjsam

一般的に言って、SELinuxを無効にすべきではありません。問題の原因を理解するのに役立つツールがあります。私のお気に入りはシーラートの使用例です:

sealert -a /var/log/audit/audit.log

OFCでは、デバッグのために常にSELinuxをpermissiveモードに設定できますが、SELinuxを無効またはpermissiveに保つことは、Red Hatから深刻なセキュリティ欠陥として教えられています。

2
Alex Baranowski