科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>网络频道>ZD评测>Linux安全:步步设防(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

网络文件系统是构成Unix世界文件共享访问的基础。如果希望禁止用户任意的共享目录,可以增加NFS限制,比如锁定/etc/exports文件,并事先定义共享的目录。

来源: 2007年10月16日

关键字:设防 安全 Linux

  网络文件系统是构成Unix世界文件共享访问的基础。如果希望禁止用户任意的共享目录,可以增加NFS限制,比如锁定/etc/exports文件,并事先定义共享的目录。如果不希望用户共享,只限制用户访问,就需要修改NFS的启动脚本。编辑/etc/init.d/nfs文件,找到守护进程一行并注释掉。

  /etc/init.d/nfs

  # daemon rpc.nfsd $RPCNFSDCOUNT

  

  系统中的很多配置文件和命令是很敏感的,修改权限和增加只读属性可以在一定程度上避免安全问题。

关注日志
首先要使用日志服务器。将客户机的日志信息保存副本是好主意,创建一台服务器专门存放日志文件,可以通过检查日志来发现问题。修改/etc/sysconfig/syslog文件加入接受远程日志记录。

/etc/sysconfig/syslog
SYSLOGD_OPTIONS="-m r 0"

还应该设定日志远程保存。修改/etc/syslog.conf文件加入日志服务器的设置,syslog将保存副本在日志服务器上。

/etc/syslog.conf
*.* @log_server_IP

可以使用彩色日志过滤器。彩色日志loco过滤器,目前版本是0.32。使用loco /var/log/messages | more可以显示出彩色的日志,明显标记出root的位置和日志中异常的命令。这样可以减少分析日志时人为遗漏。

还要进行日志的定期检查。Red Hat Linux中提供了logwatch工具,定期自动检查日志并发送邮件到管理员信箱。需要修改/etc/log.d/conf/ logwatch.conf文件,在MailTo = root参数后增加管理员的邮件地址。Logwatch会定期检查日志,过滤有关使用root、sudo、telnet、ftp登录等信息,协助管理员分析日常安全。

检查本机具有suid和sgid的文件。具有suid和sgid的文件具有相当的危险性。简单说就是普通用户使用这些命令时可以具有超级用户的权限,用户就直接进入超级用户环境。有很多命令是需要suid和sgid的。在系统安装时就把这些命令找到,并作为标准以比较出现问题的机器就可以发现安全问题。除了suid和sgid外,如果发现有些文件不属于任何用户,也可能是安全出现漏洞。下面的命令可以将以上的文件列表保存到文件中,备份这些文件,以后用来方便比较。

find / -xdev -type f -perm +6000 2> /dev/null > /root/backup/audit/suid.log
find / -xdev -nouser -o -nogroup > /dev/null > /root/backup/audit/nouser.log
find / -xdev -type f -perm -2 > /dev/null > /root/backup/audit/other.log

使用SSH
当管理员远程管理客户机时,除了Webmin方便通过浏览器管理外,命令行的使用更加快捷。而telnet是明文传输的,为了防止被嗅探器捕捉敏感信息,使用SSH是最好的选择。SSH会在第一次连接时在通讯的两台机器之间生成密钥,随后的通讯是通过加密方式传输的,嗅探器将无法有效地分析信息。如果是Linux直接使用SSH命令将可以连接到对方主机,如果是从Windows连接,则需要软件的支持,推荐使用PuTTY,可以从http://www.chiark.greenend.org.uk/~sgtatham/putty/下载,目前的版本是0.52。SSH使用的是TCP端口22。注意不要使用任何r进程,比如rlogin、rcp等。

使用更安全的文件传输
除非需要FTP传输大量文件,不然可以使用SCP来代替。同SSH一样,SCP是通过密钥来创建加密通道的。在Windows上的WinSCP可以从http://winscp.vse.cz/下载,目前版本是2.0.0 (Build89)。但是如果需要传输大量的文件,SCP会导致处理器在处理加密上耗费过多的资源,可以使用proftp来代替。Red Hat Linux缺省使用的Wuftp服务,从http://www.proftpd.org/下载,目前的版本是1.2.4。
使用系统快照
系统快照是利用对系统文件编排数据库来定期发现系统的变化。推荐使用tripwire,目前的版本是2.3.1-10。需要注意的是,tripwire的配置文件很全面,但是不一定适合你的系统,因此需要定制twpol.txt文件。定制的原则是首先安装完整的系统,随后安装tripwire,使用缺省的配置文件制作系统快照。根据提示的错误信息,用#屏蔽掉多出来的配置信息,随后重新生成数据库。

rpm ivh tripwire-2.3.1-10.i386.rpm
#修改twpol.txt文件,屏蔽掉系统中不存在的文件,随后开始安装
/etc/tripwire/twinstall.sh
#安装会要求输入生成密钥的密码和更新数据库的密码
#注意复制密钥的操作,不然会在初始化中提示文件不存在的错误
cp /etc/tripwire/$HOSTNAME-local.key /etc/tripwire/localhost-local.key
#初始化tripwire,生成数据库,其中会要求输入密钥的密码
tripwire --init
#通过系统快照判断系统的变化,并且发送邮件到指定用户
tripwire --check -M

使用基于主机的入侵检测
IDS可以帮助管理员发现突破安全的企图。在企业中基于主机的入侵防御比基于网络的更重要,毕竟企业的网络是在防火墙后。建议使用snare,目前在Red Hat Linux 7.2上支持的版本是0.9-1,可以到http://www.intersectalliance.com下载。其中snare-core是核心的守护进程。snare是图形界面的显示程序。安装完毕后会产生名为audit的守护进程。snare关心的是以root操作或修改文件权限,以及访问敏感数据的日志。因此可以通过配置文件来定义适合自己系统的入侵检测日志系统。缺省的安装已经提供了完整的配置,可以满足一般的需求。
其它安全工具
使用Bastille工具
Bastille是一组安全设置脚本的集合,前面的很多设置可以使用Bastille来自动完成。首次安装完Bastille后,BastilleBackEnd可以使用以前设置好的配置文件。配置/etc/Bastille/config文件就可以完成安全脚本的定制。Bastille的一般配置中没包括防火墙等参数。如果需要,可以在安装完后使用InteractiveBastille.pl交互安装。Bastille将会启动向导窗口,只要选择是或者否就可以生成适合自己系统的配置文件。Bastille的配置方案略。
使用木马检查工具
chkrootkit就是通过校验系统中重要的命令,来判断是否被替换,因为是根据已出现的木马与后门工具编写的,要注意经常更新。
使用自动运行程序
使用crontab可以减少管理员的工作强度。比如加入定期的tripwire校验、chkrootkit校验,并发送结果到管理员的制定信箱。
提醒大家注意:至少应有一台日志服务器,并且使用不同类型的Linux版本或者操作系统;所有的桌面机需在防火墙内,并且禁止使用调制解调器连接互联网;至少有一个入侵检测系统,多个传感器分布在网络中;至少有2名系统管理员互为备份;不要使用root直接登录;不要使用telnet远程登陆;任何的系统更改需要文档化;毕竟一分预防胜于十分的治疗。
以上仅仅是简单的说明了企业中Linux安全的基本设置。如果连基本设置都没有达到,安全问题将会困扰系统管理员。还有很多更复杂的安全设置没有介绍,比如限制网络的交互、限制资源等。因为介绍的是防火墙内的桌面机,所以防火墙、邮件服务器、文件和Web服务器的安全设定也都没加以描述,但是决不是说安全照这样做了,就可以高枕无忧。这些只是入门,还远远不够。很多具体使用情况和更深入的配置欢迎关心Linux安全的管理员交流。

推广二维码
邮件订阅

如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

重磅专题