Red Hat Training

A Red Hat training course is available for RHEL 8

第9章 複数のシステムへの同じ SELinux 設定のデプロイメント

本セクションでは、検証した SELinux 設定を複数のシステムにデプロイする際に推奨される方法を説明します。

  • RHEL システムロールおよび Ansible の使用
  • スクリプトで semanage の export コマンドおよび import コマンドの使用

9.1. SELinux システムロールの概要

RHEL システムロールは、複数の RHEL システムをリモートで管理する一貫した構成インターフェースを提供する Ansible ロールおよびモジュールの集合です。SELinux システムロールは、以下のアクションを有効にします。

  • SELinux ブール値、ファイルコンテキスト、ポート、およびログインに関連するローカルポリシーの変更を消去します。
  • SELinux ポリシーブール値、ファイルコンテキスト、ポート、およびログインの設定
  • 指定されたファイルまたはディレクトリーでファイルコンテキストを復元します。
  • SELinux モジュールの管理

以下の表は、SELinux システムロールで利用可能な入力変数の概要を示しています。

表9.1 SELinux システムロール変数

ロール変数説明CLI の代替手段

selinux_policy

ターゲットプロセスまたは複数レベルのセキュリティー保護を保護するポリシーを選択します。

/etc/selinux/configSELINUXTYPE

selinux_state

SELinux モードを切り替えます。ansible-doc selinux を参照してください。

/etc/selinux/configsetenforce and SELINUX

selinux_booleans

SELinux ブール値を有効または無効にします。ansible-doc seboolean を参照してください。

setsebool

selinux_fcontexts

SELinux ファイルコンテキストマッピングを追加または削除します。ansible-doc sefcontext を参照してください。

semanage fcontext

selinux_restore_dirs

ファイルシステムツリー内の SELinux ラベルを復元します。

restorecon -R

selinux_ports

ポートに SELinux ラベルを設定します。ansible-doc seport を参照してください。

semanage port

selinux_logins

ユーザーを SELinux ユーザーマッピングに設定します。ansible-doc selogin を参照してください。

semanage login

selinux_modules

SELinux モジュールのインストール、有効化、無効化、または削除を行います。

semodule

rhel-system-roles パッケージによりインストールされる /usr/share/doc/rhel-system-roles/selinux/example-selinux-playbook.yml のサンプル Playbook は、Enforcing モードでターゲットポリシーを設定する方法を示しています。Playbook は、複数のローカルポリシーの変更を適用し、tmp/test_dir/ ディレクトリーのファイルコンテキストを復元します。

SELinux ロール変数の詳細は、rhel-system-roles パッケージをインストールし、/usr/share/doc/rhel-system-roles/selinux/ ディレクトリーの README.md または README.html ファイルを参照してください。