⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000018.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;ruster&nbsp;(尘埃*星辰*领悟),&nbsp;信区:&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;第十章&nbsp;安全性&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Thu&nbsp;Dec&nbsp;21&nbsp;13:54:10&nbsp;2000)&nbsp;<BR>&nbsp;<BR>第10章&nbsp;安全性问题&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;本章要点:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;本章介绍Linux系统安全的一些基础知识。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本章具体包括以下内容。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;安全性基本概念&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;对系统的访问控制&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;加密和解密&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;常见的攻击手段和反措施&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;安全性的网络资源&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;10.1&nbsp;安全性问题概述&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;安全性的问题总是被媒体的炒作弄的沸沸扬扬。可惜本书不是小说,无法提供一些有&nbsp;<BR>趣的故事给你。相反,本节的内容可能是相当乏味的。如果你能看下去,我对你的耐心&nbsp;<BR>表示感谢,如果不能,我也不准备道歉。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;10.1.1&nbsp;安全性级别&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;我们首先要考虑一下什么是我们关心的安全性。如果你是系统管理员,你必须考虑某&nbsp;<BR>个用户的数据是否会被别的用户看到,比如说,没有人喜欢自己的私人电子邮件被别人&nbsp;<BR>张贴到大学食堂的门口,更不用说被别人领走银行里的存款了。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;另外一种安全性相关的问题是如何保证系统能够正确运行。如果在每天晚上9:00-11:&nbsp;<BR>00大学女生宿舍的电话交换机停机会怎么样?厂商可能会被愤怒的大学生砸扁。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;许多人总是对安全性的内容存有浪漫的想象,或者大惊小怪。事实上,由于Linux是一&nbsp;<BR>种UNIX系统,这就决定了你永远也不可能得到真正的安全。许多商业化的UNIX或者其它&nbsp;<BR>类型的操作系统都以自己的安全性进行标榜,特别是,在一段时间以前,关于某几种操&nbsp;<BR>作系统的“C2级”安全性的宣传充斥了各种IT媒体。那么,所谓的C2级别的安全性是什&nbsp;<BR>么呢?&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;所谓安全性级别,是美国国防部制订的用来评估一个系统的安全性的基本分类,共有&nbsp;<BR>&nbsp;ABCD&nbsp;四级,&nbsp;每个级别里面还可以有子级别,例如C级里面有C1和C2两个级别。级别之间&nbsp;<BR>的关系是A&nbsp;级最高,&nbsp;D&nbsp;级最低,其中&nbsp;B,C&nbsp;两级又分两个子级。各级别的具体定义大致如&nbsp;<BR>下:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;D&nbsp;:标准的DOS属于这一级别。简单地说,这个级别的系统就是一个单用户操作系统,&nbsp;<BR>任何坐在终端前面的人都可以随意破坏数据的完整性。当然,Windows&nbsp;95&nbsp;和CP/M之类的&nbsp;<BR>东西也属于&nbsp;D&nbsp;级。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;C&nbsp;:这个级别开始引入了简单的身份控制能力,它被分为&nbsp;C1&nbsp;C2&nbsp;两级:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;C1&nbsp;:1.&nbsp;所有的用户都被分组;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;对于每个用户,必须登记后才能使用系统;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;   &nbsp;3.&nbsp;系统必须记录每个用户的登记;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;   &nbsp;4.&nbsp;系统必须对可能破坏自身的操作发出警告.&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp; &nbsp;C2&nbsp;:在&nbsp;C1&nbsp;的基础上,增加以下几条要求:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;    1.&nbsp;所有的对象都有且仅有一个物主;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;    2.&nbsp;对于每个试图访问对象的操作,都必须检验权限,对于不符合权限要求的访&nbsp;<BR>问,必须予以拒绝;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;    3.&nbsp;有且仅有物主和物主指定的用户可以更改权限;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;    4.&nbsp;管理员可以取得对象的所有权,但不能归还;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;    5.&nbsp;系统必须保证自身不能被管理员以外的用户改变;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;    6.&nbsp;系统必须有能力对所有的操作进行记录,并且只有管理员和由管理员指定&nbsp;<BR>的用户可以访问该记录.&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;B&nbsp;:这个级别进一步强化了身份控制的能力,与C级类似,它被分为&nbsp;B1&nbsp;B2&nbsp;两级:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp; B1&nbsp;:在&nbsp;C2&nbsp;的基础上,增加以下几条要求:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;    1.&nbsp;不同的组成员不能访问对方创建的对象,但管理员许可的除外;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;    2.&nbsp;管理员不能取得对象的所有权.&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp; B2&nbsp;:在&nbsp;B1&nbsp;的基础上,增加以下几条要求:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;    1.&nbsp;所有的用户都被授予一个安全等级;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;    2.&nbsp;安全等级较低的用户不能访问高等级用户创建的对象.&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;A&nbsp;:这个级别简直就是一个“理论值”,据说目前商品化的系统还没有一个是A级的。&nbsp;<BR>它在&nbsp;B2&nbsp;的基础上,增加以下要求:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;   系统的整体安全策略一经建立便不能修改.&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;看了安全级别的定义,是不是觉得很失望?这个安全级别的定义仅仅是对身份控制的&nbsp;<BR>一种强化,而且这个定义是一个典型的学院派定义(不愧是美国政府的定义),大而无&nbsp;<BR>当。更糟糕的是它的奇怪的C1、C2分类,容易看出,这里的分类效果是把正常的UNIX,&nbsp;<BR>比如Solaris,BSD刚好给划分到了两个级别中间(我们姑且不说Linux)。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;不管怎么说,让我们来考虑一下这个安全性级别。很明显,如果我们硬要对某种操作&nbsp;<BR>系统定义安全性,那么大部分UNIX都潜在地是C2安全性的。如果某个系统没有达到C2安&nbsp;<BR>全性,有两个原因,要么系统管理员没有正确地对系统进行配置,要么是由于一些UNIX&nbsp;<BR>的固有后门,如setuid和setgid。当然这句话可以反过来说,C2安全性仅仅是一种普通&nbsp;<BR>的UNIX经过适当配置应该达到的安全性,也就意味着C2安全性其实并不是什么“安全”&nbsp;<BR>。如果按照挑剔一点的眼光来看,B2级别才是核心应用可以接受的起点。不过,首先是&nbsp;<BR>没有哪种UNIX系统能够达到B2级别,其次是B2级别意味着这个系统难以想象地不方便,&nbsp;<BR>想一想系统管理员无权控制一个文件是什么样的后果!&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;按照一般的说法,Windows&nbsp;NT和SCO&nbsp;UNIX是C2级别的。据说有个版本的solaris也是C&nbsp;<BR>2安全级别的。你可能会奇怪为什么只有这样少的系统“具有C2安全级别”。回答是,这&nbsp;<BR>些系统得到了所谓的“C2安全性认证”。这个认证具有许多不可思议的地方,首先是它&nbsp;<BR>可能要消耗数年的时间(windows&nbsp;NT只有3.5版本通过了C2安全认证,4.0和2000都没有&nbsp;<BR>,因为等不起),在这个过程中相应的软件系统通常早已过时;其次是C2安全性认证只&nbsp;<BR>授予“一个计算机系统”而不是“一个操作系统”,换句话说,这个认证只是对软硬件&nbsp;<BR>都已经安装完毕的一台计算机。正因为如此,对于通用的软件,尤其是在x86上运行的操&nbsp;<BR>作系统,C2安全性认证没有多少实际意义。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;关于C2安全性还有一个问题,如同你知道的那样,TCP/IP协议本质上是没有身份控制&nbsp;<BR>的,你不可能在网上的每个数据包里面加上发送者的身份认证信息吧。即使是windows&nbsp;&nbsp;<BR>NT&nbsp;3.5,所谓的C2安全性也仅仅是对于没有联网的一台计算机。有什么连在Internet上&nbsp;<BR>的系统通过了安全级别验证吗?我没有查过…………&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;10.1.2&nbsp;你安全吗?&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;从上面的解释中,你可以看到,让许多人津津乐道的C2安全性其实仅仅是大部分UNIX&nbsp;<BR>的共性。幸运的是,在大部分UNIX系统应用中,C2安全性尽管并不可靠,但是确实比没&nbsp;<BR>有要好。然而,即使一个系统是C2级安全性的,这能保证它真的能对用户的身份进行控&nbsp;<BR>制吗?&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;在UNIX中,我们可以明确地回答这个问题,不能。因为任何软件都会有错误,会存在&nbsp;<BR>一些漏洞或者设计上的后门。这些漏洞和后门才是我们真正要面对的主要问题,它和系&nbsp;<BR>统是什么级别的安全性其实无关。举个简单的例子,通过主板的CMOS&nbsp;Setup程序可以对&nbsp;<BR>你的PC加上密码,这样可以防止别的用户趁你不在的时候使用你的计算机。问题是,许&nbsp;<BR>多早期的BIOS里面都有通用密码,输入通用密码就可以解除你设置的密码,那么这样的&nbsp;<BR>密码还有什么实际意义呢?&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;UNIX系统总是被这样的问题所困扰。举个例子来说,在最早的一些Sun&nbsp;OS上的http服&nbsp;<BR>务器中有一个名字叫phf的cgi程序,由于某种原因,这个程序被设置为可以用来从远程&nbsp;<BR>执行系统上的程序。特别是,某些系统的http服务程序被设置为以root身份运行,结果&nbsp;<BR>是,很多服务器就这样被远程的破坏者轻易地摧毁或者侵入(直到一年以前,我还在某&nbsp;<BR>些单位的服务器上看到过这个phf被允许执行)。对于这种性质的问题,C2安全性能够帮&nbsp;<BR>你什么呢?&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;不幸的是,厂商对于这样的问题往往抱着“眼不见为净”的态度,并且认为,只要这&nbsp;<BR>些漏洞不被广泛流传,就不必理会它们。许多厂商甚至希望用户什么也不知道,这样他&nbsp;<BR>们就不会发现系统中存在的问题。对于这种厂商,你除了相信他们会送给你正确的东西&nbsp;<BR>之外就只能祈求上帝保佑了。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;作为一个UNIX系统的管理员,你必须不断地关注你使用的程序,不停地修补新发现的&nbsp;<BR>漏洞或是堵死厂商留下的后门。如果你对此感到厌倦,你总有一天会看到你的系统被侵&nbsp;<BR>入或者摧毁。没有人能对你负责,毕竟UNIX本来并不是为安全可靠而设计的。如果你这&nbsp;<BR>样做了,那么你的运气会好一点,或许你直到改行还没有碰到系统被恶意侵入,或者即&nbsp;<BR>使被侵入也不是你的责任。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;关于Linux和作为它基点的GNU,我们有一些需要额外说明的东西,Linux是作为开放源&nbsp;<BR>代码的软件发行的,我们前面提到的大部分其它产品,如sendmail,Apache也是如此。&nbsp;<BR>这意味着你在使用一个大家都很清楚的产品,任何人只要愿意就可以得到你的源代码,&nbsp;<BR>并且研究里面有什么样的漏洞。这种特性是一柄双刃剑。首先,它使得每个人都有可能&nbsp;<BR>发现你的系统有什么漏洞,这样漏洞被发现的机会肯定大大增加;反过来,由于源代码&nbsp;<BR>是开放的,因此人们只要知道了漏洞的性质,就很容易做出对应的补丁程序。这种特性&nbsp;<BR>到底好不好,那只有你自己去判断。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;一般来说,由于UNIX类型系统中的全能root账号的存在,试图攻击系统的企图大部分&nbsp;<BR>是关于如何非法地取得root账号的。UNIX本身没有什么防御机制,任何一个用户只要得&nbsp;<BR>到了密码就可以成为root用户。在Linux中,添加了一些安全性认证机制,但是它们是否&nbsp;<BR>可靠也只能靠你自己去判断。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;另外一种常见的攻击是用某种方式使系统瘫痪。在笔者写这本书之前不久,各大网络&nbsp;<BR>服务商纷纷受到了来自网络的攻击,攻击的目标是使其服务器瘫痪。在后面我们将会看&nbsp;<BR>到,这一类攻击由于TCP/IP的性质实际几乎是不可能真正防范的。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;当面对攻击的时候,详细的系统日志是发现和处理攻击的重要信息来源。因此,一旦&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -