0
点赞
收藏
分享

微信扫一扫

SSL 虚拟网络的IOS配置总结-安全CCIE

SSL 虚拟网络的IOS配置总结

SSL和TLS的历史:

安全套接层(SSL)是由Netscape Communication(网景)公司于1990年开发,用于保障WWW通讯的安全。主要任务是提供私密性、完整性和身份认证。1994年改版SSLv2, 1995年改版SSLv3。

Transport Layer Security(TLS)标准协议由IETF于1999年颁布,整体来说TLS非常类似于SSLv3,只做了少量修改。 (TLS 1.0 = SSL 3.1 ≈ SSL 3.0 ) 最新的版本是TLS 1.2

SSL协议概述:

SSL是一个不依赖于平台和应用程序的协议,用于保障TCP-based应用安全,SSL在TCP层和应用层之间,就像应用程序协议连接到TCP的一个接口。

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全

SSL总是工作在TCP之上,应用层之下。

主协议是Record Protocol,附带四个子协议(Handshake Protocol,Change Cipher Spec Protocol , Alert Protocol , Application Data Protocol)

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_02

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_03

(1)Record协议提供数据加密,压缩,附带完整性检查

(2)Change Cipher协议用于产生和更新密钥

(3)Alert协议用于SSL连接和会话的管理性告警

(4)Handshake协议用于认证,协商参数并产生加密材料

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_04

注:紫色部分是双向认证才用到


DTLS (Datagram TLS)——RFC4347

为什么需要DTLS:

(1)TLS基于TCP443,建立 TCP/IP隧道

(2)TCP会对丢包做重传

(3)应用层和TLS都会试图重传,对于语音视频来讲很不好


因此:

(1)DTLS采用UDP/443替换TCP/443

(2)DTLS使用TLS来协商建议DTLS会话(控制消息和密钥交换还是使用TCP)

(3)业务数据使用DTLS,基于UDP传输

(4)对于延迟敏感的实时业务有利

(5)DTLS作为一个选项,如果需要的时候还可以退回到TLS方式


使用SSL加密的实例:

1.     HTTP over SSL:加密网页流量是设计SSL的初衷,所以HTTP也是第一个使用SSL保障安全的应用层协议。当Netscape在其浏览器Navigator里运用HTTP over SSL的时候,使用https:// 来标识,因此HTTP over SSL通常又被称为HTTPS。后来HTTPS在RFC2818被标准化,工作在TCP 443端口。

2.     Email over SSL:类似于HTTP over SSL,邮件协议SMTP,POP3,IMAP都可以支持SSL。SMTP over TLS标准文档RFC2487,POP3和IMAP over TLS在RFC 2595。


SSLVPN的特点:

提供如下特性:

1.     不需要预装客户端软件

2.     使用标准的网页浏览器即可建立VPN连接

3.     使用浏览器拥有的SSL技术提供数据私密性、完整性校验和源认证

4.     提供精细的访问控制

5.     客户端运用程序可以通过多种方式动态的下载,例如:连接时在线下载,通过java,activex或者exe文件分发。

6.     为连接互联网的系统灵活的建立VPN连接,不管这个系统是否被公司管理。

7.     在任何地点都能轻松的穿越防火墙和网络。

8.     支持透明的无线漫游。

9.     可以使用集成的IOS防火墙提供增强的安全性。

SSLVPN部署:

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_05

两个组件:

(1)SSL VPN服务器:可以是路由器,ASA5500,VPN3000

(2)SSL VPN客户端:网页浏览器,其他客户端软件(AnyConnect)


PPTP

L2TP

L2TP over IPSec

IPSec

SSLVPN

VPN客户端

绝大部分Windows系统集成

新版Windows系统集成

新版Windows系统集成

需要第三方软件

VPN客户端可选

加密

MPPE

MPPE

DES,3DES,AES

DES,3DES,AES

DES,3DES,RC4,AES

部署

很少使用

很少使用

较少使用

大量使用

稳定增长


SSL VPN的访问模式:

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_06

1.    无客户端模式(7层技术):

无客户端模式提供了安全的web资源访问和基于web内容的访问,例如:互联网访问,数据库和在线的基于web的工具。无客户端模式使用(CIFS Common Internet File System)提供远程文件共享。无客户端模式受限于web-based的内容(默认http/https/cifs)


2.     瘦客户端(7层技术)(也叫做port forwarding):

瘦客户端提供TCP服务的远程访问,例如:POP3,SMTP,IMAP,Telnet和SSH运用。瘦客户端是在SSLVPN会话建立的时候通过JAVA程序的方式动态下载的。这种模式增强了网页游览器的加密功能。


