网络安全复习

  1. 背景
    1. 1 绪论
      1. 1.1 网络安全的基本属性
      2. 1.2 安全威胁
      3. 1.3 网络攻击
      4. 1.4 国标信息系统安全等级保护
      5. 1.5 OSI安全体系结构中的安全服务
      6. 1.6 OSI安全体系结构中的安全机制
    2. 2 黑客攻击与渗透测试
      1. 2.1 黑客攻击流程
      2. 2.2 踩点
        1. 2.2.1 google hacking
        2. 2.2.2 whois查询和DNS查询
        3. 2.2.3 网络侦查
      3. 2.3 渗透测试
        1. 2.3.1 渗透测试执行标准
        2. 2.3.2 渗透测试框架(Metasploit Framework,MSF)
    3. 3 网络扫描与查点技术
      1. 3.1 网络扫描技术是一种基于因特网的远程监测目标网络或本地主机安全性脆弱点的技术。
      2. 3.2 端口扫描工具Nmap介绍
        1. 3.2.1 简介
        2. 3.2.2 主机发现
        3. 3.2.3 端口扫描
        4. 3.2.4 版本侦测
        5. 3.2.5 操作系统侦测
        6. 3.2.6 防火墙/入侵检测规避
        7. 3.2.7 NSE脚本引擎
        8. 3.2.8 nmap端口状态解析
        9. 3.2.9 常用参数介绍
      3. 3.3 查点技术
        1. 3.3.1 nc(TCP/IP 瑞士军刀)
        2. 3.3.2 nslookup
    4. 4 网络嗅探技术
      1. 4.1 网络嗅探概述
      2. 4.2 交换式网络嗅探与共享式网络嗅探的区别
      3. 4.3 嗅探的实现
      4. 4.4 常见嗅探工具
    5. 5 口令破解与防御
      1. 5.1 常用口令破解技术
      2. 5.2 操作系统口令破解
        1. 5.2.1 Windows系统口令破解
        2. 5.2.2 Linux系统口令破解
    6. 6 欺骗攻击与防御
      1. 6.1 欺骗攻击概述
      2. 6.2 ARP欺骗
        1. 6.2.1 ARP欺骗属于中间人攻击,工具如下
        2. 6.2.2 ARP欺骗防御
      3. 6.3 IP欺骗
      4. 6.4 TCP会话劫持
      5. 6.4.1 TCP会话劫持工具
      6. 6.4.2 IP欺骗的防御
      7. 6.5 DNS欺骗
        1. 6.5.1 定义
        2. 6.5.2 DNS欺骗的实现
        3. 6.5.3 DNS欺骗的防御
      8. 6.6 电子邮件欺骗
      9. 6.7 Web欺骗
    7. 7 Web攻击与防御
      1. 7.1 Web安全概述
      2. 7.2 同源策略
      3. 7.3 SQL注入攻击(SQL Injection)
        1. 7.3.1 SQL注入分类:
        2. 7.3.2 SQL注入工具SQLMap
        3. 7.3.3 SQL注入的防御
      4. 7.4 XSS攻击(Cross-Site Scripting)
        1. 7.4.1 跨站脚本攻击原理
        2. 7.4.2 反射型XSS
        3. 7.4.3 存储型XSS
        4. 7.4.4 DOM型XSS
      5. 7.5 CSRF攻击(Cross-Site Request Forgery)
      6. 7.6 SSRF攻击(Server-Side Request Forgery,SSRF)
      7. 7.7 文件上传漏洞
      8. 7.8 命令执行漏洞
      9. 7.9 XXE漏洞(XML External Entity injection)
    8. 8 缓冲区溢出攻击与防御
      1. 8.1 一个可执行文件根据文件格式被分成若干个数据节,不同的资源被放在不同的节中,各个数据节存放的数据类型大致如下:
      2. 8.2 缓冲区溢出
      3. 8.3 缓冲区溢出攻击的防御
    9. 9 恶意代码防护技术
    10. 10 拒绝服务攻击与防御
      1. 10.1 拒绝服务攻击的定义
      2. 10.2 拒绝服务攻击的分类
      3. 10.3 分布式拒绝服务攻击DDoS
      4. 10.4 DoS/DDoS攻击的检测与防御
        1. 10.4.1 检测
        2. 10.4.2 防御
    11. 11 身份鉴别与认证
      1. 11.1 身份鉴别与认证概述
      2. 11.2 认证鉴别机制
        1. 11.2.1 基于口令的认证
        2. 11.2.2 基于密码学的认证
        3. 11.2.3 基于生物特征的认证
      3. 11.3 典型认证技术
        1. 11.3.1 Kerberos认证协议
        2. 11.3.2 公钥基础设施PKI
    12. 12 访问控制
      1. 12.1 访问控制的基本概念
      2. 12.2 访问控制矩阵
      3. 12.3 典型的访问控制策略模型
      4. 12.4 计算机安全形式化模型与多级安全
        1. 12.4.1 Bell-Lapadula模型
        2. 12.4.2 Biba模型
        3. 12.4.3 多级安全
    13. 13 防火墙
      1. 13.1 防火墙概述
        1. 13.1.1 防火墙的概念与功能
        2. 13.1.2 防火墙的基本策略
      2. 13.2 防火墙的分类
      3. 13.3 防火墙的配置方案
    14. 14 入侵检测与入侵防御
      1. 14.1 入侵检测的基本概念
      2. 14.2 入侵检测系统分类
      3. 14.3 入侵检测技术
        1. 14.3.1 异常检测技术
        2. 14.3.2 特征检测技术
      4. 14.4 入侵防御系统
    15. 15 虚拟专用网
      1. 15.1 虚拟专用网概述
      2. 15.2 VPN的分类
      3. 15.3 典型的虚拟专用网技术
        1. 15.3.1 第二层隧道协议
        2. 15.3.2 第三层隧道协议
        3. 15.3.3 第四层隧道协议

