Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for RHEL 8

6.9. 在 MLS 中定义安全终端

SELinux 策略会检查用户从中连接的终端类型,并允许运行某些 SELinux 应用程序,例如 newrole,只从安全终端检查。从非安全终端尝试此操作会产生错误:Error: you are not allowed to change levels on a non secure terminal;

/etc/selinux/mls/contexts/securetty_types 文件定义了 MLS 策略的安全终端。

该文件的默认内容:

console_device_t
sysadm_tty_device_t
user_tty_device_t
staff_tty_device_t
auditadm_tty_device_t
secureadm_tty_device_t
警告

将终端类型添加到安全终端列表中,可使您的系统暴露于安全风险。

前提条件

  • SELinux 策略设置为 mls
  • 您从安全的终端进行连接,或者 SELinux 处于 permissive 模式。
  • 您有安全管理权限,这意味着您要分配给其中之一:

    • secadm_r 角色。
    • 如果启用了 sysadm_secadm 模块,进入 sysadm_r 角色。sysadm_secadm 模块默认启用。
  • 已安装 policycoreutils-python-utils 软件包。

流程

  1. 确定当前的终端类型:

    # ls -Z `tty`
    root:object_r:user_devpts_t:s0 /dev/pts/0

    在本例中,user_devpts_t 是当前的终端类型。

  2. /etc/selinux/mls/contexts/securetty_types 文件中的新行中添加相关的 SELinux 类型。
  3. 可选:将 SELinux 切换到 enforcing 模式:

    # setenforce 1

验证

  • 从之前不安全的终端中登录到 /etc/selinux/mls/contexts/securetty_types 文件。

其他资源

  • securetty_types(5) man page