访问控制列表
ACL
ACL可用于接口,也有全局的
接口访问控制列表只能控制穿越流量(session连接除外)
所有到ASA终结的流量,被不同的管理访问列表控制(如:ssh 0 0 DMZ)
ASA发起的都被允许
ASA配置相同优先级的acl是将原来的挤下去,路由器是直接替换
接口规则和安全
默认:outbound(高->低)允许,inbound(低->高)拒绝
接口规则:input(主要)控制改接口进入, output控制出去
enable password cisco //Telnet需要enable密码 same-security-traffic permit inter-interface same-security-traffic permit intra-interface 写ACL access-list out extended permit tcp any host 192.168.117.100 eq telnet //两条名为out的acl access-list out extended permit tcp any host 192.168.112.100 eq www access-list out extended deny ip any any log //log deny的数据包 调用ACL access-group out in interface outside //将out acl-list应用在outside接口in方向 access-group out out interface outside //将out acl-list应用在outside接口out方向 access-group out global //全局调用 定时ACL time-range onwork //设置一个时间范围 periodic weekdays 9:00 to 19:15 access-list out line 1 extended permit tcp host 192.168.116.100 host 192.168.117.100 eq telnet time-range onwork //acl在时间范围内生效
Objet-Group
可将网段协议端口做成一个集合以供调用,并且可以嵌套调用
ASA(config)# object-group ? configure mode commands/options: icmp-type Specifies a group of ICMP types, such as echo network Specifies a group of host or subnet IP addresses //IP或网段 protocol Specifies a group of protocols, such as TCP, etc //协议 security Specifies identity attributes such as security-group service Specifies a group of TCP/UDP ports/services //协议加端口号 user Specifies single user, local or import user group 例: object network Inside-Server1 //object只能装一个,object-group可以装多个 host 10.1.1.1 object network Inside-Server2 host 10.1.1.2 object-group network Inside-Server //并支持嵌套 network-object object Inside-Server1 network-object object Inside-Server2 object-group service test1 tcp-udp //服务组 port-object eq 21 port-object eq 22 实例: access-list Outside_access_in extended permit object-group InsideService 202.100.1.0 255.255.255.0 object-group Inside-Server //替换ACL对应位置即可
URPF
ASA可以使用URPF技术抵御IP地址欺骗
1.ASA使用路由表确认源地址(严格uRPF)
2.仅仅检查流中的第一个包(可以状态化处理的协议)
3.uRPF默认是禁用的
ip verify reverse-path interface Outside
shunn
ASA可以使用shunning技术丢弃源自于一个特性主机的数据包
Shunning配置规则:
手动配置,或者被IPS动态配置
覆盖所有的接口访问规则
重启之后就消失
用于对某个事件紧急响应时使用
ASA(config)# shun 192.168.12.1 Shun 192.168.12.1 added in context: single_vf Shun 192.168.12.1 successful ASA(config)# show shun shun (DMZ) 192.168.12.1 0.0.0.0 0 0 0 ASA(config)# show shun statistics mgmt=OFF, cnt=0 inside=OFF, cnt=0 outside=OFF, cnt=0 DMZ=ON, cnt=0 Shun 192.168.12.1 cnt=0, time=(0:00:30) ASA(config)# clear shun
基于用户策略( CUT‐Through Proxy)
当一个用户第一次访问一个需要被认证的资源时, Cisco ASA会要求这个用户提供用户名和密码。
一个用户为所有的认证规则,只需要认证一次,因为ASA缓存用户的源IP地址。(注:由于是根据ip确定一个用户,故在多个用户共享一个IP地址( PAT,代理),不建议部署基于用户的策略,后果一个用户认证通过,这ip下的其他用户全部通过)
用户必须使用HTTP, HTTPS, FTP或者TELNET去访问资源以触发认证。
注:只有HTTP, HTTPS, FTP或者TELNET才会触发,一些非标准的不会直接认证
解决ASA对Telnet的直接认证上述不安全问题
思路:与虚拟HTTP一样
设置一组ACL:把Telnet 3088 和Telnet虚拟ip的写到一块
认证匹配该ACL组的流量
Outside(config)#line vty 0 4 Outside(config-line)#rotary 88 //Telnet开启3088端口 ASA(config)# access-list in_telnet_out extended permit tcp any any eq 3088 //这句相当于把virtual Telnet 和Telnet outside 3088绑定到一块了 //实际上只要这组ACL触发了认证并且通过,该ACL组都会对认证的ip生效 ASA(config)# aaa authentication match in_telnet_out inside 3ara Inside#telnet 192.168.16.100 3088 Trying 192.168.16.100, 3088 ... Open Error: Must authenticate before using this service. [Connection to 192.168.16.100 closed by foreign host] Inside# Inside#telnet 192.168.17.110 //先去认证 只有标准的HTTP, HTTPS, FTP或者TELNET才能正常认证 Trying 192.168.17.110 ... Open LOGIN Authentication Authen by ECIT Username: test1 Password: Welcome to ECIT Authentication Successful [Connection to 192.168.17.110 closed by foreign host] Inside# Inside#telnet 192.168.16.100 3088 //再去访问ACL中允许的流量 Trying 192.168.16.100, 3088 ... Open Outside>
用户被认为已经通过了认证,直到他们注销,或者认证缓存信息超时。
注意:http在认证时账号密码是直接通过get包纯明文直接发过去的,很不安全,且PAT不合适
ASA(config)# aaa-server 3ara protocol radius //协议 ASA(config-aaa-server-group)# exit ASA(config)# aaa-server 3ara (DMZ) host 192.168.12.200 cisco //radius的IP和key ASA(config-aaa-server-host)# exit ASA(config)# test aaa-server authentication 3ara //测试用户 ASA(config)# access-list autel permit tcp any any eq telnet //设置ACL ASA(config)# aaa authentication match autel inside 3ara //在inside口匹配该ACL的 启用AAA认证 ASA(config)# timeout uauth 1:00:00 absolute //绝对超时时间 ASA(config)# timeout uauth 0:10:00 inactivity //闲置超时时间 Inside#telnet 192.168.112.100 Trying 192.168.112.100 ... Open Username: test1 Password: User Access Verification Password: DMZ#exit 提示消息 ASA(config)# auth-prompt prompt Authen by ECIT ASA(config)# auth-prompt accept Welcome to ECIT ASA(config)# auth-prompt reject Deny by ECIT Inside#telnet 192.168.112.100 Trying 192.168.112.100 ... Open Authen by ECIT Username: test1 Password: Welcome to ECIT User Access Verification Password: //这是DMZ的vty密码 DMZ#
解决ASA对HTTP的直接认证上述不安全问题
HTTP重定向
虚拟HTTP
Secure HTTP
HTTP重定向
ASA(config)# aaa authentication listener http DMZ port http redirect
Secure HTTP
ASA(config)# aaa authentication secure-http-client //不能和上面一起用 //与HTTP重定向几乎一样,只是在①那一段是加密的
虚拟HTTP
//原理几乎一样,只是在①那一段被重定向到ASA的一个虚拟接口上,当然这个虚拟接口在策略上可达 ASA(config)#virtual http 202.100.1.101 warning 这个地址一般设为ASA接口所在网段的一个地址
授权
Download ACL 优先于接口和全局ACL
ASA(config)#virtual telnet 192.168.17.110 ASA(config)#access-list in extended permit tcp any host 192.168.17.110 eq telnet ASA(config)#aaa authentication match in inside 3ara ASA(config)# access-group in in interface inside per-user-override //per-user-override表示将dacl覆盖该接口的acl,切记要敲,否则dacl不生效
注:切记要用IE,什么谷歌,火狐,欧朋都有问题,这个破ACS,心好累
审计
ASA(config)# access-list actelnet permit tcp any any eq telnet ASA(config)# aaa accounting match actelnet inside 3ara
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。