游乐游手机版
首页/系统平台/文章详情

Solaris 9.0基本安全设置指南

时间:2026-06-20 10:30
Solaris 9的安全加固,说难不难,说简单也不简单。很多人拿到一台新系统,装完就扔在那儿了,结果漏洞百出。其实只要按着下面这些步骤走一遍,系统安全性就能上一个台阶。这里整理了一套实操流程,从安装到内核调整,再到工具部署,基本覆盖了主要的安全面。 1 选择合适的安装 这一步看似简单,但很多人却走

Solaris 9的安全加固,说难不难,说简单也不简单。很多人拿到一台新系统,装完就扔在那儿了,结果漏洞百出。其实只要按着下面这些步骤走一遍,系统安全性就能上一个台阶。这里整理了一套实操流程,从安装到内核调整,再到工具部署,基本覆盖了主要的安全面。

1. 选择合适的安装

这一步看似简单,但很多人却走错了。原则只有一个:只装你真正需要的软件包。多一个包就多一个攻击面,不必要的组件完全没必要安装。比如本例基于Solaris 9,那么在定制安装时就尽量精简。

2. 安装系统补丁

系统装好后第一件事,就是去 sunsolve.sun.com 下载最新补丁。把 9_Recommended.zip 解压后,执行 ./install_cluster 即可完成补丁安装。这一步没什么可偷懒的,补丁就是系统安全的基础。

3. 最小化启动服务

这是很多管理员容易忽略的一步。系统默认会启动一堆你用不上的服务,这些服务就是潜在的安全风险。需要通过调整 /etc/rc*.d 目录下的启动脚本来关闭不必要的服务。基本思路是:把不需要的服务对应的脚本名前加一个下划线,比如 mv S47pppd _S47pppd,这样系统启动时就不会运行这个脚本了。

为了方便查阅,这里把Solaris 9的主要启动脚本及其“留”或“禁”的理由整理了一下,按照 /etc/rc2.d/etc/rc3.d 两条线来走。

/etc/rc2.d 下的服务

  • S01MOUNTFSYS:挂载本地文件系统,绝对不能禁用。
  • S05RMTMPFILES:清理临时文件,需要启动。
  • S20sysetup:系统设置,需要启动。
  • S21perf:全部被注释掉了(...),不需要动。
  • S30sysid.net:网络设置,需要启动。
  • S40llc2:LLC2协议支持,需要启动。
  • S42ncakmod:网络缓存加速内核模块,需要启动。
  • S47pppd:ppp支持。一般不需要,执行 mv S47pppd _S47pppd 禁用。
  • S69inet:TCP/IP配置,需要启动。
  • S70sckm:Sun Fire 15000的密钥管理守护进程,一般不需要,禁用。
  • S70uucp:Unix对Unix复制,不需要,禁用。
  • S71ldap.client:启动LDAP客户端,不需要,禁用。
  • S71rpc:启动rpcbind服务(RPC Portmap服务)。如果需要CDE,这个进程是必需的,需要启动。
  • S71sysid.sys:配置系统参数,需要启动。
  • S72autoinstall:自动安装脚本,不需要,禁用。
  • S72directory:目录服务,不需要,禁用。
  • S72inetsvc:启动inet server,包含named/nis。如果不需要命名和NIS服务,可以禁用。
  • S72slpd:打印服务,不需要,禁用。
  • S73cachefs.daemon:NFS缓存服务,不需要,禁用。
  • S73mpsadm:集群服务管理进程?不需要,禁用。
  • S73nfs.client:NFS客户端,不需要,禁用。
  • S74autofs:自动挂载/卸载文件系统。没有使用NFS时,这个进程反而会对管理造成负面影响,不需要,禁用。
  • S74syslog:系统日志服务,必须启动。
  • S74xntpd:网络时间同步服务,不需要,禁用。
  • S75cron:自动执行脚本服务,必须启动。
  • S75flashprom:Flash更新脚本,需要启动。
  • S75sa vecore:核心内存转储脚本,需要启动。
  • S76nscd:DNS名字缓存服务,不需要,禁用。
  • S77sf880dr:针对V880的一个脚本,不需要,禁用。
  • S80lp:打印服务,不需要,禁用。
  • S80spc:还是打印服务,不需要,禁用。
  • S85power:电源管理,需要启动。
  • S88sendmail:邮件服务,不需要,禁用。
  • S88utmpd:监控utmp文件,与账号信息控制有关,需要启动。
  • S89PRESERVE:虽然不知所云,但留着吧,需要启动。
  • S90loc.ja.cssd:看了脚本也不知道干什么,还是需要启动吧。
  • S90wbem:WBEM管理界面服务器,不需要,禁用。
  • S91afbinit / S91gfbinit / S91ifbinit / S91jfbinit:针对Elite3D显卡的初始化脚本。没有显卡的机器就不需要,禁用。
  • S91zuluinit:针对Zulu卡的初始化脚本,不需要,禁用。
  • S93cacheos.finish:cache文件系统,不需要,禁用。
  • S94Wnn6:日文输入系统,不需要,禁用。
  • S94ncalogd:NCA进程日志,不需要,禁用。
  • S95IIim:输入法守护进程,Solaris国际化支持的一部分,需要启动。
  • S95svm.sync:devfs同步进程,监控系统硬件,需要启动。
  • S98efcode:嵌入式FCode解释器守护进程,虽然不知道具体作用,但只好让它运行着。
  • S99atsv:可能是支持日文的,不需要,禁用。
  • S99audit:审计进程,需要启动。
  • S99dtlogin:启动CDE登录进程,需要启动。
  • S99rcapd:跟资源回收有关的,需要启动。