3.     厚客户端(3层技术)(也叫tunnel mode或者full tunnel client):

厚客户端模式提供了广泛的应用程序支持(毕竟提供了IP可达),厚客户端软件SVC软件或者Cisco anyconnect VPN软件在VPN服务器上动态下载。这种模式提供了轻量级的,中心管理并且易于使用的SSL VPN隧道软件,实现了三层的完整访问支持任何应用。

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_07

服务器用windows 2K3或2K8, IP: 10.10.10.241/24

Client用windows 7做test-PC,IP:61.1.1.150/24

R1做telnet / SSH / HTTP  Server

R2做SSL Gateway

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_08

一、底层配置

SW

vlan 10

vlan 20

int vlan 10

ip add 202.100.1.254 255.255.255.0

int vlan 20

ip add 61.1.1.254 255.255.255.0

int f1/2

sw access vlan 10

int f1/1

sw access vlan 20

R1

int f0/0

ip add 10.10.10.1 255.255.255.0

no sh

ip route 0.0.0.0 0.0.0.0 10.10.10.2


R2

int f0/0

ip add 10.10.10.2 255.255.255.0

no shut

int f0/1

ip add 202.100.1.2 255.255.255.0

no shut

ip route 61.1.1.0 255.255.255.0 202.100.1.254

Win7 记得写网关指向61.1.1.254


二、R1 SSH 、 HTTP服务器配置

R1

ip domain name cisco.com

crypto key generate rsa modulus 1024

username cisco password cisco

line vty 0 4

login local

自测: ssh -l cisco 10.10.10.1

ip http server


三、基本IOS GW配置

四步:

(1)配置Gateway——指定SSL接入点

(2)配置Context——SSLVPN连接属性容器

(3)配置页面外观 (可选)

(4)配置组策略——各种策略容器


注:context——外部一个SSL VPN客户端连接到GW,GW定义公网IP地址,直接和context建立。我们可以运用策略到context来限制连接的用户和组。我们可以把context理解为ASA里tunnel-group。



R2

aaa new-model                                                       //不是必须,但是建议使用AAA来管理用户

aaa authentication login NOAU line none

line con 0

login authentication NOAU

line aux 0

login authentication NOAU



aaa authentication login SSL local

aaa authorization exec SSL local

username admin password cisco


ip http server


(1)配置Gateway

webvpn gateway SSLGW                     //系统这时会自动创建RSA key pair用于生成自签名证书

ssl trustpoint TP-self-signed-xxxxxxx  //系统自动产生这句话,标明使用哪个自签名证书(容器)

ip add 202.100.1.2                       //系统默认会追加 port 443

http-redirect port 80                       //用户如果通过http打开80端口,将被重定向到https 443端口

inservice                                                      //开关


R2#show webvpn gateway


Gateway Name                       Admin  Operation

------------                       -----  ---------

SSLGW                              up     up 



(2)配置Context

webvpn context SSLCTX

aaa authentication list SSL             //不配这句话,默认是调用default list(local)

gateway SSLGW

inservice


测试:

Win 7用浏览器打开: http://202.100.1.2

自动重定向到 ​https://202.100.1.2​


首先打开的是Login

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_09

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_10

这就是Client Less Mode。

R2#show webvpn session context all

WebVPN context name: SSLCTX

Client_Login_Name  Client_IP_Address  No_of_Connections  Created  Last_Used

admin              61.1.1.150                 6         00:01:30  00:01:08 


R2#show webvpn session user admin context all

Session Type      : Clientless

Client User-Agent : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Tr


Username          : admin                Num Connection : 2                  

Public IP         : 61.1.1.150           VRF Name       : None               

Context           : SSLCTX               Policy Group   :                    

Last-Used         : 00:06:11             Created        : *15:45:54.323 UTC Mon Aug 12 2013

Session Timeout   : Disabled             Idle Timeout   : 2100               

Citrix            : Disabled             Citrix Filter  : None               

Client Ports      : 60513 60528

用户登出需要点logout

否则会话会保持,GW清除命令:

cle webvpn session user admin context SSLCTX


(3)配置页面外观

首先调整Login页(登录页)

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_11

webvpn context SSLCTX

title "BJ WOLF SSLVPN"

color green

login-message "Welcome to BJ WOLF CCIE Security"


重新登录

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_12

限制用户登录数量,有效防止攻。 -击

webvpn context SSLCTX

max-users 2                                      //最多只允许两个用户,同时登录。


