咨询电话 4006505646
中央电视台-RAID数据恢复成功 中国网通-IBM EXP300磁盘阵列数据恢复成功 工商银行某省分行-AIX删除LV数据恢复成功
中国石油管理局-Oracle数据库恢复成功 中国联通信息平台HP-UX,ORACLE数据库误RM 中国地质环境监测院-HP LH3000服务器数据恢复成功
您当前的位置:首页>>技术文章>>Solaris>>正文

SUN系统的基本安全配置

 
一个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

本新闻共4页,当前在第1页  1  2  3  4  

RAID损坏后对数据的完整备份
[详细请进...]
中国联通信息平台HP-UX,ORAC
中国石油管理局-Oracle数据库
国家质量监督总局-ORACLE数据
成功解决SAN 的7TB大容量数据
EVA3000 HP-UX服务器数据恢复
中国地质环境监测院- LH3000
卫生部-X226 IBM服务器数据恢
互联网协会- DELL服务器数据
北京市昌平区医院-2800 DEL
IBM X3650服务器,RAID5,有两
上门恢复
服务承诺
异地恢复
收费标准
付款方式
疑难解答

版权所有 北京北亚宸星科技有限公司
全国统一客服电话:4006-505-646
地址:北京市海淀区永丰基地丰慧中路7号新材料创业大厦B座205室
京ICP备09039053

/d ml>c