/etc/rc3.d 下的服务

  • S13kdc.master / S14kdc:KDC服务,不需要,禁用。
  • S15nfs.server:NFS服务,不需要,禁用。
  • S16boot.server:远程启动服务,不需要,禁用。
  • S34dhcp:DHCP服务,不需要,禁用。
  • S50apache:HTTP服务,不需要,禁用。
  • S50san_driverchk:SAN驱动检查?机器上没装,不需要,禁用。
  • S76snmpdx:SNMP服务,不需要,禁用。
  • S77dmi:SNMP的子服务,不需要,禁用。
  • S80mipagent:启动Mobile IP,不需要,禁用。
  • S81volmgt:软盘光驱的卷管理,需要启动。
  • S84appserv:Sun ONE Server的组件,不需要,禁用。
  • S89sshd:SSH服务,需要启动。
  • S90samba:需要挂载Windows文件系统才需要,不需要,禁用。
  • S86directorysnmp:与Sun Directory目录服务有关,不需要,禁用。
  • S99JESsplash:不知道干什么,不需要,禁用。

另外,与这些服务相关的配置文件也可以一并清理,让系统更加简洁,便于审计。

4. 关闭inetd服务

现在SSH已经非常普及了,完全可以用SSH替代Telnet和FTP,实现更安全的远程访问。

  • 完全关闭方案:如果已经把SSH作为启动服务一直运行,那么完全可以彻底关闭 inetd 服务。这样系统中的绝大多数网络服务入口就被堵住了。
  • 必须运行inetd时:如果有些老服务必须依赖 inetd,那就需要精简化配置。在 /etc/inetd.conf 里只保留真正需要的表项,然后对保留下来的表项使用 tcp wrappers(通过 tcpd 进程),最后别忘了用 inetd -t 参数记录扩展的日志信息。

5. 调整内核参数

内核参数是系统安全的重要防线,合理的设置能有效抵御许多常见攻击。

5.1 减少ARP过期时间

缩短ARP缓存的刷新间隔,可以减少ARP欺骗攻击的窗口时间。执行以下命令:

ndd -set /dev/arp arp_cleanup_interval 60000
# ndd -set /dev/ip ip_ire_flush_interval 60000  (Solaris 9 已经没有这个参数)

5.2 关闭IP转发

多宿主主机如果不承担路由功能,一定要关闭IP转发。

  • 关闭IP转发ndd -set /dev/ip ip_forwarding 0
  • 严格限定多宿主主机:如果是多宿主主机,可以加上更严格的限定防止IP欺骗攻击:ndd -set /dev/ip ip_strict_dst_multihoming 1
  • 关闭转发广播包:为了防止被用来实施Smurf攻击,需要关闭转发广播特性:ndd -set /dev/ip ip_forward_directed_broadcasts 0

5.3 关闭转发源路由包

源路由包可以被攻击者用来绕过网络路径限制,必须关闭。

ndd -set /dev/ip ip_forward_src_routed 0

5.4 禁止响应ICMP广播

这几项都是为了防止系统被用作网络放大攻击的跳板。

  • 禁止响应Echo广播:ndd -set /dev/ip ip_respond_to_echo_broadcast 0
  • 禁止响应时间戳广播:ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0
  • 禁止响应地址掩码广播:ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0

5.5 处理重定向错误

恶意路由器可以发送虚假的重定向报文来劫持流量。

  • 禁止接受重定向错误:ndd -set /dev/ip ip_ignore_redirect 1
  • 禁止发送重定向错误报文:ndd -set /dev/ip ip_send_redirects 0
  • 禁止时间戳响应:ndd -set /dev/ip ip_respond_to_timestamp 0

5.6 防御SYN Flood攻击

将TCP连接请求队列的默认值从1024提高到4096,可以降低半开连接攻击的影响。

ndd -set /dev/tcp tcp_conn_req_max_q0 4096

5.7 防御连接耗尽攻击

将完全建立的连接队列参数从默认的128增大到1024,可以预防连接耗尽攻击。

ndd -set /dev/tcp tcp_conn_req_max_q 1024

5.8 防止IP欺骗

