self-defending network自防预网络

 
***分为三类:
1、Reconnaissance扫描探测***
2、Access attacks访问***
3、Dos and distributed Dos 拒绝服务***
 
Reconnaissance扫描探测***
 
---Packet sniffers抓包
---Port scans端口扫描
---Ping sweeps (Ping扫描)
---互连网查询
 
如何防止packet sniffers
---authentication认证,使用一次性密码
---cryptography加密,让你抓到包也看不了
---antisniffer tools
---switched infrastructure
 
在交换机上防止被抓包的方法
switchport protect   隔离二层的通信,使二层的广播无法传播
switchport port-security   这条命令可用来限定一个端口只能学一个MAC地址,IE中考到哦
 
port scans和ping sweeps可以知道你主机使用的服务、端口、操作系统、漏洞
 
Access attacks访问***
---retrieve data
---gain access
---escalate their
 
password attacks(密码***)
使用的方法:
brute-force attacks
trojan horse
 
Dos and distributed Dos 拒绝服务***
通常还会伴随地址欺骗
 
DOS
1、网络DOS
   icmp  snurf
   udp echo fragle
2、主机DOS
3、ping of death ip 65536
4、rate-limit
 防预办法:ios FW(防火墙)| ip tcp intercept
          ddos guard
 
病毒
防止worm蠕虫
---contain
---inoculate
---quarantine
---treat
 
Application layer attacks应用层***
通过使用IDS/IPS来进行预防
 
禁用路由器上一些不必要的服务和端口来降低被***的可能性:
 
在IOS12.4之后--auto secure命令可以自动关闭不必要的接口和服务
 
ip finger
connected 10.1.1.1 finger 这个服务可以看到对端路由器上有哪些用户
 
clock tinezone GMT +8  设置时区
 
 
NTP
 
NTP的server提供时钟源,client端同步
R1(config)#ntp master 让本台路由器做为server端发送时钟
 
R2(config)#ntp server 150.100.1.1 和地址为150.100.1.1的server端同步时钟
 
注意:只同步时钟,不会同步时区
 
router(config)#clock timezone GMT +8  配置时区的命令
 
R2(config)#ntp authentication-key 1 md5 cisco
R2(config)#ntp trusted-key 1
R2(config)#ntp authenticate
 
AAA
Authentication 认证  (你是谁)  
认证强度跟元素有关,用于认证的元素越多越安全,元素包括密码,指纹,证书,视网膜等等
 
Authorization 授权(确定你能做什么)
授权用户能够使用的命令
授权用户能够访问的资源
授权用户能够获得的信息
 
Accounting  审计(确定你做了什么)
 
三大类的协议client-----NAS(网络访问服务器)
也就是三种流量
登入nas telnet/ssh/http/https...
拔入nas pptp/l2tp/pppoe/ipsec ***.....
穿越nas auth-proxy(ios)认证代理/
 
AAAprotocols:RADIUS和TACACS+
TACACS+   基于ICP/IP  cisco标准   端口号49
RADIUS    基于UDP     国际标准   新端口号1812/1813   旧端口号1645/1646
 
RADIUS:
有四种消息类型:
access-request   访问请求,客户发给server
access-challenge  查询三A服务器上的配置  
access-accept  允许访问,查到有这个配置才会允许
access-reject  拒绝访问
 
ACS---访问控制服务器
 
本地line认证
本地用户名密码认证
AAA配置
 
以下是在路由器上配置三A的步骤:
 
一、认证:
1、
aaa new-model  光启用这一条命令相当于login local
aaa authentication login FOR_VTY line none 注意line意思是用line下的密码进行认证
aaa authentication login FOR_VTY local    启用本地数据库,要自定义username和password
aaa authentication login FOR_VTY local-case  大小写敏感
aaa authentication login FOR_VTY enable   使用enable密码进行验证
aaa authentication login FOR_VTY group tacacs+   使用三A服务器进行验证
aaa authentication login FOR_VTY local line none 如果第一种方法没有的话,就用第二种进行认证,如果第二种也没有,就直接进入了,因为设了none
 
aaa authenticationb enable default group tacacs+  开启对enable的授权,在进入enable模式的时候会提示输入用户名和密码,因为tacacs服务器上定义了用户名和密码。
 
2、
tacacs-server host 150.100.1.100 key cisco
 
3、
test aaa group tacacs+ testR5(用户名) cisco(口令) new-code 本命令纯属测试,没别的作用,只是看AAA服务器起没起作用,new-code是在新的IOS中才要用到的。
如果出现user successfully authenticated表示没问题
 
R1(config)#privilege exec level 0 conf termi  将一条特权命令放入0级
R1(config)#privilege config level 0 interface  将一条全局命令放入0级
R1(config)#privilege config all level 0 router  将router命令及其下的所有命令放入0级
当一条命令被放入0级后,它就不属于原来的级别了,因为被剪切过去了。但是因为高级别的授权能使用低级别的命令。所以在高级别下还是可用的。
show privilege 查看用户级别
 
二、授权:
R1(config)#aaa authorization exec VTY group tacacs+
line vty 0 4
  authorization exec VTY
 
R1(config)#aaa authorization commands 15 FOR_VTY group tacacs+ 对15级的命令进行授权,注意,最好从高级别的向低级别的授权
line vty 0 4
  authorization commands 15 FOR_VTY
 
