随着电脑技术日新月异的发展和各种各样网络应用的流行,网络操作系统在服务器领域里扮演了很重要的角色。由于Windows操作系统的广泛应用,连同人们对其内部机制的深入剖析,导致利用其漏洞攻击服务器的黑客软件越来越多。于是,随着对安全问题的日益关注,另一操作系统——Linux出现在人们面前。
Linux 秉承Unix高端操作系统的血脉,其安全性、可靠性、高伸缩性的特点和生俱来。再加上Linux独创的源码开放模式,从 1989年其源代码出现在Internet上起,短短十几年间,来自世界各地的研发人员对其进行了不断地修改及完善,如今Linux已逐渐成长为一个功能强大、可操作性强的网络操作系统。通过构建Linux服务器,能够架设Web服务器、Mail服务器、DNS服务器、DHCP服务器、FTP服务器、代理服务器及NFS服务器等;也能够用Linux作为防火墙接入,充当路由器等各种重要角色;或是研发基于Linux的入侵检测系统(IDS)、语音呼叫系统、桌面应用等。由此可见Linux的强大和重要,尤其是在服务器领域越来越多的应用平台建立在Linux系统架构上。随着应用范围不断扩大,Linux 必将受到来自世界各地黑客们的攻击,其安全性也越发显得重要。
如何确保安全的最大化呢?量体裁衣,有的放矢,取舍得当是关键。现从以下几个方面加以详述。
控制文档的属性和权限
密切关注文档的属性和权限配置是确保主机文档系统完整性的至关紧要的操作。
两种特别的文档访问权限分别是SUID(八进制为4000)和SGID(八进制为2000)。配置这两种权限的文档,将使其他用户在执行他们时拥有任何者的权限。也就是说,假如一个配置为SUID的程式,即使是普通用户使用也是作为root来运行的。因此,SUID/SGID文档是安全的隐患。
SUID和SGID攻击方式的预防:
1.严格审查系统内的文档权限。能够找出系统内使用SUID/SGID的文档,列出清单保存,做到心中有数。命令如下:
[root#] find / -type f -perm 6000 -ls | less
[root#] find / -type f -perm 6000 > Suid-Sgid.txt
2.对于一部分程式必须配置为SUID的,能够让他们自成一组,集中管理。但是绝对不允许在用户的家目录下有SUID程式存在。
3.确保重要的SUID脚本不可写。命令如下:
[root#] find / -perm -2 ! -type l -ls
4.对于并非绝对需要被配置成SUID的程式,改变他们的访问权限或卸载程式。如:
[root#] chmod -s [program]
5.查找系统内任何不属于任何用户和组的文档。因为这些文档很容易被利用来获得入侵主机的权限,造成潜在的威胁。命令如下:
[root#] find / -nouser -o -nogroup
6.善于使用lsattr和chattr这两个ext2/3的属性命令。本文将主要讨论a属性和i属性,因为这两个属性对于提高文档系统的安全性和保障文档系统的完整性有很大的好处。a属性(Append-only),系统只允许在这个文档之后追加数据,不允许任何进程覆盖或截断这个文档。假如目录具备这个属性,系统将只允许在这个目录下建立和修改文档,而不允许删除任何文档。i属性(Immutable),系统不允许对这个文档进行任何的修改。假如目录具备这个属性,那么任何进程只能修改目录之下的文档,不允许建立和删除文档。
假如主机直接暴露在因特网或位于其他危险(如其他非管理员亦可接触服务器)环境,有很多Shell账户或提供HTTP和FTP等网络服务,一般应该在安装配置完成后使用如下命令,便于保护这些重要目录:
[root#] chattr -R i /bin /boot /etc /lib /sbin
[root#] chattr -R i /usr/bin /usr/include /usr/lib /usr/sbin
[root#] chattr a /var/log/messages /var/log/secure......
假如很少对账户进行添加、变更或删除操作,把/home本身配置为Immutable属性也不会造成什么问题。
在很多情况下,整个/usr目录树也应该具备不可改变属性。实际上,除了对/usr目录使用chattr -R i /usr/命令外,还能够在/etc/fstab文档中使用ro选项,使/usr目录所在的分区以只读的方式加载。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




