linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > unix > unix入门 >
栏目导栏
资料搜索
热门文章
·SCO OpenServer系统手册
·solaris迅速查找手册
·UNIX常用命令-目录及文件操作命
·常见的“压缩与解压缩”方法
·SUN的入门培训资料
·Solaris FAQ 1.2
·UNIX系统操作入门篇
·unix大全下载基地
·教你如何配置安全的SOLARIS系统
·吐血奉献.samba安装设置!
·solaris常用命令及简单解释
·UNIX 常识总集~!
·Windows XP 与 Solaris 10 双操
·隆重推荐:Solaris硬盘分区简介
·UNIX基础知识
最新文章
·Solaris SSH的配置和管理介绍
·在Unix环境下mount ISO文件
·Solaris 管理员常用的168条命令
·solaris raid 制作大集合
·在Solaris下使用USB存储设备
·SecureCRT访问HPUX没办法用vi问
·scounix网络设置心得
·solaris网络配置
·solaris上直接运行linux二进制
·HP Unix的补丁安装
·系统备份与恢复命令:fbackup+
·Oracle 10g基于Solaris 9 x86平
·完全硬盘安装solaris10
·solaris点滴9.29-10.07
·solaris volume manager do RA
Google
 
SUN系统的基本安全配置
[ 作者:  加入时间:2006-06-25 15:00:18  来自: ]
一个SUN系统就象和NT系统一样,容易受到来自internet的各种可恶的攻击。幸运的是,不象NT,你可以用以下三个简单的手段把SUN变的相对安全些,它们是:  CrALinux联盟
CrALinux联盟
1)防止堆栈溢出  CrALinux联盟
2)关闭不用的服务  CrALinux联盟
3)给系统打补丁  CrALinux联盟
CrALinux联盟
#1 防止堆栈溢出  CrALinux联盟
至少90%以上的安全问题都是来自所谓的“堆栈溢出”。攻击者通过给一个以root身份运行的程序提供比它所预期的输入多得多的东西,使被攻击程序无法处理而改变执行流程去执行攻击者指定的代码。  CrALinux联盟
CrALinux联盟
Solaris 2.6和Solaris 7都具备把用户堆栈设成不可执行的能力,以使这种攻击不能得逞。要使能这个特点:  CrALinux联盟
CrALinux联盟
0)变成root  CrALinux联盟
1)对/etc/system文件做个拷贝  CrALinux联盟
CrALinux联盟
cp /etc/system /etc/system.BACKUP  CrALinux联盟
CrALinux联盟
2)用你最钟爱的编辑器编辑/etc/system文件  CrALinux联盟
3)到文件的最后,插入以下几行:  CrALinux联盟
CrALinux联盟
set noexec_user_stack=1  CrALinux联盟
set noexec_user_stack_log=1  CrALinux联盟
CrALinux联盟
4)保存文件,退出编辑器  CrALinux联盟
CrALinux联盟
一旦重启机器,这些改变就会生效。如果这不是一个你可以关闭的系统,那么你用adb来改变一个运行中的系统的参数也是可能的,但这不是我个人乐意去干的事。  CrALinux联盟
CrALinux联盟
当然会有些合法使用可执行堆栈的程序在你做出如上改变后而不能正常运行。所幸的是这样的程序的并不多,我所知的就只有GNU ada 编译器。  CrALinux联盟
CrALinux联盟
#2 在inetd.conf中关闭用不着的服务  CrALinux联盟
CrALinux联盟
有许多用不着的服务自动的处于使能状态。它们中可能存在的漏洞将使攻击者甚至不需要一个账户就能控制你的机器。关闭这些不需要的服务来保护你的系统,你可以用如下方法来关闭:  CrALinux联盟
CrALinux联盟
0)变成root  CrALinux联盟
1)对inetd的配置文件/etc/inetd.conf做个拷贝  CrALinux联盟
CrALinux联盟
cp /etc/inetd.conf /etc/inetd.conf.BACKUP  CrALinux联盟
CrALinux联盟
2)编辑/etc/inetd.conf文件  CrALinux联盟
未被激活的服务是在前面被“#“符号注释掉的,举个例子,你的部份inetd.conf可能是这样的:  CrALinux联盟
CrALinux联盟
# Tnamed serves the obsolete IEN-116 name server protocol.  CrALinux联盟
CrALinux联盟
name dgram udp wait root /usr/sbin/in.tnamed in.tnamed  CrALinux联盟
CrALinux联盟
不需要这个服务,因为你们中的99.999%不会用到这个“已经被废弃的IEN-116名字服务协议“,把这个注释掉以后,这行看起来会象是:  CrALinux联盟
CrALinux联盟
# Tnamed serves the obsolete IEN-116 name server protocol.  CrALinux联盟
CrALinux联盟
#name dgram udp wait root /usr/sbin/in.tnamed in.tnamed  CrALinux联盟
CrALinux联盟
CrALinux联盟
看到这个新的“#” 符号了吧  CrALinux联盟
CrALinux联盟
我建议注释掉几乎所有的服务,只留下:  CrALinux联盟
CrALinux联盟
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd  CrALinux联盟
telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd  CrALinux联盟
time stream tcp nowait root internal  CrALinux联盟
time dgram udp wait root internal  CrALinux联盟
echo stream tcp nowait root internal  CrALinux联盟
echo dgram udp wait root internal  CrALinux联盟
discard stream tcp nowait root internal  CrALinux联盟
discard dgram udp wait root internal  CrALinux联盟
daytime stream tcp nowait root internal  CrALinux联盟
daytime dgram udp wait root internal  CrALinux联盟
rstatd/2-4 tli rpc/datagram_v wait root /usr/lib/netsvc/rstat/rpc.rstatd rpc.rstatd  CrALinux联盟
fs stream tcp wait nobody /usr/openwin/lib/fs.auto fs  CrALinux联盟
100083/1 tli rpc/tcp wait root /usr/dt/bin/rpc.ttdbserverd rpc.ttdbserverd  CrALinux联盟
CrALinux联盟
在只需要不多图形操作的服务器或是要保证相当的安全,你也许应该关掉字体服务fs,也可以关掉系统性能监视器rstatd和tooltalk服务器ttdbserverd。事实上在确实需要安全的机器上你甚至应该注释掉telnet和ftp。  CrALinux联盟
CrALinux联盟
你可以用grep找出机器能过inetd所提供的服务:  CrALinux联盟
CrALinux联盟
grep -v "^#" /etc/inetd.conf  CrALinux联盟
CrALinux联盟
这将返回/etc/inetd.conf中所有没被注释掉的行。  CrALinux联盟
CrALinux联盟
3)在/etc/inetd.conf中做出改变之后,找到inetd进程的id号,用kill向它发送HUP信号来刷新它。一定要确保kill了inetd进程后,它还在运行,例如:  CrALinux联盟
CrALinux联盟
root@multics: ps -ef | grep inetd  CrALinux联盟
root 196 1 0 15:32:14 ? 0:00 /usr/sbin/inetd -s  CrALinux联盟
root@multics: kill -HUP 196  CrALinux联盟
root@multics: ps -ef | grep inetd  CrALinux联盟
root 196 1 0 15:32:14 ? 0:00 /usr/sbin/inetd -s  CrALinux联盟
CrALinux联盟
#3 给系统打补丁  CrALinux联盟
CrALinux联盟
跟所有的复杂系统一样,SUN有它的漏洞,其中的一些从性质上来说是相当严重的。SUN公司有向它的客户甚至是没有技术支持的客户提供补丁的优良传统。这些补丁或者以集合包或者以单个补丁的形式存在的。不幸的是,要完全修补你的系统,既需要大的补丁集合包,又需要单个的补丁。然而我们将介绍一种把补丁包和单个补丁结合起来使用的方法。  CrALinux联盟
CrALinux联盟
1)变成root  CrALinux联盟
2)键入  CrALinux联盟
CrALinux联盟
umask 022  CrALinux联盟
CrALinux联盟
来设置你的许可模式--给系统打补丁不仅要求所有的补丁被"nobody"用户可读,而且包括补丁之前的所有目录(不要问为什么,反正是一般这么干的)。  CrALinux联盟
CrALinux联盟
3)创建一个叫“patch“的目录,并进入它,我一般是这样做的:  CrALinux联盟
CrALinux联盟
mkdir /var/tmp/patch  CrALinux联盟
cd /var/tmp/patch  CrALinux联盟
CrALinux联盟
在你建“patch“目录的文件系统中要保证有足够的磁盘空间(提示:你可以试着键入  CrALinux联盟
CrALinux联盟
df -k  CrALinux联盟
CrALinux联盟
来看看文件系统上可用的磁盘空间,不要用/tmp!  CrALinux联盟
CrALinux联盟
4)用ftp连接sunsolve站  CrALinux联盟
CrALinux联盟
ftp sunsolve.sun.com  CrALinux联盟
CrALinux联盟
你的登录用户名是“anonymous“,口令是你的电子邮件地址。  CrALinux联盟
CrALinux联盟
5)转到二进制模式,键入:  CrALinux联盟
bin  CrALinux联盟
关闭提示,键入:  CrALinux联盟
prompt  CrALinux联盟
CrALinux联盟
--你不需要为下载每个补丁回答”是,我需要下那个补丁“ 。  CrALinux联盟
CrALinux联盟
6)补丁位于sunsolve站的/pub/patches目录,所以键入:  CrALinux联盟
CrALinux联盟
cd /pub/patches  CrALinux联盟
CrALinux联盟
7)得到对应于你操作系统版本的PatchReport文件,你可以用以下命令列出那些文件:  CrALinux联盟
CrALinux联盟
ls *.PatchReport  CrALinux联盟
CrALinux联盟
例如:  CrALinux联盟
-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-  CrALinux联盟
ftp> ls *.PatchReport  CrALinux联盟
200 PORT command successful.  CrALinux联盟
150 Opening ASCII mode data connection for file list.  CrALinux联盟
Solaris1.1.1.PatchReport  CrALinux联盟
Solaris1.1.2.PatchReport  CrALinux联盟
Solaris1.1.PatchReport  CrALinux联盟
Solaris2.3.PatchReport  CrALinux联盟
Solaris2.4.PatchReport  CrALinux联盟
Solaris2.4_x86.PatchReport  CrALinux联盟
Solaris2.5.1.PatchReport  CrALinux联盟
Solaris2.5.1_x86.PatchReport  CrALinux联盟
Solaris2.5.PatchReport  CrALinux联盟
Solaris2.5_x86.PatchReport  CrALinux联盟
Solaris2.6.PatchReport  CrALinux联盟
Solaris2.6_x86.PatchReport  CrALinux联盟
Solaris7.PatchReport  CrALinux联盟
Solaris7_x86.PatchReport  CrALinux联盟
226 Transfer complete.  CrALinux联盟
remote: *.PatchReport  CrALinux联盟
360 bytes received in 0.0044 seconds (79.16 Kbytes/s)  CrALinux联盟
-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-  CrALinux联盟
CrALinux联盟
对x86和sparc文件有不同的补丁报告文件,sparc版本的是那些没有“x86“字样的。  CrALinux联盟
CrALinux联盟
8)得到一份补丁报告文件,比如:  CrALinux联盟
CrALinux联盟
get Solaris2.6.PatchReport  CrALinux联盟
CrALinux联盟
9)得到一份对应于你系统版本的推荐补丁集合包和它的README文件,可以用如下命令列出推荐的文件:  CrALinux联盟
CrALinux联盟
ls *Recommended*  CrALinux联盟
CrALinux联盟
输出可能是这样的:  CrALinux联盟
-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-  CrALinux联盟
ftp> ls *Recommended*  CrALinux联盟
200 PORT command successful.  CrALinux联盟
150 Opening ASCII mode data connection for file list.  CrALinux联盟
2.3_Recommended.README  CrALinux联盟
2.3_Recommended.tar.Z  CrALinux联盟
2.4_Recommended.README  CrALinux联盟
2.4_Recommended.tar.Z  CrALinux联盟
2.4_x86_Recommended.README  CrALinux联盟
2.4_x86_Recommended.tar.Z  CrALinux联盟
2.5.1_Recommended.README  CrALinux联盟
2.5.1_Recommended.tar.Z  CrALinux联盟
2.5.1_x86_Recommended.README  CrALinux联盟
2.5.1_x86_Recommended.tar.Z  CrALinux联盟
2.5_Recommended.README  CrALinux联盟
2.5_Recommended.tar.Z  CrALinux联盟
2.5_x86_Recommended.README  CrALinux联盟
2.5_x86_Recommended.tar.Z  CrALinux联盟
2.6_Recommended.README  CrALinux联盟
2.6_Recommended.tar.Z  CrALinux联盟
2.6_x86_Recommended.README  CrALinux联盟
2.6_x86_Recommended.tar.Z  CrALinux联盟
7_Recommended.README  CrALinux联盟
7_Recommended.zip  CrALinux联盟
7_x86_Recommended.README  CrALinux联盟
7_x86_Recommended.zip  CrALinux联盟
-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-  CrALinux联盟
CrALinux联盟
你可以用mget命令把推荐文件和readme都拿下来,比如:  CrALinux联盟
CrALinux联盟
mget 7_x86_Recommended*  CrALinux联盟
CrALinux联盟
这可能要等上一会儿。  CrALinux联盟
CrALinux联盟
10)在下载推荐文件的时候,你可以打开补丁报告文件看看,里面会有关于安全修补的一节可能是这样的: CrALinux联盟
  CrALinux联盟
-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-  CrALinux联盟
CrALinux联盟
Solaris 2.5.1 Patches Containing Security Fixes:  CrALinux联盟
------------------------------------------------  CrALinux联盟
CrALinux联盟
103594-19 SunOS 5.5.1: sendmail fixes  CrALinux联盟
103603-10 SunOS 5.5.1: ftp, in.ftpd, in.rexecd and in.rshd patch  CrALinux联盟
103627-11 SunOS 5.5.1: Linker patch  CrALinux联盟
103630-14 SunOS 5.5.1: ip ifconfig arp udp icmp patch  CrALinux联盟
106689-01 * SunOS 5.5.1: /usr/sbin/in.uucpd patch  CrALinux联盟
106905-01 * SunOS 5.5.1: apropos/catman/man/whatis patch  CrALinux联盟
103566-43 OpenWindows 3.5. Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
分页:[1] 2
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息