JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11 安全准则     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  Oracle Solaris 11 安全概述

2.  配置 Oracle Solaris 11 安全

安装 Oracle Solaris OS

确保系统安全

检验软件包

禁用不需要的服务

为用户删除电源管理功能

在标题文件中放置安全消息

在桌面登录屏幕中放置安全消息

确保用户安全

设置更强的口令约束

为一般用户设置帐户锁定

为一般用户设置限制性更为严格的 umask

审计除登录/注销之外的重要事件

实时监视 lo 事件

为用户删除不需要的基本特权

确保内核安全

配置网络

sshftp 用户显示安全消息

禁用网络路由选择守护进程

禁用广播包转发

禁止响应回显请求

设置严格多宿主

设置最大不完整 TCP 连接数

设置最大暂挂 TCP 连接数

为初始 TCP 连接指定强随机数

将网络参数重置为安全值

保护文件系统和文件

保护和修改文件

确保应用程序和服务安全

创建区域以包含关键应用程序

管理区域中的资源

配置 IPsec 和 IKE

配置 IP 过滤器

配置 Kerberos

向传统服务添加 SMF

创建系统的 BART 快照

添加多级别(有标签)安全

配置 Trusted Extensions

配置有标签的 IPsec

3.  监视和维护 Oracle Solaris 11 安全

A.  Oracle Solaris 安全的参考书目

配置网络

此时,您可能已经创建了可承担角色的用户,且创建了角色。只有 root 角色可以修改系统文件。

从以下网络任务中,根据您的站点要求执行可提供附加安全性的任务。这些网络任务可通知远程登录的用户:系统受到保护,这些网络任务还可增强 IP、ARP 和 TCP 协议。

任务
说明
参考
显示用于反映站点安全策略的警告消息。
通知用户和潜在攻击者:系统处于受监视状态。
禁用网络路由选择守护进程。
限制可能存在的网络探查器访问系统。
防止散播有关网络拓扑的信息。
防止广播包。
阻止对广播回显请求和多播回显请求的响应。
对于充当其他域的网关的系统(例如防火墙或 VPN 节点),打开严格的源和目标多宿主。
阻止其标头中没有网关地址的包在网关外移动。
通过控制不完整系统连接的数量阻止 DOS 攻击。
限制 TCP 侦听器所允许的不完整 TCP 连接数。
通过控制允许的传入连接数阻止 DOS 攻击。
指定 TCP 侦听器的缺省最大暂挂 TCP 连接数。
为初始 TCP 连接生成强随机数。
符合 RFC 1948 指定的序列号生成值。
将网络参数恢复为安全的缺省值。
提高因管理操作而降低的安全性。
向网络服务添加 TCP 包装,以将应用程序限定为仅供合法用户使用。
指定允许访问网络服务(例如 FTP)的系统。

缺省情况下,sendmail 应用程序由 TCP 包装进行保护,如《Oracle Solaris 管理:网络服务》中的"sendmail 版本 8.12 支持 TCP 包装"中所述。

要为所有 inetd 服务启用 TCP 包装,请参见《Oracle Solaris 管理:IP 服务》中的"如何使用 TCP 包装控制对 TCP 服务的访问"

有关保护 FTP 网络服务的 TCP 包装的示例,请参见《Oracle Solaris 管理:网络服务》中的"如何使用 SMF 启动 FTP 服务器"

sshftp 用户显示安全消息

使用以下过程在远程登录和文件传输时显示警告。

开始之前

您必须是 root 角色。在在标题文件中放置安全消息步骤 1 中创建了 /etc/issue 文件。

  1. 要向使用 ssh 登录的用户显示安全消息,请执行以下操作:
    1. /etc/sshd_config 文件中取消对 Banner 指令的注释。
      # vi /etc/ssh/sshd_config
      # Banner to be printed before authentication starts.
      Banner /etc/issue
    2. 刷新 ssh 服务。
      # svcadm refresh ssh
        

    有关更多信息,请参见 issue(4)sshd_config(4) 手册页。

  2. 要向使用 ftp 登录的用户显示安全消息,请执行以下操作:
    1. DisplayConnect 指令添加到 proftpd.conf 文件中。
      # vi /etc/proftpd.conf
      # Banner to be printed before authentication starts.
      DisplayConnect /etc/issue
    2. 重新启动 ftp 服务。
      # svcadm restart ftp

      有关更多信息,请参见 ProFTPD Web 站点。

禁用网络路由选择守护进程

使用此过程可在安装后阻止网络路由,方法是指定缺省路由器。否则,请在手动配置路由后执行此过程。


注 - 许多网络配置过程都要求禁用路由选择守护进程。因此,您可能已在某个大型配置过程中禁用此守护进程。


开始之前

