GNU/Linux >> Linux の 問題 >  >> Linux

SELinuxでLinuxサーバーを保護する方法

セキュリティは、最近のソフトウェア開発、サーバー管理、およびアプリケーション開発の非常に重要な側面です。

また、Linuxを使用している場合は、幸運です。SELinuxと呼ばれる優れた機能が付属しており、セキュリティの層を追加するのに役立ちます。

SE Linuxとは何ですか?

SE Linuxは、政府関連のセキュリティタスクを提供するためにNSA(National Security Agency)によって開発されました。

SE Linuxは、SecurityEnhancedLinuxの略です。これにより、システム管理者はファイルとプロセスへのアクセスを提供するためのより詳細な制御が可能になります。 SE Linuxを使用すると、管理者はコンテキストとタグファイルを定義し、そのコンテキスト内でそれらを許可できます。

アクセスとアクセス許可は通常、ユーザーグループに基づいて継承されます。ただし、ネットワークポートとカーネルプロセスへのアクセスを必要とするソース(Webサーバーやプロセスなど)がいくつかあります。これらは通常、rootユーザーまたは特別なアクセス権を持つユーザーによって生成されます。 SE Linuxは、これらの特別なプロセスにアクセスできるユーザーを制限するのに役立ちます。

SELinuxの操作方法

SE Linuxは、ほとんどのLinuxディストリビューションにデフォルトで付属しています。この投稿では、Fedoraに取り組んでいます。

SE Linuxを使用するには、sudoが必要であることに注意してください。 またはroot アクセス。

SE Linux構成ファイルは、/etc/sysconfig/selinuxにあります。 フォルダ。その内容を見てみましょう:

SELinuxモード

構成ファイルで、モードを変更し、以下からいずれかを選択できます。

  1. 強制 –デフォルトで有効になっており、定義されたポリシーに基づいてフィルタリングします。
  2. 許容 –定義されたポリシーを適用しませんが、すべての試行をログファイルに記録します。このモードはトラブルシューティングに役立ちます。
  3. 無効 –SELinuxは完全に無効になっています。システムが脅威にさらされる可能性があるため、これはお勧めしません。また、強制に戻すと、特定の不一致が生じる可能性があります。

以下のコマンドを使用して、現在のSELinuxモードを確認できます。

  1. getenforce
  2. sestatus

現在のセッションのモードを変更するだけでよい場合は、次のコマンドを使用できます。

  1. sudo setenforce 0 –現在のセッションの許容モードを設定します
  2. sudo setenforce 1 –現在のセッションの強制モードを設定します

SELinuxポリシー

SE Linuxでは、ポリシーはユーザーへのアクセスを定義します。ユーザーはロールへのアクセスを定義し、ロールはドメインへのアクセスを定義します。その後、ドメインは特定のファイルへのアクセスを提供します。

アクセスを変更および変更するには、「ブール値」を定義します。次のセクションでブール値を調べます。

ブール値を使用してSELinuxポリシーを管理する方法

ご存知のように、SELinuxポリシーはブール値によって管理されます。

ブール値を表示および設定する方法の実際の例を見てみましょう。この例では、httpdに固有のブール値を設定します 。

まず、http – getsebool -a | grep httpd

ここに-a すべてのブール値を一覧表示します。

次に、上記のコードで黄色で強調表示されたブール値を選択して変更しましょう。

getsebool httpd_can_connect_ftp

次に、値をallowに設定します 。

setsebool -P httpd_can_connect_ftp 1

上記のコマンドでは、

  • フラグPは、再起動後も変更を永続的にするために使用されます。
  • 1 ブール値を有効にしています。

これで、プロセスを再度リストすると、その値が許可されます。

SELinuxアーキテクチャ

次の図は、SELinuxがソースからの試行を検証する方法を説明しています。

トラブルシューティングとSELinuxログ

SE Linuxは、試行ごとに非常に詳細なログを生成します。ログを見つけて、ここで表示できます:/var/log/audit

トラブルシューティング中は、すべてのイベントをログに記録できるように、「許容」モードに移行する必要があります。ポリシーは適用されていませんが、試行はログに記録されています。

SELinuxを無効および有効にする方法

SELinuxを完全に無効にすることは決して良い選択肢ではありません。ただし、トラブルシューティング時など、ポリシーをバイパスできる特定のシナリオがあります。

小さな問題が発生した場合にSELinuxを無効にするのではなく、トラブルシューティングに時間を費やす方がよいでしょう。

ただし、本当にSE Linuxを無効にする必要がある場合は、次の手順に従ってください。

  1. モードを「強制」から「許可」に変更します。
  2. モードを「許可」から「無効」に変更します。
まとめ

SE Linuxを学ぶことはあなたの時間の価値があり、それを使用するときに探求できる無限の可能性があります。

SE Linuxは、管理者にきめ細かいレベルの制御を提供します。では、それを学び、それを活用してセキュリティを強化してみませんか?

最後まで読んでくれてありがとう。 Twitterでつながりましょう。


Linux
  1. libvirtでVagrantを使用する方法

  2. Linuxでgocryptfsを使用してファイルを暗号化する方法

  3. Rocky Linux /Centos8でLetsencryptを使用してNginxを保護する方法

  1. Linux – Vm Dnsサーバーをオーバーライドする方法は?

  2. RockyLinux8を保護する方法

  3. Linuxでパスワードを確認するには?

  1. LinuxでWindowsパスワードをリセットする方法

  2. スクリーンショットを使用してMXLinux21をステップバイステップでインストールする方法

  3. LinuxサーバーにGrafanaをインストールする方法