Solaris安全手册( 二 )


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系统中有效):
【Solaris安全手册】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 在/.cshrc/.profile中设置别名,变量如:VISUAL, EDITOR和PATH,但不要包含'.'号 。
为LOGIN登录进程安装SSH 。配置SSH守护程序(/etc/sshd_config)以便访问限制在带有known public keys的主机(/etc/ssh_known_hosts)并使rhosts认证无效 。如果远程管理确实需要的话,使用.shosts要比.rhosts好的多 。检查Inetd中的telnetd/ftpd是否仍然激活,如果是的话请在/etc/inetd.conf中注释掉,在进行SSH测试 。
安装一些其他的一些必须工具如:gzip;traceroute;top(不带SUID);lsof.
安装和建立Perl5到/bin/perl.
在/secure中安装安全脚本如:rotate_cron, rotate_log, wtrim.pl, rdistd
并改变属性来保护/secure:chmod -R 700 /secure; chown -R root /secure
6,在次配置和筛选系统安全:
许多在CD中OS的补丁是不够及时的,因此从sunsolve.sun.ch中获取patchdiag
工具来查看安全补丁并下载安装这些补丁 。
配置登录记录
在/etc/default/su中使SU记录有效 。
使用以下方法使尝试登录失败记录有效:
touch /var/log/loginlog;
chmod 600 /var/log/loginlog;
chgrp sys /var/log/loginlog
SYSLOG记录:根据syslog.conf例子来分散LOG分析记录,即把多项服务的记录
分散到各个独立的LOG文件,有条件的话在(/etc/hosts)中指定一台机器作为loGhost
syslog loghost
需要一个大的磁盘作为LOG记录的存储介质 。
建立空的LOGS文件并设立相应的权限:
cd /var/log; touch daemonlog authlog kernlog userlog maillog lprlog
cronlog newslog locallog alertlog;

推荐阅读