| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
SUN系统的基本安全配置
SUN系统的基本安全配置
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-25 9:21:49
一个SUN系统就象和NT系统一样,容易受到来自internet的各种可恶的攻击。幸运
 的是,不象NT,你可以用以下三个简单的手段把SUN变的相对安全些,它们是:
 1)防止堆栈溢出
 2)关闭不用的服务
 3)给系统打补丁
 #1 防止堆栈溢出
 至少90%以上的安全问题都是来自所谓的“堆栈溢出”。攻击者通过给一个以root身份
 运行的程序提供比它所预期的输入多得多的东西,使被攻击程序无法处理而改变执行
 流程去执行攻击者指定的代码。
 Solaris 2.6和Solaris 7都具备把用户堆栈设成不可执行的能力,以使这种攻击不
 能得逞。要使能这个特点:
 0)变成root
 1)对/etc/system文件做个拷贝
          cp /etc/system /etc/system.BACKUP
          
 2)用你最钟爱的编辑器编辑/etc/system文件
 3)到文件的最后,插入以下几行:
 set noexec_user_stack=1
 set noexec_user_stack_log=1
 4)保存文件,退出编辑器
 一旦重启机器,这些改变就会生效。如果这不是一个你可以关闭的系统,那么你用
 adb来改变一个运行中的系统的参数也是可能的,但这不是我个人乐意去干的事。
 当然会有些合法使用可执行堆栈的程序在你做出如上改变后而不能正常运行。所幸
 的是这样的程序的并不多,我所知的就只有GNU ada 编译器。
 #2 在inetd.conf中关闭用不着的服务
 有许多用不着的服务自动的处于使能状态。它们中可能存在的漏洞将使攻击者甚至
 不需要一个账户就能控制你的机器。关闭这些不需要的服务来保护你的系统,你可
 以用如下方法来关闭:
 0)变成root
 1)对inetd的配置文件/etc/inetd.conf做个拷贝
         cp /etc/inetd.conf /etc/inetd.conf.BACKUP
         
 2)编辑/etc/inetd.conf文件
 未被激活的服务是在前面被“#“符号注释掉的,举个例子,你的部份inetd.conf可能
 是这样的:        
 # Tnamed serves the obsolete IEN-116 name server protocol.
 #
 name  dgram  udp   wait  root   /usr/sbin/in.tnamed   in.tnamed
 不需要这个服务,因为你们中的99.999%不会用到这个“已经被废弃的IEN-116名字服务
 协议“,把这个注释掉以后,这行看起来会象是:
 # Tnamed serves the obsolete IEN-116 name server protocol.
 #
 #name  dgram  udp   wait  root   /usr/sbin/in.tnamed   in.tnamed
 ^
 |
 看到这个新的“#” 符号了吧
 我建议注释掉几乎所有的服务,只留下:
 ftp   stream  tcp   nowait root   /usr/sbin/in.ftpd    in.ftpd
 telnet stream tcp   nowait  root  /usr/sbin/in.telnetd   in.telnetd
 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
 rstatd/2-4   tli  rpc/datagram_v wait root /usr/lib/netsvc/rstat/rpc.rstatd rpc.rstatd
 fs        stream tcp   wait nobody /usr/openwin/lib/fs.auto  fs
 100083/1    tli   rpc/tcp wait root /usr/dt/bin/rpc.ttdbserverd rpc.ttdbserverd
 在只需要不多图形操作的服务器或是要保证相当的安全,你也许应该关掉字体服务fs,也可以
 关掉系统性能监视器rstatd和tooltalk服务器ttdbserverd。事实上在确实需要安全的机器上
 你甚至应该注释掉telnet和ftp。
 你可以用grep找出机器能过inetd所提供的服务:
        
          grep -v "^#" /etc/inetd.conf
 这将返回/etc/inetd.conf中所有没被注释掉的行。
 3)在/etc/inetd.conf中做出改变之后,找到inetd进程的id号,用kill向它发送HUP信号来刷新
 它。一定要确保kill了inetd进程后,它还在运行,例如:
 root@multics: ps -ef | grep inetd
   root  196   1 0 15:32:14 ?    0:00 /usr/sbin/inetd -s
 root@multics: kill -HUP 196
 root@multics: ps -ef | grep inetd
   root  196   1 0 15:32:14 ?    0:00 /usr/sbin/inetd -s
   
 #3 给系统打补丁
 跟所有的复杂系统一样,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
 106905-01 * SunOS 5.5.1: apropos/catman/man/whatis patch
 103566-43  OpenWindows 3.5.1: Xsun patch
 106411-06 * OpenWindows 3.5.1: xdm patch
 (& c.)
 -=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
 “*“标记的补丁没有包括在推荐补丁集合包里,我们要把它们包括进来。
 11)当推荐补丁集合包下载完后,你需要下载补丁报告中所标记的单个补丁,最快的方法是
 用mget,这样用:
     mget 106689* 106905* 106411*
 重要:你可能想用一个mget命令得到所有的补丁,但mget的参数的个数是有限制的!
 而且,我并没有指定版本号,这不仅仅是为了少输入字符和得到相关的README文件,也是因为
 在补丁报告发布过程中,版本号可能是会变化的。
 12)下载完所有的东西后,键入:
              quit
 来结束ftp会话。
 13)到现在,你已经下载了补丁集合包和单个补丁,因为继续下去打单个的补丁包太费体力,我
 们将先把补丁包和单个补丁合并起来。
 首先解压补丁包:
 如果你用的是Solaris 2.6或更早的,
          uncompress 2*Recommended.tar.Z
          tar -xvf 2*Recommended.tar
 如果用的是Solaris 7,
          unzip 7*Recommended.zip
 其次,把所有的单个补丁移到你的建立的Recommended目录:
          mv 1* *Recommended
 然后,进到保存有全部补丁的Recommended目录:
          cd *Recommended
 14)现在我们可以把所有单个的补丁加到patch_order文件中,在这个文件中列出
 了所有将被install_cluster脚本安装的补丁,你可以手工把它们加进去(提示:
 这是错误的选择)或者用UNIX的命令工具来帮你做这件事。
 如果你是Solaris 7,用下面的命令:
          ls *.zip | cut -d"." -f1 >> patch_order
 如果是Solaris 2.6或以前的:
          ls *.tar.Z | cut -d"." -f1 >> patch_order
 15)现在是解压所有单个补丁包的时候了,因为它们还是压缩格式的。
 A)如果你用Solaris 7,你可以用unzip一次解压一个文件:
          unzip 108723.zip
 讨厌的是,你不能用“unzip *.zip“,因为unzip不能这样工作,为了避免多次地输入
 unzip,你可以用下面的UNIX命令让unzip为你解压所有的东西:
          ls *.zip | xargs -n1 unzip
 B)如果用的是Solaris 2.6或更低的,键入:
              uncompress *.tar.Z
 现在你必须用tar分离出单个的补丁,你可以用以下命令一次处理一个文件:
          tar -xvf 108723.tar
 讨厌的是,你不能用“tar -xvf *.tar“,因为tar不能这样工作,为了避免多次地输入
 tar,你可以用下面的UNIX命令让tar为你分离所有的东西: 
          ls *.zip | xargs -n1 tar -xvf
 16)到现在所有的补丁都准备好了,关闭计算机:
              /usr/sbin/shutdown -y -g0 -i0
 启到到单用户模式,
 对sparc:
          boot -s 
 对x86, 启动时, 键入: 
          b -s
          
 系统引导后,在提示符后输入root口令后,键入:
              mountall 
 来mount所有的文件系统。
 然后输入:
          cd /var/tmp/patch/*Recommended
 进到保存所有补丁的目录,现在你可以键入以下命令来安装“所有”的补丁了:
          ./install_cluster
 跟着提示做就行了。如果这是个Solaris 2.5.1或是个Solaris 2.6的系统,可以走
 开搞杯咖啡喝喝,因为要花点时间的。不要太担心补丁安装过程中的错误,很多时
 候出现错误是因为你没有安装一个特定的软件或已经打了某个补丁。
 打完补丁后,关机重启,输入:
          /usr/sbin/shutdown -y -g0 -i6
 好了,现在你就有了一个修补过的系统了。  【转自世纪安全网 http://www.21safe.com】
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    调查显示Windows比Linux
    调查显示Windows比Linux
    ELinks URL串处理smbcli
    ELinks URL串处理smbcli
    Sun Solaris Netscape P
    Xsupplicant远程栈溢出漏
    Cisco Unity Express本地
    Windows Update V6 速览
    Xsupplicant远程栈溢出漏
    Cisco Unity Express服务

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览