系统管理指南:安全性服务

配置设备策略

设备策略会限制或防止对作为系统整体部分的设备进行访问。策略在内核中实施。

Procedure如何查看设备策略

    显示系统上所有设备的设备策略。


    % getdevpolicy | more
    
    DEFAULT
    
            read_priv_set=none
    
            write_priv_set=none
    
    ip:*
    
            read_priv_set=net_rawaccess
    
            write_priv_set=net_rawaccess
    
    …

示例 4–1 查看特定设备的设备策略

此示例显示了三个设备的设备策略。


% getdevpolicy /dev/allkmem /dev/ipsecesp /dev/hme

/dev/allkmem

        read_priv_set=all

        write_priv_set=all

/dev/ipsecesp

        read_priv_set=sys_net_config

        write_priv_set=sys_net_config

/dev/hme

        read_priv_set=net_rawaccess

        write_priv_set=net_rawaccess

Procedure如何更改现有设备上的设备策略

  1. 承担拥有设备安全权限配置文件的角色或成为超级用户。

    主管理员角色拥有设备安全权限配置文件。还可以将设备安全权限配置文件指定给所创建的角色。有关如何创建角色并将其指定给用户的信息,请参见示例 9–3

  2. 向设备中添加策略。


    # update_drv -a -p policy device-driver
    
    -a

    指定 device-driverpolicy

    -p policy

    device-driver 的设备策略。设备策略指定两组权限。一组用于读取设备,另一组用于写入设备。

    device-driver

    设备驱动程序。

    有关更多信息,请参见 update_drv(1M) 手册页。


示例 4–2 向现有设备中添加策略

以下示例向 ipnat 设备中添加设备策略。


# getdevpolicy /dev/ipnat

/dev/ipnat

        read_priv_set=none

        write_priv_set=none

# update_drv -a \

-p 'read_priv_set=net_rawaccess write_priv_set=net_rawaccess' ipnat

# getdevpolicy /dev/ipnat

/dev/ipnat

        read_priv_set=net_rawaccess

        write_priv_set=net_rawaccess


示例 4–3 删除设备的策略

以下示例从 ipnat 设备的设备策略中删除读取的一组权限。


# getdevpolicy /dev/ipnat

/dev/ipnat

        read_priv_set=net_rawaccess

        write_priv_set=net_rawaccess

# update_drv -a -p write_priv_set=net_rawaccess ipnat

# getdevpolicy /dev/ipnat

/dev/ipnat

        read_priv_set=none

        write_priv_set=net_rawaccess

Procedure如何审计设备策略中的更改

缺省情况下,as 审计类包括 AUE_MODDEVPLCY 审计事件。

  1. 承担主管理员角色,或成为超级用户。

    主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 预选包括 AUE_MODDEVPLCY 审计事件的审计类。

    as 类添加到 audit_control 文件的 flags 行中。此文件的显示将与以下内容类似:


    # audit_control file
    
    dir:/var/audit
    
    flags:lo,as
    
    minfree:20
    
    naflags:lo

    有关详细说明,请参见如何修改 audit_control 文件

Procedure如何从 /dev/* 设备检索 IP MIB-II 信息

检索 Solaris IP MIB-II 信息的应用程序应该打开 /dev/arp,而不是 /dev/ip

  1. 确定 /dev/ip /dev/arp 上的设备策略。


    % getdevpolicy /dev/ip /dev/arp
    
    /dev/ip
    
            read_priv_set=net_rawaccess
    
            write_priv_set=net_rawaccess
    
    /dev/arp
    
            read_priv_set=none
    
            write_priv_set=none

    请注意,读写 /dev/ip 需要具有 net_rawaccess 权限,而 /dev/arp 不需要权限。

  2. 打开 /dev/arp 并推送 tcpudp 模块。

    此方法不需要权限,与打开 /dev/ip 并推送 arptcpudp 模块等效。由于现在打开 /dev/ip 需要权限,因此首选使用 /dev/arp 方法。