荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: conjure (等差数列), 信区: Security
标  题: Solaris安全FAQ
发信站: 荔园晨风BBS站 (Wed Nov  6 19:14:19 2002), 转信


参考资料:The Solaris Security FAQ by Peter Baer Galvin
1) (概述--略)
2) 怎样将Solaris配置得更加强壮?
2.1) 哪些文件的许可权限需要改变?
有个叫fix-modes的软件(ftp://ftp.fwi.uva.nl/pub/solaris/fix-modes.tar.gz)可以在
Solaris 2.4和2.5上运行并改变系统文件及目录的存取权限,这样会使非ROOT的用户更难
于更改系统文件或者取得ROOT权限。
2.2) 如何对ROOT的环境加以配置?
将umask设为077或者027.
查看你的环境中路径设置情况,不要有./
2.3) 我该更改哪些启动文件?
通常情况下,你要检查所有在/etc/rc2.d和/etc/rc3.d以S开头的文件,所有并非必要的设备

或者服务都可以重命名(不要再以S开头),然后你可以重新启动,从/var/adm/messages中来

观察自启动的情况,并且从ps -elf的输出中加以检查。
2.4) 如何将ROOT的远程登陆取消?
在/etc/default/login里加上 "CONSOLE"行,在/etc/ftpusers里加上root。
2.5) 如何取消rlogin/rsh服务?
移去/etc/hosts.equiv和/.rhosts以及各home目录下的.rhosts,并且在/etc/inetd.conf中

把r系列服务都杀掉,然后找出inetd的进程号,重启它。
2.6) 哪些帐号是不必须的?
移去或者锁定那些不是必须的帐号,比如sys\uucp\nuucp\listen等等,简单的办法是在
/etc/shadow的password域中放上NP字符。
2.7) 怎样保护我的设备?
在文件/etc/logindevperm中包含了对系统设备的许可权限配置信息,应该检视里面的各项
设定并且手动赋予你所想要的许可权限。
对于抽取式的BSM设备需要设定只有single user允许进入。
2.8) 我应该将/etc的存取权限改为什么才安全?
用chmod -R g-w /etc命令来移去组用户对/etc的写权限。
2.9) Solaris机器充当路由器?
默认情况下,如果Solaris机器有超过一块的网卡的话,它将会在不同网卡间转发数据包,
这一行为可
以在/etc/init.d/inetinit中得到控制。要在Solaris 2.4或者更低版本机器下关闭它,可
以将
ndd -set /dev/ip ip_forwarding 0添加于/etc/init.d/inetinit的未尾。在Solaris 2.5
中,只要touch /etc/notrouter.
2.10) 如何取消automounter?
Automounter是由/etc/auto_*这些配置文件控制的,要取消它,只要简单地移去这些文件,
并且/或者将/etc/rc2.d/S74autofs改名。
2.11) 如何取消NFS服务?
NFS的共享输出是由/etc/dfs/dfstab文件管理的.可以删除它。要将NFS服务器的守护进程关

则可以重命名/etc/rc3.d/S15nfs.server。要防止一台机器成为NFS客户机,可以重命名文

/etc/rc2.d/S73nfs.client——当重命名这些自启动文件时,要注意不要将文件的首字母设

“S”。
2.12) 对cron任务我该注意些什么?
你得查看所有的cron任务——在/var/spool/cron/crontabs文件中你可以找到它们。还必须

