配置设备策略(任务)
设备策略可限制或禁止访问属于系统一部分的设备。策略是在内核中实施的。
配置设备策略(任务列表)
以下任务列表列出了与设备策略相关的设备配置过程。
任务
说明
参考
查看系统上设备的设备策略。
列出设备及其设备策略。
要求使用设备的特权。
使用特权保护设备。
删除设备的特权要求。
删除或减少访问设备所需的特权。
审计设备策略的更改。
在审计迹中记录设备策略的更改。
访问 /dev/arp。
获取 Oracle Solaris IP MIB-II 信息。
如何查看设备策略显示系统上所有设备的设备策略。% getdevpolicy | more
DEFAULT
read_priv_set=none
write_priv_set=none
ip:*
read_priv_set=net_rawaccess
write_priv_set=net_rawaccess
…
示例 5-1 查看特定设备的设备策略
此示例显示了三个设备的设备策略。% getdevpolicy /dev/allkmem /dev/ipsecesp /dev/bge
/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/bge
read_priv_set=net_rawaccess
write_priv_set=net_rawaccess
如何更改现有设备上的设备策略
开始之前
您必须分配有 Device Security(设备安全)权限配置文件。成为具有所需安全属性的管理员。
有关更多信息,请参见如何获取管理权限。
向设备中添加策略。# update_drv -a -p policy device-driver-a
指定 device-driver 的 policy。
-p policy
device-driver 的设备策略。设备策略指定两个特权集。一个用于读取设备,另一个用于写入设备。
device-driver
设备驱动程序。
有关更多信息,请参见 update_drv(1M) 手册页。
示例 5-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
示例 5-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
如何审计设备策略的更改
缺省情况下,as 审计类包括 AUE_MODDEVPLCY 审计事件。
开始之前
您必须分配有 Audit Configuration(审计配置)权限配置文件。成为具有所需安全属性的管理员。
有关更多信息,请参见如何获取管理权限。
预选包括 AUE_MODDEVPLCY 审计事件的审计类。# auditconfig -getflags
current-flags
# auditconfig -setflags current-flags,as
有关详细说明,请参见如何预选审计类。
如何从 /dev/* 设备检索 IP MIB-II 信息
检索 Oracle Solaris IP MIB-II 信息的应用程序应该打开 /dev/arp,而不是 /dev/ip。确定 /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 不需要特权。
打开 /dev/arp 并推送 tcp 和 udp 模块。
此方法不需要特权,它等同于打开 /dev/ip 并推送 arp、tcp 和 udp 模块。现在,由于打开 /dev/ip 需要特权,因此 /dev/arp 是首选方法。