ウィンドウズマックソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

LinuxでSELinuxを構成する方法

編集済み 6 数か月前 によって ExtremeHow 編集チーム

セキュリティSELinux設定ポリシーコマンドライン実施シスアドミン監視ベストプラクティスアクセス制御

LinuxでSELinuxを構成する方法

翻訳が更新されました 6 数か月前

はじめに

SELinuxは、Security-Enhanced Linuxの略であり、カーネルに統合されたセキュリティアーキテクチャで、アクセス制御セキュリティポリシーをサポートするメカニズムを提供します。その目的は、プログラムの機能を制限し、潜在的な脆弱性からシステムを保護するオペレーティングシステムポリシーを適用することです。LinuxベースのシステムでSELinuxを構成することで、より安全な環境を実現できます。この包括的なガイドでは、LinuxマシンでSELinuxを構成する手順をステップバイステップで説明します。

SELinuxモードの理解

SELinuxを構成する前に、SELinuxが動作するモードを理解することが重要です。これらのモードは、オペレーティングシステム内でSELinuxがアクセス制御を管理する方法を決定します。

現在のSELinuxステータスを確認する

SELinuxを効果的に構成するには、その現在の状態を確認する必要があります。これにより、SELinuxがアクティブかどうか、および現在どのモードで動作しているかを理解できます。

端末ウィンドウを開き、次のコマンドを入力してステータスを確認します。

getenforce

より詳細な情報が必要な場合は、次のコマンドも使用できます。

sestatus

このコマンドは、現在の状態がEnforcingPermissive 、またはDisabledであるかを表示します。

SELinuxモードを変更する

SELinuxモードは、一時的または永続的に変更できます。テストやトラブルシューティングのために一時的にモードを変更することが有用であることが多いですが、永続的な変更は再起動後も設定を永続させるために必要です。

SELinuxモードを一時的に変更する

システムを再起動せずに一時的にモードを変更するには、setenforceコマンドを使用します。たとえば、強制モードに切り替えるには、次のように実行します。

sudo setenforce 1

許可モードに切り替えるには、次のコマンドを実行します。

sudo setenforce 0

SELinuxモードを永続的に変更する

変更を永続させるには、/etc/selinux/configにあるSELinux構成ファイルを更新します。このファイルをテキストエディタで開きます。

sudo nano /etc/selinux/config

SELINUX=で始まる行を探し、enforcingpermissive、またはdisabledに変更します。たとえば:

SELINUX=enforcing

ファイルを保存して閉じ、変更を有効にするためにシステムを再起動します。

SELinuxポリシータイプの理解

SELinuxポリシーは、SELinuxによって適用されるセキュリティルールを定義します。これらのポリシーは、システム上のさまざまなユーザーやサービスに付与される権限を制御します。最も一般的に使用されるポリシーには、次のものがあります。

現在使用しているポリシーを確認するには、端末で次のコマンドを実行します。

sestatus | grep "Loaded policy name"

SELinuxパッケージのインストールと管理

SELinuxを効果的に管理するには、関連するツールやパッケージをインストールする必要があります。これらはディストリビューションによって異なります。以下は、役立つ一般的なパッケージです。

Debian/Ubuntu系のディストリビューションの場合

aptパッケージマネージャを使用してSELinuxツールをインストールします。

sudo apt update sudo apt install policycoreutils selinux-utils setools

RHEL/CentOS系のディストリビューションの場合

yumまたはdnfパッケージマネージャを使用してSELinuxツールをインストールします。

sudo yum install policycoreutils selinux-policy setools

SELinuxポリシーの管理

特定のサービス向けにSELinuxポリシーを有効または無効にする方法を理解することは、必要なセキュリティレベルを達成しながらサービスの機能を妨げないようにするための重要な事項です。SELinuxはボーリアンを使用して、特定の機能のポリシーを切り替えます。

利用可能なSELinuxボーリアンを一覧するには、次のコマンドを実行します。

getsebool -a

SELinuxボーリアンの構成

一時的に(次回の再起動まで)ボーリアンの値を変更するには:

sudo setsebool httpd_enable_homedirs on

ボーリアンの値を永続的に変更するには、-Pオプションを使用し、ディスクに変更を書き込みます:

sudo setsebool -P httpd_enable_homedirs on

SELinuxコンテキストでファイルをラベル付けする

SELinuxはコンテキスト(ラベルとも呼ばれます)を使用して、ファイルやプロセスの権限を決定します。場合によっては、これらのコンテキストを手動で設定または変更する必要があります。ファイルのコンテキストを表示するには、ls -Zコマンドを使用します。

ls -Z /var/www/html

ファイルのコンテキストを変更する必要がある場合は、chconコマンドを使用します。たとえば、Webサーバーに適したコンテキストにファイルを変更するには:

sudo chcon -t httpd_sys_content_t /var/www/html/index.html

SELinuxコンテキストの復元

ファイルに誤ったSELinuxコンテキストが設定されている場合は、restoreconコマンドを使用してデフォルトのコンテキストに復元できます:

sudo restorecon -Rv /var/www/html

このコマンドは、指定されたディレクトリに対して正しいSELinuxコンテキストを再帰的に復元します。

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

SELinuxが強制モードで動作している場合、特にカスタムアプリケーションをインストールした場合、正当なアクションがブロックされることがあります。SELinuxのトラブルシューティングには、ログを分析し、何が拒否されたかを理解することが必要です。

SELinuxログをチェックする

SELinuxのメッセージは、/var/log/audit/audit.logまたは、システムによっては/var/log/messagesにログされます。ログを表示するには、テキストエディタまたはtailコマンドを使用します:

sudo tail -n 50 /var/log/audit/audit.log

ブロックされたアクションの分析

ログは複雑で大きくなることがあるため、audit2allowのような専門ツールは、それを理解するうえで役立ちます。このツールは、ログエントリを人間が読める形式に変換し、未承認のアクションを許可するのに必要なポリシーを提案します。

grep AVC /var/log/audit/audit.log | audit2allow -m custompolicy

上記のコマンドは、特定のアクションを許可できるSELinuxモジュールの作成に役立ちます。しかし、アクションを許可する場合は、システム全体のセキュリティが低下する可能性があるため注意が必要です。

結論

LinuxでのSELinuxの構成には、異なるモードの理解、状態の確認、モードの変更、ポリシーとボーリアンの操作、ファイルのラベリング、コンテキストの復元が含まれます。SELinuxは厳格なアクセス制御を適用することで、Linux環境のセキュリティを大幅に向上させる強力なシステムです。適切に構成することで、不正アクセスやサービスの妨害を狙う脅威から守ることができます。

ログを常に監視し、新しくインストールしたソフトウェアやシステム要件の変化に対応してポリシーを更新し続けることをお勧めします。SELinuxは最初は複雑に感じるかもしれませんが、その機能に慣れてくると、Linuxのセキュリティを強化するための欠かせないツールとなります。

記事の内容に誤りがある場合, あなたは


コメント