/etc/default/cron里设置了"CRONLOG=yes" 来记录corn的动作。
2.13) 使用动态路由有什么风险吗?
使用动态路由守护进程的机器用in.routed及in.rdisc来维护路由,这可能会大大增加路由
协议的复杂程
度,而且路由更新会消耗相当大比便的可用带宽,因此在可能的情况下,还是建议你使用静
态路由。
2.14) 何时及如何运用静态ARP?
ARP是联系IP地址和以太网的协议(地址转换协议) 。默认地,Solaris机器动态地确定ARP地
址,arp命令
可以用来静态地设定ARP表并且刷新它,如果你的系统里仅有少量无需更改的机器,那么这
是一个很好的工具。
为了防止ARP欺骗,最好将受托机器的硬件地址作为永久条目保存在ARP的高速缓存中。
2.15) 运行rpcbind是不安全的吗?
rpcbind是允许rpc请求和rpc服务之间相互连接的程序,但标准的rpc是不安全的:(,它使用
的是"AUTH_UNIX"
验证, 也就是说它依靠的是远程系统的IP地址和远程用户的UID来验证。一般的系统可能需
要某些rpc存在,但
对各种服务器如Web servers, ftp servers, mail servers, etc)最好将rpc服务关闭,你
也可以通过
一些安全工具来确定rpc服务是否会影响到你系统的安全性。可以通过将
/etc/rc2.d/S71RPC改名来禁止rpc。
2.16) /etc/utmp的权限应该如何设定?
# chmod 644 /etc/utmp
2.17) 哪些程序可以去掉SUID位?
许多setgid和setuid程序都只是由root运行的,或者是由某些特定用户或组运行,那就可以
将其setuid位
移去,下面是一个Solaris 2.6上setuid程序的列表,你应该根据自己的情况进行增减。
# find / -perm -4000 -print
/usr/lib/lp/bin/netpr
/usr/lib/fs/ufs/quota
/usr/lib/fs/ufs/ufsdump
/usr/lib/fs/ufs/ufsrestore
/usr/lib/fs/vxfs/vxdump
/usr/lib/fs/vxfs/vxquota
/usr/lib/fs/vxfs/vxrestore
/usr/lib/exrecover
/usr/lib/pt_chmod
/usr/lib/sendmail
/usr/lib/utmp_update
/usr/lib/acct/accton
/usr/lib/uucp/remote.unknown
/usr/lib/uucp/uucico
/usr/lib/uucp/uusched
/usr/lib/uucp/uuxqt
/usr/lib/sendmail.orig
/usr/openwin/lib/mkcookie
/usr/openwin/bin/xlock
/usr/openwin/bin/ff.core
/usr/openwin/bin/kcms_configure
/usr/openwin/bin/kcms_calibrate
/usr/openwin/bin/sys-suspend
/usr/dt/bin/dtaction
/usr/dt/bin/dtappgather
/usr/dt/bin/sdtcm_convert
/usr/dt/bin/dtprintinfo
/usr/dt/bin/dtsession
/usr/bin/at
/usr/bin/atq
/usr/bin/atrm
/usr/bin/crontab
/usr/bin/eject
/usr/bin/fdFORMat
/usr/bin/login
/usr/bin/newgrp
/usr/bin/passwd
/usr/bin/ps
/usr/bin/rcp
/usr/bin/rdist
/usr/bin/rlogin
/usr/bin/rsh
/usr/bin/su
/usr/bin/tip
/usr/bin/uptime
/usr/bin/w
/usr/bin/yppasswd
/usr/bin/admintool
/usr/bin/ct
/usr/bin/cu
/usr/bin/uucp
/usr/bin/uuglist
/usr/bin/uuname
/usr/bin/uustat
/usr/bin/uux
/usr/bin/chkey
/usr/bin/nispasswd
/usr/bin/cancel
/usr/bin/lp
/usr/bin/lpset
/usr/bin/lpstat
/usr/bin/volcheck
/usr/bin/volrmmount
/usr/bin/pppconn
/usr/bin/pppdisc
/usr/bin/ppptool
/usr/sbin/allocate
/usr/sbin/mkdevalloc
/usr/sbin/mkdevmaps
/usr/sbin/ping
/usr/sbin/sacadm
/usr/sbin/whodo
/usr/sbin/deallocate
/usr/sbin/list_devices
/usr/sbin/m64config
/usr/sbin/lpmove
/usr/sbin/pmconfig
/usr/sbin/static/rcp
/usr/sbin/vxprint
/usr/sbin/vxmkcdev
/usr/ucb/ps
/usr/vmsys/bin/chkperm
/etc/lp/alerts/printer
而且还应该建立一个setuid/setgid程序的列表,日后可以对比是否有新的setuid程序出现
--这可能是
入侵者光临过的征兆。
2.18) 哪些系统工具我可以去掉它?
所有的网络工具你都应该检查并且确定它在你的系统环境里是否是必需的,如果答案为否的
话,就
干掉它,下面这些工具有些可以在开始文件中找到它,有些则上在/etc/inetd.conf中被启
动的,注
释掉那些不必要的服务,并且kill -HUP inetd守护进程——类似的东西有:
tftp systat rexd ypupdated netstat
rstatd rusersd sprayd walld exec
comsat rquotad name uucp
最好把常规的inetd.conf替换掉——改成只开telnet和ftp服务——如果你真的需要它们的
话(建议再
用防火墙建立阻塞)。
2.19) 我应该运行in.fingerd吗?
in.fingerd在过去有一些安全问题,如果你想提供finger工具,用nobody来运行它。
2.20) 如何让syslog有更大作用?
默认情况下,syslog仅提供最精简的记录,你可以通过编辑/etc/syslog.conf文件来让
syslog记
录更多的信息,然后你需要重启syslog以使它读取配置文件。
你还可以通过
touch /var/adm/loginlog
chmod 600 /var/adm/loginlog
chgrp sys /var/adm/loginlog
建立login的记录。
2.21) 对EEPROM如何做才能更安全?
将EEPROM设于安全的模式:通过设定对"ok setenv security-mode=command"的密码保护来
实现。
当然这并不能真正地防止入侵,如果某人可以物理接触某控制台的话,它就能打开机器并替
换掉EEPROM,
更改hostid........
2.22) 我的机器是处于“混杂模式”下吗?
在Solaris下,你只能通过安装某些工具来判断是否机器是处于混杂模式下,可以参见第三
部分。只有当你
运行诸如snoop或者某些网络监听软件时机器才会处在混杂模式下,如果你并没有监听整个
网络,那极大的可
能性就是黑客已经侵入到你的系统中并且开始以监听来接收数据了。
2.23) 如果我必须运行NFS,如何使它更安全?
在/etc/dfs/dfstab中的所有文件将被所有人共享,默认情况下,NFS客户会以"-o rw"或者
"-o ro"选项
共享。
必须使用"nosuid"参数来使setuid程序失效。
不要通过rpcbind来运行nfs mount。而是用更安全的rpcbind替代程序或者安装SUN最新的
rpcbind补丁。
在可能的情况下,尽量使用secure-RPC。否则的话,你运行的是"AUTH_UNIX"认证,它仅仅依
靠客户的IP地
址来进行验证,很容易有IP欺骗的情况发生。
在可能的情况下,不要使用NFS,因为它的信息传递是通过明文的(甚至你用了"AUTH_DES"或
者"AUTH_KERB"来
进行认证)所以传输的任何文件对嗅探来说是及危险的。
有程序可以猜度ROOT所mountr的文件名柄,并且获得NFS server上的文件。
2.24) 如何让sendmail更安全?
sendmail总是不断地有新漏洞被发现,怎样才能使它更安全呢?
使用最新版本的Berkeley sendmail (see section 3)
使用smrsh (section 3)
从/etc/aliases里删除decode
将/etc/aliases的权限设为644
可以考虑使用代理防火墙来过滤SMTP中不必要的命令。
2.25) NIS是安全的吗,如何使其更强壮?
NIS从来就不是一个安全的服务,如果配置得当的话NIS+会更好些,就象暴力破解密码一样
,NIS域名
如果被猜出来,就会给入侵者提供相当丰富的信息,要关闭这个漏洞,可以将信任主机的地
址放在
/var/yp/securenets中。并且考虑使用NIS+或者secure RPC。
2.26) 匿名FTP要怎样才会安全可靠?
Solaris 2.5 ftpd(1M)包含了一个很好的FTP配置说明

--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.36.29]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店