ASA基础知识
ASA的算法:
1.访问控制列表:基于特定的网络,主机和服务控制网络访问。
2.连接表(conn):维护每个连接状态信息。安全算法使用此信息在己建立的连接中有效的转发流量。
3.检测引擎:执行状态检测和应用层检测。检测规则集预先定义的,来验证应用层是否遵从每个RFC和其他标准。
ASA的基本配置:
主机名:全局下输入 hostname 跟名字
配置密码:特权密码在全局下输入 enable password 跟密码
配置远程登录密码与路由器不同:在全局下直接输入passwd 跟密码
ASA接口配置和概念:
逻辑接口称之为虚拟接口,配置逻辑接口在接口模式下配置:nameif 加接口名字
(注意ASA5505不支持在接口下配置逻辑接口需要在vlan下进行配置)
默认outside为0级别 inside为100级别(高级别只能访问低级别相同级别也不能访问)
设置级别的命令:在接口下输入security-level 跟数字
ACL访问控制列表配置:
在全局下输入:access-list
应用访问控制列表:access-group
配置静态默认路由:全局下输入 route 逻辑接口要去的网段子网下一跳IP
保存配置:在特权下输入wr ;清除所有配置:全局下输入clearconfigure all(想除谁换谁)
DMZ称为隔离区也称非军事化区域,位于企业inside和outside之间的一个区域,一般放一些重要数据(级别一般位于inside和outside之间)。
ASA地址转换
地址转换有四种类型:静态NAT、动态NAT、静态PAT、动态PAT(一般常用的有静态NAT、静态PAT、和动态PAT)
静态NAT和静态PAT:的作用是能让外访问内网,也就是说对外提供服务的。他两的区别PAT能实现用一个公网IP提供多个对外服务。
动态PAT:作用是能让公司员工用一个外网IP同时都能上网。
配置动态PAT设置:
全局下输入:nat inside(内网逻辑接口名称) 1(数字)需要地址映射的地址和子网
全局下输入:global outside 1 公网地址(注意outside不要设地址,要不就输入接口interface)
查看地址映射表;show xlate detail 如要清除缓存:clear configure xlata
配置静态NAT设置:
首先你要外网访问你DMZ区域默认是不让的你要设置ACL让他过去。
全局下输入:static (dmz,outside)输入你的公网地址输入你dmz要映射的地址
注意:这里要一一对应的用外包含内的方式
全局下输入:创建一个访问控制列表让外部能访问你内部的服务器,接下来应用在ASA的外网接口(outside)。
Access-list dmz的接口名 permit ip any host 公网地址
Access-group dmz的接口名 in interface outside外网接口
配置静态PAT设置:
全局下输入:static (dmz,outside)tcp 输入你的公网地址 http 输入你dmz要映射的地址 http
static (dmz,outside)tcp 输入你的公网地址 smtp 输入你dmz要映射的地址 smtp
Access-list dmz的接口名 permit ip any host 公网地址
Access-group dmz的接口名 in interface outside外网接口
NAT 控制:默认是禁用NAT控制的,如要开启则输入命令nat-control在启用NAT控制时配置NAT地址映射规则并不是必须的,但是如果要启用NAT控制则配置NAT地址映射规则则是必须的。
NAT豁免允许双向信任:
全局下输入:首先要做一个命名扩展ACL
全局下输入:nat 逻辑接口名 0(0代表豁免) access-list ACL的名称
远程管理ASA:
有两种方式telnet(用于内网远程管理)ssh(用于外网远程管理)
配置telnet模式:
全局下输入telnet 允许的ip和正子网掩码放在inside内网接口
例如:(192.168.0.1255.255.255.255)
配置telnet空闲超时时间:全局下输入telnet timeout 数字单位分钟
配置ssh模式:默认登入名为pix
配置主机名:hostname名字
生成RSA密钥对:在全局输入crypto key generate rsa modulus 密钥长度
配置谁允许ssh接入:一般外网ssh 0 0 outside 表示外网所有
也可以在内网设置不过接口要指向inside
ASA高级配置
因为数据过大所以要进行Ip分段MTU(最大传输单元)以太网MTU值为1500字节
标识:标识都是6307标识他们都是同一个IP数据包
标志:能看出是不是最后一个数据包,如第三位(MF)为1表示还有分片,为0表示最后一个分片。第二位都是0表示允许分片
分片偏移量:表示数据包的位置,表示以原始位置为起点的偏移量有多少。
Ip分片安全问题:很多网络利用ip分片进行攻击例如:泪滴攻击操作系统会把ip分片截获从新组装ip数据包。
防止ip分片:在全局下输入fragent chain 1 表示处理分片时会默认等待5秒,5秒没有收到后续的分片则重组失败,则最终丢弃。
URL过滤禁用员工登录哪个网站分为三步:
1.创建class-map(类映射)识别传输流量。
做ACL: Access-list 随意起个名(aaa) permit tcp 允许通过的网段和子网 any eq www
定义calss-map:class-map 名字随意(map1)
把访问ACL放到class-map里:Matchaccess-list aaa
定义要过滤的网站:regex名字随意(ccc)“\.taobao\.com”
定义regex的class-map:class-map type regex match-any(表示匹配任何)名(map2)
把regex放到map里:match regex ccc
定义一个类型为inspect的class-map:class-maptype inspect http 随意名(map3)
应用策略:match request header host regex class (map2)
检查报文头部的host域中的url后缀如果是taobao。Com则丢弃
2.创建policy-map(策略映射)关联class-map
Policy-map type insepect http 随意名(p1)
Class (map3)
Drop-connection log
Exit
Policy-map 随意名P2
Class (map1)
inspect http (p1)
Exit
3.应用policy-map到接口上
全局模式:Service-policy (p2)interface inside
日志管理:
安全级别有8个:
0 emergencies 系统无法使用
1 alert 需要立即处理
2 critical 临界状态
3 error 错误状态
4 warning 警告状态
5 notification 正常但不良好状态
6 informational 提醒信息
7 debugging 调试阶段信息
日志信息可以输出到log buffer 、 ASDM 、日志服务器
配置时区:
全局下:clock timezone peking 8 表示国际标准时间的偏移量
配置时间:clock set 时间日月年
开启日志功能:log enable
Log buffered 日志级别
查看日志:show logging
清除日志:clear logging buffer
配置ASDM:
Logging enable
Logging asdm 日志级别
Clear logging asdm
配置日志服务器:
Logging enable
Logging timestamp (启用时间戳)
Logging trap 日志级别
Logging host inside 放日志的机器
在客户机上安装firewall analyzer 6
ASA的透明模式:有两种模式路由模式(默认是路由模式)和透明模式
在路由模式下ASA充当三层设备,在透明模式下ASA充当二层设备
透明模式的优势:不需要再接口上配置IP,这样就不用改变原来的网络一般透明模式的ASA放在路由的下方。
透明模式与二层交换机的区别:
ASA不参与STP
对于MAC未知地址,ASA不会泛洪而是丢弃
允许流量自动从高级别到低级别,无需ACL
允许ARP流量双向穿越,而不必配置ACL
ASA透明模式配置:
全局下输入firewall transparent 想回到路由模式前面加no
查看当前工作模式:show firewall
设一管理地址:全局ip address ip地址子网
查看MAC表:show mac-address-table
设置动态MAC过期时间:mac-address-table aging-time 时间分钟单位
设置静态MAC:mac-address-table static ip地址 MAC
禁止学习某个MAC:mac-learn ip地址 disble
IPSec ××× 原理与配置
×××(virtual private network虚拟专用网络)两个网络实体之间建立的一种受保护的连接,这两个实体可以通过点到点的链路直接相连,但通常情况下它们会相隔较远。
×××的模式和类型:
×××模式:传输模式和隧道模式
区别:隧道模式要比传输模式安全,因为隧道模式的ip地址信息会从新封装打包,把原始ip保护起来,而传输模式虽然传输效率快但ip地址没有受到保护。
×××类型:站点到站点×××,远程访问×××
区别:站点到站点用于公司到多个分公司,而远程访问×××适用于单一用户访问×××适用于出差的员工。
×××加密算法有两种:对称加密和非对称加密
区别:非对称加密比对称加密要安全,原因是同一个公钥不同的私钥来解密,私钥都保存在本地,不会再公网上传输。举个例子:25169和29663,如果两数相乘,可以很轻松得到答案746588047;但如果就告诉你746588047,让你猜由那两个数的乘出来的,估计这一辈子也不一定能算出来。
配置IPSec ×××:
1.流量触发IPSec
Access-list 100permit ip 自己内部要访问×××的网段对方的内部网段
2.建立管理连接:注意对面设置的管理连接要跟自己的一样
Crypto isakmp policy 1
Encryption 加密算法(aes)
Hash sha (非对称加密)
Authentication pre-share (预共享密钥)
Group 2 加密组的长度(1024)
全局下输入:crypto isakmp key 0(0表示明文加密)设置密码(123)address 对方的外网口地址
全局下输入:crypto ipsec transform-set 名字随意(aaa)加密类型(esp-aes esp-sha-hmac)
Mode tunnel 开启隧道传输模式
Exit
3.建立数据连接:
Crypto map 名字随意(bbb) 1 ipsec-isakmp
Set peer 对方外网口地址
Set transform-set aaa
Match address 100(ACL)
映射在应用接口上:
Interface f0/0
Crypto map bbb
在ASA上实现IPSce ×××
路由和ASA上×××的区别:ASA能实现既能访问×××又能上同时上互联网,ASA有一个功能叫豁免(0表示豁免),只要把ACL ×××的触发流量豁免即可实现此功能。
ASA配置IPSce ×××
1.建立管理连接:
Crypto isakmp enable outside 开启ipsce vpn 功能
Crypto isakmp policy 1
Encryption aes
Hash sha
Authentication pre-share
Group 2
配置预共享密钥:
两种方式
1)crypto isakmp key 设置密码(123) address 对方外网口
2)tunnel-group 对端外网口 type ipsec-l2l
tunnel-group 对端外网口 ipsec-attributes
pre-shared-key 设置密码(123)
exit
数据传输集:
Crypto ipsce transform-set 名字(aaa) esp-aes esp-sha-hmac 比较常用不一样之处能够修改密钥
2.触发流量ACL
Access-list 名字( vpn) extended permit ip 自己内网网段要访问×××的地址注意正子网掩码对方的用户的网段
3.建立数据连接:
Crypto map 随意名字(qqq)1 match address vpn (触发流量)
Crypto map qqq 1 set peer 对端的外网接口(ip分片)
Crypto map qqq 1 set transform-set aaa (传输集)
应用到接口
Crypto map qqq interface outside
Ipsec ×××高级配置多点到多点
配置多点到多点的×××要注意的事项:
1.预共享密钥要设置不一样的
Crypto isakmp key0 要跟以前的不一样(456) address 对端的外网地址
2.要设置触发流量:
Access-list 101permit ip 自己的内网访问×××的ip地址反掩码对方的ip
3.建立数据连接
Crypto map 要跟以前的名字一样 2(数列号不一样来区分) ipsec-isakmp
Set peer 对端外网地址
Set transform-set aaa(跟以前的一样就好加密方式)
Match address 101 (触发流量)
地址转换存在的问题和解决方案:
一般公司ASA会做成透明模式,外侧则放一路由器,做PAT地址转换。在ASA上做×××,这样就保证了内网安全,但是在×××出去的时候由于做了PAT地址转换则触发流量找不到对端的×××,则无法反问,所以我们运用一下方法解决。
在路由器上做NAT-T(NAT穿越):
先写ACL要访问外网的地址1
先做PAT地址映射ip nat inside source list 1(默认1表示由于使用外部接口地址则无需定义地址池) interface f0/0 overload
做两个NAT端口映射:
Ip nat inside source static udp vnp的ip地址 4500(数据连接的端口)路由的外网接口 4500
Ip nat inside source static udp vpn的ip地址 500(管理连接的端口)路由的外网接口500
远程访问×××-easy ×××
什么是AAA?
1.验证:用户是谁(authentication)
2.授权:用户可以做什么(authorization)
3.统计用户做过什么(accounting)
远程访问又两个协议:
RADIUS(remoteauthentication dial in user service远程验证拨入用户服务)是全开放协议。
TACACS+(terminalaccess controller access control system终端访问控制器访问控制系统)是cisco的私有协议。
在远程×××里我们要引入一个概念“组策略”?
因为远程访问的用户不固定所以,触发流量也就没办法设定。最好的办法就是让×××网关推动这些策略给客户端,但很多情况下客户端的策略都是相同的,为了方便所以就引用了组策略这个概念。
1地址池和DNS网关:给客户端分配iP地址和DNS网关
2共享密钥:用于×××和客户端进行加密
3分离隧道:用于同时上网和×××
4分离DNS:用本公司自己的DNS来解析
5配置到组策略里
动态crypto map:因为远程客户端IP都不是固定的所以要用动态cryptomap要先把制定的
传输集加到动态crypto map 里,因为×××接口上只能应用一个crypto map,所以要把动态
Crypto map应用到静态crypto map再应用到接口上。
Transform-set →动态crypto map →静态crypto map →接口
远程×××应用案例:
建立AAA:
全局下aaa new-model (启动AAA)
aaa authentication login 认证的名字随意(sukun1) local(本地认证,指在路由上配置用户和密码、还有一种认证方式groupradius是另有一台AAA服务器来进行验证用户和密码,把请求给路由路由在转发到AAA服务器上)
aaa authorization network 名字跟上面一直(sukun2)local (给远程用户授权)
username 创建用户 secret 密码
建立管理连接:
全局下crypto isakmp policy 1
Encryption 3des
Hash sha
Authentication pre-share
Group 2
Exit
给用户分配的地址池:
全局下ip local pool 地址池名字随意(sukun-pool)192.168.1.100 192.168.1.200 (注意不能跟内网在同一网段)
做分离隧道:
全局下ip access-list extended 名字(×××)
Permit ip 192.168.0.0 0.0.0.255 any(作用是只保护这个地址,其他不保护,地址应该是内网的重要数据地址)
Exit
组策略:
全局下crypto isakmp client configuration group 组的名字要在客户端输入的(test-group)
Key 在客户端输入的密码(benet-key)
Pool 给用户分配的地址池(sukun-pool)
Dns 202.106.0.20
Acl 分离隧道的名字(×××)
Exit
创建传输集:
全局下crypto map transform-set 传输集名字(benet-set) esp-3des esp-sha-hmac
Exit
创建动态crypto map:
全局下crypto dynamic-map 动态map名字(benet-dymap) 1
Set transform-set 传输集名字(benet-set作用把传输集应用到动态map)
Exit
把动态map应用到静态map里:
全局下crypto map 静态map的名字(benet-static) 2(号码随意) ipsec-isakmp dynamic 动态map的名字(benet-dymap)
Crypto map 名字(benet-static) client authentication list 认证AAA名字(sukun1)
Cryto map 名字(benet-static) isakmp authorization list 授权AAA名字(sukun2)
Crypto map 名字(benet-static) client configuration address respond(用于让客户端先发起请求)
把它应用到外网接口:
Int f0/1
Crypto map 静态map名字(benet-static)
在ASA上配置远程×××与路由不同的是:
定义组策略:internal表示在本地、external表示在第三方AAA服务器上。
分离隧道区别有三种模式:tunnelall默认模式不做分离隧道、tunnelspecified所匹配的ACL的流量走隧道、excludedespecified不匹配流量的走隧道。
定义用户组:方便设置策略,对相同的用户名设置用户属性时要用到用户组
权限比较从大到小排:用户组→隧道组→crypto map
ASA上配置远程连接案例:
建立×××用户和密码:
全局下username benet password 123
Crypto isakmp enable outside (开启远程×××)
建立管理连接:
全局下crypto isakmp policy 10
Encryption 3des
Hash sha
Authentication pre-share
Group 2
Exit
地址池:ip local pool 名字(benet-pool)192.168.1.100-192.168.1.200(跟内网不在同一网段)
分离隧道:access-list 名字(×××)permit ip 192.168.0.0 255.255.255.0 any
定义组策略:group-policy 名字(test-group) internal (定义在本地)
Group-policy 名字(test-group) attributes (设置属性)
开启分离隧道功能:split-tunnel-policy tunnelspecified (所有匹配ACL的流量走隧道)
Split-tunnel-network-list value 地址池名字(×××)
Exit
建立隧道组:tunnel-group 组的名字(benet-group客户登陆的账号)type ipsec-ra
Tunnel-group 组名字(benet-group)general-attributes
Address-pool 地址池名字(×××)
Default-group-policy 组策略名字(test-group)
Exit
Tunnel-group 隧道组名字(benet-group)ipsec-attributes
Pre-shared-key 密码(123客户登陆密码)
Exit
创建传输集:crypto ipsec transform-set 传输集名字(benet-set)esp-3des esp-shahmac
把传输集应用在动态map:crypto dynamic-map 动态map名字(benet-dymap) 1 set transform-set 传输集名字(benet-set)
创建静态map:crypto map 静态map名字(benet-static) 1000ipsec-isakmp dynamic 动态map名字(benet-dymap)
应用在外网口:crypto map 静态map名字(benet-static)int outside
远程SSL ×××:用于网页浏览器SSL(443)本地加密,提供灵活,低成本的远程访问。但没有ipsec-vpn安全。
有三种模式:
1无客户端可以提供文件共享功能
2瘦客户端提供基于TCP服务的远程访问,如邮局协议POP3、简单邮件传输协议smtp、远程登录ssh、扩展了网页浏览器加密的功能。
3胖客户端需要在客户机安装第三方软件,实现全网络层访问,动态下载安装到客户机上但要有客户机的管理员权限。
数据链路层网络安全
常见的局域网攻击:
1 MAC地址溢出:
当交换机没有在MAC地址表找到MAC地址时,则会广播。就是利用这个特性进行攻击的。某主机大量伪造假MAC地址,使得MAC地址表溢出,这时交换机在收到正常数据帧的时候,则找不到MAC,会进行广播这样攻击者就会获得正常的通信数据。
2 ARP欺骗和攻击:
Arp攻击制造假arp应答,并发送给除被攻击的其他主机,arp应答中包含被攻击地址的ip地址和虚假MAC。
Arp攻击制造假arp应答,并发送给被攻击主机,arp应答中包含除被攻击者剩余所有主机的ip地址和虚假MAC。
Arp欺骗一般是通过冒充网关,可以控制网络流量。
3 DHCP服务器欺骗与DHCP地址耗尽:
DHCP欺骗是将自己变成DHCP服务器发送虚假地址。
DHCP地址耗尽是客户端不断冒充新客户发送DHCP请求,把地址请求完,则正常请求的无法通信。
4 IP地址欺骗:客户端使用自己配置的IP地址冒充管理员IP地址。