他のチームから中古サーバーを譲り受けました。それらのいくつかはSELinuxを有効にし、一部はそうではありません。 SELinuxのため、パスワードのないSSH、Webサーバーなどの設定に問題があります。解決策が見つかりました。このスタック交換ウェブサイトつまり、次を実行します。
restorecon -R -v ~/.ssh
しかし、私たちが行うことをするためにSELinuxを実行する必要はないので、権限が必要なすべてのディレクトリですべての人が上記のcmdを実行できるようにすることを覚えておくよりも、SELinuxをオフにする方が簡単です。
何の影響もなくSELinuxをオフにできますか、それともサーバーイメージを再インストールする方が良いですか? 1つの注目すべき点は、私たちのITチームがとても忙しいので、必要な場合(本当に良いビジネスケースが必要です)でなければ、サーバーを再イメージングすることは実際には優先順位ではないということです...または誰かがスコッチウイスキーやウイスキーボトル使用して賄賂を与える場合ではありません。上司。
更新:あなたの提案とアドバイスに感謝します。これらのサーバーはすべて内部開発サーバーとして使用されます。これらのシステムには外部アクセスがないため、セキュリティは私たちにとって大きな関心事ではありません。 (私の知る限り)現在、私たちが使用しているサーバーのうちSELinuxが有効になっているサーバーはありません。管理者が受け取った機能の一部は正常であり、クラスタ内のすべての機能が統合されるようにその機能を無効にすることを検討しています。
答え1
SELinuxはセキュリティ機能オペレーティングシステムこれは、サーバーの特定の部分を他の部分から保護するように設計されています。
たとえば、Webサーバーを実行し、攻撃者が任意のコマンドを実行できるようにする「脆弱な」コードがある場合、SELinuxはWebサーバーが閲覧できないファイルにアクセスするのを防ぎ、これを軽減するのに役立ちます。
今あなたはできるSELinuxを無効にしても問題はありません。サーバーは引き続き正常に動作します。
ただし、セキュリティ機能の1つを無効にします。
答え2
SELinuxについてはさまざまな意見があります。ほとんどの場合、特定のアプリケーションはSELinuxでは正しく機能しないため、これらの決定は議論の余地があります(Oracleが例です)。
一般的に、SELinuxは、システムを損傷しようとする悪意のある人々に別の障害物を作成する保護メカニズムです。
以前は大企業でシステム管理者として働いていたとき、私は主にSELinuxを無効にしました。ユーザー、開発者、管理者が使用するすべてのシステムですべてのSELinuxバグを追跡する時間はありません。
特定の機能を無効にする前に、まずシステム上のファイルを正しい状態に戻す必要があります。私が見つけた最も簡単な方法は、次のコマンドを入力することです。
# /sbin/fixfiles onboot
または
# touch /.autorelabel
その後、システムを再起動し、システムの誤ったSELinuxラベルを確認してリセットするのにほぼ同じ時間がかかるため、待ちます。サーバーの管理を試みる前に変更された可能性がある資格のないSELinuxラベルを変更して変更するので、その後はおそらく大丈夫でしょう。
ただし、これを行わないと、SELinuxを適用モードにしてもシステムが破損することはありません。これは追加の保護層にすぎません。
答え3
つまり、必須アクセス制御(MAC)メカニズムを無効にします。SELinuxこれは良い考えではなく、悪意のある行為者がランダムアクセス制御(DAC)で実装された名前ベースのアクセス制御を迂回することに成功すると、セキュリティ上の不利益を招く可能性があります。
私だったらこんなことをしました。
semanage fcontext -a -t ssh_home_t ~/.ssh # Adding the policy
restorecon -R -v ~/.ssh # Applying the policy
もっと確実タイプタグ次から再帰的に割り当てられる~/.ssh
答え4
通常、SELinuxを無効にしないでください。何が間違っているのかを理解するのに役立つツールがあります。私が一番好きなのはsealertの例の使い方です:
sealert -a /var/log/audit/audit.log
OFCのデバッグ目的でいつでもSELinuxを許可モードに設定できますが、SELinuxを無効にするか許可モードにすることは、Red Hatによって重大なセキュリティ障害と見なされます。