论文部分内容阅读
摘要:随着Linux操作系统被广泛地应用于网络服务的主机系统中,它的安全性也越来越受到关注,本文简单介绍了Linux系统的安全机制,主要从用户帐号、文件系统权限、文件系统完整性检查、有效控制服务器运行的后台进程等几个方面给出相应的安全机制设置。
关键词:Linux、安全、配置
【分类号】:TP316.81
相对于Windows系统,Linux系统往往会被认为具有更高的安全性,这也使得Linux在操作系统领域异军突起,企业服务端的发展很快,得到更多的重视和普及。随着Linux应用量的增加,其安全性也同样受到了关注和挑战。其实,面对当今世界网络快速发展与应用的现状,所有的网络操作系统面对信息安全与来自网络的威胁,都一样的面临着挑战,都在不断寻求更好的安全解决方案与策略。
Linux网络操作系统的基本安全包括用户帐号、文件系统权限、文件系统完整性检查、有效控制服务器运行的后台进程等,如果这些安全机制配置不当,就会使系统存在一定的安全隐患。因此,网络系统管理员必须小心地设置这些安全机制。
1.设定Linux系统用户账号的安全
(1)仔细设置每个内部用户的权限、确保用户口令文件/etc/passwd和/etc/shadow的安全。在建立一个新用户ID时,系统管理员应该根据不同需要赋予账号不同的权限,并将其归并到不同的用户组中。Linux一般将密码加密之后,存放在/etc/passwd文件中。Linux系统上的所有用户都可以读到/etc/passwd文件,虽然文件中保存的密码已经经过加密,但仍然不太安全。因为一般的用户可以利用现成的密码破译工具,以穷举法猜测出密码。比较安全的方法是设定影子加密文件/etc/shadow,只允许有特殊权限的用户阅读该文件。同时必须查看/etc/passwd 文件,删除多余的账号,检查有没有除root外UID、GID为0的其他非法用户。
(2)如果某个拥有账号的企业员工离职,管理员应即时删除该账号,以防止因存在很久不用的账号而给黑客攻击提供条件。
(3)在用户账号之中,具有root权限的账号非常重要,这种超级用户有权修改或删除一切系统设置,root是系统中权限最大的用户账号。因此,在给任何账号赋予root权限之前,都必须谨慎规划。且Linux系统中的/etc/securetty文件包含了一组能够以root账号登录的终端机名称,该文件默认仅允许本地虚拟控制台以root权限登录,而不允许远程用户以root权限登录,不要轻意修改该文件,如果因需要必须以root权限进行远程登录,也应以普通账号登录,然后使用命令su切换为超级用户。
2.控制文件的属性和权限
基于系统安全的整体考虑,密切监控文件的属性和权限设置是至关重要的。确保安全的最大化,是Linux系统管理员的最终目标。应该关注以下几个方面,
(1)审查系统中具有SUID和SGID的文件。
在文件的访问权限中,有两种特殊的权限,分别是设置了SUID(八进制表示为4000)或SGID(八进制表示为2000)。对于具有这两种特殊权限的文件,要给予足够的重视,因为设置了这两种权限的文件,将使其他用户在执行这个文件时,拥有所有者的权限。就是说,如果一个设置了SUID的可执行程序文件,即使是普通用户也是作为root的身份运行的,这自然给系统带来了极大的安全隐患。
防止发现上述权限问题的出现,要严格审查系统内的文件权限,并统计出系统内具有SUID或SGID的文件,列出文件监控清单列表并保存,以备随时检查。
(2)必须设置SUID权限的文件,可以进行集中管理。但绝对不允许用户的home目录中存在具有SUID权限的文件。
(3)对于已经设置了SUID的文件,但是不必要的,应该重新修改其访问权限,或卸载程序文件。
(4)不属于所有用户和组的文件,这种文件很容易被黑客利用而获得系统的权限,应该查找出来全部删除。
(5)关于具有a属性和i属性的文件。这两种属性对于提高文件系统的安全性和保障文件系统的完整性极为必要的。
a属性(Append-only),设置了a属性的文件只能在添加模式下打开用于写入,系统只允许在这个文件之后追加数据,不允许所有进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除所有文件。只有超级用户root可以设置或清除该属性。
i属性(Immutable),不可变,设置了i属性的文件不能进行修改,你既不能删除它,也不能给它重新命名和创建该文件的链接,系统不允许对这个文件进行所有的修改。如果目录具有这个属性,只能修改目录之下的文件,不允许建立和删除文件。只有超级用户root可以设置或清除该属性。
将目录/bin、/boot、/etc、/lib、/sbin、/usr/bin、/usr/include、/usr/lib和/usr/sbin加上i属性:
[root#] chattr -R +i /bin /boot /etc /lib /sbin
[root#] chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbin
将文件/var/log/messages、/var/log/secure加上a属性:
[root#] chattr +a /var/log/messages /var/log/secure
3.文件系统完整性检查
文件系统的完整性是安全系统的核心属性之一。管理员进行日常的文件管理时,需要知道是否有文件被恶意修改。因为攻击者能用多种方法破坏文件系统,例如,利用错误设置获得权限,也能修改文件并植入特洛伊木马或病毒等恶意程序。所以,要擅于使用Linux系统的文件校验检查工具,提高对文件系统完整性与安全性的管理。
4.有效控制服务器运行的后台进程
服务进程(Daemon)也叫守护进程,是Linux操作系统的核心进程,是运行在后台的一种特殊进程,它独立于控制终端,并周期性地执行某种任务或等待某些发生的事件。服务进程向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。Linux的大多数服务器就是用守护进程实现的,比如Internet服务器xinetd,SSH服务器sshd等。但是开启不必要或有漏洞的服务,则会给操作系统带来安全和性能上的影响。对于系统安全来说,增加系统安全的最佳办法就是尽量监视系统的服务进程和关闭不必要的多余服务进程。
使用工具软件ntsysv或setup查看所有服务的开启情况,以决定开启或关闭
# ntsysv (或 setup)
查看所有服务运行的端口
# less /etc/services
查看所有后台进程并输出到列表文件,方法简单实用,如
# ps –auxf > daemons.txt
查看启动服务的进程号文件
# cd /var/run/|ls -al
参考文献
[1] 万为军.浅谈Linux系统网络安全[J]. 中国科技信息. 2011(11)
[2] 李文风.浅析Linux操作系统的安全策略[J]. 信息与电脑(理论版). 2011(04)
[3] 陈华.浅谈Linux系统安全加固的几个方面[J]. 信息与电脑(理论版). 2011(11)
关键词:Linux、安全、配置
【分类号】:TP316.81
相对于Windows系统,Linux系统往往会被认为具有更高的安全性,这也使得Linux在操作系统领域异军突起,企业服务端的发展很快,得到更多的重视和普及。随着Linux应用量的增加,其安全性也同样受到了关注和挑战。其实,面对当今世界网络快速发展与应用的现状,所有的网络操作系统面对信息安全与来自网络的威胁,都一样的面临着挑战,都在不断寻求更好的安全解决方案与策略。
Linux网络操作系统的基本安全包括用户帐号、文件系统权限、文件系统完整性检查、有效控制服务器运行的后台进程等,如果这些安全机制配置不当,就会使系统存在一定的安全隐患。因此,网络系统管理员必须小心地设置这些安全机制。
1.设定Linux系统用户账号的安全
(1)仔细设置每个内部用户的权限、确保用户口令文件/etc/passwd和/etc/shadow的安全。在建立一个新用户ID时,系统管理员应该根据不同需要赋予账号不同的权限,并将其归并到不同的用户组中。Linux一般将密码加密之后,存放在/etc/passwd文件中。Linux系统上的所有用户都可以读到/etc/passwd文件,虽然文件中保存的密码已经经过加密,但仍然不太安全。因为一般的用户可以利用现成的密码破译工具,以穷举法猜测出密码。比较安全的方法是设定影子加密文件/etc/shadow,只允许有特殊权限的用户阅读该文件。同时必须查看/etc/passwd 文件,删除多余的账号,检查有没有除root外UID、GID为0的其他非法用户。
(2)如果某个拥有账号的企业员工离职,管理员应即时删除该账号,以防止因存在很久不用的账号而给黑客攻击提供条件。
(3)在用户账号之中,具有root权限的账号非常重要,这种超级用户有权修改或删除一切系统设置,root是系统中权限最大的用户账号。因此,在给任何账号赋予root权限之前,都必须谨慎规划。且Linux系统中的/etc/securetty文件包含了一组能够以root账号登录的终端机名称,该文件默认仅允许本地虚拟控制台以root权限登录,而不允许远程用户以root权限登录,不要轻意修改该文件,如果因需要必须以root权限进行远程登录,也应以普通账号登录,然后使用命令su切换为超级用户。
2.控制文件的属性和权限
基于系统安全的整体考虑,密切监控文件的属性和权限设置是至关重要的。确保安全的最大化,是Linux系统管理员的最终目标。应该关注以下几个方面,
(1)审查系统中具有SUID和SGID的文件。
在文件的访问权限中,有两种特殊的权限,分别是设置了SUID(八进制表示为4000)或SGID(八进制表示为2000)。对于具有这两种特殊权限的文件,要给予足够的重视,因为设置了这两种权限的文件,将使其他用户在执行这个文件时,拥有所有者的权限。就是说,如果一个设置了SUID的可执行程序文件,即使是普通用户也是作为root的身份运行的,这自然给系统带来了极大的安全隐患。
防止发现上述权限问题的出现,要严格审查系统内的文件权限,并统计出系统内具有SUID或SGID的文件,列出文件监控清单列表并保存,以备随时检查。
(2)必须设置SUID权限的文件,可以进行集中管理。但绝对不允许用户的home目录中存在具有SUID权限的文件。
(3)对于已经设置了SUID的文件,但是不必要的,应该重新修改其访问权限,或卸载程序文件。
(4)不属于所有用户和组的文件,这种文件很容易被黑客利用而获得系统的权限,应该查找出来全部删除。
(5)关于具有a属性和i属性的文件。这两种属性对于提高文件系统的安全性和保障文件系统的完整性极为必要的。
a属性(Append-only),设置了a属性的文件只能在添加模式下打开用于写入,系统只允许在这个文件之后追加数据,不允许所有进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除所有文件。只有超级用户root可以设置或清除该属性。
i属性(Immutable),不可变,设置了i属性的文件不能进行修改,你既不能删除它,也不能给它重新命名和创建该文件的链接,系统不允许对这个文件进行所有的修改。如果目录具有这个属性,只能修改目录之下的文件,不允许建立和删除文件。只有超级用户root可以设置或清除该属性。
将目录/bin、/boot、/etc、/lib、/sbin、/usr/bin、/usr/include、/usr/lib和/usr/sbin加上i属性:
[root#] chattr -R +i /bin /boot /etc /lib /sbin
[root#] chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbin
将文件/var/log/messages、/var/log/secure加上a属性:
[root#] chattr +a /var/log/messages /var/log/secure
3.文件系统完整性检查
文件系统的完整性是安全系统的核心属性之一。管理员进行日常的文件管理时,需要知道是否有文件被恶意修改。因为攻击者能用多种方法破坏文件系统,例如,利用错误设置获得权限,也能修改文件并植入特洛伊木马或病毒等恶意程序。所以,要擅于使用Linux系统的文件校验检查工具,提高对文件系统完整性与安全性的管理。
4.有效控制服务器运行的后台进程
服务进程(Daemon)也叫守护进程,是Linux操作系统的核心进程,是运行在后台的一种特殊进程,它独立于控制终端,并周期性地执行某种任务或等待某些发生的事件。服务进程向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。Linux的大多数服务器就是用守护进程实现的,比如Internet服务器xinetd,SSH服务器sshd等。但是开启不必要或有漏洞的服务,则会给操作系统带来安全和性能上的影响。对于系统安全来说,增加系统安全的最佳办法就是尽量监视系统的服务进程和关闭不必要的多余服务进程。
使用工具软件ntsysv或setup查看所有服务的开启情况,以决定开启或关闭
# ntsysv (或 setup)
查看所有服务运行的端口
# less /etc/services
查看所有后台进程并输出到列表文件,方法简单实用,如
# ps –auxf > daemons.txt
查看启动服务的进程号文件
# cd /var/run/|ls -al
参考文献
[1] 万为军.浅谈Linux系统网络安全[J]. 中国科技信息. 2011(11)
[2] 李文风.浅析Linux操作系统的安全策略[J]. 信息与电脑(理论版). 2011(04)
[3] 陈华.浅谈Linux系统安全加固的几个方面[J]. 信息与电脑(理论版). 2011(11)