背景

过几周就要进行网络安全课程的考试了,所以就简单总结一下知识点,供自己复习之用,大神勿喷嘻嘻(#^.^#)

1 绪论

1.1 网络安全的基本属性

  • 机密性
  • 完整性
  • 可用性
  • 可靠性
  • 不可抵赖性
  • 隐私性
  • 可说明性
  • 可审计性

1.2 安全威胁

  • 信息泄露
  • 信息破坏
  • 拒绝服务

1.3 网络攻击

  • 阻断攻击
  • 截取攻击
  • 篡改攻击
  • 伪造攻击
  • 重放攻击

1.4 国标信息系统安全等级保护

  • 用户自主保护级
  • 系统审计保护级
  • 安全标记保护级
  • 结构化保护级
  • 访问验证保护级

1.5 OSI安全体系结构中的安全服务

  • 认证服务
  • 访问控制服务
  • 机密性服务
  • 完整性服务
  • 不可否认服务

1.6 OSI安全体系结构中的安全机制

  • 加密机制
  • 数字签名机制
  • 访问控制机制
  • 信息完整性机制
  • 鉴别交换机制
  • 业务量填充机制
  • 路由控制机制
  • 公证机制

2 黑客攻击与渗透测试

2.1 黑客攻击流程

黑客攻击流程

2.2 踩点

2.2.1 google hacking

名称 功能
“” 精确匹配;使用引号来搜索一个完全匹配的字词或一组字词
- 逻辑非,可排除所有包含该字词的搜索结果
+ 必须包含该字词的搜索结果
~ 可同时搜索该字词及其同义词
* 搜索词中不确定的部分可以用*代替,google或匹配相关词
OR 搜索结果匹配多个搜索字词中的任意一个
site 可以限定在某个特定网站中搜索信息;site:和站点名之间,不要带空格
inurl 限定在网站url链接中搜索网站信息;后面跟多个关键词时关键词之间是或的关系
allinurl allinurl比url更严格,后面跟多个关键词是关键词之间是与的关系
intitle 限定在网页标题中搜索网站信息
allintitle 比intitle更严格,后面多个关键词是与的关系
related 可以搜索与指定网站有相似内容的网页
filetype 限定在文档格式中搜索网页信息

2.2.2 whois查询和DNS查询

2.2.3 网络侦查

  • Unix/Linux系统提供traceroute
  • Windows系统提供tracert

可查询数据包的传输路径,如果部分节点没有返回数据信息,说明这些节点设备(可能是防火墙)阻塞了发送的数据包

2.3 渗透测试

2.3.1 渗透测试执行标准

  • 前期交互阶段
  • 情报收集阶段
  • 威胁建模阶段
  • 漏洞分析阶段
  • 渗透攻击阶段
  • 后渗透攻击阶段
  • 报告阶段

2.3.2 渗透测试框架(Metasploit Framework,MSF)

3 网络扫描与查点技术

3.1 网络扫描技术是一种基于因特网的远程监测目标网络或本地主机安全性脆弱点的技术。

3.2 端口扫描工具Nmap介绍

3.2.1 简介

Nmap全称为Network Mapper,是一款开源的网络探测和扫描软件,可用来扫描计算机开放的网络连接、确定运行的服务以及探测操作系统类型等,它是网络管理员用来评估网络系统安全的必用软件之一。Nmap的核心功能有主机发现、端口扫描、版本侦测、操作系统侦测、防火墙/入侵检测规避和NSE脚本引擎等。

3.2.2 主机发现

主要是发现目标系统是否处于存活状态。

3.2.3 端口扫描

用于扫描主机上的端口状态。Nmap支持多种扫描技术,除了前面介绍过的TCP连接扫描、TCP SYN扫描、TCP FIN扫描、TCP ACK扫描、TCP窗口扫描、TCP Maimon扫描、UDP扫描外,还支持FTP代理扫描、认证扫描(Reverse-ident)等。

3.2.4 版本侦测

用于识别端口上运行的应用程序与版本信息。

3.2.5 操作系统侦测

用于识别目标系统的操作系统类型、版本信息及设备类型等。Nmap可以识别通用PC系统、交换机、路由器等上千种操作系统或设备。

3.2.6 防火墙/入侵检测规避

Nmap提供多种机制来规避防火墙、入侵检测的屏蔽和检测,以便于秘密的探测目标系统的信息,如分片、IP伪装、MAC伪装等。

3.2.7 NSE脚本引擎

NSE除了可以用来增强前面的1到4项功能外,还可以扩展高级功能,比如Web扫描、漏洞发现、网络爬取、SQL注入攻击、数据库密码检测等。Nmap使用lua语言作为NSE脚本语言,目前已经支持数百个脚本,并能检测多种安全漏洞和系统缺陷。

3.2.8 nmap端口状态解析

open:应用程序在该端口接收 TCP 连接或者 UDP 报文。
closed:关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听。
filtered:由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则 或者主机上的软件防火墙。
unfiltered:未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。
open | filtered:无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN, Null 等扫描会引起。
closed | filtered:关闭或者被过滤的):无法确定端口是关闭的还是被过滤的

