访问控制列表
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
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。