SUN SOLARIS 基准安全清单

来源: 作者: 2007-11-07 出处:pcdog.com

arp  dns  office  solaris  ssh  

  1.防止基于堆栈的缓冲区溢出

   对/etc/system文件做备份。 #cp /etc/system /etc/system.backup 用vi编辑器编辑system文件,在system文件的最后加如下2行内容。
   set noexec_user_stack=1
   set noexec_user_stack_log=1

   保存文件,退出编辑器。

2.关闭不用的服务

   在inetd.conf中关闭不用的服务 首先复制/etc/inet/inetd.conf。 #cp /etc/inet/inetd.conf /etc/inet/inetd.conf.backup 然后用vi编辑器编辑inetd.conf文件,对于需要注释掉的服务在相应行开头标记"#"字符即可,保留服务如代码1所示。

   注: Ftp和Telnet服务在不需要时也可注释掉。建议停用他们,用SSH和PROFTPD取代之 在Services中关闭不用的服务 首先复制/etc/inet/services。 #cp /etc/inet/services /etc/inet/services.backup 然后用vi编辑器编辑Services文件,对于需要注释掉的服务在相应行开头标记"#"字符即可。可停用服务如代码2所示。 在inetd.conf、services中进行修改后,找到inetd进程的ID号,用kill向其发送HUP信号进行刷新。举例如下。

   #ps -ef | grep inetd
   #kill -HUP 进程号
   代码1
   ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd
   telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
   talk dgram udp wait root /usr/sbin/in.talkd in.talkd
   uucp stream tcp nowait root /usr/sbin/in.uucpd in.uucpd
   time stream tcp nowait root internal
   time dgram udp wait root internal
   echo stream tcp nowait root internal
   echo dgram udp wait root internal
   discard stream tcp nowait root internal
   discard dgram udp wait root internal
   daytime stream tcp nowait root internal
   daytime dgram udp wait root internal
   代码2
   echo 7/tcp
   echo 7/udp
   discard 9/tcp sink null
   discard 9/udp sink null
   systat 11/tcp users
   daytime 13/tcp
   daytime 13/udp
   netstat 15/tcp
   chargen 19/tcp ttytst source
   chargen 19/udp ttytst source
   whois 43/tcp nicname # usually to sri-nic
   tftp 69/udp
   rje 77/tcp
   finger 79/tcp
   link 87/tcp ttylink
   supdup 95/tcp
   iso-tsap 102/tcp
   x400 103/tcp # ISO Mail
   x400-snd 104/tcp
   csnet-ns 105/tcp
   pop-2 109/tcp # Post Office
   uucp-path 117/tcp