3.2.9 常用参数介绍

参数 说明
-sT TCP连接扫描
-sS TCP SYN扫描(须root权限)
-sF、-sN、-sX TCP FIN扫描、TCP空扫描和TCP圣诞树扫描
-sU UDP扫描(但扫描结果不可靠)
-sP Ping扫描,Nmap在扫描端口时,默认使用ping扫描,只有主机存活,Nmap才会继续扫描
-sA TCP ACK扫描,主要用来判断防火墙的规则集
-sR RPC扫描
-sV 探测端口服务版本
-b FTP代理扫描
-P0 扫描前不ping主机
-v 显示详细扫描过程
-p 指定扫描端口
-O 操作系统探测
-A 全面系统探测、启动脚本检测、扫描等
–script=脚本名称 使用脚本引擎,可以进行漏洞扫描、漏洞利用、目录扫描等功能

关于Nmap更加详细的讲解可以参见下面两篇博客

Nmap基础用法
Nmap高级用法

3.3 查点技术

踩点阶段攻击者已经识别出了存活的主机及其运行的服务,查点就是针对已知的弱点,对识别出来的主机或服务进行更深入的探测。

  • Nessus
  • OpenVAS
  • Nexpose
  • netcat

3.3.1 nc(TCP/IP 瑞士军刀)

语法:
nc [-hlnruz][-g<网关…>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v…][-w<超时秒数>][主机名称][通信端口…]

参数:

