###
■はじめに
みなさん、こんにちは。このコラムでは、RHEL7/CentOS7のLinuxサーバー管理に役立つ情報をお届けします。今回は、SELinuxのセキュリティ管理機能を解説します。
SELinuxは、Linuxカーネルが提供するセキュリティ保護の仕組みで、強力なセキュリティ保護機能を提供する反面、SELinuxの設定が不適切なためにアプリケーションが動作しないという、トラブルの原因になることもあります。まずは、SELinuxの仕組みを理解して、適切な設定方法をマスターしていきましょう。
■SELinuxの仕組み
SELinuxは、Linux上で稼働するそれぞれのプロセスについて、アクセスを許可するリソースをカーネルレベルで制限します。これにより、アプリケーションが想定外の動作を行った際に、システムのセキュリティを保護することが可能になります。
たとえば、httpパッケージを導入してWebサーバーを構築した場合、Webサーバーで公開するファイルは、ディクレクトリー/var/wwwの下に保存する必要があります。これは、Webサーバーのデーモンプロセスは、これ以外のディレクトリーへのアクセスが禁止されているためです。仮にデーモンプロセスにセキュリティ脆弱性があり、外部から不正に操作された場合でも、これ以外のディレクトリーの内容を盗まれる危険性が低減されます(図1)。
columns08_figure01
図1 SELinuxの動作原理
リソースに対するアクセスの可否は、リソースに付与された「セキュリティコンテキスト」によって判断されます。ファイルやディレクトリーに対するセキュリティコンテキストは、lsコマンドの-Zオプションで確認することができます。
# ls -lZ /var/www/html
-rw-r–r–. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 index.html
この例では、「unconfined_u:object_r:httpd_sys_content_t」の部分がセキュリティコンテキストで、前から順に、「ユーザー属性」「ロール属性」「タイプ属性」を表します。Webサーバーのデーモンプロセスは、これらの属性を持ったファイルへのアクセスが許可されていることになります。ディレクトリー/var/www/htmlの下に作成したファイルには、自動的に上記の属性が設定されるようになっていますので、通常は、ユーザー自身がセキュリティコンテキストを設定する必要はありません。
この続きは以下をご覧ください
リンク
御社のプレスリリース・イベント情報を登録するには、ZDNet Japan企業情報センターサービスへのお申し込みをいただく必要がございます。詳しくは以下のページをご覧ください。