LinuxでSELinuxポリシーの設定と管理をマスターする方法

この記事では、Linux環境におけるSELinux(Security-Enhanced Linux)ポリシーの設定と管理について詳しく解説します。具体的なコード例、その解説、そして応用例を5つ以上含めています。SELinuxの導入と設定が初めての方も、この記事を参考にして独自のポリシーを設定できるようになるでしょう。

目次

SELinuxとは

SELinux(Security-Enhanced Linux)は、Linuxシステムのセキュリティ機能を強化するフレームワークです。ファイルやプロセスなどのリソースに対するアクセス制御を細かく設定できます。

SELinuxの主な特長

– マンダトリーアクセス制御(MAC)
– ロールベースのアクセス制御(RBAC)
– タイプエンフォースメント(TE)

SELinuxの設定状況の確認方法

最初にSELinuxが有効かどうかを確認する必要があります。

コマンドラインでの確認方法

getenforce  # SELinuxの有効/無効を確認

このコマンドを実行すると、`Enforcing`、`Permissive`、`Disabled`のいずれかが出力されます。`Enforcing`であれば、SELinuxは有効です。

SELinuxの基本的な設定方法

SELinuxの基本設定は主に`/etc/selinux/config` ファイルで行います。

設定ファイルの編集

vi /etc/selinux/config  # SELinuxの設定ファイルを開く

設定項目の説明

– `SELINUX`: 有効状態を設定(`enforcing`、`permissive`、`disabled`)
– `SELINUXTYPE`: 使用するポリシータイプを設定(通常は`targeted`)

応用例

ここではSELinuxの応用例を5つ紹介します。

HTTPサーバのポート番号を変更

semanage port -a -t http_port_t -p tcp 8080  # ポート8080をhttp用として設定

特定のディレクトリへの書き込み許可

chcon -t httpd_sys_rw_content_t /path/to/dir  # /path/to/dir への書き込みを許可

MySQLデータベースへのアクセス許可

setsebool -P httpd_can_network_connect_db on  # ApacheからMySQLへの接続を許可

ユーザーごとのリソース制限

semanage login -a -s user_u -r s0-s0:c0.c1023 new_user  # ユーザーnew_userに対するリソース制限を設定

FTPサーバーへの接続許可

setsebool -P ftp_home_dir on  # FTPサーバへの接続を許可

まとめ

この記事では、SELinuxの基本的な設定から応用例までを解説しました。SELinuxは非常に強力なセキュリティツールであり、その活用によりLinuxシステムの防御能力を格段に向上させることができます。各自のニーズに合わせて、設定をカスタマイズしてください。

created by Rinker
オライリージャパン
¥3,080 (2024/11/22 17:53:11時点 Amazon調べ-詳細)

コメント

コメントする

目次