参数 说明
-g<网关> 设置路由器跃程通信网关,最多可设置8个
-G<指向器数目> 设置来源路由指向器,其数值为4的倍数
-l 使用监听模式,管控传入的资料
-n 直接使用IP地址,而不通过域名服务器
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存
-p<通信端口> 设置本地主机使用的通信端口
-r 指定本地与远端主机的通信端口
-s<来源位置> 设置本地主机送出数据包的IP地址
-u 使用UDP传输协议
-v 显示指令执行过程
-w<超时秒数> 设置等待连线的时间
-z 使用0输入/输出模式,只在扫描通信端口时使用

3.3.2 nslookup

4 网络嗅探技术

4.1 网络嗅探概述

网络嗅探,也叫网络监听,是在网络总通过侦听的方式对通讯数据包进行监视、采集及分析的技术手段。
ARP(地址解析协议,Address Resolution Protocol),它负责将IP地址解析为MAC地址,完成网络地址到物理地址的映射。任何一台安装了TCP/IP协议的主机中都有一张ARP缓存表,它记录着主机的IP地址和MAC地址的对应关系。

参数 说明
arp -a 查看缓存表
arp -s IP MAC 建立静态类型的记录
arp -d 删除ARP缓存记录或整个缓存表

4.2 交换式网络嗅探与共享式网络嗅探的区别

目前,80%的局域网(LAN)是以太网,在局域网中大量地了集线器(HUB)或交换机(Switch)这种连接设备。利用集线器连接的局域网叫共享式局域网,利用交换机连接的局域网叫交换式局域网。那它们二者有何区别呢?大家知道,以太网中采用的工作方式是CSMA/CD(载波监听多点接入/碰撞检测),对于发送端来说,它每发送一个数据信息时,首先对网络进行监听,当它检测到线路正好有空,便立即发送数据,否则继续检测,直到线路空闲时再发送。对于接收端来说,对接收到的信号首先进行确认,如果是发给自己的就接收,否则不予理睬。在介绍集线器与交换机二者区别的时候,我们先来谈谈网络中的共享和交换这两个概念。在此,我们打个比方,同样是10个车道的马路,如果没有给道路标清行车路线,那么车辆就只能在无序的状态下抢道或占道通行,容易发生交通堵塞和反向行驶的车辆对撞,使通行能力降低。为了避免上述情况的发生,就需要在道路上标清行车线,保证每一辆车各行其道、互不干扰。共享式网络就相当于前面所讲的无序状态,当数据和用户数量超出一定的限量时,就会造成碰撞冲突,使网络性能衰退。而交换式网络则避免了共享式网络的不足,交换技术的作用便是根据所传递信息包的目的地址,将每一信息包独立地从端口送至目的端口,避免了与其它端口发生碰撞,提高了网络的实际吞吐量。共享式以太网存在的主要问题是所有用户共享带宽,每个用户的实际可用带宽随网络用户数的增加而递减。这是因为当信息繁忙时,多个用户都可能同进“争用”一个信道,而一个通道在某一时刻只充许一个用户占用,所以大量的经常处于监测等待状态,致使信号在传送时产生抖动、停滞或失真,严重影响了网络的性能。集线器上是一个中继器,而中继器的主要功能是对接收到的信号进行整形再生放大,使被衰减的信号再生(恢复)到发送时的状态,以扩大网络的传输距离,而不具备信号的定向传送能力。交换式以太网中,交换机供给每个用户专用的信息通道,除非两个源端口企图将信息同时发往同一目的端口,否则各个源端口与各自的目的端口之间可同时进行通信而不发生冲突。交换机只是在工作方式上与集线器不同,其它的连接方式、速度选择等则与集线器基本相同。不久的将来,局域网中的交换机将逐取代集线器。

4.3 嗅探的实现

  • 基于Unix/Linux系统的LibPcap
  • 基于Windows系统的WinPcap

4.4 常见嗅探工具

  1. Wireshark
  2. Tcpdump

5 口令破解与防御

5.1 常用口令破解技术

  1. 暴力破解
  2. 字典攻击
  3. 组合攻击
  4. 社会工程学攻击

5.2 操作系统口令破解

