防火墙的AAA认证

防火墙的AAA认证

防火墙的AAA提供基于三种数据库认证:LOCAL,TACACS+,RADIUS.使用tacacs+,radius两种认证协议来进行专门的AAA服务器与NAS之间进行接入访问认证。基本认证原理:客户机发起验证请求到NAS,而NAS帮助收集用户的验证信息并使用pre-share key与AAA服务器进行交互,AAA会对NAS提交上来的帐户进行匹对,如果认证成功则允许接入网络,相应的还会有一些授权的动作。

防火墙的AAA认证与路由器作为NAS/AAA client认证原理基本一样,针对不同的认证需求,我们可以选择tacacs+或者radius两种不同的认证协议。具体这两种协议有哪些区别呢:

Radius:默认使用1645,1646两个port,1645做认证,1646做授权。使用UDP用户数据报协议,不适合那种可靠性要求高或拥堵的网络中。它把认证授权绑在了一起,很难分离认证与授权两个动作。仅仅只加密KEY。不支持多协议如:x.25,appletalk,netbios,novell等网络。它是公有的认证协议。

Tacacs+:是tacacs的增强版,它把认证与授权进行了分享,使这两个动作的应用更加灵活,使用的是更加可靠的连接TCP传输层协议,不仅仅只加密KEY,还把用户数据整个加密提供给AAA,安全性更突出,支持x.25,novell,appletalk,ipx,netbios等网络协议。但tacacs+是由cisco私有的。

总的来说,一般使用radius来认证用户,使用tacacs+来授权用户,而radius是个开放的标准,相对于tacacs+则只瞄准cisco设备,而且思科设备也多使用radius协议来进行认证。

在防火墙中,认证有字符模式认证,有包模式的认证,还有隧道模式(vpn tunnel),cut-through的直通认证(目前只支持http,https,ftp,telnet这四种标准的流量做cut-through),如果其它非标准的认证流量,防火墙还是会对流量进行截取并执行认证动作,但不会像前面四种流量一样会弹出图形化提示认证,所以会影响认证通过)等。

今天我不铺陈这些理论了,还是看下实验:

Top:

防火墙的AAA认证

由于我的ACS时常会出现“罢工”的情况,无法对我的认证信息进行响应,所以没法使用radius与tacacs+去进行AAA了,甚是遗憾啊,只能用本地数据库做些畸形的实验了,不过大家晓得大致原理与命令就差不多了。

需求:

1,         user去往server的流量需要经过ASA做认证才能通过

2,         对标准的直通流量做认证

3,         对非标准的直通流量做认证

实现:

R1配置:

ip ftp source-interface FastEthernet0/0

ip ftp username cisco

ip ftp password cisco

interface FastEthernet0/0

ip address 192.168.1.1 255.255.255.0

ip forward-protocol nd

ip route 0.0.0.0 0.0.0.0 192.168.1.2

ip http server

ip http port 8888

ip http authentication local

R2配置:

interface FastEthernet0/0

ip address 192.168.2.2 255.255.255.0

interface FastEthernet0/1

ip address 192.168.4.1 255.255.255.0

ip route 0.0.0.0 0.0.0.0 192.168.2.1

ASA配置:

Interface e0

No sh

Nameif inside

Security-level 100

Ip add 192.168.1.2 255.255.255.0

Interface e1

No sh

Nameif outside

Security-level 0

Ip add 192.168.2.1 255.255.255.0

放过icmp流量,

Access-list outacl permit icmp any any

Access-list outacl permit tcp any any eq www

Access-list outacl permit tcp any any eq 8888

Access-list outacl permit tcp any any eq 21

Access-list outacl permit tcp any host 192.168.2.3 eq 23

Access-group outacl in interface outside

Access-list http permit tcp any any eq www

Access-list http permit tcp any any eq 8888

Access-list http permit tcp any host 192.168.2.3 eq 23

Access-list ftp permit tcp any any eq 21

Access-list ftp permit tcp any host 192.168.2.3 eq 23

Access-list telnet permit tcp any any eq 23

Username cisco password zengfei

Auth-prompt prompt please authentication in there

Auth-prompt accept ok,you can do it everythink

Auth-prompt rejected oh,I’m so sorry

Aaa authentication match ftp outside LOCAL

Aaa authentication match http outside LOCAL

Aaa authentication match telnet outside LOCAL

我们可以看到当我们访问http://192.168.1.1时,属于正常的标准流量,会弹出认证提示框,认证成功便可以访问。

用户信息会缓存在ASA里面,可以采用show uauth看到:

ciscoasa# show uauth

Current    Most Seen

Authenticated Users       1          1

Authen In Progress        0          1

user 'zengfei' at 192.168.4.2, authenticated (idle for 0:00:00)

absolute   timeout: 0:05:00

inactivity timeout: 0:00:00

ciscoasa#

FTP连接:

ftp> open 192.168.1.1

Connected to 192.168.1.1.

220-FTP Server (user 'zengfei')

220

User (192.168.1.1:(none)): cisco

331-Password:

331

Password:

Connection closed by remote host.

ftp>

如果把http的流量端口改为8888则变成了防火墙cut-through认证不支持的流量了,

由于对非标准的流量弹不出认证提示框,所以提示出错,必须先认证流量才能通过,所以我们可以通过virtual telnet来先认证,然后再访问就可以过去了。

virtual telnet 192.168.2.3

那么在做认证的时候首先要放过virtual telnet的流量。并对它的流量做AAA认证。

记得最重要的一点,由于此TOP是由外向内发起的流量,那么默认virtual telnet是不能为其提供proxy arp的,所以需要static(inside,outside) 192.168.2.3 192.168.2.3 才能telnet上

这样我们认证成功后就可以访问了。

本文转自 Bruce_F5 51CTO博客,原文链接:http://blog.51cto.com/zenfei/574647

上一篇:juniper防火墙端口映射(MVP、VIP)
下一篇:Juniper 防火墙的MIP/VIP/DIP