设定对CON口不进行认证
aaa authentication login FOR_CON none   设定对CON口不进行认证,保留最后一个进入的方法,以防万一
int con 0
  login authentication FOR_CON  在CON口下调用
 
三、审计:
 
 
 
 
举例:
aaa authentifcation login vty group tacacs+
line vty 0 4
  login auth vty 
 
aaa authentifcation login vty group tacacs+ local 服务器down后转到本地认证
aaa auth exec vty group tacacs+
line vty 0 4
  login auth exec vty
 
aaa accounting login vty start-stop group tacacs+   审计
 
aaa accounting commands 0 vty start-stop group tacacs+ 
注意,路由器的0-15级中,只有0、1、15级是有命令的,2-14级没有命令
 
防火墙
DMZ区域
 
firewall技术:
1、包过滤
2、应用层网关
3、状态化的包过滤
 
FTP协议用到20,21端口,有两种模式--
 
主动模式:
client先向server发送信令,发向21端口,所有的控制命令都在21端口中发
20端口用来传送数据
clint发一条con信息port命令(192.1.1.1,2,6),clint的端口号等于2*256+6=518
server再使用20端口主动去访问518这个端口号去建立数据的传输通道
518端口再向21端口发送一条命令,决定是上传还是下载
 
被动模式:
clint先向server的21发一条命令请求
clint再发一条命令请示被动模式
server向clint发一条指令,告诉它自已的数据端口port(....4,5)4*256+5=1029
clint端随机产生一个端口和server的数据端口建立联系,形成数据通道
 
 
firewall--有三种feature
1、cisco IOS Firewall--CBAC 在控制过程中会自动结合ACL
2、Authentication Proxy 要结合三A服务器来做
3、IPS ***防预系统 intrusion prevention system
 
 
cisco IOS Firewall
 
CBAC 如果在路由器的接口使用了一个deny any 的ACL,在CBAC中可指定一些协议,其中指定的协议会自动在ACL中添加例外,
 
步骤:
1、定义内部、外部接口
2、定义访问列表,在outside接口配置一个访问列表,deny不需要的流量,通常deny ip any any,但注意在老版本中要让icmp的包通过,不然P不通。(12.3版本以前)
3、定义一个inspect的rule
4、将定义的rule应用到接口下
5、
 
ip inspect audit-trail   报警信息,默认是关闭的,用这条命令开启
 
ip inspect name CBAC tcp  只能对单session的起作用,如telnet
ip inspect name CBAC http
ip inspect name CBAC ftp  这是一个多session的tcp流量,要用这条专用命令才行
ip inspect name CBAC ftp audit-trail  针对单一协议设置报警
ip inspect name CBAC icmp 这个命令在高版本才有,12.3以后才有
 
 
应用在接口下:
R2(config-if)#ip inspect CBAC [in|out]
 
 
例:路由器的s1口接内部,s0口接外部
access-list 100 deny any any
int s0
ip access-group 1 in  在路由器上应用,阻止所有数据进入内部
 
写CBMA列表
ip inspect CBAC tcp
ip inspect CBAC http
ip inspect CBAC ftp
ip inspect CBAC icmp 这个命令在高版本才有
int s1  接口下调用
ip inspect CBAC in 应用之后,针对内网访问外网的tcp,http,ftp,icmp等流量,会在前面定义的s0口的入方向的ACL列表中加入一些例外,允许这些流量的回包能进入内网。 如果其它接口也有ACL的话,在这些ACL里面也会加入这些例外,事实上,在除s1口的每一个接口的入方向的ACL列表中都会加入例外。
CBAC是在访问列表之后应用的。数据包进来会先查访问列表,再用CBAC监控。
 
IPS
 
IOS12.4以上才支持
 
1、首先是一些基本配置
signature--对非法流量的定义,包含它的特征信息。
IPS的IOS中内置了大约100个左右的signature,另外的要通过加载SDF文件来增加signature,SDF可以不断升级。
 
ip ips sdf 
 
ip ips fail closed  如果SDF文件调用不成功,默认会把所有流量丢弃,这个问题很严重。如果你确认你的文件就在本地,用这个命令。
 
ip ips name IPS   还可以带一个访问列表
ip ips name IPS list 
 
int s0/0
ip ips IPS [in|out] 应用到接口:可以两个方向都应用
 
2、可以对signature进行一些调整,可单独禁用其中一些
ip ips signature 2000 [disable|delete|list]  delete会删除这个sinature,list的意思是匹配的话就用这个sinature进行对照
 
IPS中有四种动作:
 
 
SYN***
TCP.利用三次握手.客户端对于在第三次握手时的ACK不给予回应.使服务器处于"半激活状态"从而利用服务器的资源,
ip access-list ex SYN
  per tcp any 150.100.1.0 0.0.0.255
ip tcp intercept list SYN
ip tcp inter watch-timeout 15
ip tcp inter mode watch
 
mode有watch和intercept两种
interspect--外部访问内部服务器时。先和中间路由器建立连接,成功后,中间路由器再和内部服务器建立连接,这样,所有的访问都是由中间路由器来中转。这种模式对路由器资源占用很大,现在基本不用。
watch--外部访问内部服务器,直接建TCP连接,中间路由器不参与,但会监视,如果在规定时间内,TCP连接还没建立好的话,就关闭这个连接。
ip tcp intercept watch-timeout 15  设定超时时间。