5.2.1 Windows系统口令破解

  1. Pwdump
  2. L0phtcrack
  3. Cain
  4. Ophcrack

5.2.2 Linux系统口令破解

  1. John The Ripper
  2. Johnny

6 欺骗攻击与防御

6.1 欺骗攻击概述

所谓欺骗,是通过更改或伪装的方式使受害者把攻击者当做其他的人或者事物,并以此获取各种信息的攻击手段,简单的说就是一种通过冒充合法用户身份通过认证以骗取信任的攻击方式。

6.2 ARP欺骗

6.2.1 ARP欺骗属于中间人攻击,工具如下

  • Windows下的工具(Cain、NetFuke、Arp cheat and sniffer)
  • Linux下的工具(Ettercap)

6.2.2 ARP欺骗防御

  • 静态绑定
  • 使用ARP防火墙

6.3 IP欺骗

6.4 TCP会话劫持

6.4.1 TCP会话劫持工具

  • Juggernaut
  • TTYWatcher
  • Dsniff
  • Hunt

6.4.2 IP欺骗的防御

  1. 抛弃基于地址的信任策略
  2. 进行包过滤
  3. 使用加密方法
  4. 使用随机化的初始序列号

6.5 DNS欺骗

6.5.1 定义

DNS欺骗,又称DNS域名重定向或域名劫持,是通过拦截域名解析请求或篡改域名服务器上的数据,使得用户在访问相关域名时返回虚假IP地址或使用户的请求失败的攻击方式。

6.5.2 DNS欺骗的实现

工具

  • Ettercap

6.5.3 DNS欺骗的防御

  1. 使用最新版本的DNS服务器软件并安装最新补丁
  2. 限制DNS动态更新
  3. 限制区域传送
  4. 关闭DNS服务器的递归查询功能

6.6 电子邮件欺骗

6.7 Web欺骗

7 Web攻击与防御

7.1 Web安全概述

OWASP Top 10

7.2 同源策略

同源策略规定不同域的客户端脚本在没有明确授权的情况下,不能读写对方的资源。
同域策略是指两个站点具有相同的协议、域名和端口。

7.3 SQL注入攻击(SQL Injection)

7.3.1 SQL注入分类:

分类标准 包含类别
注入点数据类型 数字型注入、字符型注入
注入点位置 GET注入、POST注入、Cookie注入、HTTP头注入、搜索注入
注入方法 布尔型注入、报错型注入、延时注入、联合查询注入、多语句查询注入

7.3.2 SQL注入工具SQLMap

命令行参数 说明
-u 指定测试的URL地址(加单引号)
- -cookie 指定cookie的值(加单引号)
- -dbs 获取数据库信息
- -current-db 获取当前应用程序连接的数据库
-D 指定数据库
- -tables 获取数据库表的信息,一般结合-D参数获取指定数据库的表
-T 指定数据库表
- -columns 获取表字段的信息,一般结合-T参数获取指定表的字段名
-C 指定数据库表的列
-dump 转存数据库数据,可结合-D、-T、-C参数获取指定指定数据
-privileges 测试用户权限,–privileges -U -sa测试sa用户权限
- -os-cmd=”net user” 执行net user命令
- -os-shell 获取系统交互shell

sqlmap帮助1

sqlmap帮助2

7.3.3 SQL注入的防御

  • 对输入数据进行校验
  • 对输入数据进行编
  • 使用预编译语句
  • 配置安全的数据库管理系统

7.4 XSS攻击(Cross-Site Scripting)

7.4.1 跨站脚本攻击原理

跨站脚本攻击是指攻击者利用Web服务器中的应用程序或代码的漏洞,在网页中嵌入客户端脚本(通常是一段由JavaScript编写的恶意代码,较少情况下会有使用ActionScript、VBScript等脚本语言编写的恶意代码),当信任此Web服务器的用户访问Web站点中含有恶意脚本代码的页面或者打开收到的URL链接时,该用户的浏览器就会自动加载并执行该恶意代码,从而达到攻击目的。

7.4.2 反射型XSS

