Linux安全问题
虽然Linux一直以稳定高效且安全著称,但世无完物,其存在于系统内的细小安全隐患同样不可小视
管理员帐户root的自动注销[ ]
比如管理员在离开时忘了把root注销,这就存在隐患了。而我们希望系统应该能够自
动从shell中注销,以达到保护root帐户的安全。解决方法为:需要设置一个特殊的“tmout”变量,即编辑文件/etc/profile,在“histfilesize=”命令行的下一行增加 “tmout=900”表示所有用户如果在15分钟内无任何操作将自动注销此帐户,同时,增加了此命令行后,请重新用root登录,更改才能生效!
有关某些无用帐号的删除[ ]
Linux提供了多种帐号类型,可我们平常经常使用的也就那么一两个,因此不需要的完
全可以移除,帐号开发越多就越容易受到不良入侵这个道理,相信大家清楚吧。以下是可以有选择性删除的系统帐号:
Sendmail服务器:news、uucp、operator。
X windows服务器:gopher。
具有某些特权的帐号:adm、shutdown、mail、sync。
除此之外,还有某些系统用户、组用户、匿名FTP帐户等,使用命令格式为:userdel username。
口令的设定规则[ ]
设置口令一直都是系统安全的第一道门槛。Linux安装时默认的口令长度最小为5,为了确保口令不易被某些猜测软件检测到,一般采用增加口令的最小长度的方法解决。实施办法为:修改文件/etc/login.defs中的参数PASS_MIN_LEN(口令最小长度);PASS_MIN_DAYS(口令使用时间),以对口令的使用时间作限制,定期更换口令达到安全的目的。
常见漏洞类[ ]
关于缓冲区溢出的安全漏洞[ ]
在windows下此漏洞就是受攻击的主要对象,其结果可以轻易用匿名的帐户获得主机的控制权!要预防此类漏洞攻击,在安装系统时就应该注意。很多资料上都说,如果用root分区纪录数据,就可能因为拒绝服务产生大量日志或垃圾邮件,从而导致系统崩溃;所以笔者建议为/var设立单独的分区用于存放日志和邮件,避免root分区被溢出;最为理想的办法是为特殊的应用程序单独设立分区,以及给/home单独设立一个区,经过这样的单独分区设定,可以有效避免针对Linux分区溢出的某些恶意攻击。
关于监听服务配置文件/etc/inetd.conf[ ]
此文件定制/usr/sbin/inetd将要监听的服务,以笔者的使用来看一般只需telnet和ftp这两个就行了,其它的完全可以关闭,比如finger、imap、exec以及shell等,这其中又以S34yppasswdd(NIS服务器)和S60nfs(NFS服务器)两个服务存在的漏洞最多,运行的服务越少,系统越安全。
实施方法为:先用以下命令显示系统开放的服务:
grep -v "#" /etc/inetd.conf
然后运行#killall -HUP inetd来关闭不需要的服务。配置完成后再使用以下命令将其改为不可更改,而只能用root 帐户才能解开:
- chattr -i /etc/inetd.conf
最后还可以用以下命令查看哪些服务在正常运行:netstat -na --ip 。
限制用户资源[ ]
对系统上的用户资源作适当限制可以有效防止DoS类型的攻击,如最大进程数等。实现方法:如果是对所有用户作限制,先编辑/etc/pam.d/login文件,检查是否有session required /lib/security/pam_limits.so这一行;然后编辑/etc/security/limits.con,并加入以下几行:
- hard core 0----------(禁止core files)
- hard rss 5000-------(限制内存使用)
- hard nproc 20 ------(限制进程数)
系统日志安全性[ ]
Linux所有的日志内容都放在/var/log下,除了FTP外一般来说linux的日志已经非常强大了。因此我们得通过修改,完善FTP日志。实现办法:修改/etc/ftpaccess使其记录每一个ftp连接日志。除此之外,还可以通过安装Sniffer解决。
IPChains[ ]
谈到Linux的安全性,一定要讨论IPChains的。IPChains是集成到2.2.x内核中的包过滤防火墙软件。只要运行了Red Hat 6.0或更高版本,IPChains就已在Linux安装包内了。要保护一台独立服务器系统,可以配置IPChains仅允许出站的TCP连接, 这样当外部主机试图发起任何TCP连接,都会被禁止连接;最后,应设置记录所有的被禁止连接,这样可以跟踪系统,及时发现漏洞所在。
最后,提提补丁的问题。同样跟windows平台类似,Linux也需要经常关注其版本更新和补丁升级的。可以到这里下载或是用系统自带的升级工具up2date,它可以自动检测哪些rpm包需要升级并自动从Redhat上下载安装。