SELinux を使用したコンテナの保護

このページでは、SELinux を有効にしてコンテナを保護する方法について説明します。SELinux は RHEL と CentOS でサポートされています。ホストマシンで RHEL または CentOS を実行しており、SELinux を有効にする場合は、Anthos clusters on bare metal をインストールまたはアップグレードする前に、すべてのホストマシンで SELinux を有効にする必要があります。

SELinux が有効化されていることを確認する

デフォルトでは、RHEL と CentOS で SELinux が有効になっています。確認するには、次のコマンドを実行します。

$ getenforce

このコマンドからは、EnforcingPermissive または Disabled が返されます。コマンドから Enforcing が返された場合は、クラスタのアップグレードやクラスタの作成に進むことができます。

SELinux を有効にする

getenforce コマンドから Permissive が返された場合は、setenforce コマンドを使用して Enforcing モードに切り替えることができます。setenforce を使用して Permissive モードと Enforcing モードを切り替えるために、システムの再起動は必要ありません。ただし、再起動して変更を持続させる場合は、/etc/selinux/config ファイルを更新する必要があります。

Enforcing モードに切り替えるには、次のコマンドを実行します。

$ sudo setenforce 1 # temporary
$ sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/g' /etc/selinux/config # persistent - after reboot

SELinux が Disabled の場合は、有効にするには、まず Permissive モードで有効にしてシステムを再起動し、システムが正常に起動することを確認するようおすすめします。SELinux にエラーが存在しない場合は、SELinux を Enforcing モードに安全に切り替えることができます。

  1. 省略可: Permissive モードで SELinux を有効にします。

    $ sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config
    $ sudo reboot
    
  2. システムが SELinux のエラーが生じることなく正常に再起動した場合は、Enforcing モードを有効にできます。

    $ sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config
    $ sudo reboot
    

SELinux が Enforcing モードで有効になったらAnthos clusters on bare metal のアップグレードまたはインストールに進むことができます。