反射型XSS也被称为非持久性XSS,是最常见的一种XSS。XSS代码出现在URL请求中,当用户访问带有XSS代码的URL请求时,服务器端接收请求并处理,然后将带有XSS代码的数据返回给浏览器,浏览器解析该段带有XSS代码的数据并执行,整个过程就像一次反射,故称为反射型XSS。

反射型XSS

7.4.3 存储型XSS

存储型XSS又被称为持久性XSS。在存储型XSS中,XSS代码被存储到服务器端,因此允许用户存储数据到服务器端的Web应用程序都可能存在该类型XSS漏洞。攻击者提交一段XSS代码后,服务器接收并存储,当其他用户访问包含该XSS代码的页面时,XSS代码被浏览器解析并执行。

存储型XSS

7.4.4 DOM型XSS

DOM(Document Object Model)指文档对象模型。DOM常用来表示在HTML和XML中的对象。DOM可以允许程序动态的访问和更新文档的内容、结构等。也就是说,我们通过JavaScript代码控制DOM节点,就可以不经过服务器端的参与重构HTML页面。
因此,DOM XSS与前面两种XSS的区别就在于该种类型的XSS攻击的代码不需要与服务器端进行交互,触发XSS是基于浏览器对DOM数据的解析来完成的,也就完全是客户端的事情。

DOM型XSS

7.5 CSRF攻击(Cross-Site Request Forgery)

跨站请求伪造

7.6 SSRF攻击(Server-Side Request Forgery,SSRF)

服务端请求伪造

7.7 文件上传漏洞

7.8 命令执行漏洞

7.9 XXE漏洞(XML External Entity injection)

XML外部实体注入漏洞

8 缓冲区溢出攻击与防御

8.1 一个可执行文件根据文件格式被分成若干个数据节,不同的资源被放在不同的节中,各个数据节存放的数据类型大致如下:

  • 代码段(.text):也称文本段,由编译器产生,存放程序的二进制机器代码和只读数据,比如程序的可执行指令;
  • 已初始化的数据段(.data):存放全局和静态的已初始化变量;
  • 未初始化的数据段(.bss):存放全局和静态的未初始化变量;
  • 堆(heap):用来存储程序执行时的变量;
  • 栈(stack):用来存储函数调用时的临时信息的数据结构。

注:堆栈的内存地址增长方向(堆向着内存地址增加的方向增长;栈向着内存地址降低的方向增长)

变量在内存的存放区域

8.2 缓冲区溢出

  • 栈溢出
  • 格式化字符串溢出
  • 整数溢出
  • 堆溢出

8.3 缓冲区溢出攻击的防御

  1. 在系统管理上的防范策略
    (1)关闭不需要的特权程序
    (2)及时给程序漏洞打补丁
  2. 在软件开发过程中的防范策略
    (1)编写正确的代码
    (2)缓冲区不可执行
    (3)改进C语言函数库
    (4)数组边界检测
    (5)程序指针完整性检查

9 恶意代码防护技术

10 拒绝服务攻击与防御

10.1 拒绝服务攻击的定义

拒绝服务DoS(Denial of Service)是一种典型的破坏性攻击,它不以获得系统访问权限为目的。其通常利用传输协议弱点、系统漏洞、服务漏洞对目标系统发起大规模进攻,用超出目标处理能力的海量数据包消耗可用系统资源、带宽资源等,或造成程序缓冲区溢出错误,致使其无法处理合法用户的请求,无法提供正常服务,最终致使网络服务瘫痪,甚至系统死机。

10.2 拒绝服务攻击的分类

  1. 资源消耗(可以消耗的资源包括目标系统的网络带宽、CPU资源、内存资源和存储资源等)
  2. 系统或应用程序缺陷(Ping致死、Land攻击、smurf攻击、IP分片攻击、UDP泛洪、SYN泛洪、ACK泛洪)
  3. 配置修改(修改系统的运行配置,导致网络系统不能正常提供服务)

10.3 分布式拒绝服务攻击DDoS

DDoS攻击程序一般由3个分布组成:客户端、服务端和守护程序。
这些程序可以完成对分散在各地的计算机的协调工作并完成对目标系统的攻击。

10.4 DoS/DDoS攻击的检测与防御

