Linux的安全

Linux的安全 (此为转贴,但鹰派无聊人说未得他们允许不许转贴,似乎不是他们鹰派写的,为什么作者不告他们侵权???)

概述

UNIX的系统安全和系统管理员有很大的关系。安装越多的服务,越容易导致系统的安全漏洞。一些其他的操作系统,如:SCO,实际上更容易有安全漏洞,因为,为了更加“用户友好”,这些操作系统整合了更多的服务。
Linux本身是稳定和安全的,但是他能够以不同的形式发行。在安装Linux时候,最好先最小化安装,然后再加上必要的软件。这样能够减小某个程式出现安全隐患的可能。假如管理得好,Linux能够是最安全的系统。
假如在系统中有隐患存在,在网络上成千上万的自愿者就会指出隐患,并给出修正。大的公司,比如:商业软件公司,只能把有限的人力用于解决这方面的问题。把问题都公开出来,对他们来说可能没有什么好处,而且通过正规的发行和升级渠道,一个小小修正到用户手中都要很长的时间。也许这些修正会以补丁的方式出现,但是商业软件的系统管理员都倾向于使用现成的软件,而且自以为这些软件都是很专业的。
在编程的时候随时可能发生错误,但是,当有上万个人在看程式的源代码,这些错误就能很快地被发现。现在全球共有一千二百万的Linux拷贝,想想看,这是一种什么情况。假如系统有安全漏洞,很容易就被某个人发现了。
这一章将讨论一些保护服务器安全的一般方法。我们假定这台服务器是连在Internet上的。在通常情况下,有些服务,如:NFS、Samba、Imap和Pop只是供内部用户使用的。当然,也能够把这台服务器和外界隔离,这样就能够简单地避免外部的入侵。但是这没有什么实际意义,我们下面要介绍的是如何避免来自外部的和内部的攻击。

1. 基础知识
尽量少让外人知道有关系统的信息。有时候简单地用finger程式就能知道不少系统信息,比如:有多少用户、管理员什么时候登录、什么时候工作、他们是谁、谁现在在用这个系统连同其他有利于黑客猜出用户口令的信息。您能够用一个强大的finger daemon和tcpd限制能够连接到服务器的用户连同他们能够知道的有关系统的信息。但是,最好还是把finger软件包卸载掉。
日志是了解Linux系统运行情况的唯一方法。当然,这是以黑客没有破坏日志文档为前提的,但是这种情况很少见。把任何的连接都记录下来,能够发现攻击者和他们试图进行的攻击。假如您看不懂日志,能够向别人请教,一定要学会看懂他们。向别人请教您不懂的东西这是很正常的,不要不好意思。我自己就是从不断地犯错误和改正错误中学到不少知识的。因为骄傲自大不能学到东西和本身的资质差是两码事。看下面的《31. 创建任何重要的日志文档的硬拷贝》,您能够学到怎样管理日志文档的一些有用的知识。
限制系统中SUID的程式。SUID的程式是以root(UNIX世界中的上帝)权限运行的程式。有时候这是必须的,但是在多数情况下这没有必要。因为SUID程式能够做任何root能够做的事,这样有更多的机会出现安全隐患。也许,他们有时候会带来安全隐患,有时候不会,但是黑客能够利用SUID的程式来破坏系统的安全。这就是一种叫exploit的程式的由来。exploit程式是一种利用SUID程式的程式或脚本,具备很大的破坏力,能够用来得到root的shell、获取password文档、读其他人的邮件、删除文档,等等。这方面的知识能够参考《34. 带“s”位的程式》。

2. BIOS安全,设定引导口令
禁止从软盘启动,并且给BIOS加上密码。每次启动的时候都手工检查一下BIOS,这样能够提高系统的安全性。禁止从软盘启动,能够阻止别人用特别的软盘启动您的电脑;给BIOS加上密码,能够防止有人改变BIOS的参数,比如:允许从硬盘启动或不用输入口令就能够引导电脑。

3. 安全策略
有一点很重要而且必须指出的是:假如您不知道要保护什么,那么更本没有办法确保系统的安全。所以必须要有一个安全策略,基于这样的一个策略才能够决定哪些东西允许别人访问,哪些不允许。如何定制一个安全策略完全依赖于您对于安全的定义。下面的这些问题提供一些一般的指导方针:
* 您怎么定义保密的和敏感的信息?
* 您想重点防范哪些人?
* 远程用户有必要访问您的系统吗?
* 系统中有保密的或敏感的信息吗?
* 假如这些信息被泄露给您的竞争者和外面的人有什么后果?
* 口令和加密能够提供足够的保护吗?
* 您想访问Internet吗?
* 您允许系统在Internet上有多大的访问量?
* 假如发现系统被黑客入侵了,下一步该怎么做?
这个列表很短,真正的安全策略可能包含比这多得多的内容。可能您要做的第一件是:评估一下您偏执的程度。任何一个安全策略多少都有一定程度的偏执:确定到底在多大程度上相信别人,包括内部的人和外部的人。安全策略必须在允许用户合理地使用能够完成工作所必须的信息和完全禁止用户使用信息之间找到平衡点。这个平衡点就是由系统策略决定的。

4. 口令
这章的Linux安全概要就从口令的安全开始。许多人都把任何的东西保存在电脑上,防止别人查看这些信息的方法就是用口令把电脑保护起来。没有什么东西是绝对安全的。和常识相反的是:无法破解的口令是不存在的。只要给足时间和资源,任何的口令都能用社会工程(译者注:原文是social engineering,找不出更好的翻译,大致的意思是用社会和心理学的知识,而不是用纯粹的技术手段)或强行计算的方法猜出来。
通过社会工程或其他方法获得服务器的口令是最简单和最流行的入侵服务器的方法。决大多数的技术支持人员很容易获得其他用户的口令,因为用户的安全意识很差而且很轻易就相信自己的同事,特别是帮助自己解决问题的人。有很多登记在案的成功入侵就是因为一些别有用心的人利用安全管理上的松懈而获得成功的。有时候,在特定的时间在特定的地点,上级或老板对员工喊话就有可能泄露机密,导致可怕的后果。
因为破解口令是一项很耗时间和资源的工作,所以应该使得口令文档难于破解,这样即使黑客获取了口令文档也不能轻易破解。作为一个系统管理员,自己在每个周末运行一下口令破解程式,是确保系统安全的好方法。这有利于尽早地发现和替换那些很容易被猜出来的口令。而且,还要有一个好的口令检查机制,在用户选择新口令或改变旧口令的时候,来排除那些有安全隐患的口令。那些字典里的单词、或全是大写或全是小写的连同没有包含数字或特别字符的字符串是不能用来做口令的。我建议用下面的规则选择有效的口令:

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!