全面提升Linux服务器的安全(6)
14、加强登录安全
通过修改/etc/login.defs文件可以增加对登录错误延迟、记录日志、登录密码长度限制、过期限制等设置。
/etc/login.defs #登录密码有效期90天
PASS_MAX_DAYS 90 #登录密码最短修改时间,防止非法用户短期更改多次
PASS_MIN_DAYS 0 #登录密码最小长度8位
PASS_MIN_LEN 8 #登录密码过期提前7天提示修改
PASS_WARN_AGE 7 #登录错误时等待时间10秒
FAIL_DELAY 10 #登录错误记录到日志
FAILLOG_ENAB yes #当限定超级用户管理日志时使用
SYSLOG_SU_ENAB yes #当限定超级用户组管理日志时使用
SYSLOG_SG_ENAB yes #当使用md5为密码的加密方法时使用
15. 使用OPENSSH代替FTP和Telnet
我们通常使用的网络传输程序FTP和Telnet等在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,黑客利用嗅探器非常容易截获这些口令和数据。SSH的英文全称是Secure SHell。通过使用SSH,用户可以把所有传输的数据进行加密,这样即使网络中的黑客能够劫持用户所传输的数据,如果不能解密的话,也不能对数据传输构成真正的威胁。另外,传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP提供一个安全的“传输通道”。在不安全的网路通信环境中,它提供了很强的验证(authentication)机制与非常安全的通信环境。SSH(Secure Shell)最初由芬兰的一家公司开发,但由于受版权和加密算法的限制,很多人转而使用免费的替代软件OpenSSH。 命令行使用OPENSSH比较麻烦。这里介绍gFTP和OPENSSH整合在一齐,提供一个图形化加密传输方案。gFTP和Windows下的CuteFtp一样使用非常简单,而且几乎所有的Linux发行版本都带有gFTP,不需要安装就可以使用。Windows下支持SSH的客户端软件不少,推荐使用Putty和Filezilla。
16.备份重要的文件
很多木马、蠕虫和后门都会用替换重要文件的办法隐藏自己,将最重要和常用的命令备份是好习惯。准备一套只读介质,光盘或者优盘,甚至放到网上下载都可以。总之是在必要时使用原始的命令而不是系统中可能被感染的命令。需要注意备份的如下:
/bin/su
/bin/ps
/bin/rpm
/usr/bin/top
/sbin/ifconfig
/bin/mount
17.补丁问题
你应该经常到你所安装的系统发行商的主页上去找最新的补丁。操作系统是计算机系统灵魂,维护着系统的底层,对内存、进程等子系统进行管理和调度。如果操作系统本身出现了漏洞,其影响将会是致命的。操作系统的内核,对于网络安全是至关重要的。目前,内核的维护主要分两种模式:对于私有操作系统,如Windows/Solaris等,由于个人用户不能直接接触其源代码,其代码由公司内部开发人员维护,其安全性由同样的团队保证,内核的修正与其他应用程序一样,以patch/SP包的方式发布。对于Linux这样的开放式系统,是一种开放的结构。应该说,开放的模式是双刃剑。从机制上讲,全世界的开发人员都能获得源代码,从而找出其中的纰漏,似乎安全性应该更好;但是同时,如果网络管理人员不能及时更新内核,也会留下安全隐患。而且,影响操作系统安全的因素有很多。从编成水平到用户的使用水平等等,都将影响到系统的安全。仅仅通过开放或者封闭源代码,都不能从根本上解决安全问题。如果你是一个Linux网管员,你经常需要上相应的网站看,是否有补丁,是否有了bug fix,是否需要升级。千万不要报侥幸心理,否则一个Shell脚本就可能拿下你的网站。套用一句名言:你的服务器永远可能在第二天被黑客接管。
Linux服务器运行的软件主要包括:Samba,Ftp,Telnet,Ssh,Mysql,Php,Apache,Mozilla等,这些软件,大都是开源软件,而且都在不停升级,稳定版和测试版交替出现。在www.samba.org和 www.apache.org上,最新的ChangeLog中都写着:bug fix, security bug fix的字样。所以Linux网管员要经常的关注相关网站的bug fix和升级,及时升级或添加补丁。
总结:
正如没有牢不可破的盾一样,没有任何的系统是绝对安全的。同样在安全领域中,也没有谁可以说自己是高手。系统的安全是靠很多前辈的汗水和智慧来换取的。