10.4.1 检测

  1. 出现大量的DNS PTR查询请求
  2. 超出网络正常工作时的极限通讯流量
  3. 特大型的ICMP和UDP数据包
  4. 不属于正常连接通讯的TCP和UDP数据包
  5. 数据段内容只包含文字和数字字符(例如,没有空格、标点和控制字符)

10.4.2 防御

  1. 进行合理的带宽限制
  2. 运行尽可能少的服务,只允许必要的通信
  3. 及时安装系统补丁
  4. 封锁恶意IP地址
  5. 增强系统用户的安全意识,避免成为傀儡主机
  6. 建立健全的DoS/DDoS攻击的应急响应机制

11 身份鉴别与认证

11.1 身份鉴别与认证概述

身份认证分为单向认证和双向认证。

11.2 认证鉴别机制

11.2.1 基于口令的认证

11.2.1.1 基于单向哈希函数

单纯的进行哈希函数运算不能抵抗重放攻击,当前主流做法是结合挑战/响应(Challenge/Response机制)。认证机制为:客户端计算该口令的哈希函数值后保存并删除明文口令值,然后向认证服务器提出认证请求。认证服务器收到请求后通过伪随机数生成器产生一个随机数并将其作为挑战发给客户端。客户端使用口令的哈希值作为密钥,并通过指定的加密算法对挑战进行加密,得到密文作为应答发送给认证服务器。认证服务器读取初始化过程中存储的口令哈希值,并通过同样的密码算法对应答进行解密得到挑战。如果解密得到的挑战与开始产生的挑战相同,则认证通过,否则认证失败。

基于哈希函数和挑战/响应的身份认证过程

口令修改过程:首先输入旧口令,系统计算旧口令的哈希函数值。然后要求用户输入新口令,当用户输入新口令后,系统计算新口令的哈希函数值,并以旧口令的哈希函数值作为秘钥,使用认证过程相同的加密算法加密新口令的哈希函数值,得到的结果通过公共信道传输给认证服务器。认证服务器从数据库中读取旧口令的哈希值并用其作为秘钥解密得到新口令的哈希值。

基于挑战/响应的认证机制的口令修改过程

单纯的进行哈希函数运算不能抵抗重放攻击,通过挑战/响应机制可以抵抗重放攻击

11.2.1.2 加盐口令

攻击者获得存储口令单向哈希值的文件,字典攻击有效,但是加盐(盐就是一个随机字符串)可使字典攻击更加困难。
盐(Salt)只能防止对整个口令文件采用的字典攻击,不能防止对单个口令的字典攻击,此方法也不能抵抗重放攻击。

11.2.1.3 SKEY机制

随机数为R,x(1)=f(R),x(2)=f(x(1)),x(3)=f(x(2)),…,x(n+1)=f(x(n))

11.2.1.4 EKE协议

在EKE协议中,两个用户执行Diffie-Hellman秘钥交换协议的加密版本,该协议可以抵抗字典攻击。

11.2.2 基于密码学的认证

11.2.3 基于生物特征的认证

11.3 典型认证技术

11.3.1 Kerberos认证协议

11.3.2 公钥基础设施PKI

12 访问控制

12.1 访问控制的基本概念

访问控制(Access Control)就是在身份认证的基础上,依据授权对提出的资源访问请求加以控制。

12.2 访问控制矩阵

主体、客体、访问权限

12.3 典型的访问控制策略模型

  1. 自主访问控制(Discretionary Access Control,DAC)
  2. 强制访问控制(Mandatory Access Conntrol,MAC)
  3. 基于角色的访问控制(Role-Based Access Control,RBAC)
  4. 基于属性的访问控制(Attribute-Based Access Control,ABAC)

12.4 计算机安全形式化模型与多级安全

12.4.1 Bell-Lapadula模型

不上读,不下写

12.4.2 Biba模型

不下读,不上写

12.4.3 多级安全

公开、受限、秘密、机密、绝密

13 防火墙

13.1 防火墙概述

13.1.1 防火墙的概念与功能

防火墙(Firewall)是一种用来加强网络之间访问控制的特殊网络设备,是一种位于内部网络与外部网络之间的网络安全系统。