您必须分配有 "Network Management"(网络管理)权限配置文件。

  1. 检验路由选择守护进程是否正在运行。
    # svcs -x svc:/network/routing/route:default
    svc:/network/routing/route:default (in.routed network routing daemon)
     State: online since April 10, 2011 05:15:35 AM PDT
       See: in.routed(1M)
       See: /var/svc/log/network-routing-route:default.log
    Impact: None.

    如果服务未运行,则可在此处停止。

  2. 禁用路由选择守护进程。
    # routeadm -d ipv4-forwarding -d ipv6-forwarding
    # routeadm -d ipv4-routing -d ipv6-routing
    # routeadm -u
  3. 检验路由选择守护进程是否已被禁用。
    # svcs -x routing/route:default
    svc:/network/routing/route:default (in.routed network routing daemon)
     State: disabled since April 11, 2011 10:10:10 AM PDT
    Reason: Disabled by an administrator.
       See: http://sun.com/msg/SMF-8000-05
       See: in.routed(1M)
    Impact: This service is not running.

另请参见

routeadm(1M) 手册页

禁用广播包转发

缺省情况下,Oracle Solaris 将转发广播包。如果您的站点安全策略要求您降低广播泛洪的可能性,请使用此过程更改缺省设置。


注 - 在禁用 _forward_directed_broadcasts 网络属性时,将禁用广播 ping。


开始之前

您必须分配有 "Network Management"(网络管理)权限配置文件。

  1. 将 IP 包的广播包转发属性设置为 0。
    # ipadm set-prop -p _forward_directed_broadcasts=0 ip
  2. 检验当前值。
    # ipadm show-prop -p _forward_directed_broadcasts ip
    PROTO  PROPERTY                     PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ip    _forward_directed_broadcasts  rw   0         --           0         0,1

另请参见

ipadm(1M) 手册页

禁止响应回显请求

使用此过程可防止散播有关网络拓扑的信息。

开始之前

您必须分配有 "Network Management"(网络管理)权限配置文件。

  1. 将 IP 包对广播回显请求的响应属性设置为 0,然后检验当前值。
    # ipadm set-prop -p _respond_to_echo_broadcast=0 ip
    
    # ipadm show-prop -p _respond_to_echo_broadcast ip
    PROTO  PROPERTY                  PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ip    _respond_to_echo_broadcast rw   0         --           1         0,1
  2. 将 IP 包对多播回显请求的响应属性设置为 0,然后检验当前值。
    # ipadm set-prop -p _respond_to_echo_multicast=0 ipv4
    # ipadm set-prop -p _respond_to_echo_multicast=0 ipv6
    
    # ipadm show-prop -p _respond_to_echo_multicast ipv4
    PROTO  PROPERTY                  PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ipv4  _respond_to_echo_multicast rw   0         --           1         0,1
    # ipadm show-prop -p _respond_to_echo_multicast ipv6
    PROTO  PROPERTY                  PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ipv6  _respond_to_echo_multicast rw   0         --           1         0,1

另请参见

有关更多信息,请参见《Oracle Solaris 可调参数参考手册》中的"_respond_to_echo_broadcast 和 _respond_to_echo_multicast(ipv4 或 ipv6)"ipadm(1M) 手册页。

设置严格多宿主

对于充当其他域的网关的系统(例如防火墙或 VPN 节点),使用此过程可打开严格多宿主。

Oracle Solaris 11 发行版为 IPv4 和 IPv6 引入了新的属性 hostmodel。此属性可控制 IP 包在多宿主系统上的发送和接收行为。

开始之前

您必须分配有 "Network Management"(网络管理)权限配置文件。

  1. 将 IP 包的 hostmodel 属性设置为 strong
    # ipadm set-prop -p hostmodel=strong ipv4
    # ipadm set-prop -p hostmodel=strong ipv6
  2. 检验当前值并注意可能的值。
    # ipadm show-prop -p hostmodel ip
    PROTO  PROPERTY    PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ipv6   hostmodel   rw   strong    strong       weak      strong,src-priority,weak
    ipv4   hostmodel   rw   strong    strong       weak      strong,src-priority,weak

另请参见

有关更多信息,请参见《Oracle Solaris 可调参数参考手册》中的"hostmodel(ipv4 或 ipv6)"ipadm(1M) 手册页。

有关严格多宿主使用情况的更多信息,请参见《Oracle Solaris 管理:IP 服务》中的"如何在隧道模式下使用 IPsec 保护 VPN"

设置最大不完整 TCP 连接数

使用此过程可通过控制不完整的暂挂连接数阻止拒绝服务 (denial of service, DOS) 攻击。

开始之前

您必须分配有 "Network Management"(网络管理)权限配置文件。

  1. 设置最大传入连接数。
    # ipadm set-prop -p _conn_req_max_q0=4096 tcp
  2. 检验当前值。
    # ipadm show-prop -p _conn_req_max_q0 tcp
    PROTO  PROPERTY         PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    tcp   _conn_req_max_q0  rw   4096      --           128       1-4294967295

另请参见

有关更多信息,请参见《Oracle Solaris 可调参数参考手册》中的"_conn_req_max_q0"ipadm(1M) 手册页。

设置最大暂挂 TCP 连接数

使用此过程可通过控制允许的传入连接数阻止 DOS 攻击。

