一、系统服务端口关闭
1、概述
a) 系统环境
SUN fire 280服务器,主要用途:WEB应用服务器+数据库服务器
b) SOLARIS系统有许多用不着的服务自动的处于使能状态。它们中可能存在的漏洞将使攻击者甚至不需要一个账户就能控制你的机器。关闭这些不需要的服务来保护系统。
2、实施步骤
a) 安装nmap扫描软件
b) 扫描整个系统
c) 确定要关闭的端口(只留telnet、ftp和Xwindows用到的端口)
3、实施过程
a) /etc/inetd.conf下面的端口关闭
只留telnet和ftp别的全部关闭
b) /etc/services下面的端口关闭 :只留telnet和ftp别的全部关闭
(要是觉得注释麻烦的话,作个备份,别的全部删除,只留下面俩行)
ftp 21/tcp
telnet 23/tcp
c) /etc/rc3.d下面的服务关闭
S开头的全部改为x开头
xS34dhcp
xS76snmpdx
xS80mipagent
xS15nfs.server
xS50apache
xS77dmi
d) /etc/rc2.d下面的服务关闭
# mv S70uucp xS70uucp
# mv S71ldap.client xS71ldap.client
# mv S72autoinstall xS72autoinstall
# mv S73cachefs.daemon xS73cachefs.daemon
# mv S73nfs.client xS73nfs.client
# mv S74autofs xS74autofs
# mv S74xntpd xS74xntpd
# mv S80lp xS80lp
# mv S94Wnn6 xS94Wnn6
e) 关闭Xwindows需要停止以下服务(为了便于调试,现在没有关闭Xwindows端口)
# mv S71rpc x S71rpc
# mv S99dtlogin xS99dtlogin
二、软件防火墙安装:
1、软件防火墙概述
a) 防火墙版本:tcp_wrappers-7.6
b) 安装目录:/usr/local/bin/tcpd
c) 软件说明:在默认情况下,Solaris允许所有的服务请求。用Tcp_Wrappers来保护服务器的安全,使其免受外部的攻击
2、安装过程
a) 下载软件:tcp_wrappers-7.6-sol8-sparc-local
b) 安装命令:
使用root权限:#pkgadd ?d tcp_wrappers-7.6-sol8-sparc-local
3、策略制定
a) 策略说明
策略分为两部分,拒绝所有的telnet和ftp连接,对特定的IP地址和网段打开服务
b) 策略指定
拒绝:所有的连接
容许: IP地址:×××.×××. ×××.120(公司出口公网ip地址)
网段:192.0.0.(公司内网ip)
4、安全策略实施
a) 用root用户:
Vi hosts.deny
in.telnetd:ALL:DENY
in.ftpd:ALL:DENY
vi hosts.allow
in.telnetd:×××.×××. ×××.120 192.0.0.
in.ftpd: ×××. ×××. ×××.120 192.0.0.
5、安全测试
a) 从内网192.0.0.和×××. ×××. ×××.120可以telnet和ftp 系统。
b) 从外网别的ip地址不可以telnet和ftp系统。
c) 测试结果:防火墙运行正常
三、应用安全防护
1、oracle数据库安全防护
a) 密码策略
b) 数据库安全加强
2、BEA weblogic8.1安全防护
a) 密码加强
b) 应用安全加强
四、其他系统安全防护
1、防止堆栈缓冲益出安全策略
入侵者常常使用的一种利用系统漏洞的方式是堆栈溢出,他们在堆栈里巧妙地插入一段代码,利用它们的溢出来执行,以获得对系统的某种权限。要让你的系统在堆栈缓冲溢出攻击中更不易受侵害,你可以在/etc/system里加上如下语句:
set noexec_user_stack=1
set noexec_user_stack_log =1
第一句可以防止在堆栈中执行插入的代码,第二句则是在入侵者想运行exploit的时候会做记录。
2、给系统打补丁
Solaris系统也有它的漏洞,其中的一些从性质上来说是相当严重的。SUN公司长期向客户提供各种版本的最新补丁,放在http://sunsolve.sun.com网站。可用#showrev ?p命令检查系统已打的补丁或到/var/sadm/patch目录下查已打过的补丁号,用patchadd命令给系统打补丁。
现在系统补丁版本为:Generic_117350-02(最新补丁版本)
五、难点问题:
1、898端口关闭
898是smc服务器用的 ,如果你停了SMC就起不来了。 /etc/init.d/init.wbem这是它的脚本。
#cd /etc/rc2.d
#mv S90wbem xS90wbem
2、2201端口关闭
好像是日文字体启动,要是不使用日文,可以去掉。
#cd /etc/rc2.d
# mv S90loc.ja.cssd xS90loc.ja.cssd
六、ssh安装
1、软件防火墙概述
1)Ssh版本:3.2
2)下载网址:http://public.www.planetmirror.com/pub/ssh/
3)安装目录:/usr/local/sbin
3)软件说明:SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”。
2、安装过程
1)下载软件:ssh-3.2.0.tar.gz
2)安装命令:
使用root权限:
gzip -d ssh-3.2.0.tar.gz
tar -vxf ssh-3.2.0.tar
cd ssh*
./configure;make;make install(确保make、gcc目录在当前的环境变量中)
cd /usr/local/sbin
./sshd2 (启动进行测试)
ps -ef |grep sshd (检查是否启动成功)
4、自启动设置:
1)用root用户:
cd /etc/rc2.d
cp -p S60* S99sshd(copy一个现成的,省得设置权限之类的东东)
vi S99sshd (进入后删除所有的内容,我们要的只是现成的权限!)
#!/sbin/sh
if [ -x /usr/local/sbin/sshd ]; then
/usr/local/sbin/sshd
echo "sshd2 startup.."
fi
5、测试
从ssh客户端连接服务器,测试成功。
6、注意:
编译ssh-3.2.9报错,在solaris8上编译时,保*.so错误。
七、系统设置完成状况
1、调试已经完成:
1)使用ssh作为远程管理工具,关闭telnet、ftp
2)关闭X windows,关闭rpc和dtlogin
2、现在系统的所开端口状况,nmap扫描结果:
bash-2.03# nmap -P0 127.0.0.1
Starting nmap V. 2.54BETA28 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
(The 1547 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
Nmap run completed -- 1 IP address (1 host up) scanned in 50 seconds
bash-2.03#