(4)配置组策略

(a)如果一个context只定义了一个group policy,那么这个policy必须应用到default group policy

(b)一个default group policy只能应用一个group,如果想定义多个,可以使用AAA

(c)如果一个context定义了多个group policy,但Radius服务器没有推送任何policy,那么default group policy将会应用给那些没有收到特定策略的用户

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_13

1.     Banner设置

webvpn context SSLCTX

policy group 1

banner "welcome to BJ WOLF"

default -group-policy 1


重新登陆测试

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_14

2.     隐藏url-list

webvpn context ssl

 policy group 1

hide-url-bar

测试

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_15

3.     定义url-list

webvpn context SSLCTX

url-list "Inside.http"

heading "inside.http-R1"

url-text "inside.http-R1" url-value "http://10.10.10.1"

policy group 1

url-list "inside.http"

mask-urls

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_16

mask-urls以后的效果:

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_17

4.     IDLE时间配置

webvpn context SSLCTX

policy group 1

timeout idle 1800                         //闲置时间,默认2100s

timeout session 3600                //用户会话总时间,默认无限



5.     配置NBNS和CIFS

为什么需要配置 NBNS 服务器:

Cisco IOS 路由器支持 Common Internet File System(CIFS)的网络文件共享。配置 CIFS 需要预先配置 NetBIOS Name Server(NBNS),也叫做 Windows Internet Naming Server(WINS)。当 SSLVPN 用户查询并且游览网络的时候,CiscoIOS 路由器联系 WINS 服务器获取可用 domains(域名),workgroups(工作组)和 workstations(工作站)的列表。


webvpn context SSLCTX

 nbns-list "wins-server"

   nbns-server 10.10.10.241 master


 policy group 1

   nbns-list "wins-server"

   functions file-access                        //激活文件共享功能,如不启用,下两条命令没有意义。

   functions file-browse                    //提供文件目录浏览功能。

   functions file-entry                         //在网页允许用户直接输入服务器地址。


测试


配置文件共享

webvpn context SSLCTX

cifs-url-list "Inside.File"

   heading "Inside.file.server"

   url-text "Inside.file.server-241" url-value 10.10.10.241

policy group 1

cifs-url-list "Inside.File"


测试:

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_18

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_19

6.1 port-forwarding配置(瘦客户端)

webvpn context SSLCTX

port-forward "telnet.inside"

local-port 3000 remote-server "10.10.10.1" remote-port 23 description "This is a Router"

//源local-port定义一个没有被占用端口号,建议设置大些。目的端口号为标准端口号。

policy group 1

port-forward "telnet.inside"

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_20

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_21

telnet 127.0.0.1 3000        即可登录R1

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_22

.1.1 Smart-Tunnel

注:15.0以后开始支持Smart-Tunnel。


webvpn context SSLCTX

smart-tunnel list "Inside-telnet"

appl "telnet" "telnet.exe" windows

policy group 1

smart-tunnel list "Inside-telnet"


测试:

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_23

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_24

直接telnet 10.10.10.1即可


注:一个context下只能调用一个smart-tunnel


6.2  port-forwarding http proxy配置

webvpn context SSLCTX

port-forward "pf.inside"

local-port 3000 remote-server "10.10.10.1" remote-port 23 description "R1 Telnet"

local-port 8888 remote-server "10.10.10.1" remote-port 80 description "R1 HTTP"

local-port 8389 remote-server "10.10.10.241" remote-port 3389 description "WIN2K8 RDP"

policy group 1

port-forward "pf.inside" auto-download


注: 如不跟auto-download命令,需要手工下载JAVA插件。

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_25

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_26

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_27

7.     配置Application ACL

网络管理员可以配置 application access control lists( ACL)来控制 Clientless SSL VPN 用户对特定运用服务器的访问。Application ACL 可以控制HTTP,HTTPS,FTP 和 CIFS 等协议。这种 ACL 只影响 clientless SSL VPN 的流量。(15.0不影响)

Application ACL 可以使用如下两种方式来定义:

(1)Filer on URL:基于URL的web ACL,用来对SSLVPN数据包里包含类似http://或错误!超链接引用无效。

(2)Filter on address and service:基于地址和服务的 web ACL,这种ACL 分析 TCP 封装,基于 IP 地址和 4 层端口号过滤 SSLVPN 数据包。


webvpn context SSLCTX

acl "control.http"

permit http 61.1.1.150 255.255.255.255 10.10.10.1 255.255.255.255 syslog

注:源地址为真实的SSL VPN 客户端地址。也可以写any

