⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 solaris 安全 faq(3)转.txt

📁 LINUX下的安装声卡等操作和技巧介绍
💻 TXT
📖 第 1 页 / 共 2 页
字号:
作者:studyboy
email: studyboy@21cn.com
日期:7/19/2001 10:37:33 PM
) 如何使我的Solaris Web server更安全? 

下面的方法可以令你的以Solaris为基础的系统十分安全,你同时还可以配以利用防火墙及过滤路由 
器来组成一个完整而强大的网络拓扑,但是,没有任何系统是完美的,所以你除了关注安全动态,给机 
器作好防范之外,也不应该在机器上装载其他无关的第三方的软件--webserver需要的是安全,而不是 
对管理员的方便。 

5.0) Web server安全检查 

用下面的安全检查列表来察看你的系统是否是安全地安装的,当然如果你有特殊的安全需求则不一定以此为准: 

在完成一切安全设置前将系统与互联网断开 
仅仅安装系统的核心部分以及需要的软件包 
安装推荐的安全补丁 
修改系统的开始文件来进行 
在/etc/init.d/inetinit中关闭IP转发 
改变/tmp的存取权限(可以在系统的开始文件中加入脚本 
用ps检查进程情况 
Invoke sendmail from cron to process queued mail occasionally. 
安装配置tcp_wrappers, S/Key, wu-ftp及tripwire于你的系统环境。 
编辑/etc/hosts.allow来确定可进入的机器,并且编辑/etc/inetd.conf注释掉所有不需要的服务 
用syslog记录下所有的telnet连接通信 
Mount上的文件系统要是只读而且是no-suid的 
确定/noshell是除了root之外所有不希望进入的帐号的默认shell 
删除/etc/auto_*, /etc/dfs/dfstab, p/var/spool/cron/crontabs/* (except root). 
使用静态路由 
测试你的系统,包括允许及拒绝访问的配置及记帐系统 
考虑使用更安全版本的sendmail, syslog, bind以及crontab来替代现有的 
安装xntp来有更精确的时间戳 
考虑更详细地系统记帐 
保持监听和测试Web server的习惯 

在你完成上面的配置之后,你的系统已经会比安装一个标准的UNIX系统,并配以标准配置更安全了。 

5.1) 硬件上...... 

在系统完全安装好并且配置得更安全之前,不要将它放到互联网上——从理论上说,一些入侵者喜欢 
在你把系统弄得完美之前溜进去放几个后门——而且最好从CD-ROM安装你的系统并且将二进制文件 
加载在磁带机或者软盘上物理写保护....... 

5.2) 安装系统 

从最新的,可靠的Solaris2.x版本安装,每一版本的Solaris都会比前一版更安全一些的。 

Solaris是非常灵活并且包含了大量工具可供使用的。但不幸的是,这些外带的功能软件包可能也会 
导致一些潜在的危险,所以要建立一个安全的系统,最好的办法是,只安装基本的OS部份,其余的软件 
包则以必要为原则,非必需的包就可以不装——这样还可以使机器更快和更稳定:) 

在Solaris的安装程序里,你可以选择Core SPARC installation cluster来安装,事实上,就连 
这个选项都还有些东西是不必要的确良:(,但它的确是一个安全的系统基础,另一个好处是,它需要的空 
间很少,看看下面你就知道了: 

s0: / 256 megabytes 
s1: swap 256 megabytes 
s2: overlap 
s3: 
s4: 
s5: 
s6: /local ??? megabytes (rest of the drive) 
s7: 

/var要足够大以放置审核记录文件,而swap分区则与你的硬件(内存)相适应就行了,当然大的swap 
分区可以在应付DoS攻击时更强有力。 

现在可以用另外的机器,ftp到sunsolve.sun.com:/pub/patches并且下载最新的推荐补丁,将它放 
在磁带机中转到你的“安全主机”上,然后安装这些补丁,当然有些补丁可能安装不上,因为它所 
要补的那个软件你没有安装:) 

5.3) 系统里的Strip 

在Solaris下,你可以通过对/etc/rc[S0-3].d文件来修改启动时自引导的动作: 

考虑移去/etc/rc2.d中在你系统中用不到的服务,我还建议你移除/etc/init.d里除下以下列表中 
文件外的所有东西: 

K15rrcd S05RMTMPFILES K15solved S20sysetup 
S72inetsvc S99audit S21perf 
S99dtlogin K25snmpd S30sysid.net S99netconfig 
K50pop3 S74syslog S75cron S92rtvc-config 
K60nfs.server K65nfs.client S69inet 
K92volmgt README S95SUNWmd.sync 
S01MOUNTFSYS S71sysid.sys S88utmpd S95rrcd 

这些文件可能会与你的不同--这取决于你机器里的图形卡/是否使用Solaris DiskSuits等等。 
移除/etc/rc3.d里的文件........ 

举例来说,在Solaris 2.4中,你应该编辑/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 

并且通过设定ndd -set /dev/ip ip_strict_dst_multihoming 1来关闭"ip_strict_dst_multihoming" 
核心变量。solaris机器就不会在两块网卡间转发IP包,这可以防止host spoof。 

* 在Solaris 2.5下,只要建立一个叫/etc/notrouter的文件就能阻止IP转发,要重新打开它,只要移除 
/etc/notrouter并重启动系统就行了。It's important to note that there is a small time 
window between when this file is created and when routing is disabled, 
theoretically allowing some routing to take place. 

在Solaris 2.4下,添加一个新的脚本名为/etc/init.d/tmpfix: 


#!/bin/sh 
#ident "@(#)tmpfix 1.0 95/08/14" 

if [ -d /tmp ] 
then 
/usr/bin/chmod 1777 /tmp 
/usr/bin/chgrp sys /tmp 
/usr/bin/chown root /tmp 

并且连接/etc/init.d/tmpfix到/etc/rc2.d/S79tmpfix,这样这个脚本就会在系统启动时执行了。 
这可以使入侵者更难在系统里夺取root权限。在Solaris 2.5则不必如此。 

另外还有一些好的建议,就是在启动时为用户设定安全的umask,下面的script就是做这事儿的: 

umask 022 # make sure umask.sh gets created with the proper mode 
echo "umask 022" > /etc/init.d/umask.sh 
for d in /etc/rc?.d 
do 
ln /etc/init.d/umask.sh $d/S00umask.sh 
done 

Note: 脚本名称中的".sh"是必需的,这样脚本才会在本shell而不是它的子shell中执行。 

删除/etc/auto_*文件,删除/etc/init.d/autofs可以防止automounter在启动时就运行。 

删除/etc/dfs/dfstab,清除/etc/init.d以防止机器成为NFS服务器。 

删除crontab文件,你可以将/var/spool/cron/crontabs中属主root以外的文件全部删除。 

使用静态路由,建立/etc/defaultrouter来维护之,以避免spoof。如果你必须通过不同的网关,考虑增 
加/usr/bin/route命令于/etc/init.d/inetinit以取代运行routed。 

当地切完成时,重启机器,彻底地查看进程,ps -ef的输出应该是这样的: 

UID PID PPID C STIME TTY TIME COMD 
root 0 0 55 Mar 04 ? 0:01 sched 
root 1 0 80 Mar 04 ? 22:44 /etc/init - 
root 2 0 80 Mar 04 ? 0:01 pageout 
root 3 0 80 Mar 04 ? 33:18 fsflush 
root 9104 1 17 Mar 13 console 0:00 /usr/lib/saf/ttymon -g -h -p myhost console login: -T sun -d /dev/console -l co 
root 92 1 80 Mar 04 ? 5:15 /usr/sbin/inetd -s 
root 104 1 80 Mar 04 ? 21:53 /usr/sbin/syslogd 
root 114 1 80 Mar 04 ? 0:11 /usr/sbin/cron 
root 134 1 80 Mar 04 ? 0:01 /usr/lib/utmpd 
root 198 1 25 Mar 04 ? 0:00 /usr/lib/saf/sac -t 300 
root 201 198 33 Mar 04 ? 0:00 /usr/lib/saf/ttymon 
root 6915 6844 8 13:03:32 console 0:00 ps -ef 
root 6844 6842 39 13:02:04 console 0:00 -sh 

/usr/lib/sendmail守护程序并没有打开,因为你不必总在25端口监听mail的列表请求,你可以在root的 
crontab文件中增加: 

0 * * * * /usr/lib/sendmail -q > /var/adm/sendmail.log 2>&1 

这条命令要以每小时调用sendmail进程处理排队中的邮件。 

5.4) 安装第三方软件 

你需要的第一个软件是TCP Wrappers软件包——由Wietse Venema写的,它提供了一个小的二 
进制文件叫tcpd,能够用它来控制对系统服务的进出——比如telnet及ftp,它在/etc/inetd.conf 
中启动,访问控制可以由IP地址、域名或者其它参数来限制,并且tcpd可以提升syslog的记录 
级别,在系统遇到未经认证的连接时,发送email或者警告给管理员。 

然后安装S/Key来控制远程连接的安全性,可以在Q5.6中看到详细的配置方法。 

如果你打算打开ftp服务(不管是匿名ftp或者是出了管理目的),你需要取得一份WU-Archive ftp, 
最好要拿到它的最新版本,否则会有一些安全漏洞存在,如果你认为需要管理员的远程登陆服务的 
话,可能得修改S/Key来支持ftp daemon。在Crimelabs S/Key的发行版本中,你可以在找到 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -