1.2. 例
以下の例は、SELinux がどのようにセキュリティーを向上するかを説明します。
- デフォルトのアクションは拒否です。アクセスを許可する SELinux のポリシールール (ファイルを開くプロセスなど) が存在しない場合は、アクセスが拒否されます。
- SELinux は、Linux ユーザーに制限をかけられます。SELinux ポリシーには、制限がかけられた SELinux ユーザーが多数含まれます。Linux ユーザーを、制限がかけられた SELinux ユーザーにマッピングして、SELinux ユーザーに適用されているセキュリティールールおよびメカニズムを利用できます。たとえば、Linux ユーザーを SELinux
user_u
ユーザーにマッピングすると、sudo や su などのユーザー ID (setuid) アプリケーションを設定しない限り、Linux ユーザーを実行できなくなります。詳細は、「制限のあるユーザーおよび制限のないユーザー」 を参照してください。 - プロセスとデータの分離が向上します。プロセスは独自のドメインで実行され、プロセスが他のプロセスによって使用されているファイルにアクセスできないようにします。また、プロセスが他のプロセスにアクセスできないようにします。たとえば、SELinux を実行している場合に、(許可が設定されていない限り) 攻撃者は Samba サーバーを危険にさらすことはできず、その Samba サーバーを攻撃ベクトルとして使用して、その他のプロセス (MariaDB など) が使用するファイルの読み書きを行うことはできません。
- SELinux は、設定ミスによるダメージを軽減します。Domain Name System (DNS) サーバーはゾーン転送として知られている機能で、互いに頻繁に情報を複製します。攻撃者は、ゾーン転送を使用して、虚偽の情報で DNS サーバーを更新できます。Red Hat Enterprise Linux で BIND (Berkeley Internet Name Domain) を DNS サーバーとして実行すると、ゾーン転送を実行できるサーバーを管理者が制限した場合でも、デフォルトの SELinux ポリシーによりゾーンファイルが阻止されます。 [1] デフォルトの SELinux ポリシーは、BIND
named
デーモン自体と他のプロセスによってゾーンファイルの更新を阻止します。 - NetworkWorld.com の記事 A seatbelt for server software: SELinux blocks real-world exploits を参照してください。[2]SELinux に関する背景情報と、SELinux が阻止したさまざまな不正使用に関する情報です。
[1]
DNS サーバーで使用される IP アドレスマッピングへのホスト名などの情報が含まれるテキストファイル。
[2]
Marti, Don."A seatbelt for server software: SELinux blocks real-world exploits".2008 年 2 月 24 日公開。2009 年 8 月 27 日にアクセス: http://www.networkworld.com/article/2283723/lan-wan/a-seatbelt-for-server-software--selinux-blocks-real-world-exploits.html