开始之前

您必须分配有 "Network Management"(网络管理)权限配置文件。

  1. 设置最大传入连接数。
    # ipadm set-prop -p _conn_req_max_q=1024 tcp
  2. 检验当前值。
    # ipadm show-prop -p _conn_req_max_q tcp
    PROTO  PROPERTY         PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    tcp   _conn_req_max_q   rw   1024      --           128       1-4294967295

另请参见

有关更多信息,请参见《Oracle Solaris 可调参数参考手册》中的"_conn_req_max_q"ipadm(1M) 手册页。

为初始 TCP 连接指定强随机数

以下过程设置 TCP 初始序列号生成参数以遵守 RFC 1948

开始之前

您必须承担 root 角色才能修改系统文件。

将网络参数重置为安全值

许多缺省情况下安全的网络参数是可调的,因此可进行更改。如果站点条件允许,可将以下可调参数恢复为缺省值。

开始之前

您必须分配有 "Network Management"(网络管理)权限配置文件。参数的当前值不如缺省值安全。

  1. 将 IP 包的源包转发属性设置为 0,然后检验当前值。

    缺省值可阻止来自欺骗性包的 DOS 攻击。

    # ipadm set-prop -p _forward_src_routed=0 ipv4
    # ipadm set-prop -p _forward_src_routed=0 ipv6
    # ipadm show-prop -p _forward_src_routed ipv4
    PROTO  PROPERTY             PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ipv4  _forward_src_routed   rw   0         --           0         0,1
    # ipadm show-prop -p _forward_src_routed ipv6
    PROTO  PROPERTY             PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ipv6  _forward_src_routed   rw   0         --           0         0,1

    有关更多信息,请参见《Oracle Solaris 可调参数参考手册》中的"forwarding(ipv4 或 ipv6)"

  2. 将 IP 包的网络掩码响应属性设置为 0,然后检验当前值。

    缺省值可防止散播有关网络拓扑的信息。

    # ipadm set-prop -p _respond_to_address_mask_broadcast=0 ip
    # ipadm show-prop -p _respond_to_address_mask_broadcast ip
    PROTO PROPERTY                           PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ip    _respond_to_address_mask_broadcast rw   0         --           0         0,1
  3. 将 IP 包的时间戳响应属性设置为 0,然后检验当前值。

    缺省值可删除系统上的其他 CPU 需求,并防止散播有关网络的信息。

    # ipadm set-prop -p _respond_to_timestamp=0 ip
    # ipadm show-prop -p _respond_to_timestamp ip
    PROTO  PROPERTY                        PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ip    _respond_to_timestamp            rw   0         --           0         0,1
  4. 将 IP 包的广播时间戳响应属性设置为 0,然后检验当前值。

    缺省值可删除系统上的其他 CPU 需求,并防止散播有关网络的信息。

    # ipadm set-prop -p _respond_to_timestamp_broadcast=0 ip
    # ipadm show-prop -p _respond_to_timestamp_broadcast ip
    PROTO  PROPERTY                        PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ip    _respond_to_timestamp_broadcast  rw   0         --           0         0,1
  5. 将 IP 包的忽略重定向属性设置为 0,然后检验当前值。

    缺省值可阻止系统上的其他 CPU 需求。

    # ipadm set-prop -p _ignore_redirect=0 ipv4
    # ipadm set-prop -p _ignore_redirect=0 ipv6
    # ipadm show-prop -p _ignore_redirect ipv4
    PROTO  PROPERTY         PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ipv4  _ignore_redirect  rw   0         --           0         0,1
    # ipadm show-prop -p _ignore_redirect ipv6
    PROTO  PROPERTY         PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ipv6  _ignore_redirect  rw   0         --           0         0,1
  6. 阻止 IP 源路由。

    如果需要 IP 源路由以进行诊断,则不要禁用此网络参数。

    # ipadm set-prop -p _rev_src_routes=0 tcp
    # ipadm show-prop -p _rev_src_routes tcp
    PROTO  PROPERTY         PERM CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    tcp   _rev_src_routes   rw   0         --           0         0,1

    有关更多信息,请参见《Oracle Solaris 可调参数参考手册》中的"_rev_src_routes"

  7. 将 IP 包的忽略重定向属性设置为 0,然后检验当前值。

    缺省值可阻止系统上的其他 CPU 需求。通常,在设计完善的网络上不需要重定向。

    # ipadm set-prop -p _ignore_redirect=0 ipv4
    # ipadm set-prop -p _ignore_redirect=0 ipv6
    # ipadm show-prop -p _ignore_redirect ipv4
    PROTO  PROPERTY           PERM  CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ipv4   _ignore_redirect   rw    0         --           0         0,1
    # ipadm show-prop -p _ignore_redirect ipv6
    PROTO  PROPERTY           PERM  CURRENT   PERSISTENT   DEFAULT   POSSIBLE
    ipv6   _ignore_redirect   rw    0         --           0         0,1

另请参见

ipadm(1M) 手册页