§2.4.7RSA的缺点
RSA的缺点如下:
1.产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。
2.分组长度太大,不利于数据格式的标准化。
§2.5RSA算法和DES算法的比较
DES使用56位密钥对64位数据块进行加密DES算法的加密和解密的流程是完全相同的,区别仅仅是加密与解密使用子密钥序列的顺序正好相反。
RSA算法的安全性是建立在具有大素数因子的合数其因子分解困难这一法则之上的。
RSA算法中加密密钥和解密密钥不相同,其中加密密钥公开,解密密钥保密,并且不能从加密密钥或密文中推出解密密钥。
§2.9PKI管理机制
它是由公开密钥技术、数字证书、证书发行机构(CA)和相关的公钥安全策略等组成。
PKI即公共密钥体系。
它建立一套证书发放、管理和使用的体系,来支持和完成网络系统中的身份认证、信息加密、保证数据完整性和抗抵赖性。
§2.9.1认证机构
CA是证书的签发机构。
构建密码服务系统的核心内容是如何实现密钥管理。
目前较好的解决方案是引进证书机制。
§2.9.2加密标准
对称加密算法:
DES,Tripl-DES,RC2,RC4,CAST等。
非对称加密算法:
RSA,DSA,Diffie-Hellman等。
散列算法:
SHA-1,MD5等。
3.证书库
证书库是证书的集中存放地,是网上的一种公共信息库,用户可从此处获得其他用户的证书和公钥。
§3.1Windows2000的安全性设计
Windows2000在安全特性主要体现在三个方面:
1.对Internet上的新型服务的支持2.使用安全性框架3.实现对WindowsNT4.0的网络的支持
§3.2Windows2000中的验证服务架构
Kerberos的验证机制
Kerberos是在Internet上广泛采用的一种安全验证机制,它基于公钥技术。
Kerberos协议规定了客户机/密钥发布中心(KeyDistributionCenter,KDC)/服务器三者之间获得和使用Kerberos票证进行通信规则和过程。
Kerberos验证机制加强了Windows2000的安全性,它使网络应用服务验证速度更快捷,同时可以建立域信任以及在建立域信任的域中传递信任关系
§3.3Windows2000的安全特性
Windows2000有数据安全性、企业间通信的安全性、企业和Internet网的单点安全登录、以及易用和良好扩展性的安全管理等安全特性。
1.数据安全性
数据安全是指数据的保密性和完整性,Windows2000的数据安全性表现在:
(1)用户登录时的安全性
(2)网络数据的保护
(3)存储数据的保护
2.通信的安全性
它支持虚拟专用网技术以及使用公钥体制并可以使用电子证书来把外部用户映射成为目录服务中的一个用户账户。
3.单点安全登录
Windows2000的用户单点登录网络后,通过网络验证之后,它就可以根据自己拥有的权限访问其相应的服务,Windows2000透明地管理一个用户的安全属性
4.安全的管理性
Windows2000使用安全性模板对计算机进行安全性配置和分析。
§3.4Windows2000组策略的管理安全
在Windows2000中的组策略有如下几种:
·帐户策略\密码策略·帐户策略\帐户锁定策略·帐户策略\Kerberos策略配置票证寿命
·本地策略\审计策略启用/禁用特定事件的记录·本地策略\用户权限定义权限
·本地策略\安全选项修改与注册表值有关的特定安全选项·事件日志启用成功或失败监视·受限制的组管理员可控制谁属于特定组·系统服务控制每个服务的启动模式·注册表·文件系统对文件夹、子文件夹和文件配置权限
3.3.1Windows2000中的组策略
1.密码策略
将对域中的所有服务器强制执行一个标准密码策略。
2.帐户锁定策略
有效的帐户锁定策略有助于防止攻击者猜出你帐户的密码。
3.成员服务器基准策略
一旦配置了域级别的设置,就该为所有成员服务器定义公用的设置了。
成员服务器的基准组策略如下:
·审计策略·安全选项·注册表访问控制列表·文件访问控制列表·服务配置
4.禁用自动运行功能
自动运行功能的设置NoDriveTypeAutoRunDWORD0xFF。
5.成员服务器基准文件访问控制列表策略
为加强文件系统安全,应确保对域中的所有成员服务器公用的目录和文件应用限制性更强的权限。
§3.3.3组策略的安全模板
1.组策略的配置设置存储位置
组策略的存储位置是GPO位于ActiveDirectory中;安全模板文件位于本地文件系统中。
对GPO所做的更改直接保存在ActiveDirectory中,而对安全模板文件所作的更改必须先导回到ActiveDirectory内的GPO中,才能应用所作的更改。
2.Windows2000的安全模板
Windows2000的安全模板有如下几种:
·Basicwk.inf适用于Windows2000Professional。
·Basicsv.inf适用于Windows2000Server。
·Basicdc.inf适用于基于Windows2000的域控制器。
·Securedc.inf和Hisecdc.inf—适用于域控制器。
·Securews.inf和Hisecws.inf—适用于成员服务器和工作站。
4.策略的验证
策略的验证有以下两种方法。
·使用“本地安全策略”MMC验证策略
步骤1,启动本地安全策略MMC。
步骤2,在安全设置下,单击本地策略,然后单击安全选项。
步骤3,在右窗格中,查看有效设置列。
“有效设置”列应当显示在模板中为选定服务器角色配置的设置。
·使用命令行工具验证策略
Secedit
§3.5审计与入侵检测
审计的一个主要目标是识别攻击者对你的网络所采取的操作。
分为两类:
成功事件和失败事件。
几种:
·登录事件·帐户登录事件·对象访问·目录服务访问·特权使用·进程跟踪·系统事件·策略更改
§3.5.2入侵检测
1.扫描端口
2.通过事件查看器中的筛选器
·被动式检测方法被动式侵入检测系统涉及对事件日志和应用程序日志进行手动检查。
·事件查看器可以用来查看应用程序日志、安全日志和系统日志。
3.DumpEventLogTool(转储事件日志工具)(Dumpel.exe)
4.ISAServer的侵入检测功能
·所有端口扫描
攻击者在判断目标计算机或网络上打开的端口时所使用的一种方法。
·IP半扫描
它利用了TCP通信是一个三步骤过程这一事实。
“IP半扫描”攻击不发送第三个数据包“TCP三向握手”以避免被检测到。
·陆地攻击
将向计算机发送一个数据包,它带有欺骗性源IP地址,还带有与目标地址和端口的端口号匹配的端口号。
欺骗性数据包导致目标计算机进入一个循环,最终导致计算机崩溃。
·死亡之Ping
此攻击涉及向一台计算机发送大量异常大的ICMP回应请求(ping)数据包。
目标计算机试图响应所有的数据包,导致缓冲区溢出,从而使计算机崩溃。
·UDP炸弹
以某些字段中的非法值构造的UDP数据包将导致一些较旧的操作系统在收到该数据包时崩溃。
如果目标计算机崩溃,则常常很难确定崩溃的原因。
·Windows带外
这是一种可用于将Windows网络禁用的拒绝服务攻击,也称为WinNuke。
§3.6修补程序
Hfnetchk–[开关]
§4.2WindowsServer2003的新安全机制
·授权管理器:
是基于角色安全管理的改进,它可以定义角色以及角色执行的任务。
·存储用户名和密码:
WindowsServer 2003的存储用户名和密码功能允许用户连接服务器时使用的用户名和密码与登录网络时使用的用户名和密码不同。
·软件限制策略:
防止软件应用程序基于软件的哈希算法、软件的相关文件路径、软件发行者的证书或寄宿该软件的Internet区域来运行。
·证书颁发机构:
新的PKI功能,旨在展示证书模板编辑功能和为用户和计算机的证书进行自动注册。
·受限委派:
可指定要信任的服务用以委派服务器。
·有效权限工具:
此工具将计算授予指定用户或组的权限。
·加密文件系统(EFS):
在WindowsServer2003中不再需要恢复代理。
·Everyone成员身份。
·基于操作的审核:
基于操作的审核提供了更多描述性的审核事件,并提供用户选择在审核对象访问时要审核的操作。
·重新应用安全默认值:
此过程可以使用用户重新应用WindowsServer 2003家族的默认安全设置。
4.6.1WindowsServer2003的安全策略
对安全性有着极大的影响:
·用户帐号和用户密码·域名管理·用户组权限·共享资源的权限;·机制对系统操作的影响。
第5章Linux网络操作系统的安全管理
§5.1.1C1/C2安全级设计框架
TCSEC(TDI)将系统划分为四组(division)七个等级,依次是D;C(C1,C2);B(B1,B2,B3);A(A1),安全级别从左至右逐步提高,各级之间向下兼容,也就是说高级别必须拥有低级别的一切特性。
§5.1.2身份认证
身份认证系统最基本的实现是Linuxlogin程序,不过其他各种应用程序也一样要通过身份认证来确定用户身份。
1.Shadow身份认证体系
最基本的身份认证系统由口令验证构成。
用户输入一个口令,与系统进行比较,如果合法,就可以进入系统。
(1)系统记录用户的原始口令,并将其加密保存在系统中,口令原文则被丢弃。
(2)当用户登录系统的时候,输入口令,系统用同样的加密算法将用户输入的口令转换成密文。
(3)比较保存的密文和现在得到的密文,如果相同,允许用户登录系统。
2. PAM身份认证体系
可插拔认证模块,只有在程序编写时选择了PAM库支持的时候,才能使用PAM认证。
PAM认证部分是由一组模块构成的,相互可以堆叠,堆叠的意思就是说,可以连续执行多个模块或者让一个模块多次使用。
可以在一个PAM认证过程中使用多种认证模块,后面的认证过程的执行依赖于前面的认证模块结果。
§5.1.4存储空间安全
内存以及外存储设备的安全,包括越过文件系统直接访问裸设备的保护。
最重要的是内存安全性。
内存安全性可以分成两个部分,一个是禁止内存中的重要数据被窥探到,另一个是保证进程不去执行非法指令。
基本的溢出攻击方式按照其使用的程序空间类型可以分成三种:
·堆栈溢出
堆栈溢出是最重要的缓冲区溢出攻击手段,它的思路是利用堆栈返回地址。
·函数指针
C语言可以定义函数指针,执行某个地址上的任何函数。
但是这个指针可以指向任何地址空间。
所以攻击者可以用缓冲区溢出的办法改写指针内容,指向自己准备的shell代码,当程序执行到调用函数指针的部分的时候,攻击者就取得了控制权。
·长跳转点
setjmp/longjmp是一个C语言的非结构化跳转系统,它允许程序员设定一个跳转点,然后可以从任何函数内部直接跳入这个跳转点。
§5.1.5数据的加密
原因是交换数据的需要。
如果你要通过某种不可信的方式交换数据,必须保证不能让一般人随便窥探数据。
基于权限的保护方式已经不能使用,只能通过加密来提供额外的保护。
PGP:
首先,B和A各生成一对密匙,然后通过一个可信的机构,交换自己的公用密匙,如果B想要向A发送自己的信息,那么,他首先要用md5算法计算出整个信息(在PGP中,计算的是信息+发送者的ID+日期时间等等)的校验和,然后用自己的私用密匙加密这个校验和并且附加在整个信息后面;接着,再用A的公开密匙加密得到的全部数据,最后发送给A。
而当A接收到这个数据的时候,他首先用自己的私用密匙解开密文,得到原文和加密后的校验和;然后再用B的公匙解密校验和;最后重新计算校验和,判断信息是否被修改过。
·入侵防护
它可以对系统中重要的文件、进程和设备进行保护,保证这些对象不会被入侵者操纵,即使是入侵者已经拿到了root账号。
·入侵检测
LIDS可以提供对于端口扫描的检测。
·入侵响应
当发现系统受到攻击之后,它可以将必要的信息记录到日志文件中。
§5.1.7日志
日志就是对系统行为的记录。
1.连接时间日志
用来记录用户的登录信息,利用它来跟踪谁在什么时候进入了系统。
2.进程记账
用来记录系统中执行的进程信息。
3.syslog
它是各种程序对运行中发生的事件的描述。
我们分别来讨论这些日志。
§5.2网络安全
5.2.1网络接口层
1.监听
许多网络接口卡(NIC)被电缆和集线器连接在一起。
当某一台机器准备发送数据的时候,它首先根据电缆电平判断一下当前是否有其它网卡在工作,如果没有,就开始发送一段数据(称为以太网帧),然后暂停一下,再重复上述操作。
如果有两台机器同时发送数据,会导致网络冲突,这种情况下双方都会暂停一下(具体暂停的时间是个随机量),然后继续发送。
监听的主要目的是了解对方传输的信息内容,特别是对于www/mail/ftp/telnet等协议,其中很多东西是简单文本传输
2.SSL
SSL安全套接层协议的协议来强化http的安全性,它实际是基于socket的,安装在传输层和应用层之间,可以提供数据的加密传输。
它并不包含数据签名功能,后者需要浏览器另外实现。
利用SSL进行www传输的协议有个专门的名字,叫做https。
3.SSH
ssh是一个用来解决TELNET/FTP协议安全性的工具,它支持两种协议:
ssh和sftp,简单的说就是telnet和ftp的加密传输版本。
4.VPN
虚拟专用网(VPN)被定义为通过一个公用网络建立一个临时的、安全的连接。
它在Internet的一些机器之间建立一个虚拟连接,从而这些机器看上去就像是处在一个独立的网络中,其他系统无法加入。
1.ARP
ARP即地址解析协议,用来在一个局部网内找到和某个IP地址对应的机器。
即由IP地址找到对应的MAC地址。
2.ICMP重定向
Icmp网间报文控制协议,IP层用它来与其他主机或路由器交换错误报文和其他重要控制信息。
ICMP报文是在IP数据报内部被传输的,主要用来对系统中的错误进行分析和控制。
PingofDeath攻击,许多系统对ICMP包规定了一个尺寸上限,一般是在64KB左右。
当操作系统接收到ICMP报文的时候,需要按照报文标题中的尺寸信息来分配TCP/IP缓冲区。
如果接收到一个错误或者畸形的ICMP报文,其中的尺寸信息是错误的,比如超出了64KB,缓冲区分配就可能出现问题,严重的情况下会导致TCP/IP栈崩溃。
3.I