皆さま、SELinuxについてご存じでしょうか?
Linuxについてはご存じの方も多いかと思いますが、主にWindowsをご利用の方にとってSELinuxはあまり馴染みがないかもしれません。
今回は、通常のLinuxとSELinuxの違いについて、非常に簡単にですが、ご紹介します。
そもそもLinuxとは?
ご存じの通り、無料で使えるオープンソースのオペレーティングシステム(OS)です。
高いカスタマイズ性を有しており、その分知識が必要になりますが、非常に柔軟に設定が可能です。
使いやすさ重視のWindowsとは違い、まさに技術者が使うOSと言ったイメージです(偏見かもしれませんが)。
SELinuxとは何か?
さて、本題です。
SELinuxはSecurity-Enhanced Linuxの略で、通常のLinuxに比べてセキュリティが強化されたシステムです。
通常のLinuxではアクセス制御は主にDAC方式を使用します。
これは、ファイルやディレクトリの所有者がアクセス権を設定する方式です。
対して、SELinuxはMAC(Mandatory Access Control)方式を採用しています。
これは、システム管理者が定義したセキュリティポリシーに基づいてアクセス制御を行う方式で、rootユーザーであってもポリシーを超えたアクセスは許可されず、厳格なセキュリティ管理が可能となります。
また、通常のLinuxでは、rootユーザーがすべてのファイルやプロセスにアクセスできるため、root権限を奪取されるとシステム全体が危険にさらされます。
しかし、SELinuxでは、rootユーザーであってもセキュリティポリシーに従う必要があり、特権を制限することでセキュリティを強化することができます。
さらに、SELinuxはシステムに侵入された場合でも、アクセスできる範囲を最小限に抑えることができるため、システム全体の被害を軽減できる可能性も高まります。
最後に
以上のように、SELinuxは通常のLinuxに比べてセキュリティが強化されています。
もちろんその分、設定や管理は複雑で技術的な難しさがあります。
特に厳格なセキュリティ要件が必要な政府機関や軍事システムに使われたりしているそうです。
しかし、最近ではセキュリティリスクにさらされがちなIoTデバイスにもSELinuxが使われることも増えているそうですので、ますますセキュリティが重要な昨今、こういった技術を調べてみるのも今後の仕事に役立つかもしれませんね。