Solaris安全FAQ II

1. Preparation
最小限度确保安全的方法是只在主机上运行一个或两个服务。使用一个机器比只使用一个拥有任何权利的机器安全的多,因为这样能够隔离,方便查找问题所在。总之:在您的机器上运行您一些最必要的服务。考虑拆除键盘,屏幕,这样能够避免使用X11和知道命令行所示,在一个隔离的信任的网络段中进行测试。明确您的系统和硬件配置能产生什么样的结果,如在安装SUN的Disksuite时要考虑您是否需要RPC服务,因为DISKSUITE必须使用RPC服务。明确各种应用程式是怎样工作的如:使用什么端口和文档.

2,初始化安装操作系统。
连接串口控制台,开机,当出现OK提示时发送Stop-A信息(~#,~%b,或F5,主要取
决于您使用tip,cu或vt100终端),然后开始安装过程-"boot cdrom - install"使用最小安装 end user bundle(除非您要额外的server/developer工具),配置主机名,终端,IP参数,时区等等,不要激活NIS或NFS及不要激活电源管理。选择手工划分分区:把/usr和/opt和ROOT分离开来以便这些分区能够以只读方式挂(mount)起来。考虑把大的/var文档系统和拥有较多的数据量如(web,ftp)划分为单独的分区。
假如硬盘是2GB建议200MB / ( var), 200MB swap, 600MB /usr及 1GB 给 /opt
假如硬盘是2GB建议300MB / ( var opt), 200MB swap, 500MB /usr
给ROOT配置一个7到8字符大小写结合等比较强壮的密码,再重启动。接着安全由SUN的安全补丁。一般的在CD上就包含这些安全补丁包。重启动及作为ROOT重启动后,您能够使用showrev -p查看补丁列表。

3,配置操作系统
磁盘共享(mount):为了减少木马和不授权的修改,在/etc/vfstab,在mount /时请
使用"remount,nosuid"选项;在/var上请带上"nosuid"选项;在/tmp后加上"size=100m,nosuid"选项(允许/tmp只能使用100M空间及不允许执行SUID程式);假如软盘无需的话再把"/dev/fd"行注释掉。(下面的命令假定您使用的是c-shell)
使NFS无效:
rm /etc/rc2.d/{S73nfs.client,K28nfs.server} /etc/rc3.d/S15nfs.server /etc/dfs/dfstab
使Sendmail守护程式无效,虽然sendmail不是作为一个守护程式来运行的,但两进制
程式是依然存在的,EMAIL还能够通过他了发送(但不能接受)。设定只要一个主机来接受EMAIL,另必须使用smap或其他等同命令来把sendmail危险程度降低到最底。
rm /etc/rc2.d/S88sendmail
再在cron行中增加处理邮件队列的命令:
0 * * * * /usr/lib/sendmail -q
再关闭一些其他的服务:
rm /etc/rc2.d/{S74autofs,S30sysid.net,S71sysid.sys,S72autoinstall}
rm /etc/rc2.d/{S93cacheos.finish,S73cachefs.daemon,S80PRESERVE}
rm /etc/rc2.d/{S85power,K07dmi}
rm /etc/rc3.d/S77dmi
If you have server/developer packages:
rm /etc/rc2.d/{S47asppp,S89bdconfig,S70uucp}
使RPC无效:这一般来说是建议关闭此功能的,但一些程式如DISKSUITE会开启RPC服务,所以一般建议不使用DISKSUITE工具。假如您不想使RPC无效,则一定要使用信息包过滤器。
rm /etc/rc2.d/S71rpc
使打印服务无效(除非有一个本地打印机存在):
rm /etc/rc2.d/{S80lp,S80spc}
使naming Services Caching Daemon(名字服务缓冲守护程式)服务无效:
mv /etc/rc2.d/S76nscd /etc/rc2.d/.S76nscd
使CDE程式无效(除非您坚持要使用图像控制台):
rm /etc/rc2.d/S99dtlogin
使NTP-NETWORK TIME PROTOCOL无效(NTP会增加带宽和不安全的因素,建议使用rdate到一台使用NTP的机器来获得精确时间):
rm /etc/rc2.d/S74xntpd
使SNMP无效:
rm /etc/rc2.d/K07snmpdx /etc/rc3.d/S76snmpdx
在Inetinit中是IP forwarding和sourec routing(源路)由无效(假如有超过一个网络接口的话)。在/etc/init.d/inetinit中增加下面所示配置:
ndd -set /dev/ip ip_forward_directed_broadcasts 0
ndd -set /dev/ip ip_forward_src_routed 0
ndd -set /dev/ip ip_forwarding 0
根据RFC1948建议在/etc/default/inetinit中增加如下的生成初始化序列号配置来防止TCP序列号预测攻击(ip欺骗):
TCP_STRONG_ISS=2
在/etc/system中增加如下配置来防止某些缓冲溢出攻击。这些保护是那些需在堆栈中执行的攻击方式。但需要硬件的支持(只在sun4u/sun4d/sun4m系统中有效):
set noexec_user_stack=1
set noexec_user_stack_log=1
使用默认路由:在/etc/defaultrouter中增加IP地址,或使用"route"在
/etc/rc2.d/S99static_routes中建立启动文档。为了使动态路由无效:
touch /etc/notrouter
为了使多路广播(multicasting)无效请在/etc/init.d/inetsvc中注解掉
"route add 224.0.0.0"周围的几行。
为了记录INETD连接的任何信息,在inetd低端的启动行中增加"-t"参数,即:: /usr/sbin/inetd -s -t
在/etc/hosts中配置一些您想取舍的主机(一些您不想通过DNS解析的)。
/etc/inetd.conf:
先使任何服务无效;配置您真正需要的服务,但必须使用FWTK netacl或tcp wrappers来允许最小限度的IP地址访问和各种记录

4,连接并测试网络
系统通过上面的安全剥离和筛选,您必须肯定系统能正常工作,把他连接到一个安全隔离的网络。重起并以ROOT身份登录控制台,检查控制台启动时的错误信息并根据需要进行修改。

5,安装系统管理工具软件
这部分将安装标准的工具和实用程式。最重要的是SSH,这些工具必须在其他机器
上编译和精心测试过的。
环境:
DNS客户端:在/etc/resolv.conf中增加域名和DNS服务;在/etc/nsswitch.conf中增加DNS入口的主机。
EMAIL:假如主机无需在子网外发送EMAIL,就无需使用mailhost的别名。否则的话必须编辑/etc/mail/aliases,在/etc/hosts中配置mailhost,在/etc/mail/sendmail.cf取消Dj行的注释并把他配置为Dj$w.YOURDOMAIN.COM.假如DNS没有配置,就在 /etc/hosts中增加这太机器的别名
hostname.YOURDOMAIN.COM。
现在发送一封测试EMAIL:mailx -v -s test_email root </dev/null .
在/.cshrc/.profile中配置别名,变量如:VISUAL, EDITOR和PATH,但不要包含'.'号。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!