(ASA) Cisco SSL ××× 配置详解 [三部曲之一]
注意:本文仅对Web×××特性和配置作介绍,不包含SSL ×××配置,SSL ×××配置将在本版的后续文章中进行介绍。
首先,先来谈一谈ASA7.X系统中的默认隧道组和组策略。
ASA/PIX 7.x系统默认在show run时不显示默认组策略和默认隧道组,只有使用ASDM才能看到。(感慨就两个字: BT)
下面列出在ASDM中看到的默认值:
默认IPSec-l2l隧道组: DefaultL2LGroup
默认IPSec-ra隧道组: DefaultRAGroup
默认Web×××隧道组: DefaultWEB×××Group
默认组策略: DfltGrpPolicy
默认组策略的默认隧道协议: IPSec-l2l
可以在命令行中直接对以上隧道组和组策略进行编辑,ASA在加载Web×××时默认采用DefaultWEB×××Group,用户自定义的Web×××组必须在启动 “tunnel-group-list”和“group-alias” 后才会出现。
在下面的例子中,我没有使用ASA的默认隧道组,所以会有tunel-group-list和group-alias配置出现。
1、Web×××服务基本配置。
-----------------------------------------
ciscoasa(config)# int e0/0
ciscoasa(config-if)# ip address 198.1.1.1 255.255.255.0
ciscoasa(config-if)# nameif outside
INFO: Security level for "outside" set to 0 by default.
ciscoasa(config-if)# no shut
ciscoasa(config-if)# exit
!
ciscoasa(config)# int e0/1
ciscoasa(config-if)# ip add 10.10.1.1 255.255.255.0
ciscoasa(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.
ciscoasa(config-if)# no sh
ciscoasa(config-if)# exit
!
ciscoasa(config)# web***
ciscoasa(config-web***)# enable outside
!在外网接口上启动Web×××
!
-----------------------------------------
ciscoasa(config)# group-policy myweb***-group-policy ?
configure mode commands/options:
external Enter this keyword to specify an external group policy
internal Enter this keyword to specify an internal group policy
!此处需要选择组策略的类型,因为我们是将策略配置在ASA本地的,所以选择Internal。
!
ciscoasa(config)# group-policy myweb***-group-policy internal
!创建了一个名为myweb***-group-policy的Internal类型Policy。
-----------------------------------------
!
ciscoasa(config)# group-policy myweb***-group-policy ?
configure mode commands/options:
attributes Enter the attributes sub-command mode
external Enter this keyword to specify an external group policy
internal Enter this keyword to specify an internal group policy
!组策略一旦创建,命令行参数中就会多出attributes选项,这是用于后面定义具体的组策略用的,目前可以保留为空。
-----------------------------------------
!
ciscoasa(config)# username steve6307 password cisco
!创建一个本地用户
ciscoasa(config)# username steve6307 attributes
ciscoasa(config-username)# ***-group-policy myweb***-group-policy
!将用户加入刚才创建的×××策略组中
注意:ASA也支持为每用户定义单独的策略,即不用将用户加入特定的×××策略组,直接赋予策略(俗曰“权限”)。
注意:不过这是不推荐的,因为这样配置的可扩展性太差。
-----------------------------------------
!
ciscoasa(config)# tunnel-group myweb***-group type web***
!创建一个名为myweb***-group的web***隧道组。
!
ciscoasa(config)# tunnel-group myweb***-group general-attributes
ciscoasa(config-tunnel-general)# authentication-server-group LOCAL
!定义该隧道组用户使用的认证服务器,这里为本地认证
-----------------------------------------
ciscoasa(config)# web***
ciscoasa(config-web***)# tunnel-group-list enable
!启动组列表,让用户在登陆的时候可以选择使用哪个组进行登陆
!
ciscoasa(config)# tunnel-group myweb***-group web***-attributes
ciscoasa(config-tunnel-web***)# group-alias group1 enable
!为改组定义别名,用于显示给用户进行选择。
-----------------------------------------
!
!到此为止,Web×××基本配置完毕,可以开始让外网用户使用浏览器测试了。
2、Web×××测试。
本例中使用FireFox浏览器进行测试(测试功能嘛,最好不要用IE)。
在浏览器中输入https://198.1.1.1即可访问到Web×××主页。
由于只定义了一个Web×××隧道组,因此,在group列表的下拉菜单中只有一个选择:group1。
如下图:
在弹出的小web框中输入内网服务器IP,即可访问到内网服务器,这里是使用***easy.net和itdomino.com的联盟首页做的一台内网测试用的Web服务器。
Web×××扩展功能
在实现Web×××的基本功能以后,我们来看看Web×××的扩展功能。主要包含以下三部分:
1、文件服务器浏览
2、自定义url-list
3、port-forward
1、文件服务器浏览
File-access功能可以让Web×××用户使用windows共享来访问内网的Windows文件服务器。
用户要使用File-access功能,必须具备file-access file-entry file-browsing权限。
注意:用户默认具备url-entry权限,即可以用url访问内网的web网页。
ciscoasa(config)# group-policy myweb***-group-policy attributes
ciscoasa(config-group-policy)# web***
ciscoasa(config-group-web***)# functions url-entry file-access file-entry file-browsing
测试:
重新登陆Web×××,可以看到以下界面:
输入\\10.10.1.2以后可以访问到内网的共享资源。
2、自定义url-list
ciscoasa(config)# url-list mylist "Test Home Page" http://10.10.1.2
ciscoasa(config)# url-list mylist "Test Site 2" http://10.10.1.3
!
ciscoasa(config)# group-policy myweb***-group-policy attributes
ciscoasa(config-group-web***)# url-list value mylist
测试:
重新登陆Web×××,可以在首页上看到预定义的url列表。
3、自定义port-forward
port-forward可以让Web×××用户在外网通过Web×××使用内网的非HTTP服务。
ciscoasa(config)# port-forward port-forward-list 2323 10.10.1.2 23
ciscoasa(config)# group-policy myweb***-group-policy attributes
ciscoasa(config-group-policy)# web***
ciscoasa(config-group-web***)# functions url-entry file-access file-entry file-browsing port-forward
ciscoasa(config-group-web***)# port-forward value port-forward-list
经过上面的配置以后,Web×××用户加载Web×××提供的JAVA App,就可以通过telnet到自身的2323端口登陆到内网服务器的23端口。
测试:
重新登陆Web×××,界面如下:
点击Application Access即可加载Web×××的Java Apps
最后给出show run,全文完。
ciscoasa# sh run
: Saved
:
ASA Version 7.2(1)24
!
hostname ciscoasa
enable password 8Ry2YjIyt7RRXU24 encrypted
names
!
interface Ethernet0/0
nameif outside
security-level 0
ip address 198.1.1.1 255.255.255.0
!
interface Ethernet0/1
nameif inside
security-level 100
ip address 10.10.1.1 255.255.255.0
!
interface Ethernet0/2
shutdown
no nameif
no security-level
no ip address
!
interface Management0/0
shutdown
no nameif
no security-level
no ip address
!
passwd 2KFQnbNIdI.2KYOU encrypted
ftp mode passive
pager lines 24
mtu outside 1500
mtu inside 1500
asdm p_w_picpath disk0:/asdm521-54.bin
no asdm history enable
arp timeout 14400
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute
port-forward port-forward-list 2323 10.10.1.2 telnet
group-policy myweb***-group-policy internal
group-policy myweb***-group-policy attributes
web***
functions url-entry file-access file-entry file-browsing port-forward
url-list value mylist
port-forward value port-forward-list
username steve6307 password Dt4qNrv3ojM/D.Cn encrypted
username steve6307 attributes
***-group-policy myweb***-group-policy
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
tunnel-group myweb***-group type web***
tunnel-group myweb***-group web***-attributes
group-alias group1 enable
telnet timeout 5
ssh timeout 5
console timeout 0
!
!
web***
enable outside
url-list mylist "Test Home Page" http://10.10.1.2 1
url-list mylist "Test Site 2" http://10.10.1.3 2
port-forward port-forward-list 2323 10.10.1.2 telnet
tunnel-group-list enable
prompt hostname context
Cryptochecksum:00000000000000000000000000000000
(ASA) Cisco SSL ××× 配置详解 [三部曲之二]
本文对SSL ×××配置进行介绍,请先阅读本版中的“Cisco Web ×××配置详解”。
1、ASA基本配置。
ciscoasa(config)# int e0/0
ciscoasa(config-if)# ip add 198.1.1.1 255.255.255.0
ciscoasa(config-if)# nameif outside
INFO: Security level for "outside" set to 0 by default.
ciscoasa(config-if)# no shut
ciscoasa(config-if)# exit
!
ciscoasa(config)# int e0/1
ciscoasa(config-if)# ip add 10.10.1.1 255.255.255.0
ciscoasa(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.
ciscoasa(config-if)# no shut
ciscoasa(config-if)# exit
!
ciscoasa(config)# web***
ciscoasa(config-web***)# enable outside
ciscoasa(config-web***)# svc p_w_picpath disk0:/sslclient-win-1.1.2.169.pkg
ciscoasa(config-web***)# svc enable
!在外网接口上启动Web×××,并且启动SVC(SSL ××× Client)功能
-----------------------------------------
2、SSL ×××准备工作。
ciscoasa(config)# ip local pool ssl-user 192.168.10.1-192.168.10.99
!创建SSL ×××用户地址池
!
ciscoasa(config)# access-list go-*** permit ip 10.10.1.0 255.255.255.0 192.168.10.0 255.255.255.0
ciscoasa(config)# nat (inside) 0 access-list go-***
!设置SSL ×××数据不作nat翻译
-----------------------------------------
3、Web×××隧道组与策略组
ciscoasa(config)# group-policy myssl***-group-policy internal
!创建名为myssl***-group-policy的组策略
!
ciscoasa(config)# group-policy myssl***-group-policy attributes
ciscoasa(config-group-policy)# ***-tunnel-protocol web***
ciscoasa(config-group-policy)# web***
ciscoasa(config-group-web***)# svc enable
ciscoasa(config-group-web***)# exit
ciscoasa(config-group-policy)# exit
ciscoasa(config)#
!在组策略中启SVC
!
ciscoasa(config-web***)# username steve6307 password cisco
!创建用户
!
ciscoasa(config)# username steve6307 attributes
ciscoasa(config-username)# ***-group-policy myssl***-group-policy
ciscoasa(config-username)# exit
!赋予用户策略
!
ciscoasa(config)# tunnel-group myssl***-group type web***
ciscoasa(config)# tunnel-group myssl***-group general-attributes
ciscoasa(config-tunnel-general)# address-pool ssl-user
ciscoasa(config-tunnel-general)# exit
!设置SSL ×××用户的地址池
!
ciscoasa(config)# tunnel-group myssl***-group web***-attributes
ciscoasa(config-tunnel-web***)# group-alias group2 enable
ciscoasa(config-tunnel-web***)# exit
!
ciscoasa(config)# web***
ciscoasa(config-web***)# tunnel-group-list enable
-----------------------------------------
4、配置SSL ×××隧道分离(可选)。
ciscoasa(config)# access-list split-ssl extended permit ip 10.10.1.0 255.255.255.0 any
!注意源地址为ASA的inside网络地址,目标地址始终为any
!
ciscoasa(config)# group-policy myssl***-group-policy attributes
ciscoasa(config-group-policy)# split-tunnel-policy tunnelspecified
ciscoasa(config-group-policy)# split-tunnel-network-list value split-ssl
测试
在浏览器中输入https://198.1.1.1访问Web×××。
登陆后,Web×××直接启动SSL Client安装程序。
SSL ×××建立成功!
看看SVC的状态信息。
看看SVC的版权信息(Cisco的一堆废话,呵呵)。
SSL连接建立成功以后,ASA上将自动创建指向客户的路由。
------------------------------------------------
ciscoasa(config)# sh route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
S 192.168.10.1 255.255.255.255 [1/0] via 198.1.1.2, outside
C 10.10.1.0 255.255.255.0 is directly connected, inside
C 198.1.1.0 255.255.255.0 is directly connected, outside
------------------------------------------------
注:此例中外网用户的地址为198.1.1.2,ASA将该静态路由直接指向外网用户的公网地址。
全文完。
忘了给show run,呵呵,再续一下!
ciscoasa# show run
: Saved
:
ASA Version 7.2(1)24
!
hostname ciscoasa
enable password 8Ry2YjIyt7RRXU24 encrypted
names
!
interface Ethernet0/0
nameif outside
security-level 0
ip address 198.1.1.1 255.255.255.0
!
interface Ethernet0/1
nameif inside
security-level 100
ip address 10.10.1.1 255.255.255.0
!
interface Ethernet0/2
shutdown
no nameif
no security-level
no ip address
!
interface Management0/0
shutdown
no nameif
no security-level
no ip address
management-only
!
passwd 2KFQnbNIdI.2KYOU encrypted
ftp mode passive
access-list go-*** extended permit ip 10.10.1.0 255.255.255.0 192.168.10.0 255.255.255.0
access-list split-ssl extended permit ip 10.10.1.0 255.255.255.0 any
pager lines 24
mtu outside 1500
mtu inside 1500
ip local pool ssl-user 192.168.10.1-192.168.10.99
no asdm history enable
arp timeout 14400
nat (inside) 0 access-list go-***
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute
group-policy myssl***-group-policy internal
group-policy myssl***-group-policy attributes
***-tunnel-protocol web***
split-tunnel-policy tunnelspecified
split-tunnel-network-list value split-ssl
web***
svc enable
username steve6307 password Dt4qNrv3ojM/D.Cn encrypted
username steve6307 attributes
***-group-policy myssl***-group-policy
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
tunnel-group myssl***-group type web***
tunnel-group myssl***-group general-attributes
address-pool ssl-user
tunnel-group myssl***-group web***-attributes
group-alias group2 enable
telnet timeout 5
ssh timeout 5
console timeout 0
!
!
web***
enable outside
svc p_w_picpath disk0:/sslclient-win-1.1.2.169.pkg 1
svc enable
tunnel-group-list enable
prompt hostname context
Cryptochecksum:00000000000000000000000000000000
(ASA) Cisco SSL ××× 配置详解 [三部曲之三]
CSD全称Cisco Secure Desktop,即思科安全桌面技术,据说是思科花了500w美金从一家公司买来的,本文将对其特性及配置作详细介绍。
CSD 可以让×××用户在一个全新的虚拟桌面中完成Web×××连接。在虚拟桌面中所做的一切操作均与真实桌面环境隔离,包括文件存储、网页浏览等。虚拟桌面和 真实桌面的文件是无法共享的,当用户挂断CSD以后,虚拟桌面里的一切东西都将被自动删除,包括存储在虚拟硬盘上的文件、浏览器的cookies等。虚拟 桌面可以有效地保护企业的信息财产安全,×××用户的一切操作都被限制在内网,所有的文件只能存储在公司内部。
关于CSD的一些介绍就写到这里,有疑问的去cisco.com查资料吧。
在阅读本文之前,请仔细阅读本版中的“Cisco Web ××× 配置详解 ”和“Cisco SSL ××× 配置详解”,前两篇文章中出现的内容本文不再敷述。
1、按照前面的文章配置好Web×××或SSL ×××,本例使用SSL ×××配置,本例中所涉及的配置都是在SSL ×××配置并测试好的情况下完成的。
SSL ×××配置输出省略。
-----------------------------------------------------
2、将CSD文件拷贝到路由器的disk0:,并且在路由器上启动安全桌面。
c7206# copy ftp disk0:
Address or name of remote host [202.195.30.66]?
Source filename [sslclient-win-1.1.2.169.pkg]? securedesktop-ios-3.1.1.45-k9.pkg
Destination filename [securedesktop-ios-3.1.1.45-k9.pkg]?
Accessing ftp://202.195.30.66/securedesktop-ios-3.1.1.45-k9.pkg...
Loading securedesktop-ios-3.1.1.45-k9.pkg !!!!!!!
[OK - 1697952/4096 bytes]
1697952 bytes copied in 76.704 secs (22136 bytes/sec)
!
!
!
!
c7206(config)# web*** install csd disk0:/securedesktop-ios-3.1.1.45-k9.pkg
SSL××× Package Cisco-Secure-Desktop : installed successfully
!
!
c7206(config)# web*** context myweb***-context1
c7206(config-web***-context)# csd enable
-----------------------------------------------------
3、配置CSD策略。
由于CSD是收购过来的,因此命令行是配不了的,所有的CSD的策略都必须在专门WEB管理页面中完成。
登陆 https://gataway_addr/csd_admin.html可以对CSD进行策略管理,登陆用户名为admin,密码为enable密码。界面如下:
注:此处cisco文档写错了,CSD管理地址必须为https://gataway_addr/csd_admin.html,不能为https://gataway_addr/csd_admin。
配置CSD策略
选择需要设置CSD策略的Context,因为先前只定义了一个context,所以这里只有一个选择。
进去以后,有没有发现界面和ASA版的几乎一样?
设置Windows Location,Windows Location用于对用户进行分组。可以根据“证书”、“IP地址”、“注册表”来区分用户,例如:满足某段IP的属于一个Location,注册表某个键值满足要求的属于一Location等等。
创建两个location,其中第一个location以IP地址为198.1.1.2来区分某个用户,不满足该条件的用户被送入第二个location;第二个localtion可以不设置任何条件限制,即其余用户都将被分到这个location上去。
为 什么要对用户区分location呢?区分localtion以后,可以限制用户使用Web×××功能,例如:某×××用户即使用户名密码对了,但是 Location不满足条件,那么在安全桌面里它也仅仅只能使用一些有限的功能。下面的配置仅对第一个localtion作介绍,其余的大家举一反三吧。
设置第一个location的检测语句。
设置匹配该localtion的用户具备的权限,也同时可以检测用户是否安装了某个杀毒软件等等。
允许匹配该localtion的用户进行SSL ×××连接。
设置常规选项,例如是否允许在虚拟桌面和真实桌面切换等等。
设置虚拟桌面选项,例如是否允许用户运行虚拟桌面里的CMD等等。
自定义虚拟桌面里IE的收藏夹内容。
测试CSD功能
在外网用户的浏览器中输入https://198.1.1.1/group1,ASA会提示用户安装CSD,点击确认进行安装。
安装完成后,出现以下界面,点击界面上的按钮可以切换到安全桌面。
看一下CSD版本信息,呵呵,又是Cisco的废话。
切换至安全桌面,这可不是我自己设置的桌面背景哦,在这个桌面下,用户可以进行先前所讲的Web×××连接和SSL连接,但是他可以访问的本地资源是受CSD策略限制的。
如果用户退出安全桌面,CSD会将刚才用户通过×××下载到本地的文件全部删除,这个是挺酷的!
有个图忘了截屏,在虚拟桌面里访问你的本地硬盘时,你会发现,除了C盘里有windows系统文件之外,其它盘都为空,此时你是无法将虚拟桌面里的内容和真实桌面共享的,换句话讲,公司内部的文件你只能看,嘿嘿,不能下载到本地。
注意:有一点很值得注意,在虚拟桌面里如果允许用户进行SSL ×××连接的话,SSL的隧道分离是极不推荐打开的。为什么呢?如果你在虚拟桌面里面都可以自由的访问外网,那么公司内部的资源还能受到保护吗?这样CSD也就失去的它存在的意义了!
开始删除了!
由于CSD本身是利用图形界面配置的,因此CSD配置并没有多少命令行,这里就不给show run了,记住在做CSD实验之前先把Web×××和SSL×××实验做熟练,不然,太多的东西搅和在一起,排错会变得很复杂。