ホームページ  >  記事  >  運用・保守  >  SELinuxとは

SELinuxとは

青灯夜游
青灯夜游オリジナル
2023-02-08 11:56:353815ブラウズ

SELinux は、セキュリティが強化された Linux を指します。Linux のセキュリティ サブシステムです。従来の Linux オペレーティング システムのセキュリティを強化し、自律アクセス制御 (DAC) システムのさまざまな権限を解決するように設計されています。従来の Linux システムの問題 (過剰な root 権限など)。 SELinux は、プロセスが特定のファイル システム上のファイルまたはディレクトリへのアクセス権を持つかどうかを制御する強制アクセス制御 (MAC) システムを使用します。

SELinuxとは

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

SELinux とは

SELinux は、Security Enhanced Linux、つまりセキュリティが強化された Linux の略で、米国国家機関によって開発されています。 Security Agency (NSA) ) は、従来の Linux オペレーティング システムのセキュリティを強化し、従来の Linux の随意アクセス制御 (DAC) システムにおけるさまざまな権限の問題を解決するために、他のセキュリティ組織 (SCC Corporation など) によって共同開発された Linux セキュリティ サブシステムです。システム (root 権限が高すぎるなど)。

SELinux プロジェクトは、2000 年に GPL ライセンスの下でオープンソース化されました。Red Hat が Linux ディストリビューションに SELinux を含めると、SELinux は徐々に普及してきました。現在、SELinux は多くの組織で広く使用されており、ほぼすべての Linux カーネル バージョン 2.6 以降に SELinux 機能が統合されています。

初心者でもわかるSELinuxとは、Linux上に配備され、システムのセキュリティを強化する機能モジュールです。

従来の Linux システムでは、デフォルトのアクセス許可は、ファイルまたはディレクトリの所有者、グループ、その他のユーザーの読み取り、書き込み、および実行のアクセス許可を制御することであることがわかっています。この制御方法は任意と呼ばれます。アクセス制御 (DAC) 方式。SELinux では、プロセスが特定のファイル システム上のファイルまたはディレクトリへのアクセス権を持つかどうかを制御し、プロセスがファイルにアクセスできるかどうかを決定する強制アクセス制御 (MAC) システムが使用されます。ディレクトリの基礎は、SELinux で設定された多くのポリシー ルールに依存します。

そういえば、読者はこれら 2 つのアクセス制御システムの特徴を詳しく理解する必要があります。

  • Discretionary Access Control (DAC) は、 Linux のデフォルトのアクセス制御方法。ユーザーの ID とファイルとディレクトリに対する ID の rwx 権限に基づいてアクセスが可能かどうかを決定します。ただし、DAC アクセス制御の実際の使用にはいくつかの問題も見つかりました:
    • root 権限が高すぎるため、rwx 権限が root ユーザーに有効になりません。root ユーザーが盗まれたり、 root ユーザー自体 誤操作は Linux システムにとって致命的な脅威です。

    • Linux のデフォルトの権限は単純すぎます。所有者、所属グループ、その他のユーザーの ID のみが含まれています。権限には、読み取り、書き込み、および実行の権限のみがあります。 、これは権限の細分化と設定に役立ちません。

    • アクセス許可の不合理な割り当ては、システム内の機密ファイルまたはディレクトリに 777 アクセス許可を設定したり、機密ファイルに特別なアクセス許可 (SetUID アクセス許可など) を設定したりするなど、重大な結果につながります。

  • 強制アクセス制御 (MAC) は、SELinux のデフォルトのポリシー ルールを通じて、システム ファイル リソースへの特定のプロセスのアクセスを制御します。つまり、root ユーザーであっても、ファイルリソースにアクセスする際の処理を誤ると、ファイルリソースにアクセスできなくなります。

このように、SELinux はユーザーと権限だけでなくプロセスも制御します。各プロセスがどのファイル リソースにアクセスできるか、および各ファイル リソースがどのプロセスにアクセスできるかは、SELinux ルール ポリシーによって決まります。

SELinux では、Linux のデフォルトの権限が引き続き有効であることに注意してください。つまり、ユーザーがファイルにアクセスできるようにするには、ユーザーの権限が rwx 権限に準拠する必要があります。 、ユーザーはプロセスが SELinux 規制に準拠することも求められます。

しかし、システム内には非常に多くのプロセスやファイルがあり、これらを手動で割り当てて指定す​​ると負荷が大きくなってしまいます。したがって、SELinux には比較的完全なデフォルトのポリシー ルールが多数用意されており、これらのポリシー ルールを表示および管理する方法については後ほど説明します。

読者に SELinux が果たす役割を明確に理解していただくために、ここに例を示します。Apache で脆弱性が発見され、リモート ユーザーがシステムの機密ファイル (/etc など) にアクセスできるようになったとします。 /影の多い)。 Linux で SELinux が有効になっている場合、Apache サービス プロセスには /etc/shadow にアクセスする権限がないため、Apache を介したリモート ユーザーの /etc/shadow ファイルへのアクセスは、Linux を保護する SELinux によってブロックされます。システムの役割。

Selinux を閉じる方法

#查看selinux状态
[root@vm01]# getenforce
 
#临时关闭selinux
[root@vm01]# setenforce 0
 
#永久关闭
[root@vm01]# vi /etc/selinux/config
# SELINUX=enforcing改为SELINUX=disabled

関連する推奨事項:「Linux ビデオ チュートリアル

以上がSELinuxとはの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。