20199132-《网络攻防实践》第六周作业

1.实践内容

1.1安全模型

  • PDR模型是一个基于时间的动态安全模型。并提出安全性可量化和可计算的观点。
  • P2DR模型基本描述为:网络安全=制定安全策略+执行安全防护策略+实时检测+实时响应。

网络安全防范技术与系统

  • 防火墙技术:通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
  • 防火墙功能:在网络协议栈的各个层次上实施网络访问控制机制。可以提供检查控制进出网络的网络流量,防止脆弱或不安全的协议和服务,防止内部网络信息的外泄,对网络存取和访问进行监控审计,防火墙可以强化网络安全策略并集成其他安全防御机制。
  • 防火墙的不足:无法防止网络内部的安全威胁,非法外联的网络攻击,计算机病毒传播。
  • 针对防火墙的漏洞的攻击:开放服务安全漏洞的渗透攻击,针对网络客户端程序的渗透攻击,基于隐蔽通道进行通信的特洛伊木马或僵尸网络。

防火墙技术和产品

  • 包过滤技术:通过对网络层和传输层包头信息的检查,根据用户定义的安全策略规则集,确定是否应该转发该数据包,将一些不符合安全策略的数据包阻挡在网络的边界处(简单但检查内容较少)

  • 基于状态监测的包过滤技术:出了检查每个独立的数据包之外,还会试图跟踪数除了在网络链接上的上下文关系,并以网络链接状态作为一个附加的匹配标准,以确定是否允许和拒绝通信。(强大规则设置简单,但复杂度高,对网络传输性能影响较大,并可能受到拒绝服务攻击的影响)

  • 代理技术(proxy):允许客户端通过它与另一个网络服务进行非直接的链接。代理技术有利于保障网络安全,防止网络攻击,包括应用层代理、电路级代理和NAT代理。

防火墙的部署

  • 包过滤路由器:带有包过滤防火墙功能的路由器
  • 双宿主堡垒主机:应用代理网关作为双宿主堡垒主机
  • 屏蔽主机:堡垒主机和包过滤的结合
  • 屏蔽子网:在屏蔽主机的基础上增加第二道包过滤路由器

1.2.Linux开源防火墙netfilter/iptables介绍

  • 简介:netfilter是Linux内核中实现网络的防火墙功能模块,iptables则是应用太防火墙管理工具。

  • netfilter/iptables中包含三个最基本的规则表:用于包过滤处理的filter表、用于网络地址转换处理的nat表,以及用于特殊目的数据包修改的mangle表。

  • 链:链是顺序执行规则的编排方式,在复杂的网络环境中,管理员需求这种可控的、有序执行的规则应用方式。iptables 提供了5条链:INPUT链、OUTPUT链、FORWARD链、路由前链(Pre-Routing)、路由后链(Post-Routing)。

  • Iptables为用户提供了netfilter规则的命令行接口,其命令语法为:

$ iptables [-t table] command [match] [target]

-t指定配置规则所在的表,缺省表包括filter、nat、mangle、raw等

命令 功能
-A或--append 将一条规则附加到链末尾
-D或--delete 匹配指定规则编号并删除
-P或--policy 设置链的缺省目标操作
-N或--new-chain 指定名称创建一个新链
-F或--flush 快速清除
-L或--list 列出指定链的所有规则

1.3网络检测技术与系统

  • 1.入侵检测技术
    • 评估指标:检测率(系统捕获到的攻击行为与全部攻击行为比值)和误报率(对正常行为的误报数与全部报警数的比值)。
    • 技术类型:特征检测(匹配特征库)、异常检测(检测与正常用户在统计方面的差别)。二者通常结合使用,提高入侵检测系统的整体检测性能。同时,基于这两种技术,也可以对入侵检测系统进行分类。
    • 入侵防御系统:也叫内嵌式入侵检测,即对检测到的异常行为或者与特征库匹配的行为直接进行阻断,断开访问。
  • 2.snort软件
    • 简介:开源网络入侵检测系统软件,具备数据包嗅探、数据包分析与记录等多种功能。
    • snort的模块:数据包嗅探/解码器、预处理器模块、检测引擎模块、输出模块。

2.实践过程

实践一:防火墙的配置

任务一:配置Linux平台上的iptables,完成如下功能并测试

(1)过滤ICMP数据包,使主机不接受ping包
(2)只允许特定IP地址访问主机的某一网络服务,而其他IP地址无法访问
这里选用SEED-Ubuntu(简称seed)为服务器,kali为信任主机,MetaSploitable(简称meta)作为不可信任主机,用kali访问seed,联网后记录三台机器的IP地址为:

主机 IP
seed 192.168.31.53
kali 192.168.31.188
meta 192.168.31.111

1.过滤ICMP包
(1). 在seed是上使用命令

iptables -L

发现均采用默认规则
(2). 通过指令

iptables -A INPUT -p icmp -j DROP

指令使得主机不接受icmp的数据包。指令详解:-A是追加一条规则,INPUT表示数据包入口(规则),-p用于匹配协议,-j用于指定如何处理(ACTION)。
(3).然后通过kalipingseed时失败,回到SEED再次查看规则,可看到一条icmp针对任何位置不允许访问的规则

(4).使用

iptables -F

删除自定义规则,为下个实践做准备。

任务二:只允许特定IP地址访问主机的某一网络服务,而其他IP地址无法访问

(1).确认kali和meta进行telnet登录seed

(2).接下来使用

iptebles -P INPUT DROP

指令拒绝一切的数据包流入(修改的是默认规则-p),此时应该两台电脑都无法访问
(3).使用指令

iptables -A INPUT -P tcp -s 192.168.31.188 -j ACCEPT

开启kali对seed的tcp服务,并用iptables -L查看规则

(4).再用telnet命令访问seed,发现只有kali可以 访问。

实践二:snort实践

(1).使用

snort -r /home/kali/listen.pacp -c /etc/snort/snort.conf -K ascii

对listen.pacp进行入侵检测,其中-K ascii主要是为了指定输出log文件的编码为ASCII,然后得到对于数据包的检测

(2).查看输出的包,可以发现TCP数据包占据绝大多数。

(3).在 /var/log/snort/ 目录下可以查找到alert文件,这个文件即输出的日志文件。

通过vim打开可以发现这个攻击是nmap发起.

3.遇到的问题

4.感想

猜你喜欢

转载自www.cnblogs.com/wby1116/p/12658658.html
今日推荐