网络安全第七章
作者:用户tznpaynnl5 | 来源:互联网 | 2023-01-22 16:36
第七章防火墙基本原理本章目标防火墙体系及功能路由器实现包过滤防火墙ACL
第七章 防火墙基本原理
本章目标
防火墙体系及功能
路由器实现包过滤防火墙
ACL的使用方法
掌握特殊ACL的使用
典型的路由器安全策略实施
防火墙位于路由器与内网之间:分为:包过滤防火墙,代理防火墙,应用网关防火墙,状态检测防火墙。
防火墙功能:
内外网段隔离。
双向地址转换(NAT)
截取IP包,根据安全策略控制其退出。
基于一次性口令对移动访问用户进行身份识别和控制。
IPMAC捆绑,防止IP地址的滥用。
安全记录
通信事件记录
操作事件记录
违规事件记录
异常情况报告
防火墙的安装:1.使用路由器来完成连网情况。之后放置防火墙。将网络分为三个部分,内部专用网(可信度高,内部数据库服务器,文件服务器,),DMZ区(放置WWW服务器,Email服务器,DNS服务器),外部网络。
单点故障:当防火墙出现故障时,内部网络与外部便完全不能用。在些我们可以给防火墙做双机热备份。
防火墙的配置:
安全公理,常识:
公理:所有的程序都有缺陷(摩 菲定理)
大程序定理:大程序的缺陷甚至比它的内容还多。
一个安全性相关程序有安全性缺陷。
只要不运行这个程序,那么这个程序有缺陷也无所谓。
对外暴露的计算机,应尽可能的少的运行程序,且运行的程序也要尽可能的小。
防火墙基本法则:防火墙必须配置的尽可能小,才能降低风险。
如果一个Linux系统要做WEB服务器,只开两个端口,一个80,一个22(允许远程配置),端口开的越少,被攻击的可能性也越小。
包过滤防火墙
基本思想:对于每个进来的包,运用一组规则,决定转发或者丢弃该包。
往往配置成双向的。
如何过滤:过滤的规则以IP和传输层的头中的域为基础,包括源和目标IP,IP协议域,源和目标端口号。
基于IPS的防火墙:没有独立的硬件设备,在路由器上配置。
包过滤防火墙的优缺点:
没有考虑连接状态信息。
在网络层上检测。
通常在路由器上实现。
方便,效率高。
正确规则并不容易。
不可能引入认证机制。
路由器实现包过滤防火墙:
路由器的访问控制列表是网络安全保障的第一道关卡。
访问列表提供了一种机制,它可以控制和过滤通过路由器的不同接口去往不同地方的的信息流。
ACL概述
访问控制列表ACL:应用在路由器接口的指令列表。
可以限制网络流量,提高网络性能。
提供网络访问的的基本安全手段。
ACL默认为拒绝。
ACL配置:
第一步,。创建Router(config)#access-list access-list-number permit|deny test conditions
第二步将ACL绑定到指定接口上。
Router(config-if)# (protocol) access-group access-list-number in|out
标准ACL的配置
access-list access-list-number permit|deny source{mask反码}
标准ACL的access-list-number的取值为1-99
扩展ACL的配置:
access-list access-list-number permit|deny protocol source source-wildcard port destination destination-wildcard
建议:在靠近源地址的接口上配置扩展ACL
在靠近目标地址的接口上配置标准ACL
查看接口上的ACL配置:
show ip interface e0
VTY 控制示例,只能用标准列表。控制某些用户使用telnet登陆路由器。
access-list 12 permit 192.56.82.0 0.0.0.255
line vty 0 4
access-class 12 in
一个常用的访问控制列表示例:
conf t
`ip access-list extented wan2lan
permit tcp any any eq 20 21 22 25 53 80 110 143 554 1755(最多写10个端口)
permit tcp any any eq 7070
permit udp any any eq
permit udp any any eq 7070
exit
我们采用如图所示的网络结构,路由器连接了两个网段,分别为172.16.4.0/24,172.16.3.0/24,在172.16.4.0/24网段中有一台服务器提供FTP服务,IP地址为172.16.4.13.
配置:拒绝172.16.3.0的用户在周末访问FTP,只允许在工作日访问FTP。
命令如下:
time-range softer 定义时间段名称
periodic weekend 00:00 to 23:59 定义具体时间
access-list 101 deny tcp any 172.16.4.13 0.0.0.0 eq ftp time-range softer 应用
access-list 101 permit any any
int e1
ip access-group 101
典型的路由器安全策略实施:
蠕虫病毒的攻击一般针对协议的端口号。在配置ACL访问控制列表上将该类端口号关闭。
如:针对Blaster蠕虫病毒的扫描和攻击:1433,135.139.445.593
以及对抗冲击波病毒及其它的病毒。一条一条的写出他们的端口号。
防火墙访问控制列表ACL配置
首先完成基本的配置。在路由器上:
enable
conf t
no ip domain-lookup
int fa2/0
ip addresss
no shut
int s1/0
ip address
no shut
exit
router rip
ver 2
network
network
end
show ip route
下面创建访问控制列表
conf t
ip access-list extended lan2wan
permit tcp host 192.169.0.1 eq 80 host 192.168.0.2
53,21,20,23,25,554,7070,1755
第八章 NAT地址转换
本章目标
路由器上ACL与NAT的组合实现
路由器上实现静态SNAT
路由器上实现动态SNAT
路由器上实现动态SNAT超载
路由器上实现PAT
路由器上以NAT实现TCP负载均衡
作用:节省IP地址,隐藏网络的真实结构。
下面在实验当中来掌握具体的配置任务:
网络结构:
Server---------(fa2/0)R6(s1/2)---------(s1/5)R7(fa2/0)-------Client
===============================================
基本配置如下
R6:
enable
conf t
host R6
no ip domain-lookup
int fa2/0
ip addr 61.0.0.100 255.255.255.0
no shut
int s1/2
ip addr 211.0.0.2 255.255.255.0
no shut
exit
router rip
version 2
network 61.0.0.0
network 211.0.0.0
end
show ip route
================================================
R7:
enable
conf t
host R7
no ip domain-lookup
int fa2/0
ip addr 192.168.0.100 255.255.255.0
no shut
int s1/5
ip addr 211.0.0.1 255.255.255.0
no shut
exit
router rip
version 2
network 211.0.0.0
end
show ip route
================================================
任务1:静态SNAT配置
conf t
ip nat inside source static 192.168.0.211 211.0.0.211
ip nat inside source static 192.168.0.212 211.0.0.212
ip nat inside source static 192.168.0.213 211.0.0.213
interface fa2/0
ip nat inside
interface Serial 1/5
ip nat outside
end
show ip nat translations
---------------------------------------
任务2:动态SNAT配置
CONF T
access-list 11 permit 192.168.0.0 0.0.0.255
ip nat pool TT 211.0.0.101 211.0.0.150 netmask 255.255.255.0
ip nat inside source list 11 pool TT
interface fa2/0
ip nat inside
interface Serial 1/5
ip nat outside
end
show ip nat translation
------------------------------------
任务3:SNAT超载配置(多个内网IP可以共享一个IP)
CONF T
access-list 11 permit 192.168.0.0 0.0.0.255
ip nat pool TT 211.0.0.101 211.0.0.150 netmask 255.255.255.0
ip nat inside source list 11 pool TT overload
interface fa2/0
ip nat inside
interface Serial 1/5
ip nat outside
end
show ip nat translations
------------------------------------
任务4:PAT配置(基于端口的地址转换,所有内网IP对应于端口一个IP地址)
CONF T
access-list 11 permit 192.168.0.0 0.0.0.255
ip nat pool TT 211.0.0.1 211.0.0.1 netmask 255.255.255.0
ip nat inside source list 11 pool TT overload
interface fa2/0
ip nat inside
interface Serial 1/5
ip nat outside
end
show ip nat translations
----------------------------------------------
任务5:TCP负载均衡配置 R6
conf t
access-list 22 permit host 61.0.0.61(虚拟服务器地址)
ip nat pool real-srv 61.0.0.201 61.0.0.203(真实地址) prefix-length 24 type rotary(循环调用)
ip nat inside destination list 22 pool real-srv
interface serial 1/2
ip nat outside
interface fa2/0
ip nat inside
end
show ip nat translations
第九章应用层网关防火墙ISA简介
访问控制列表是所有防火墙的基础,所以必须玩转访问控制列表以及NAT。
企业安全需求简介:
默认拒绝策略,防止意外的网络攻击。
只允许内网用户在上班时间访问Internet上知名的www/ftp/mail/流媒体/dns/telnet/ssh服务
拒绝显示www.sina.com上的图片
拒绝用户从www.newhua.com上下载文件
允许员工在下班后使用QQ,MSN,ICQ等及时通讯工具。
对于上面的需要包过滤防火墙无法实现。因为包过滤最多检测到端口。
应用层网关防火墙可以过滤到应用层。
应用层网关:也称为代理服务器,特点:所有的连接都通过防火墙,防火墙作为网关。在应用层上实现,可以监视包的内容,可以实现基于用户的认证,所有的应用需要单独实现,可以提供理想的日志功能。非常安全,但是开销大。
应用层网关防火墙大多数是通过软件实现的,其中做的好的一个是微软的ISA
ISA在企业中的应用:ISA将内网用户分为三部分:WEB代理客户机,防火墙客户机,安全NAT客户机。
其中最安全的为WEB代理客户机,不用填写DNS和网关,只需要 IP和子网,只能浏览网页,不可以登QQ,玩游戏等,适合于企业的财务处。
ISA企业版最大的用处在于阵列。。标准版不支持。
配置ISA访问策略实现安全访问Internet
在ISA中有三个常用的名词:
协议要素,规则,访问策略。
这三者之间的关系是协议要素组成规则,规则组成访问策略。
网络拓朴图:
www服务器(172.100.100.100)--路由器---(172.100.20.151)防火墙(ISA 2004企业版)(172.16.20.151)----客户机(172.16.20.152)
首先将客户机修改为172.100网段,然后访问WWW服务器,测试连通性。
下来,将客户机地址改为内网地址:172.16.20.152
装完防火墙后,用它来ping外部网络和内网,均可以ping通,但是用内网ping防火墙,却ping不同。这是由于防火墙自身安全考虑。
配置ISA:首先先新添加一条规则允许防火墙访问外部服务器网络。
然后依次开通内网访问外网的服务。
配置在下班后可以上QQ等即时工具。
在客户端不配置网关,但是一定要在IE上配置代理服务器。
第十章 Linux IPTables防火墙原理与基本测试
如果在不希望购买商业产品的情况下,还要构建出一个效率稳定的防火墙,只要工程师技术好。你完全可以拿一台计算机装上Linux,然后配一个相当好的防火墙。熟悉Linux内核。
Netfilter/Iptables防火墙的体系结构
Netfilter是Linux内核中一个包过滤模块。
共包括四张表:raw表,mangle表(修改数据包,以实现服务质量),nat表(专门做地址转换),filter表(专门用来做包过滤的)。
每张表是由若干个链组成的。filter表中有三个链,input ,output,forward。链是由规则组成的。
nat表中也有三个链,prerouting目标地址转换,postrouting源地址转换,output
raw表提供了一些高级功能,比如网址的过滤。
数据包过滤匹配流程:
表间的优先顺序:raw>mangle,nat,filter
链间的匹配顺序:
入站数据:prerouting,input目标地址防火墙
出站数据:output,postrouting源地址防火墙
转发数据:prerouting,forward,postrouting目标地址和源地址都不是防火墙
链内的匹配顺序:
从上到下依次匹配,找到相匹配的规则就停止。
找不到相匹配的规则,则默认处理。默认策略为允许。
管理和设备iptables规则
iptables规则的命令格式:iptables 【-t 表名】管理选项 【链名】 【条件匹配】【-j目标动作或跳转】
表的名字为小字,链名为大写。严格区分大小写。
不指定表目时,默认为filter
不指定链名时,默认为所有链。
除非设置缺省策略,否则需要指定匹配条件。
管理选项中的内容:-A添加规则,-D删除规则,-L显示规则,-F清空规则。-I插入规则 。-P修改默认策略。-N新建一个链。-X删除一个链
如:iptables -t filter -L -n显示其中的内容。-n表示以数字格式。
iptables -t nat -L -n
先配置防火墙让内网的客户机访问外网的服务器:
启动路由功能的命令:echo 1 > /proc/sys/net/ipv4/ip_forward这个文件控制路由功能。但是临时的。只要重启默认关闭。还可以编辑配置文件。
iptables -t nat -A POSTROUTING -s 192.168.222.0/24 -o etho -j SNA --to-source 222.222.111.1
在DOS中输入:netstat -an查看所有的端口
接下来发布内网服务器:使得外网的机器可以访问到内网的WEB地址。配置DNAT
iptables -t nat -A PREROUTING -p tcp -d 222.222.101.1 --dport 80 -i eth0 -j DNAT --to-destination 192.168.222.103
动态地址转换的命令:
iptables -t nat -A POSTROUTING -s 192.168.222.0/24 -o ppp0 -j MASQUERADE
删除第二条规则命令:
iptables -t nat -D POSTROUTING 2
修改默认策略的命令:
iptables -t filter -P FORWARD DROP
iptables -t filter -P INPUT DROP
iptables -t filter -p
OUTPUT DROP
允许一些服务的开启:
iptables -t filter -A FORWARD -s 192.168.0.1/24 -o etho -p tcp --dport 53 -j accept(DNS)
iptables -t filter -A FORWARD -s 172.168.0.1/24 -o etho -p udp --dport 53 -j accept(DNS)
但是开了以后DNS服务器不通。-i表示入口,-o表示出口
iptables -t filter -A FORWARD -i etho -p tcp --sport 53 -j accept
iptables -t filter -A FORWARD -i eth0 -p udp --sport 53 -j accept
开启WWW服务
iptables -t filter -A FORWARD -s 192.168.0.1/24 -O eth0 -p tcp --dport 80 -j accept
iptables -t filter -A FORWARD -i eth0 -p tcp --sport 80 -j accept
开流媒体服务:mms协议 554端口
Linux Iptables防火墙脚本基本
用一个记事本把所有的命令写下来。改和查看都要方便的多了。
所有的Linux脚本的第一行都是#!/bin/bash 所在的SHELL环境
除第一行外,其它以#号开头的为注释。
Linux shell脚本编程基础
shell是人机接口,可以接收用户的命令然后送到系统内核去执行,。
登陆SHELL,指每次用户登陆系统后自动加载的SHELL,默认为/bin/bash
/etc/shells记录了系统支持的有效登陆Shell。
shell主要使用C和C++,但是不会C也看的懂。
如何切换SHELL程序:临时切换:直接执行其他的SHELL程序,例如ksh,zsh.
更改用户登陆SHELL:修改文件:/etc/password文件中用户的最后一个字段
SHELL变量的种类:
用户变量,
环境变量:由系统维护。
预定义变量:Bash预定义的变量,不能够更改。
位置变量:通过命令给程序传递参数。
变量的赋值与应用:
定义新的变量名:变量名要以英文字母或下划线开头,区分大小写。格式:变量名=变量值。
查看变量的值:echo $变量名
从键盘输入内容为变量赋值:read [-p "信息“] 变量名
以后有兴趣学。
硬件防火墙
硬件防火墙是目前相当成熟的一种产品。
本章目标
了解防火墙的分类,常见品牌,参数
了解CISCO防火墙产品系列
会对ASA安全设备进行基本配置,初始化,路由,远程管理,NAT,ACL。
会配置ASA的高级应用:UrL过滤,日志管理。
CISCO的思科的防火墙如何来配置
防火墙可以直接与Internet连接,也可以之间放置一个路由器,用路由器与其连接。
ASA配置过程:
配置主机名,域名
配置接口
配置路由
配置远程管理接入
配置NAT
配置ACL
配置主机名:
ciscoasa(config)#hostname asaaaaa
配置域 名;
domain-name
配置密码:
enable password aaaa
配置远程登陆密码:
passwd aaaa
配置接口名字与安全级别:
ASA5500(config-if)#nameif name
配置接口的安全级别:
ASA5500(config-if)#security-level number
Inside为100
Ouside为0
Inside 配置实例如下:
int E0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
no shutdown
exit
ASA配置静态路由的命令:
router interface-name network mask next-hop-address
router outside 0.0.0.0 0.0.0.0 210.10.10.1
配置远程管理接入功能:
ASA(config)#telnet network|address mask interface-name
telnet 192.168.201.0 255.255.255.0 inside
也可以配置只允许从一台主机接入
telnet 192.168.201.101 255.255.255.255 inside
配置空闲超时时间
telnet timeout
其他的详细配置等要用的时候再看。
推荐阅读
端口转发(Port Forwarding)类似于服务重定向,许多路由器中也称其为虚拟服务器(Virtual Server)。通过合理配置端口转发,可以实现外部网络对内部网络中特定设备和服务的高效访问,从而提高通信效率和灵活性。此外,正确设置端口转发还能增强网络安全,确保只有授权的流量能够进入内网,有效防止未授权访问和潜在威胁。 ...
[详细]
蜡笔小新 2024-10-24 14:06:09
在前文对Godis v1.0版本的基础功能进行了详细介绍后,本文将重点探讨如何实现客户端与服务器之间的交互机制。通过具体代码实现,使客户端与服务器能够顺利通信,赋予项目实际运行的能力。本文将详细解析Go语言在实现这一过程中的关键技术和实现细节,帮助读者深入了解Redis客户端与服务器的交互原理。 ...
[详细]
蜡笔小新 2024-10-30 18:27:00
SQL Server 2008 默认使用1433端口进行通信,但有时会误认为是5432端口,后者实际上已被IANA(互联网号码分配机构)指定为PostgreSQL的默认端口。本文详细解析了SQL Server 2008的端口配置,并提供了增强安全性的配置建议,包括更改默认端口、启用防火墙规则和实施严格的访问控制策略,以减少潜在的安全风险。 ...
[详细]
蜡笔小新 2024-10-29 09:26:10
博主通常比较偏爱前端工具,而开发者和设计师则比较关注对站点的处理——他们必须从后端确保那个站点的脚本可以正常运行。有时,出现问题之后很难发现。通常 ...
[详细]
蜡笔小新 2024-10-23 16:41:11
——pun的配置,以及实现头盔以及两个手柄的同步。下载完pun并导入后如图所示有这些东西,pun的介绍还是很清楚的,有很多demo可以学习,而且文档自带。很容易上手。首先,就是服务器的配置了。 ...
[详细]
蜡笔小新 2024-10-22 18:35:34
下文给大家带来LVS-DR数据包流向分析介绍,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍, ...
[详细]
蜡笔小新 2024-10-21 20:17:54
本文详细介绍了如何在 Grafana 中独立于 Alertmanager 配置邮件和微信告警。具体步骤包括配置 SMTP 服务器以实现邮件告警,以及设置微信告警的集成方式。通过这些配置,用户可以更灵活地管理和接收来自 Grafana 的告警通知,确保及时响应系统异常。文章还提供了详细的配置示例和常见问题的解决方案,帮助用户顺利完成设置。 ...
[详细]
蜡笔小新 2024-10-31 22:55:34
深入解析Tomcat:开发者的实用指南 ...
[详细]
蜡笔小新 2024-10-31 09:46:02
从用户转变为开发者,不仅是一次角色的转换,更是一场深刻的思维升级之旅。本次专访中,StarRocks Committer 周威分享了他如何在这一过程中逐步提升技术能力与思维方式,为开源社区贡献自己的力量。 ...
[详细]
蜡笔小新 2024-10-31 09:21:44
本文详细解析了Jedis接口的分类及其应用指南,重点介绍了字符串数据类型(String)的接口功能。作为Redis中最基本的数据存储形式,字符串类型支持多种操作,如设置、获取和更新键值对等,适用于广泛的应用场景。 ...
[详细]
蜡笔小新 2024-10-30 14:33:16
零拷贝技术(Zero-copy)是Netty框架中的一个关键特性,其核心在于减少数据在操作系统内核与用户空间之间的传输次数。通过避免不必要的内存复制操作,零拷贝显著提高了数据传输的效率和性能。本文将深入探讨零拷贝的工作原理及其在实际应用中的优势,包括降低CPU负载、减少内存带宽消耗以及提高系统吞吐量等方面。 ...
[详细]
蜡笔小新 2024-10-30 12:14:45
本文深入探讨了RKHunter与AIDE在入侵检测领域的应用及其独特优势。通过对比分析,详细阐述了这两种工具在系统完整性验证、恶意软件检测及日志文件监控等方面的技术特点和实际效果,为安全管理人员提供了有效的防护策略建议。 ...
[详细]
蜡笔小新 2024-10-30 11:50:20
在Linux系统中,MySQL的用户权限管理是运维人员必须掌握的关键技能之一。本文详细介绍了MySQL用户和权限管理的相关概念,包括MySQL用户的概念及其与VSFTPD虚拟用户的相似性,以及密码管理的重要性。此外,还深入探讨了如何通过命令行工具和配置文件进行用户权限的设置和调整,确保系统的安全性和稳定性。 ...
[详细]
蜡笔小新 2024-10-28 13:41:46
SpringDataJPA是SpringBoot体系中约定优于配置的最佳实现,大大简化了项目中数据库的操作。从本课开始将会从JPA的由来开始讲解,什么是JPA、SpringBoot ...
[详细]
蜡笔小新 2024-10-22 16:56:46
python发送邮件(带附件)、发送给多人、抄送给多人的示例#!usrbinenvpython
#-*-encoding:utf-8-*-imports ...
[详细]
蜡笔小新 2024-10-22 15:08:23
用户tznpaynnl5
这个家伙很懒,什么也没留下!