policy group 1

acl "control.http"


列表没有permit 的将无法打开


R2(config)#

*Aug 12 18:14:12.739: %SSLVPN-6-WEBVPN_APP_ACL_NET: The request( source ip: 61.1.1.150, destion ip : 10.10.10.1 ) from user admin is permitted by ACL


SVC模式:

页面推送安装程序

需要预先把 anyconnect的package 文件拷贝到本地flash:(或者ssl vpn client手工安装)

1.     通过TFTP将package文件拷贝到flash

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_28

R2#format disk0:        //模拟器必须先格式化一遍才能拷入文件


R2#copy tftp: disk0:

Address or name of remote host []? 61.1.1.150

Source filename []? anyconnect-win-2.5.3055-k9.pkg

Destination filename [anyconnect-win-2.5.3055-k9.pkg]?

Accessing tftp://61.1.1.150/anyconnect-win-2.5.3055-k9.pkg...

Loading anyconnect-win-2.5.3055-k9.pkg from 61.1.1.150 (via FastEthernet0/1): !!!!!


2.     安装pkg

R2(config)#webvpn install svc disk0:/anyconnect-win-2.5.3055-k9.pkg

SSLVPN Package SSL-VPN-Client (seq:1): installed successfully


//安装anyconnect的pkg文件。有的模拟器上打问号看不见这句话,一样可以敲。



3.     创建地址池,用于给客户端分配IP地址

ip local pool SSLPOOL 172.16.1.100 172.16.1.200

严重注意:12.4 T以上IOS地址池必须是SSL Server内网地址,或者配置一个环回接口。

int lo 10

ip add 172.16.1.1 255.255.255.0


webvpn context SSLCTX

policy group 1

functions svc-enabled                             //激活SVC

svc address-pool "SSLPOOL"  netmask 255.255.255.0           //调用地址池。

svc keep-client-installed                          //保持anyconnect软件一直安装在客户端上(可选)。

svc rekey method new-tunnel               //更新密钥的方式是建立新的隧道(可选)。

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_29

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_30

安装过程略

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_31

因为当前无法验证证书,默认情况下AnyConnect不允许连接非法证书的SSL服务器

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_32

因此点击Change Settings

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_33

重新连接

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_34

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_35

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_36

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_37

此时客户已经可以完全访问网内的资源了,不限于http/https/cifs

SSL 虚拟网络的IOS配置总结-安全CCIE_CCIE安全_38

激活SVC功能 (SSL VPN Client)

两种激活 SVC 的选项:

(1)svc-enable:当使用这个选项激活 svc功能, 当用户认证成功以后,

Anyconnect 客户端会自动在用户电脑上加载。如果 SVC 客户端加载出现错误,用户

依然能够使用 clientless 和 thin client SSLVPN 模式。 Svc-enable 这种功能,在当我们想使用 svc 对 clientless 或 thin client 模式访问的至关重要的运用(Web,Mail 和 Terminal Server)做备份的时候启用实现备份连接,是非常有用的。

(2)svc-required:当使用这个选项激活 svc 功能, 当用户认证成功以后,Anyconnect 客户端会自动在用户电脑上加载。然而SVC客户端加载出现错误,用户将不能使用 clientless 或 thin client SSLVPN模式。


配置 Traffic Filter

ip access-list extended TRAFFIC-ACL

permit tcp 172.16.1.0 0.0.0.255 host 10.10.10.1 eq telnet

注:放行地址池为源到特定地址和服务的流量。

webvpn context SSLCTX

policy group 1

filter tunnel TRAFFIC-ACL

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_39

测试,ping不通,但telnet可通

配置 Split Tunnel (full tunnel后,当前用户已无法访问公网,可测试ping 61.1.1.254不通,因此需要隧道分割)

webvpn context SSLCTX

policy group 1

svc split include 10.10.10.0 255.255.255.0

注:只有10.10.10.0/24的流量加密(默认tunnel all)

//split exclude IP+Mask 什么样的流量不加密。

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_40

再ping公网地址可以通了

SSL 虚拟网络的IOS配置总结-安全CCIE_网络安全_41

配置DNS、WINS 服务器和默认域名、homepage的指派

命令行配置:

webvpn context SSLCTX

policy group 1

svc default-domain "wolf.com"

svc homepage www.wolf.com​

svc dns-server primary 10.10.10.241

svc dns-server secondary 10.10.10.241

svc wins-server primary 10.10.10.241

svc wins-server secondary 10.10.10.242

感谢阅读 记得关注我!

举报

相关推荐

0 条评论