3.根据需要停用以下服务(如附表所示)

   附表
   sendmail 把/etc/rc2.d/S88sendmai
   更名为 /etc/rc2.d/X88sendmail
   DNS 把/etc/rc2.d/S88sendmai
   在/etc/rc2.d/S72inetsv中
   把运行in.named的一项注释掉
   NFS服务器 把/etc/rc3.d/S15nfs.server
   更名为 /etc/rc3.d/X15nfs.server
   NFS 客户机 把/etc/rc2.d/S73nfs.client
   更名为 /etc/rc2.d/X73nfs.client
   Automounter 把/etc/rc2.d/S74autofs
   更名为 /etc/rc2.d/X74autofs
   ntp 把/etc/rc2.d/S74xntpd
   更名为 /etc/rc2.d/X74xntpd
   syslog 把/etc/rc2.d/S74syslog
   更名为 /etc/rc2.d/X74syslog
   打印服务 把/etc/rc2.d/S80lp
   更名为 /etc/rc2.d/X80lp
   给系统打补丁跟所有的复杂系统一样,SUN有它的漏洞,其中的一些从性质上来说是相当严重的。SUN公司有向它的客户甚至是没有技术支持的客户提供补丁的优良传统。这些补丁或者以集合包或者以单个补丁的形式存在的。不幸的是,要完全修补你的系统,既需要大的补丁集合包,又需要单个的补丁。然而我们将介绍一种把补丁包和单个补丁结合起来使用的方法。
   1)变成root

   2)键入
   umask 022 来设置你的许可模式--给系统打补丁不仅要求所有的补丁被"nobody"用户可读,而且包括补丁之前的所有目录(不要问为什么,反正是一般这么干的)。

   3)创建一个叫“patch“的目录,并进入它,我一般是这样做的:
   mkdir /var/tmp/patch
   cd /var/tmp/patch
   在你建“patch“目录的文件系统中要保证有足够的磁盘空间
   提示:你可以试着键入df -k来看看文件系统上可用的磁盘空间,不要用/tmp!

   4)用ftp连接sunsolve站
   ftp sunsolve.sun.com你的登录用户名是“anonymous“,口令是你的电子邮件地址。

   5)转到二进制模式,键入:
   bin
   关闭提示,键入:
   prompt
   --你不需要为下载每个补丁回答”是,我需要下那个补丁“ 。

   6)补丁位于sunsolve站的/pub/patches目录,所以键入:
   cd /pub/patches

   7)得到对应于你操作系统版本的PatchReport文件,你可以用以下命令列出那些文件:
   ls *.PatchReport
   例如:
   -=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
   ftp> ls *.PatchReport
   200 PORT command successful.
   150 Opening ASCII mode data connection for file list.
   Solaris1.1.1.PatchReport
   Solaris1.1.2.PatchReport
   Solaris1.1.PatchReport
   Solaris2.3.PatchReport
   Solaris2.4.PatchReport
   Solaris2.4_x86.PatchReport
   Solaris2.5.1.PatchReport
   Solaris2.5.1_x86.PatchReport
   Solaris2.5.PatchReport
   Solaris2.5_x86.PatchReport
   Solaris2.6.PatchReport
   Solaris2.6_x86.PatchReport
   Solaris7.PatchReport
   Solaris7_x86.PatchReport
   226 Transfer complete.
   remote: *.PatchReport
   360 bytes received in 0.0044 seconds (79.16 Kbytes/s)
   -=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
   对x86和sparc文件有不同的补丁报告文件,sparc版本的是那些没有“x86“字样的。

   8)得到一份补丁报告文件,比如:
   get Solaris2.6.PatchReport

   9)得到一份对应于你系统版本的推荐补丁集合包和它的README文件,可以用如下命令
   列出推荐的文件:
   ls *Recommended*
   输出可能是这样的:
   -=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
   ftp> ls *Recommended*
   200 PORT command successful.
   150 Opening ASCII mode data connection for file list.
   2.3_Recommended.README
   2.3_Recommended.tar.Z
   2.4_Recommended.README
   2.4_Recommended.tar.Z
   2.4_x86_Recommended.README
   2.4_x86_Recommended.tar.Z
   2.5.1_Recommended.README
   2.5.1_Recommended.tar.Z
   2.5.1_x86_Recommended.README
   2.5.1_x86_Recommended.tar.Z
   2.5_Recommended.README
   2.5_Recommended.tar.Z
   2.5_x86_Recommended.README
   2.5_x86_Recommended.tar.Z
   2.6_Recommended.README
   2.6_Recommended.tar.Z
   2.6_x86_Recommended.README
   2.6_x86_Recommended.tar.Z
   7_Recommended.README
   7_Recommended.zip
   7_x86_Recommended.README
   7_x86_Recommended.zip
   -=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
   你可以用mget命令把推荐文件和readme都拿下来,比如:
   mget 7_x86_Recommended*
   这可能要等上一会儿。

   10)在下载推荐文件的时候,你可以打开补丁报告文件看看,里面会有关于安全修补的一节
   可能是这样的:
   -=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
   Solaris 2.5.1 Patches Containing Security Fixes:
   ------------------------------------------------
   103594-19 SunOS 5.5.1: sendmail fixes
   103603-10 SunOS 5.5.1: ftp, in.ftpd, in.rexecd and in.rshd patch
   103627-11 SunOS 5.5.1: Linker patch
   103630-14 SunOS 5.5.1: ip ifconfig arp udp icmp patch
   106689-01 * SunOS 5.5.1: /usr/sbin/in.uucpd patch
更多内容请看PCdog.com--Sniffer安全技术  路由安全配置专题
上一篇:Solaris 基本安全配置
下一篇:Yassp工具包安装安全的 Solaris 系统 (B)