防火墙的功能

  1. 包过滤
  2. 审计和报警机制
  3. NAT(网络地址转换)
  4. Proxy(代理)
  5. 流量控制(带宽控制)和统计分析、流量计费
  6. 上网行为管理

13.1.2 防火墙的基本策略

  • 拒绝除明确许可以外的任何一种服务
  • 允许除明确拒绝以外的任何一种服务

13.2 防火墙的分类

  • 包过滤防火墙/包过滤路由器
  • 代理技术
  • 网络地址转换技术

常见的网络服务和使用的端口

端口号 端口服务名称 端口说明
20 ftp-data FTP数据
21 ftp FTP控制
22 ssh 安全Shell(SSH)服务
23 telnet Telnet服务
25 smtp 简单邮件传输协议(SMTP)
53 dns 域名服务(如BIND)
69 tftp 小文件传输协议(TFTP)
70 gopher Gopher互联网文档搜寻和检索
80 http 用于万维网(WWW)服务的超文本传输协议(HTTP)
110 pop3 收emailyong
137 netbios-ns 在红帽企业Linux中被Samba使用的NET BIOS名称服务
138 netbios-dgm 在红帽企业Linux中被Samba使用的NET BIOS数据报服务
139 netbios-ssn 在红帽企业Linux中被Samba使用的NET BIOS会话服务
143 imap 互联网消息存取协议(IMAP)
161 snmp 简单网络管理协议(SNMP)
162 snmptrap SNMP的陷阱
179 bgp 边界网络协议
389 ldap 轻型目录存取协议(LDAP)
443 https 安全超文本传输协议(HTTP)
520 rip 路由信息协议(RIP)
546 dhcpv6-client 动态主机配置协议(DHCP)版本6客户
547 dhcpv6-server 动态主机配置协议(DHCP)版本6服务
1701 l2tp [l2f] 第2层隧道服务(LT2P)/第2层转发(L2F)
3306 mysql MySQL数据库服务
3389 rdp 远程桌面协议(终端服务RDP)
5432 PostgreSQL PostgreSQL数据库服务

13.3 防火墙的配置方案

  • 屏蔽路由器
  • 双宿主机
  • 屏蔽主机
  • 屏蔽子网

14 入侵检测与入侵防御

14.1 入侵检测的基本概念

入侵检测系统(Intrusion Detection System,IDS)通过从计算机网络或计算机系统的关键点收集信息并进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象并且对其做出反应。有些反应是自动的,它包括通知网络安全管理员(通过控制台、电子邮件),终止入侵进程、关闭系统、断开与互联网的连接,使该用户无效,或者执行一个准备好的命令等。

14.2 入侵检测系统分类

  • 基于主机的入侵检测系统(HIDS)
  • 基于网络的入侵检测系统(NIDS)
  • 分布式入侵检测系统

14.3 入侵检测技术

14.3.1 异常检测技术

14.3.2 特征检测技术

  1. URL编码
  2. 斜线问题
  3. 命令问题
  4. 增加目录
  5. 不规则方式
  6. 虚假的请求结束
  7. 长URL
  8. 会话组合
  9. 大小写敏感

14.4 入侵防御系统

  • 基于主机的入侵防御系统(HIPS)
  • 基于网络的入侵防御系统(NIPS)
  • 应用入侵防御系统(AIPS)

15 虚拟专用网

15.1 虚拟专用网概述

虚拟专用网(Virtual Private Network,VPN)指的是在公用网络上利用加密与访问控制建立专用网络的技术。

15.2 VPN的分类

  • 远程访问VPN
  • 网关-网关VPN

15.3 典型的虚拟专用网技术

15.3.1 第二层隧道协议

  • 点到点隧道协议(Point to Point Tunneling Protocol,PPTP)
  • 第二层隧道协议(Layer Two Tunneling Protocal,L2TP)
  • 第二层转发协议(Layer 2 Forwaring,L2F)

15.3.2 第三层隧道协议

  • IP安全(Internet Protocal Security,IPSec)

15.3.3 第四层隧道协议

  • 安全套接字(Secure Sockets Layer,SSL)
  • 传输层安全(Transport Layer Security,TLS)

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,可以邮件至 xingshuaikun@163.com。

×

喜欢就点赞,疼爱就打赏