网络安全第七章

来源:互联网 发布:2016淘宝618活动 编辑:程序博客网 时间:2024/05/23 20:06
                                     第七章   防火墙基本原理
      本章目标
      防火墙体系及功能
      路由器实现包过滤防火墙
      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<DMZ<OUTSIDE
      配置实例如下:
      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
      其他的详细配置等要用的时候再看。
      
      
      
      
            
     




       
            
      
      
       
0 0