发布于2026-06-04 阅读(0)
扫一扫,手机访问
Solaris 9的安全加固,说难不难,说简单也不简单。很多人拿到一台新系统,装完就扔那儿了,结果漏洞百出。其实只要按着下面这些步骤走一遍,系统安全性就能上一个台阶。这里整理了一套实操流程,从安装到内核调整,再到工具部署,基本覆盖了主要的安全面。
这一步看似简单,但很多人却走错了。原则只有一个:只装你真正需要的软件包。多一个包就多一个攻击面,不必要的组件完全没必要安装。比如本例基于Solaris 9,那么在定制安装时就尽量精简。
系统装好后第一件事,就是去 sunsolve.sun.com 下载最新补丁。把 9_Recommended.zip 解压后,执行 ./install_cluster 即可完成补丁安装。这一步没什么可偷懒的,补丁就是系统安全的基础。
这是很多管理员容易忽略的一步。系统默认会启动一堆你用不上的服务,这些服务就是潜在的安全风险。需要通过调整 /etc/rc*.d 目录下的启动脚本来关闭不必要的服务。基本思路是:把不需要的服务对应的脚本名前加一个下划线,比如 mv S47pppd _S47pppd,这样系统启动时就不会运行这个脚本了。
为了方便查阅,这里把Solaris 9的主要启动脚本及其“留”或“禁”的理由整理了一下,按照 /etc/rc2.d 和 /etc/rc3.d 两条线来走。
/etc/rc2.d 下的服务
mv S47pppd _S47pppd 禁用。/etc/rc3.d 下的服务
另外,与这些服务相关的配置文件也可以一并清理,让系统更加简洁,便于审计。
现在SSH已经非常普及了,完全可以用SSH替代Telnet和FTP,实现更安全的远程访问。
/etc/inetd.conf 里只保留真正需要的表项,然后对保留下来的表项使用 tcp wrappers(通过 tcpd 进程),最后别忘了用 inetd -t 参数记录扩展的日志信息。内核参数是系统安全的重要防线,合理的设置能有效抵御许多常见攻击。
缩短ARP缓存的刷新间隔,可以减少ARP欺骗攻击的窗口时间。执行以下命令:
ndd -set /dev/arp arp_cleanup_interval 60000
# ndd -set /dev/ip ip_ire_flush_interval 60000 (Solaris 9 已经没有这个参数)
多宿主主机如果不承担路由功能,一定要关闭IP转发。
ndd -set /dev/ip ip_forwarding 0ndd -set /dev/ip ip_strict_dst_multihoming 1ndd -set /dev/ip ip_forward_directed_broadcasts 0源路由包可以被攻击者用来绕过网络路径限制,必须关闭。
ndd -set /dev/ip ip_forward_src_routed 0
这几项都是为了防止系统被用作网络放大攻击的跳板。
ndd -set /dev/ip ip_respond_to_echo_broadcast 0ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0恶意路由器可以发送虚假的重定向报文来劫持流量。
ndd -set /dev/ip ip_ignore_redirect 1ndd -set /dev/ip ip_send_redirects 0ndd -set /dev/ip ip_respond_to_timestamp 0将TCP连接请求队列的默认值从1024提高到4096,可以降低半开连接攻击的影响。
ndd -set /dev/tcp tcp_conn_req_max_q0 4096
将完全建立的连接队列参数从默认的128增大到1024,可以预防连接耗尽攻击。
ndd -set /dev/tcp tcp_conn_req_max_q 1024
Solaris系统对TCP协议初始序列号(ISN)的生成有三种方式:0(可预测)、1(增强随机生成)、2(RFC 1948方式)。默认是方式1。为了提高安全性,建议修改 /etc/default/inetinit 文件,将 TCP_STRONG_ISS=1 改为 TCP_STRONG_ISS=2,重启后生效。这样生成的ISN更难被预测,大大增加了IP欺骗的难度。
一般来说,1-1024端口被称为私有端口,只允许根权限的进程连接。但有些服务(如NFS的端口2049)运行在更高的端口上。可以通过以下命令灵活管理私有端口范围。
ndd -set /dev/tcp tcp_smallest_nonpriv_port 2050,这样0-2049都被定义为私有端口。ndd /dev/tcp tcp_extra_priv_portsndd -set /dev/tcp tcp_extra_priv_ports_add 6112ndd -set /dev/tcp tcp_extra_priv_ports_del 6112不过这里需要特别提醒:不要随意定义私有端口。改变最小非私有端口这个参数经常会引发问题,建议先仔细分析需求,再用扩展私有端口的方式单独增加。举个例子,某系统的执行结果显示了三个私有端口:2049、4045、9010。
/etc/system 文件中添加以下两行,可以有效防止缓冲区溢出攻击:set noexec_user_stack = 1 和 set noexec_user_stack_log = 1。coreadm -d process,避免核心内存信息泄露。日志是事后审计和入侵检测的重要依据。务必调整 syslog.conf,捕获 auth.info 和 daemon.notice 消息。创建 /var/adm/loginlog 文件以记录登录信息。还可以考虑启用系统审计(sar)、进程审计以及内核级别的BSM审计。
挂载文件系统时,对于不需要执行程序或写入的目录,应挂载为 nosuid 或 ro(只读)模式。如果Solaris版本在8及以上,可以在根文件系统上设置 logging 选项。可移动介质设备也要注意:如果可能,关闭 vold 服务,并确保 rmmount.conf 设置了 nosuid 选项。
通过修改 /etc/motd 和 /etc/issue 文件,可以设置登录前的警告信息,告知用户系统受法律保护,非授权访问将被记录。这些信息还能在 /etc/default/{telnetd,ftpd}、EEPROM以及GUI登录界面中配置。
访问控制是安全防御的最后一道闸门。
/etc/default/login 中设置 CONSOLE=/dev/console,同时在 sshd_config 中设置 PermitRootLogin no,禁止root通过SSH登录。/etc/passwd 文件中将shell改为 /bin/false 或 /dev/null。.rhosts 文件;使用SSH时确保 sshd_config 中 IgnoreRhosts yes;检查 /etc/pam_conf,移除包含 rhosts_auth 的条目。cron.allow 和 at.allow 文件,只允许列出的用户提交或修改定时任务。security-mode=command,这样在系统启动前会要求输入密码,防止攻击者通过物理方式从光盘启动绕过系统安全。/etc/dt/config/Xaccess 中禁用远程XDMCP访问。还可以在 /etc/dt/config/*/sys.resources 中为用户设置默认的带锁屏的屏幕保护超时时间。最后,安装一些安全工具来巩固整个防御体系。
按照这个流程一步步走下来,Solaris 9系统基本上就有了一个比较稳固的安全基础。当然,安全是动态的,还需要根据实际运营环境不断调整和加固。但这套“从系统安装到内核调优,再到工具辅助”的打法,是任何时候都过时的基本功。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9