Solaris系统对TCP协议初始序列号(ISN)的生成有三种方式:0(可预测)、1(增强随机生成)、2(RFC 1948方式)。默认是方式1。为了提高安全性,建议修改 /etc/default/inetinit 文件,将 TCP_STRONG_ISS=1 改为 TCP_STRONG_ISS=2,重启后生效。这样生成的ISN更难被预测,大大增加了IP欺骗的难度。

5.9 增加私有端口

一般来说,1-1024端口被称为私有端口,只允许根权限的进程连接。但有些服务(如NFS的端口2049)运行在更高的端口上。可以通过以下命令灵活管理私有端口范围。

  • 自定义最小非私有端口:ndd -set /dev/tcp tcp_smallest_nonpriv_port 2050,这样0-2049都被定义为私有端口。
  • 查看已定义的扩展私有端口:ndd /dev/tcp tcp_extra_priv_ports
  • 单独增加一个私有端口:ndd -set /dev/tcp tcp_extra_priv_ports_add 6112
  • 删除私有端口定义:ndd -set /dev/tcp tcp_extra_priv_ports_del 6112

不过这里需要特别提醒:不要随意定义私有端口。改变最小非私有端口这个参数经常会引发问题,建议先仔细分析需求,再用扩展私有端口的方式单独增加。举个例子,某系统的执行结果显示了三个私有端口:2049、4045、9010。

5.10 其他内核参数调整

  • 启用堆栈保护:在 /etc/system 文件中添加以下两行,可以有效防止缓冲区溢出攻击:set noexec_user_stack = 1set noexec_user_stack_log = 1
  • 禁止核心转储:执行 coreadm -d process,避免核心内存信息泄露。
  • 设置进程限制:根据系统资源情况合理设置。

6. 增强日志记录

日志是事后审计和入侵检测的重要依据。务必调整 syslog.conf,捕获 auth.infodaemon.notice 消息。创建 /var/adm/loginlog 文件以记录登录信息。还可以考虑启用系统审计(sar)、进程审计以及内核级别的BSM审计。

7. 保护文件系统

挂载文件系统时,对于不需要执行程序或写入的目录,应挂载为 nosuidro(只读)模式。如果Solaris版本在8及以上,可以在根文件系统上设置 logging 选项。可移动介质设备也要注意:如果可能,关闭 vold 服务,并确保 rmmount.conf 设置了 nosuid 选项。

8. 设置警告信息

通过修改 /etc/motd/etc/issue 文件,可以设置登录前的警告信息,告知用户系统受法律保护,非授权访问将被记录。这些信息还能在 /etc/default/{telnetd,ftpd}、EEPROM以及GUI登录界面中配置。

9. 加强系统的访问控制

访问控制是安全防御的最后一道闸门。

  • 限制root登录:在 /etc/default/login 中设置 CONSOLE=/dev/console,同时在 sshd_config 中设置 PermitRootLogin no,禁止root通过SSH登录。
  • 禁用不用的账号:对不需要登录的用户账号,在 /etc/passwd 文件中将shell改为 /bin/false/dev/null
  • 创建 /etc/ftpusers:只有该文件中指定的用户才能使用ftp服务。
  • 禁止 .rhosts 支持:删除系统中的 .rhosts 文件;使用SSH时确保 sshd_configIgnoreRhosts yes;检查 /etc/pam_conf,移除包含 rhosts_auth 的条目。
  • 限制对cron和at的访问:创建 cron.allowat.allow 文件,只允许列出的用户提交或修改定时任务。
  • 设置EEPROM安全模式:将eeprom设置为 security-mode=command,这样在系统启动前会要求输入密码,防止攻击者通过物理方式从光盘启动绕过系统安全。
  • 限制XDMCP和屏幕保护:如果运行了X Windows,需要在 /etc/dt/config/Xaccess 中禁用远程XDMCP访问。还可以在 /etc/dt/config/*/sys.resources 中为用户设置默认的带锁屏的屏幕保护超时时间。

10. 安装安全工具

最后,安装一些安全工具来巩固整个防御体系。

  • 基本必备:SSH(已安装)、TCP Wrappers(用于inetd下的服务保护)、NTP(保持时间同步,利于日志审计)、fix-modes(修复系统文件和目录权限)。
  • 增强工具:Tripwire或AIDE(文件完整性检查)、Logsentry或Swatch(日志监控和告警)、基于主机的防火墙或Portsentry(端口扫描检测工具)。

按照这个流程一步步走下来,Solaris 9系统基本上就有了一个比较稳固的安全基础。当然,安全是动态的,还需要根据实际运营环境不断调整和加固。但这套“从系统安装到内核调优,再到工具辅助”的打法,是任何时候都过时的基本功。

来源:https://www.jb51.net/os/Solaris/1675.html
上一篇Solaris操作系统核心基础知识入门教程全面讲解 下一篇如何给Solaris系统打补丁保障系统安全完整指南
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送