SELinuxの強制

SELinuxを施行に設定します。

始める前に:

次のパッケージが Oracle Linuxにインストールされていることを確認します:

rpm -q selinux-policy-targeted policycoreutils libselinux-utils libselinux-python libselinux

ノート

SELinuxモードを「許可」または「無効」から「強制」に変更する場合は、再起動する必要があります。
ポリシーを作成し、SELinuxが「強制」に設定されている場合にPAMが機能することを確認します:
  1. 必要に応じて、次のパッケージをOracle Linuxにインストールします:
    rpm -q selinux-policy-targeted policycoreutils libselinux-utils libselinux-python libselinux
  2. 443でのアウトバウンド通信を許可します:
    $ sudo setsebool -P nis_enabled 1
    ++
  3. ローカル・ポリシーを作成して、sssd_topcディレクトリを作成し、pam_nss.logファイル(/etc/opc.confを参照)に読取りおよび書込みできるようにします。SELinuxユーティリティによってコンパイルされるため、特定の場所に配置する必要はありません。
    1. ポリシー・ファイルを作成し、ファイル名idcs-pam.teで保存します。コンテンツは次のとおりです。
      module idcs-pam 1.0;
      
      require {
      	type sssd_var_log_t;
              type var_log_t;
              type sshd_t;
              type sssd_t;
              type cert_t;
      	type http_port_t;
      	type user_home_dir_t;
              class file { open read write };
              class dir { create write};
              class tcp_socket { name_connect };
      }
      
      #============= sssd_t ==============
      allow sssd_t cert_t:file write;
      allow sssd_t user_home_dir_t:dir write;
      allow sssd_t var_log_t:dir create;
      allow sssd_t var_log_t:file { open read };
      allow sshd_t sssd_var_log_t:file { open read };
      allow sshd_t http_port_t:tcp_socket { name_connect };
  4. SELinuxポリシー・モジュールを構築します。実行:
    $ checkmodule -M -m -o idcs-pam.mod idcs-pam.te 
    $ semodule_package -m idcs-pam.mod -o idcs-pam.pp
  5. SELinuxモジュールをインストールします。実行:
    $ semodule -i idcs-pam.pp
  6. SELinuxを再ロードします。実行:
    $ semodule -R
  7. 最後に、PAMユーザーを再度認証します。
    /opcディレクトリと/opc/pam_nss.logファイルが作成されます。