退出
网络安全技术
?学习目的,
? 了解操作系统安全的概念
? 熟悉操作系统安全的评估标准
? 初步掌握操作系统的安全设计
? 掌握常见操作系统的安全配置
? 初步掌握常见服务的安全防护技术
?学习重点,
? 操作系统安全的评估标准
? 操作系统的安全设计
? 操作系统的安全配置
? 常见服务的安全防护技术
6.1
操作系统安
全概述
? 如果说一个计算机系统是安全的,是指该系
统能够通过特定的的安全功能控制外部对系
统的信息的访问。
? 操作系统中的所有资源均可视为客体,对客
体的访问或使用的实体称为主体 。
? 主体对客体的访问策略,是通过可信计算基
( TCB)来实现的。
? 安全策略:是用来描述人们如何存取文件或
其他信息的。
? 安全模型:人们对安全策略的抽象。以便于
用形式化的方法来证明该模型是安全的。
? 操作系统安全这个概念时, 通常具有如下两层含
义:一是指操作系统在设计时, 提供的权限访问
控制, 信息加密性保护, 完整性鉴定等安全机制
所实现的安全;其次, 是指操作系统在使用过程
中, 通过系统配置, 以确保操作系统尽量避免由
于实现时的缺陷和具体应用环境因素而产生的不
安全因素;只有通过这两个方面的同时努力, 才
能最大可能地保证系统的安全 。
1,国外计算机安全评估标准
( 1)可信计算机安全评估标准( TCSEC)
美国可信计算机安全评估标准( TCSEC,又称为桔
皮书),这是计算机安全评估的第一个正式标准,产生
于 20世纪 80年代的美国,该标准具有划时代的意义。该
标准于 1970年由美国国防科学委员会提出,并于 195年 12
月由美国国防部公布。
TCSEC将计算机系统的安全分为 4个等级, 每个等级
又分为若干个子级别 。
( 2) 欧洲的安全评价标准 ( ITSCE)
欧洲的安全评价标准 ( ITSCE) 是欧洲多个国家使用的
安全评价标准, 其应用范围为:军队, 政府到和商业 。
该标准将安全分为两个部分:功能和评估 。
6.1.2 操作系统安全的评估
( 3) 加拿大的评价标准 ( CTCPEC)
加拿大的评价标准( CTCPEC)的适用范围:政府部
门。该标准与 ITSCE相似,将安全分为两个部分:功能
性需求和保证性需求
( 4)美国联邦准则( FC)
美国联邦准则( FC)是对 TCSEC的升级,在该标准中引
入了“保护轮廓”( PP)的概念,其每个保护轮廓包括:
功能、开发保证和评价。
( 5)国际通用准则( CC)
国际通用准则( CC)是国际标准化组织对现行多种安全
标准统一的结果,是目前最全面的安全主价标准。 CC的
第一版是在 1966年 6月发布的,第二版是在 1999年 6月发
布的,1999年 10月发布了 CC V2.1版,并成为 ISO标准。
该标准的主要思想和框架结构取自 ITSEC和 FC,并允分
突出“保护轮廓”的相思。 CC将评估过程分为:功能和
保证;评估等级分为,EAL1~EAL7
2,国内的安全操作系统评估准则
为了加快和适应我国信息安全发展的需求, 我
国在计算机信息安全方面也制定了安全标准 。 我
国交操作系统安全分为 5个级别:用户自主保护
级, 系统审计保护级, 安全标记保护级, 结构化
保护级, 访问验证保护级 。
由于 CC标准的发布及更新, 我国也在 2001年
发布了 GB/T 1836 标准, 这 一 标 准 采 用 了
ISO/IEC 15408-3,1999,信息技术 安全技术
信息技术安全性评估准则, 中的相关准则, 主要
提供了保护轮廓和安全目标 。
操作系统的安全配置主要有三个方面的问题:操
作系统的访问权根的恰当设置, 操作的及时更新, 以
及如何利用操作系统提供的功能有效防范外界攻击问
题 。
操作系统访问权限的恰当设置, 是指利用操作系统提
供的访问控制功能, 为用户和文件系统设置恰当的访
问权限 。
关于操作系统的及时更新问题, 是系统安全管理
方面的别一个重要问题 。 及时更新操作系统, 会使系
统的稳定性, 安全性, 得到提高 。
关于防范外界攻击的问题, 主要是指各种可能的
攻击 。
6.1.3 操作系统的安全配置
6.2
操作系统的
安全设计
? 开发一个安全的操作可分为如下四个阶段:建立安
全模型、进行系统设计、可信度检查和系统实现。
? 实现安全操作系统设计的方法有两种:一种是专门
针对安全性面设计的操作系统;另一种是将安全特性
加入到期目前的操作系统中 。
? 安全模型是用来描述计算机系统和用户的安 全
特性的,是对计算机系统安全的一种抽象描述。
1.单层模型
单层模型,是一种二元敏感性安全模型, 用户对
实体的存取策略简单地设置为 "允许 "或者 "禁止 "("
是 "与 "非 ")。
6.2.1 操作系统的安全模型
? 单层模型模型有一定的局限性, 在现代操作系统
的设计中, 使用了多级安全模型, 信息流模型在其
中得到了深入的应用 。 如著名的 Bell-LaPadula模型
和 Biba模型 。
2,多层网格模型
多层网格模型是突破了二元敏感性, 为用户和被
保护实体设置了更多的敏感层次, 这样这种模型可
适用于在不同敏感层次上处理信息的系统的需求,
其元素形成一种网格数学结构, 基于军用安全和保
密信息级别的处理 。
多层网格安全模型, 其元素形成一种网格数学结
构, 网格是一个其元素在关系运算符操作下的数学
结构, 元素按半定序 ≤次序排列, 具有传递性和非对
称性, 即, 对任意元素 a,b,c有如下特性,
若引入符号 O 代表实体, S 代表主体, ≤代表敏
感实体与主体的关系, 我们有,
O≤S 当且仅当 密级 O≤密级 S 并且 隔离组 O≤隔
离组 S
关系 ≤限制了敏感性及主体能够存取的信息内容,
只有当主体的许可证级别至少与该信息的级别一样
高、且主体必须知道信息分类的所有隔离组时才能
够存取。
?传递性,若 a≤b且 b≤c,则 a≤c
?非对称性, 若 a≤b且 b≤a,则 a=b
操作系统的设计是异常复杂的, 它要处理多任
务, 各种中断事件, 并对低层的文件进行操作, 又
要求尽可能少的系统开销, 为用户提供高响应速度 。
若在操作系统再考虑安全的因素, 更增加了操作系
统的设计难度 。
1.通用操作系统中的安全特性
在通用操作系统中, 除了实现基本的内存保护, 文
件保护, 存取控制和用户身分鉴别外, 还需考虑诸
如共享约束, 公平服务, 通信与同步等等 。
6.2.2 操作系统安全性的设计方法及原则
?最小权限:每个用户和程序使用尽可能少的权限
工作 。 这样, 可将由入侵或者恶意攻击所造成的损
失降至最低 。
?最少通用:可共享实体提供了信息流的潜在通道,
要防止共享威胁, 可采取物理或逻辑分离方法 。
?安全机制的经济性:保护系统设计应小型化, 简
单明确, 易于使用, 使用户愿意使用并且能够被完
全测试, 验证并可信 。
?开放式设计:保护机制必须独立设计而且具有开
放性, 仅依赖极少数关键内容, 能防止所有潜在攻
击 。
?安全策略的完整性, 每个存取必须被检查, 并标记
许可条件 。
?通用操作系统的设计原则,
?权限分离, 对实体的存取应当基于多个条件, 这
样, 入侵者就不能对全部资源进行存取 。
?为了实现上述原则, 在设计操作系统时可从以下
三个方面进行:隔离性:解决最少通用机制;内
核化:解决最少权限及经济性;分层结构:解决
开放式设计及整体策划 。
2.隔离性
进程间彼此隔离方法有物理分离, 时间分离,
密码分离和逻辑分离, 一个安全系统可以使用所
有这些形式的分离 。 常见的有虚拟存储空间和虚
拟机的方式 。
3,内核机制 (nucleus或 core)
内核是操作系统中完成最低层功能的部分 。
在通用操作系统中, 内核操作包含了进程调度,
同步, 通信, 消息传递及中断处理 。 安全内核则
是负责实现整个操作系统安全机制的部分, 提供
硬件, 操作系统及系统其他部分间的安全接口 。
安全内核通常包含在系统内核中, 而又与系统内
核逻辑分离 。
?安全内核具有如下特性,
?分离性:安全机制与操作系统其余部分及用户
空间分离, 防止操作系统和用户侵入 。
?均一性:所有安全功能都可由单一的代码集完
成 。
?灵活性:安全机制易于改变, 易于测试 。
?紧凑性:安全功能核心尽可能小 。
?验证性:由于内核相对较小, 可进行严格的形
式化证明其正确性 。
?覆盖性:每次对被保护实体的存取都经过安全
内核,可保证每次存取的检查。
4.分层结构
安全操作系统的设计也可采用分层结构, 在各
个层次中考虑系统的安全机制 。 在进行系统设计时,
可先设计安全内核, 再围绕安全内核设计操作系统,
在安全分层结构时, 最敏感的操作位于最内层, 进
程的可信度及存取权限由其临近中心裁定, 更可信
的进程更接近中心 。
用户认证等在安全内核之外实现, 这些可信模
块必须能提供很高的可信度
已实现的操作系统, 最初可能并未考虑某种安
全设计, 需要将安全功能加入到原有的操作系统模
块中 。 这种加入可能会破坏已有的系统模块化特性,
而且使加入安全功能后的内核的安全验证很困难 。
折衷的方案是从已有的操作系统中分离出安全功能,
建立单独的安全内核 。
对于操作系统安全性认证问题, 我们首先应当
意识到, 绝对安全的操作系统是不存在的 。 对安全
操作系统的安全评估, 仍采用目前世界公认的安全
准则 。 同时在进行操作系统设计时, 我们可以按评
估准则, 将评估准则中的各安全内容, 分别在操作
系统的各安全层上实现 。
6.2.3 对操作系统安全性认证
6.3
Windows系统
安全防护技术
本节主要内容,
?Windows 2000操作系统的安全模型
?Windows 2000 分布式安全服务主要内容
? Active Directory
? 身份验证及访问控制
? Kerberos 身份验证协议
1,Active Directory
? 提供一个中央位置来存储关于用户、硬件、应
用程序和网络上数据的信息
? Windows 2000Active Directory
? 用以表示文件功能结构的逻辑层次结构中存储信息
? 客户机通过对域控制器验证身份来创建直接信任路径
? 客户端不可直接访问资源,须通过创建客户端访
问令牌以模拟客户端
? Windows 操作系统在访问令牌中使用安全性标识
符来验证用户的访问权限。
6.3.1 Windows 2000操作系统安全性能概述
? Windows 2000支持两种用户,
? 本地用户
? Active Directory(域)用户
? Windows 2000成员服务器和 Windows 2000
Professional存放自己的用户帐号数据库,本地
计算机上存放的用户称为本地用户。
? 活动目录是 Windows 2000 Server提供的目录服
务,使用户在网络上只拥有一个用户帐号,活动
目录中央数据库中存放的用户和组称为 Active
Directory用户或域用户。
?域是网络对象的集合
域 可标识一个安全机构,并使用一致的内部策
略及与其它域间的明确安全性关系形成一个安全
边界
?关于组织单元 (OU)的定义,
可用它将对象组织成域中的逻辑管理组。 如:
用户帐户、组、计算机、打印机、应用程序、文
件共享和其他的 OU。 对象包含关于个别项目
(如特定用户、计算机或其他硬件)等的信息
(称为属性)。
2,身份验证及访问控制
?信任关系:指在域之间建立逻辑关系,用来支
持直接传递身份验证,让用户和计算机域中接受
身份验证。
? 属于域目录树的域的定义与目录树中的父域的所具
备有双向信任关系,而所有域都隐含地信任目录树
中的其他域
? Windows 2000 自动在根域 (Microsoft.com) 及
其两个子域( FarEast.Microsoft.com 和
Europe.Microsoft.com)间建立双向信任关系
? Windows 2000 中,信任关系通过使用 Kerberos
V5 协议及 NTLM 身份验证支持跨域的身份验证
双向信任,
域 A
域 B
信任
域 A、域 B相互委托;
? 域 A和域 B的用户都可以访问对方域。
? Windows 2000中父、子域之间的信任关系是可传
递的。
? 身份验证是用来确认登录到域或访问网络资源
的用户的身份
? 向域帐户或本地计算机确认用户的身份;
? 网络身份验证
身份验证
? 用户在 Active Directory 中必须有一个 Windows
2000 用户帐户
? 用户帐户还可被配置成以用户帐户登录
? Windows 2000 提供身份验证以及审核计算机对网络
的访问权限以及对域资源的访问权限
Windows 2000 支持数种产业标准身份验证机制,
? X.509 证书
? 智能卡
? Kerberos 协议
? NTLM( Windows NT LAN Manager )协议
6.3.2 Windows 2000安全配置
1,Windows 2000 安全设置
Windows2000含有很多的安全功能和选项,通过
合理的配置后,windows 2000将会是一个较安全
的操作系统。
? 初级安全设置
1,物理安全
2,禁用 Guest 账号
3.限制不必要的用户数量
4.创建 2个管理员用账号
5.把系统 administrator账号改名
6.创建一个陷阱账号
7,把共享文件的权限从,everyone”组改成“授权用户”
8,使用安全密码
9,设置屏幕保护密码
10,使用 NTFS格式分区
11.运行防毒软件
12.保障备份盘的安全
?中级安全设置
1.使用 win2000的安全配置工具来配置安全策略
2.关闭不必要的服务,
? Terminal Services(终端服务)
? IIS 和 RAS都能给系统带来安全漏洞
3.关闭不必要的端口
4.打开审核策略
? 系统的某些操作,都会被安全审核记录下来
5,开启密码策略
6,开启帐户策略
7.设定安全记录的访问权限
8.把敏感文件存放在另外的文件服务器中
9.不让系统显示上次登陆的用户名
? HKLM\Software\Microsoft\WindowsNT\CurrentVe
rsion\Winlogon\DontDisplayLastUserName把
REG_SZ 的键值改成, 1”,
10.禁止建立空连接
11, 对 Win2000系统的安全漏洞,经常下载最新
的 service pack和漏洞补丁
?高级安全设置
1,关闭 DirectDraw,
? C2级安全标准对视频卡和内存的设置要求
? 具体操作是:修改注册表
HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
\DCI的 Timeout( REG _DWORD)为, 0”即可。
2.关闭默认共享
3.禁止 dump file的产生,
? dump文件是查找问题的资料,它提供计算机一些敏感信息比
如一些应用程序的密码等
4.使用文件加密系统 EFS
5.加密 temp文件夹
6.锁住注册表
7.关机时清除掉页面文件
8.禁止从软盘和 CD -Rom启动系统
9.考虑使用智能卡来代替密码
10.考虑使用 IPSec
? IPSec 提供身份验证、完整性和可选择的机密性
IPSec 提供身份验证、完整性和可选择的机密性。发
送方计算机在传输之前加密数据,而接收方计算机在
收到数据之后解密数据。利用 IPSec可以使得系统的
安全性能大大增强。
6.4
Unix/Linux
操作系统安
全防护技术
1,Solaris系统安全管理
? 1,维护系统的物理安全
? 2,维护登录和访问控制
? 3,限制对文件中数据的访问
? 4,维护网络控制
? 5,监视系统的使用
? 6 设置正确的路径变量
? 7,监视 setuid程序
? 8,安装防火墙
? 9,报告安全问题
6.4.2 LINUX安全技术
( 1)身份识别和认证
? 采用一些认证形式来提高系统身份识别和认证
的安全性
( 2)基本的入口控制
( 3)安全的审计
( 4)访问控制
? 强制访问控制( MAC)
? 自主访问控制( DAC)
1.构建安全的 Linux
( 5)加密文件系统 __保证系统的数据安全
( 6)完整性保护
( 7)入侵攻击检测与防范
( 8)提供完善的安全 API
( 9)修改系统中的服务,加入安全的机制
( 10)提供安全的服务和应用
( 11)提供完善的系统安全扫描与检测工具
( 12)采用安全的加密算法
2,Linux系统更加可靠的几点措施
( 1) Bios Security
? 防止对 Bios的改动
( 2) LILO Security (该部分代码见教材)
( 3)删除所有的特殊账户
( 4)选择正确的密码
( 5)打开密码的 shadow支持功能
( 6) root账户
? root账户是具有最高特权的 的用户,也要该帐号被
错误使用
( 7)取消普通用户的控制台访问权限
( 8)取消并反安装所有不用的服务
( 9) TCP_WRAPPERS,
? 使用 TCP_WRAPPERS可以抵御外部入侵
( 10)禁止系统信息暴露,
? 当有人远程登陆时,禁止系统欢迎信息透漏信息
( 11)修改,/etc/host.conf”文件
( 12)使,/etc/services”文件免疫
( 13)不允许从不同的控制台进行 root登陆
( 14)禁止任何人通过 su命令改变为 root用户
( 15) Shell logging,
? Bash shell在文件中保存了 500条使用过的命令,
应及时进行销除。
( 16)禁止 Control-Alt-Delete 键盘关闭命令
( 17) 给 "/etc/rc.d/init.d" 下的 script文件设置权限
( 18)隐藏系统信息,
? 登陆到 linux系统时显示的相关信息:版本、内核版
本、服务器等名称
( 19)禁止不使用的 SUID/SGID程序
( 1)从程序设计角度看 Linux网络
( 2)怎样将自己编写的防火墙程序登记到内核中
( 3)防火墙函数模块的设计
? 防火墙函数模块的返回值
? 各模块函数的入口参数
分析防火墙案例 (见教材)
3,LINUX下的防火墙
6,5
常见服务的
安全防护技
术
? 如何对 WWW服务器的安全配置进行配置,主要从
两个方面进行,一是对网页的访问进行访问权限控
制;另一个方面是使 WWW服务器防止受到拒绝服
务的攻击的影响。
1,Apache的安全配置
apache服务器源自美国国家超级技术计算应用中
心 ( NCSA) 的 Web服务器项目中 。 目前已在互联
网中占据了领导地位 。 它是 Internet网上应用最为广
泛的 Web服务器软件之一 。
6,5,1 WWW服务器的安全防护技术
Apache WWW服务器主要有三个配置文件,
位于 /usr/local/apache/conf目录下 。 这三个文件
是,
httpd.conf----->主配置文件
srm.conf------>填允资源文件
access.conf--->设置文件的访问权限
在 Apache WWW中是允许使用,htaccess做目
录安全保护的, 欲读取这保护的目录需要先键入
正确用户帐号与密码 。 这样可做为专门管理网页
存放的目录或做为会员区等 。
在保护的目录放置一个档案, 档名为,htaccss
AuthName "会员区 "
AuthType "Basic"
AuthUserFile "/var/tmp/xxx.pw" --->把 password放在网站外
require valid-user 到 apache/bin目录, 建 password档
%,/htpasswd-c/var/tmp/xxx.pw username1->第一次建档要用参
数 "-c"
%,/htpasswd/var/tmp/xxx.pw username2
这样就可以保护目录内的内容, 进入要用合法的用户 。
注:采用了 Apache内附的模组 。 也可以采用在 httpd.conf中加入:
options indexes followsymlinks
allowoverride authconfig
order allow,deny
allow from all
? 如 何 实现 Apache WWW 的 访问 控制? 这就 要利 用
access.conf文件了, 它包含一些指令控制允许什么用户
访问 Apache目录 。 应该把 deny from all设为初始化指令,
再使用 allow from指令打开访问权限 。 配置如下,
<directory /usr/local/http/docs/private>
<limit>
order deny,allow
deny from all
allow from safechina.net
</limit>
</directory>
设置允许来自某个域, IP地址或者 IP段的访问 。
这两个功能相结合, 可实现对目录的安全控制 。
2,IIS的安全配置
IIS( Internet Information Server) 是另一个使
用广泛的 WWW服务器, IIS系统除提供匿名访问模
式外, 还提供了三种用认证方式, 即基本的认证方
式, 基于摘要的的认证方式及类似 Windows的认证
方式 。
IIS的目录访问权的控制是通过 ISM来配置的, 具
体步骤如下,
( 1) 启动 ISM( Internet Sever Manager) ;
( 2) 进入 WWW服务属性页;
( 3) 进入目录安全, 设置针对用户的认证的访问权控
制和针对来源 IP地址的访问权控制 。
IIS WWW服务器除了提供 NTFS文件系统提供
的权限外, 还提供了读取权限, 执行权限 。 可按下
列步骤进行设置,
( 1) 启动 ISM;
( 2) 进入 WWW属性页并选择, 目录, 选项卡, 选择
WWW目录;
( 3) 选择, 编辑属性, 中的, 目录属性, 进行相应的
设置 。
? 每个 UNIX/LINUX管理员都熟悉 inetd,inetd是一
个守护程序, 通过一个集中的配置文件 ( inetd.conf)
来管理大多数入网连接 。
Xinetd用同样功能的,扩展了的语法取代了 inetd
中的通用的行。另外,还添加了日志功能和访问控
制。
1,Xinetd的配置文件
Xinetd的配置文件, 通常可以手工或是自动从
inetd.conf文件生成 。 前者费时间且容易出错;后者
可以通过 itox软件或者 xconv.pl脚本轻易完成 。
$itox </etc/inetd.conf> xinetd.conf
6,5,2 Xinetd超级防护程序配置
xinetd设置参数的语法,
<指示 directive><操作符 operator><值 value>
xinetd指示符及作用列在下表中
指 示 符 描述
socket_type 网络套接字类型,流或者数据包
Protocol IP协议,通常是 TCP或者 UDP
Wait Yes/no,等同于 inetd的 wait/nowait
User 运行进程的用户 ID
Server 执行的完整路径
server_args 传递给 server的变量, 或者是值
Instances 可以启动的实例的最大的值
start max_load 负载均衡
Log_on_success 成功启动的登记选项
Log_on_failure 联机失败的时候的日志信息
only_from 接受的网络或是主机
no_access 拒绝访问的网络或是主机
Disabled 用在默认的 {}中禁止服务
Log_type 日志的类型和路径 FILE/SYSLOG
Nice 运行服务的优先级
Id 日志中使用的服务名
操作符,=或者 +=。
= 用于将右边给定的值传给左边的指示符 。
+= 用于给一个已经指定的指示符添加一个值 。
2,关于访问控制
首先,xinetd控制连接,不是通过包,它只是个
用户方的守护进程。
使用访问 控制是很简单 。 第一 个指示符是
only_from,列出了从哪一个网络或是主机我们可以
接受连接 。 这个规则可以被 no_access覆盖 。 你可以
使用网络号, 如,10.0.0.0或者 10,或者是网络名,
包括 *.my.com或者,my.com。 主机名或者主机的 IP
地址也可以在这里使用指示符 0.0.0.0匹配所有的主
机, 监听所有的地址 。 通过使用 no_access一旦符合
标准拒绝就会被解析 。 网络和主机可以指定 。
如果没设置 only_from或者是 no_access指示符,
对这个服务的访问将不受限制 。
实例 1:配置一个允许 192.168.0.1到 192.168.0.250所有的
ip使用 telnet,禁止 141.123.102.1使用的配置 。
service telnet
{
log_type =FILE/var/adm/log/telnet.log
socket_type =stream
protocol =tcp
wait =no
user =root
server =/usr/sbin/in.telnetd
log_on_success +=DURATION USERID
log_on_failure +=USERID
instances =64
nice =10
only_from =192.168.0.1 192.168.0.250
no_access =141.123.102.1
}
only_from=192.168.0.1 192.168.0.250 就是限制
192.168.0..1到 192.168.0..250所有的 ip的使用;
no_access=141.123.102.1 实现了禁止
141.123.102.1的使用 。
3,使用建议
建议对所有的服务都使用 xinetd;唯一一个对
性能有影响的服务是我的 web守护进程 Apache。
不得不启动太多的进程, 太多了响时间就成为问
题了 。 DNS服务也不应该用 xinetd,性能消耗太
大 。
SSH,英文全称 Secure Shell,一种基于安全会话
目的的应用程序, 用于替代 Berkeley的 rexe和 rsh工
具 。
SSH的配置文件在 /etc/ssh2下, 其中包括 sshd2
的主机公钥和私钥,hostkey和 hostkey.pub。 这两
个文件通常是在安装 SSH时自动生成的 。 你可以通
过下面的命令重新来生成它们,
#rm /etc/ssh2/hostkey*
#ssh-keygen2 –P /etc/ssh2/hostkey
而 ssh2_config文件一般情形下无需修改 。
6,5,3 SSH( Secure Shell)
每个用户在使用 SSH之前, 都要完成以下步骤,
( 1) 在本地主机上生成自己的 ssh公钥和私钥 。 命令如下,
#ssh-keygen
生成的私钥和公钥 ( id_dsa_1024_a和 id_dsa_1024_a.pub)
存放在用户主目录的 ~/.ssh2目录下 。 和用户相关的 SSH
配置文件都在 ~/.ssh2下 。 私钥由用户保存在本地主机上,
而公钥需传送到远地主机的你自己的帐号的 ~/.ssh2下,
如果你要用 ssh2访问本地主机的话 。 在 ~/.ssh2下创建
,identification”文件用来说明进行身份认证的私钥 。 命
令如下,
local:~/.ssh2# echo "IdKey id_dsa_1024_a">identification
(2)同样地, 在远地主机 ( 比如,remote.edu.cn) 上完成上
面步骤 。
(3)将本地 ( local.edu.cn) 下你自己 (这里是, ye”)的公钥
(id_dsa_1024_a.pub)拷贝到远地主机 ( remote.edu.cn)
上 你 自 己 主 目 录 下 的,ssh2 目录下, 可 命 名 为
,local.pub”,一般用 ftp上传即可 。 在远地主机上, 你自
己家目录的,ssh2目录下, 创建, authorization”文件, 其
中指定用来进行身份认证的公钥文件 。 命令如下,
remote:~/.ssh2#echo,Key local.pub”>authorization
? 现在你可以从本地用 ssh2登录到远地系统了 。 命令如下,
local#ssh remote.edu.cn
? 这时会要你输入你的 ssh口令 ( Passphrase) 。 验证通
过后, 即登录到 remote主机上 。
SSH是 Client /Server结构的;并且有两个不兼容的版
本, 分别是,1.x和 2.x。 使用 SSH 2.x的客户程序是不能
连接到 SSH 1.x 的 服务 程 序 上 去 的 。 注 意,目 前
OpenIOS 只支持 SSH 1.x。
6.6
本章小结
操作系统作为用户与计算机系统的交互界面和环
境, 它是计算机及其网络系统的第一道安全屏障, 也
是入侵者的首选目标;同时, 操作系统也是计算机及
其网络系统运行的基础, 它的安全性成为计算机系统,
网络系统和建立在此基础上的各种应用系统安全性的
基础 。 如果一个操作系统安全性较差, 很难想象保证
建立在这样的操作系统基础之上的各种应用系统的安
全性 。 本章首先介绍了操作系统安全的基本概念, 操
作系统安全评估, 操作系统的安全配置, 接着介绍了
操作系统的安全模型, 操作系统安全性的设计方法及
原则, 对操作系统安全性的认证, 最后比较详细地介
绍了 Windows 2000 操作系统安全防护技术,
Unix/Linux操作系统安全防护技术及常见服务的安全
防护技术 。
网络安全技术
?学习目的,
? 了解操作系统安全的概念
? 熟悉操作系统安全的评估标准
? 初步掌握操作系统的安全设计
? 掌握常见操作系统的安全配置
? 初步掌握常见服务的安全防护技术
?学习重点,
? 操作系统安全的评估标准
? 操作系统的安全设计
? 操作系统的安全配置
? 常见服务的安全防护技术
6.1
操作系统安
全概述
? 如果说一个计算机系统是安全的,是指该系
统能够通过特定的的安全功能控制外部对系
统的信息的访问。
? 操作系统中的所有资源均可视为客体,对客
体的访问或使用的实体称为主体 。
? 主体对客体的访问策略,是通过可信计算基
( TCB)来实现的。
? 安全策略:是用来描述人们如何存取文件或
其他信息的。
? 安全模型:人们对安全策略的抽象。以便于
用形式化的方法来证明该模型是安全的。
? 操作系统安全这个概念时, 通常具有如下两层含
义:一是指操作系统在设计时, 提供的权限访问
控制, 信息加密性保护, 完整性鉴定等安全机制
所实现的安全;其次, 是指操作系统在使用过程
中, 通过系统配置, 以确保操作系统尽量避免由
于实现时的缺陷和具体应用环境因素而产生的不
安全因素;只有通过这两个方面的同时努力, 才
能最大可能地保证系统的安全 。
1,国外计算机安全评估标准
( 1)可信计算机安全评估标准( TCSEC)
美国可信计算机安全评估标准( TCSEC,又称为桔
皮书),这是计算机安全评估的第一个正式标准,产生
于 20世纪 80年代的美国,该标准具有划时代的意义。该
标准于 1970年由美国国防科学委员会提出,并于 195年 12
月由美国国防部公布。
TCSEC将计算机系统的安全分为 4个等级, 每个等级
又分为若干个子级别 。
( 2) 欧洲的安全评价标准 ( ITSCE)
欧洲的安全评价标准 ( ITSCE) 是欧洲多个国家使用的
安全评价标准, 其应用范围为:军队, 政府到和商业 。
该标准将安全分为两个部分:功能和评估 。
6.1.2 操作系统安全的评估
( 3) 加拿大的评价标准 ( CTCPEC)
加拿大的评价标准( CTCPEC)的适用范围:政府部
门。该标准与 ITSCE相似,将安全分为两个部分:功能
性需求和保证性需求
( 4)美国联邦准则( FC)
美国联邦准则( FC)是对 TCSEC的升级,在该标准中引
入了“保护轮廓”( PP)的概念,其每个保护轮廓包括:
功能、开发保证和评价。
( 5)国际通用准则( CC)
国际通用准则( CC)是国际标准化组织对现行多种安全
标准统一的结果,是目前最全面的安全主价标准。 CC的
第一版是在 1966年 6月发布的,第二版是在 1999年 6月发
布的,1999年 10月发布了 CC V2.1版,并成为 ISO标准。
该标准的主要思想和框架结构取自 ITSEC和 FC,并允分
突出“保护轮廓”的相思。 CC将评估过程分为:功能和
保证;评估等级分为,EAL1~EAL7
2,国内的安全操作系统评估准则
为了加快和适应我国信息安全发展的需求, 我
国在计算机信息安全方面也制定了安全标准 。 我
国交操作系统安全分为 5个级别:用户自主保护
级, 系统审计保护级, 安全标记保护级, 结构化
保护级, 访问验证保护级 。
由于 CC标准的发布及更新, 我国也在 2001年
发布了 GB/T 1836 标准, 这 一 标 准 采 用 了
ISO/IEC 15408-3,1999,信息技术 安全技术
信息技术安全性评估准则, 中的相关准则, 主要
提供了保护轮廓和安全目标 。
操作系统的安全配置主要有三个方面的问题:操
作系统的访问权根的恰当设置, 操作的及时更新, 以
及如何利用操作系统提供的功能有效防范外界攻击问
题 。
操作系统访问权限的恰当设置, 是指利用操作系统提
供的访问控制功能, 为用户和文件系统设置恰当的访
问权限 。
关于操作系统的及时更新问题, 是系统安全管理
方面的别一个重要问题 。 及时更新操作系统, 会使系
统的稳定性, 安全性, 得到提高 。
关于防范外界攻击的问题, 主要是指各种可能的
攻击 。
6.1.3 操作系统的安全配置
6.2
操作系统的
安全设计
? 开发一个安全的操作可分为如下四个阶段:建立安
全模型、进行系统设计、可信度检查和系统实现。
? 实现安全操作系统设计的方法有两种:一种是专门
针对安全性面设计的操作系统;另一种是将安全特性
加入到期目前的操作系统中 。
? 安全模型是用来描述计算机系统和用户的安 全
特性的,是对计算机系统安全的一种抽象描述。
1.单层模型
单层模型,是一种二元敏感性安全模型, 用户对
实体的存取策略简单地设置为 "允许 "或者 "禁止 "("
是 "与 "非 ")。
6.2.1 操作系统的安全模型
? 单层模型模型有一定的局限性, 在现代操作系统
的设计中, 使用了多级安全模型, 信息流模型在其
中得到了深入的应用 。 如著名的 Bell-LaPadula模型
和 Biba模型 。
2,多层网格模型
多层网格模型是突破了二元敏感性, 为用户和被
保护实体设置了更多的敏感层次, 这样这种模型可
适用于在不同敏感层次上处理信息的系统的需求,
其元素形成一种网格数学结构, 基于军用安全和保
密信息级别的处理 。
多层网格安全模型, 其元素形成一种网格数学结
构, 网格是一个其元素在关系运算符操作下的数学
结构, 元素按半定序 ≤次序排列, 具有传递性和非对
称性, 即, 对任意元素 a,b,c有如下特性,
若引入符号 O 代表实体, S 代表主体, ≤代表敏
感实体与主体的关系, 我们有,
O≤S 当且仅当 密级 O≤密级 S 并且 隔离组 O≤隔
离组 S
关系 ≤限制了敏感性及主体能够存取的信息内容,
只有当主体的许可证级别至少与该信息的级别一样
高、且主体必须知道信息分类的所有隔离组时才能
够存取。
?传递性,若 a≤b且 b≤c,则 a≤c
?非对称性, 若 a≤b且 b≤a,则 a=b
操作系统的设计是异常复杂的, 它要处理多任
务, 各种中断事件, 并对低层的文件进行操作, 又
要求尽可能少的系统开销, 为用户提供高响应速度 。
若在操作系统再考虑安全的因素, 更增加了操作系
统的设计难度 。
1.通用操作系统中的安全特性
在通用操作系统中, 除了实现基本的内存保护, 文
件保护, 存取控制和用户身分鉴别外, 还需考虑诸
如共享约束, 公平服务, 通信与同步等等 。
6.2.2 操作系统安全性的设计方法及原则
?最小权限:每个用户和程序使用尽可能少的权限
工作 。 这样, 可将由入侵或者恶意攻击所造成的损
失降至最低 。
?最少通用:可共享实体提供了信息流的潜在通道,
要防止共享威胁, 可采取物理或逻辑分离方法 。
?安全机制的经济性:保护系统设计应小型化, 简
单明确, 易于使用, 使用户愿意使用并且能够被完
全测试, 验证并可信 。
?开放式设计:保护机制必须独立设计而且具有开
放性, 仅依赖极少数关键内容, 能防止所有潜在攻
击 。
?安全策略的完整性, 每个存取必须被检查, 并标记
许可条件 。
?通用操作系统的设计原则,
?权限分离, 对实体的存取应当基于多个条件, 这
样, 入侵者就不能对全部资源进行存取 。
?为了实现上述原则, 在设计操作系统时可从以下
三个方面进行:隔离性:解决最少通用机制;内
核化:解决最少权限及经济性;分层结构:解决
开放式设计及整体策划 。
2.隔离性
进程间彼此隔离方法有物理分离, 时间分离,
密码分离和逻辑分离, 一个安全系统可以使用所
有这些形式的分离 。 常见的有虚拟存储空间和虚
拟机的方式 。
3,内核机制 (nucleus或 core)
内核是操作系统中完成最低层功能的部分 。
在通用操作系统中, 内核操作包含了进程调度,
同步, 通信, 消息传递及中断处理 。 安全内核则
是负责实现整个操作系统安全机制的部分, 提供
硬件, 操作系统及系统其他部分间的安全接口 。
安全内核通常包含在系统内核中, 而又与系统内
核逻辑分离 。
?安全内核具有如下特性,
?分离性:安全机制与操作系统其余部分及用户
空间分离, 防止操作系统和用户侵入 。
?均一性:所有安全功能都可由单一的代码集完
成 。
?灵活性:安全机制易于改变, 易于测试 。
?紧凑性:安全功能核心尽可能小 。
?验证性:由于内核相对较小, 可进行严格的形
式化证明其正确性 。
?覆盖性:每次对被保护实体的存取都经过安全
内核,可保证每次存取的检查。
4.分层结构
安全操作系统的设计也可采用分层结构, 在各
个层次中考虑系统的安全机制 。 在进行系统设计时,
可先设计安全内核, 再围绕安全内核设计操作系统,
在安全分层结构时, 最敏感的操作位于最内层, 进
程的可信度及存取权限由其临近中心裁定, 更可信
的进程更接近中心 。
用户认证等在安全内核之外实现, 这些可信模
块必须能提供很高的可信度
已实现的操作系统, 最初可能并未考虑某种安
全设计, 需要将安全功能加入到原有的操作系统模
块中 。 这种加入可能会破坏已有的系统模块化特性,
而且使加入安全功能后的内核的安全验证很困难 。
折衷的方案是从已有的操作系统中分离出安全功能,
建立单独的安全内核 。
对于操作系统安全性认证问题, 我们首先应当
意识到, 绝对安全的操作系统是不存在的 。 对安全
操作系统的安全评估, 仍采用目前世界公认的安全
准则 。 同时在进行操作系统设计时, 我们可以按评
估准则, 将评估准则中的各安全内容, 分别在操作
系统的各安全层上实现 。
6.2.3 对操作系统安全性认证
6.3
Windows系统
安全防护技术
本节主要内容,
?Windows 2000操作系统的安全模型
?Windows 2000 分布式安全服务主要内容
? Active Directory
? 身份验证及访问控制
? Kerberos 身份验证协议
1,Active Directory
? 提供一个中央位置来存储关于用户、硬件、应
用程序和网络上数据的信息
? Windows 2000Active Directory
? 用以表示文件功能结构的逻辑层次结构中存储信息
? 客户机通过对域控制器验证身份来创建直接信任路径
? 客户端不可直接访问资源,须通过创建客户端访
问令牌以模拟客户端
? Windows 操作系统在访问令牌中使用安全性标识
符来验证用户的访问权限。
6.3.1 Windows 2000操作系统安全性能概述
? Windows 2000支持两种用户,
? 本地用户
? Active Directory(域)用户
? Windows 2000成员服务器和 Windows 2000
Professional存放自己的用户帐号数据库,本地
计算机上存放的用户称为本地用户。
? 活动目录是 Windows 2000 Server提供的目录服
务,使用户在网络上只拥有一个用户帐号,活动
目录中央数据库中存放的用户和组称为 Active
Directory用户或域用户。
?域是网络对象的集合
域 可标识一个安全机构,并使用一致的内部策
略及与其它域间的明确安全性关系形成一个安全
边界
?关于组织单元 (OU)的定义,
可用它将对象组织成域中的逻辑管理组。 如:
用户帐户、组、计算机、打印机、应用程序、文
件共享和其他的 OU。 对象包含关于个别项目
(如特定用户、计算机或其他硬件)等的信息
(称为属性)。
2,身份验证及访问控制
?信任关系:指在域之间建立逻辑关系,用来支
持直接传递身份验证,让用户和计算机域中接受
身份验证。
? 属于域目录树的域的定义与目录树中的父域的所具
备有双向信任关系,而所有域都隐含地信任目录树
中的其他域
? Windows 2000 自动在根域 (Microsoft.com) 及
其两个子域( FarEast.Microsoft.com 和
Europe.Microsoft.com)间建立双向信任关系
? Windows 2000 中,信任关系通过使用 Kerberos
V5 协议及 NTLM 身份验证支持跨域的身份验证
双向信任,
域 A
域 B
信任
域 A、域 B相互委托;
? 域 A和域 B的用户都可以访问对方域。
? Windows 2000中父、子域之间的信任关系是可传
递的。
? 身份验证是用来确认登录到域或访问网络资源
的用户的身份
? 向域帐户或本地计算机确认用户的身份;
? 网络身份验证
身份验证
? 用户在 Active Directory 中必须有一个 Windows
2000 用户帐户
? 用户帐户还可被配置成以用户帐户登录
? Windows 2000 提供身份验证以及审核计算机对网络
的访问权限以及对域资源的访问权限
Windows 2000 支持数种产业标准身份验证机制,
? X.509 证书
? 智能卡
? Kerberos 协议
? NTLM( Windows NT LAN Manager )协议
6.3.2 Windows 2000安全配置
1,Windows 2000 安全设置
Windows2000含有很多的安全功能和选项,通过
合理的配置后,windows 2000将会是一个较安全
的操作系统。
? 初级安全设置
1,物理安全
2,禁用 Guest 账号
3.限制不必要的用户数量
4.创建 2个管理员用账号
5.把系统 administrator账号改名
6.创建一个陷阱账号
7,把共享文件的权限从,everyone”组改成“授权用户”
8,使用安全密码
9,设置屏幕保护密码
10,使用 NTFS格式分区
11.运行防毒软件
12.保障备份盘的安全
?中级安全设置
1.使用 win2000的安全配置工具来配置安全策略
2.关闭不必要的服务,
? Terminal Services(终端服务)
? IIS 和 RAS都能给系统带来安全漏洞
3.关闭不必要的端口
4.打开审核策略
? 系统的某些操作,都会被安全审核记录下来
5,开启密码策略
6,开启帐户策略
7.设定安全记录的访问权限
8.把敏感文件存放在另外的文件服务器中
9.不让系统显示上次登陆的用户名
? HKLM\Software\Microsoft\WindowsNT\CurrentVe
rsion\Winlogon\DontDisplayLastUserName把
REG_SZ 的键值改成, 1”,
10.禁止建立空连接
11, 对 Win2000系统的安全漏洞,经常下载最新
的 service pack和漏洞补丁
?高级安全设置
1,关闭 DirectDraw,
? C2级安全标准对视频卡和内存的设置要求
? 具体操作是:修改注册表
HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
\DCI的 Timeout( REG _DWORD)为, 0”即可。
2.关闭默认共享
3.禁止 dump file的产生,
? dump文件是查找问题的资料,它提供计算机一些敏感信息比
如一些应用程序的密码等
4.使用文件加密系统 EFS
5.加密 temp文件夹
6.锁住注册表
7.关机时清除掉页面文件
8.禁止从软盘和 CD -Rom启动系统
9.考虑使用智能卡来代替密码
10.考虑使用 IPSec
? IPSec 提供身份验证、完整性和可选择的机密性
IPSec 提供身份验证、完整性和可选择的机密性。发
送方计算机在传输之前加密数据,而接收方计算机在
收到数据之后解密数据。利用 IPSec可以使得系统的
安全性能大大增强。
6.4
Unix/Linux
操作系统安
全防护技术
1,Solaris系统安全管理
? 1,维护系统的物理安全
? 2,维护登录和访问控制
? 3,限制对文件中数据的访问
? 4,维护网络控制
? 5,监视系统的使用
? 6 设置正确的路径变量
? 7,监视 setuid程序
? 8,安装防火墙
? 9,报告安全问题
6.4.2 LINUX安全技术
( 1)身份识别和认证
? 采用一些认证形式来提高系统身份识别和认证
的安全性
( 2)基本的入口控制
( 3)安全的审计
( 4)访问控制
? 强制访问控制( MAC)
? 自主访问控制( DAC)
1.构建安全的 Linux
( 5)加密文件系统 __保证系统的数据安全
( 6)完整性保护
( 7)入侵攻击检测与防范
( 8)提供完善的安全 API
( 9)修改系统中的服务,加入安全的机制
( 10)提供安全的服务和应用
( 11)提供完善的系统安全扫描与检测工具
( 12)采用安全的加密算法
2,Linux系统更加可靠的几点措施
( 1) Bios Security
? 防止对 Bios的改动
( 2) LILO Security (该部分代码见教材)
( 3)删除所有的特殊账户
( 4)选择正确的密码
( 5)打开密码的 shadow支持功能
( 6) root账户
? root账户是具有最高特权的 的用户,也要该帐号被
错误使用
( 7)取消普通用户的控制台访问权限
( 8)取消并反安装所有不用的服务
( 9) TCP_WRAPPERS,
? 使用 TCP_WRAPPERS可以抵御外部入侵
( 10)禁止系统信息暴露,
? 当有人远程登陆时,禁止系统欢迎信息透漏信息
( 11)修改,/etc/host.conf”文件
( 12)使,/etc/services”文件免疫
( 13)不允许从不同的控制台进行 root登陆
( 14)禁止任何人通过 su命令改变为 root用户
( 15) Shell logging,
? Bash shell在文件中保存了 500条使用过的命令,
应及时进行销除。
( 16)禁止 Control-Alt-Delete 键盘关闭命令
( 17) 给 "/etc/rc.d/init.d" 下的 script文件设置权限
( 18)隐藏系统信息,
? 登陆到 linux系统时显示的相关信息:版本、内核版
本、服务器等名称
( 19)禁止不使用的 SUID/SGID程序
( 1)从程序设计角度看 Linux网络
( 2)怎样将自己编写的防火墙程序登记到内核中
( 3)防火墙函数模块的设计
? 防火墙函数模块的返回值
? 各模块函数的入口参数
分析防火墙案例 (见教材)
3,LINUX下的防火墙
6,5
常见服务的
安全防护技
术
? 如何对 WWW服务器的安全配置进行配置,主要从
两个方面进行,一是对网页的访问进行访问权限控
制;另一个方面是使 WWW服务器防止受到拒绝服
务的攻击的影响。
1,Apache的安全配置
apache服务器源自美国国家超级技术计算应用中
心 ( NCSA) 的 Web服务器项目中 。 目前已在互联
网中占据了领导地位 。 它是 Internet网上应用最为广
泛的 Web服务器软件之一 。
6,5,1 WWW服务器的安全防护技术
Apache WWW服务器主要有三个配置文件,
位于 /usr/local/apache/conf目录下 。 这三个文件
是,
httpd.conf----->主配置文件
srm.conf------>填允资源文件
access.conf--->设置文件的访问权限
在 Apache WWW中是允许使用,htaccess做目
录安全保护的, 欲读取这保护的目录需要先键入
正确用户帐号与密码 。 这样可做为专门管理网页
存放的目录或做为会员区等 。
在保护的目录放置一个档案, 档名为,htaccss
AuthName "会员区 "
AuthType "Basic"
AuthUserFile "/var/tmp/xxx.pw" --->把 password放在网站外
require valid-user 到 apache/bin目录, 建 password档
%,/htpasswd-c/var/tmp/xxx.pw username1->第一次建档要用参
数 "-c"
%,/htpasswd/var/tmp/xxx.pw username2
这样就可以保护目录内的内容, 进入要用合法的用户 。
注:采用了 Apache内附的模组 。 也可以采用在 httpd.conf中加入:
options indexes followsymlinks
allowoverride authconfig
order allow,deny
allow from all
? 如 何 实现 Apache WWW 的 访问 控制? 这就 要利 用
access.conf文件了, 它包含一些指令控制允许什么用户
访问 Apache目录 。 应该把 deny from all设为初始化指令,
再使用 allow from指令打开访问权限 。 配置如下,
<directory /usr/local/http/docs/private>
<limit>
order deny,allow
deny from all
allow from safechina.net
</limit>
</directory>
设置允许来自某个域, IP地址或者 IP段的访问 。
这两个功能相结合, 可实现对目录的安全控制 。
2,IIS的安全配置
IIS( Internet Information Server) 是另一个使
用广泛的 WWW服务器, IIS系统除提供匿名访问模
式外, 还提供了三种用认证方式, 即基本的认证方
式, 基于摘要的的认证方式及类似 Windows的认证
方式 。
IIS的目录访问权的控制是通过 ISM来配置的, 具
体步骤如下,
( 1) 启动 ISM( Internet Sever Manager) ;
( 2) 进入 WWW服务属性页;
( 3) 进入目录安全, 设置针对用户的认证的访问权控
制和针对来源 IP地址的访问权控制 。
IIS WWW服务器除了提供 NTFS文件系统提供
的权限外, 还提供了读取权限, 执行权限 。 可按下
列步骤进行设置,
( 1) 启动 ISM;
( 2) 进入 WWW属性页并选择, 目录, 选项卡, 选择
WWW目录;
( 3) 选择, 编辑属性, 中的, 目录属性, 进行相应的
设置 。
? 每个 UNIX/LINUX管理员都熟悉 inetd,inetd是一
个守护程序, 通过一个集中的配置文件 ( inetd.conf)
来管理大多数入网连接 。
Xinetd用同样功能的,扩展了的语法取代了 inetd
中的通用的行。另外,还添加了日志功能和访问控
制。
1,Xinetd的配置文件
Xinetd的配置文件, 通常可以手工或是自动从
inetd.conf文件生成 。 前者费时间且容易出错;后者
可以通过 itox软件或者 xconv.pl脚本轻易完成 。
$itox </etc/inetd.conf> xinetd.conf
6,5,2 Xinetd超级防护程序配置
xinetd设置参数的语法,
<指示 directive><操作符 operator><值 value>
xinetd指示符及作用列在下表中
指 示 符 描述
socket_type 网络套接字类型,流或者数据包
Protocol IP协议,通常是 TCP或者 UDP
Wait Yes/no,等同于 inetd的 wait/nowait
User 运行进程的用户 ID
Server 执行的完整路径
server_args 传递给 server的变量, 或者是值
Instances 可以启动的实例的最大的值
start max_load 负载均衡
Log_on_success 成功启动的登记选项
Log_on_failure 联机失败的时候的日志信息
only_from 接受的网络或是主机
no_access 拒绝访问的网络或是主机
Disabled 用在默认的 {}中禁止服务
Log_type 日志的类型和路径 FILE/SYSLOG
Nice 运行服务的优先级
Id 日志中使用的服务名
操作符,=或者 +=。
= 用于将右边给定的值传给左边的指示符 。
+= 用于给一个已经指定的指示符添加一个值 。
2,关于访问控制
首先,xinetd控制连接,不是通过包,它只是个
用户方的守护进程。
使用访问 控制是很简单 。 第一 个指示符是
only_from,列出了从哪一个网络或是主机我们可以
接受连接 。 这个规则可以被 no_access覆盖 。 你可以
使用网络号, 如,10.0.0.0或者 10,或者是网络名,
包括 *.my.com或者,my.com。 主机名或者主机的 IP
地址也可以在这里使用指示符 0.0.0.0匹配所有的主
机, 监听所有的地址 。 通过使用 no_access一旦符合
标准拒绝就会被解析 。 网络和主机可以指定 。
如果没设置 only_from或者是 no_access指示符,
对这个服务的访问将不受限制 。
实例 1:配置一个允许 192.168.0.1到 192.168.0.250所有的
ip使用 telnet,禁止 141.123.102.1使用的配置 。
service telnet
{
log_type =FILE/var/adm/log/telnet.log
socket_type =stream
protocol =tcp
wait =no
user =root
server =/usr/sbin/in.telnetd
log_on_success +=DURATION USERID
log_on_failure +=USERID
instances =64
nice =10
only_from =192.168.0.1 192.168.0.250
no_access =141.123.102.1
}
only_from=192.168.0.1 192.168.0.250 就是限制
192.168.0..1到 192.168.0..250所有的 ip的使用;
no_access=141.123.102.1 实现了禁止
141.123.102.1的使用 。
3,使用建议
建议对所有的服务都使用 xinetd;唯一一个对
性能有影响的服务是我的 web守护进程 Apache。
不得不启动太多的进程, 太多了响时间就成为问
题了 。 DNS服务也不应该用 xinetd,性能消耗太
大 。
SSH,英文全称 Secure Shell,一种基于安全会话
目的的应用程序, 用于替代 Berkeley的 rexe和 rsh工
具 。
SSH的配置文件在 /etc/ssh2下, 其中包括 sshd2
的主机公钥和私钥,hostkey和 hostkey.pub。 这两
个文件通常是在安装 SSH时自动生成的 。 你可以通
过下面的命令重新来生成它们,
#rm /etc/ssh2/hostkey*
#ssh-keygen2 –P /etc/ssh2/hostkey
而 ssh2_config文件一般情形下无需修改 。
6,5,3 SSH( Secure Shell)
每个用户在使用 SSH之前, 都要完成以下步骤,
( 1) 在本地主机上生成自己的 ssh公钥和私钥 。 命令如下,
#ssh-keygen
生成的私钥和公钥 ( id_dsa_1024_a和 id_dsa_1024_a.pub)
存放在用户主目录的 ~/.ssh2目录下 。 和用户相关的 SSH
配置文件都在 ~/.ssh2下 。 私钥由用户保存在本地主机上,
而公钥需传送到远地主机的你自己的帐号的 ~/.ssh2下,
如果你要用 ssh2访问本地主机的话 。 在 ~/.ssh2下创建
,identification”文件用来说明进行身份认证的私钥 。 命
令如下,
local:~/.ssh2# echo "IdKey id_dsa_1024_a">identification
(2)同样地, 在远地主机 ( 比如,remote.edu.cn) 上完成上
面步骤 。
(3)将本地 ( local.edu.cn) 下你自己 (这里是, ye”)的公钥
(id_dsa_1024_a.pub)拷贝到远地主机 ( remote.edu.cn)
上 你 自 己 主 目 录 下 的,ssh2 目录下, 可 命 名 为
,local.pub”,一般用 ftp上传即可 。 在远地主机上, 你自
己家目录的,ssh2目录下, 创建, authorization”文件, 其
中指定用来进行身份认证的公钥文件 。 命令如下,
remote:~/.ssh2#echo,Key local.pub”>authorization
? 现在你可以从本地用 ssh2登录到远地系统了 。 命令如下,
local#ssh remote.edu.cn
? 这时会要你输入你的 ssh口令 ( Passphrase) 。 验证通
过后, 即登录到 remote主机上 。
SSH是 Client /Server结构的;并且有两个不兼容的版
本, 分别是,1.x和 2.x。 使用 SSH 2.x的客户程序是不能
连接到 SSH 1.x 的 服务 程 序 上 去 的 。 注 意,目 前
OpenIOS 只支持 SSH 1.x。
6.6
本章小结
操作系统作为用户与计算机系统的交互界面和环
境, 它是计算机及其网络系统的第一道安全屏障, 也
是入侵者的首选目标;同时, 操作系统也是计算机及
其网络系统运行的基础, 它的安全性成为计算机系统,
网络系统和建立在此基础上的各种应用系统安全性的
基础 。 如果一个操作系统安全性较差, 很难想象保证
建立在这样的操作系统基础之上的各种应用系统的安
全性 。 本章首先介绍了操作系统安全的基本概念, 操
作系统安全评估, 操作系统的安全配置, 接着介绍了
操作系统的安全模型, 操作系统安全性的设计方法及
原则, 对操作系统安全性的认证, 最后比较详细地介
绍了 Windows 2000 操作系统安全防护技术,
Unix/Linux操作系统安全防护技术及常见服务的安全
防护技术 。