ROS软路由论坛 ROSABC.com 网络方案网络工程交流

 找回密码
 会员注册

QQ登录

只需一步,快速开始

SSTP隧道和配置

2006-6-4 16:13| 发布者: ROSABC| 查看: 25575| 评论: 0

摘要: 安全套接字隧道协议(SSTP)是PPP隧道,SSL 3.0通道的运输方式。使用SSL在TCP端口443允许SSTP通过几乎所有的防火墙和代理服务器。 SSTP连接机制 从客户端到服务器(默认情况下,在端口443)建立TCP连接; SSL验 ...
安全套接字隧道协议(SSTP)是PPP隧道,SSL 3.0通道的运输方式。使用SSL在TCP端口443允许SSTP通过几乎所有的防火墙和代理服务器。


SSTP连接机制


从客户端到服务器(默认情况下,在端口443)建立TCP连接;
SSL验证服务器证书。如果证书是有效的连接建立,,否则连接断开。
SSTP控制客户端发送的数据包内建立HTTPS会话的SSTP状态机两侧。
PPP协商通过SSTP。客户端认证服务器和IP地址绑定到SSTP接口
现在SSTP隧道建立和报文封装就可以开始。

如果客户端和服务器MikroTik的路由器,那么很可能没有证书和任何可用的验证类型建立SSTP隧道。否则MSCHAP认证建立安全隧道,应使用从同一个客户机/服务器证书链。阅读更多>>



注: 从v5.0beta2 SSTP并不需要证书来操作。此功能将工作只有两个MikroTik的路由器之间,因为它不按标准要求。


目前,SSTP客户端仅在Windows Vista,Windows 7和RouterOS软路由的存在。


注: 在连接SSTP服务器,Windows不会检查服务器证书的证书撤销列表(CRL)可以引入显着的延迟来完成连接,甚至防止用户访问SSTP服务器如果Windows无法访问CRL分发点!自定义生成CA的CRL可用于减少连接延迟和证书费用(与已知CA签署的证书通常不是免费的),不包括,但这个定制的CA必须单独导入每个Windows客户端。这是可能的Windows注册表中禁用CRL检查,但它仅支持Windows Server 2008的http://support.microsoft.com/kb/947054


证书


注: RouterOS软路由的SSTP的v6rc10方面从CRL


要设置安全SSTP隧道,证书是必需的。对服务器身份验证只能由用户名和密码,但在客户端 - 服务器使用服务器证书验证。它也可用于客户端绑定SSL cryptographicly和PPP认证的意义 - 通过SSTP连接到服务器客户端发送一个特殊值,这个值是来自PPP认证和服务器证书过程中生成的关键数据,这使得服务器检查是否两个通道是安全的。

如果SSTP客户端是Windows电脑,那么唯一的办法使用自签名证书时,设置安全SSTP隧道SSTP服务器和Windows PC上添加受信任的根 CA证书是由“服务器”证书导入。


注:如果您的服务器证书是由CA,这是众所周知的Windows,那么Windows客户端将努力witout任何额外的证书。



警告: 如果使用SSTP证书,RSA密钥长度必须至少472位。较短的密钥被视为安全威胁。


RouterOS软路由的客户端上,将类似的配置,导入CA证书并启用验证服务器证书选项。在这种情况下,人在这方面的中间人攻击是不可能的。

两个MikroTik的路由器之间也有可能不安全隧道不使用证书。在这种情况下,数据通过SSTP隧道使用匿名DH和人的中间人攻击很容易实现,这种情况是不兼容Windows客户端。

另外,也可以通过添加附加的授权客户端证书进行安全SSTP隧道。配置要求如下:

在服务器端和客户端的证书
服务器和客户端上启用验证选项

与Windows客户端这种情况也是不可能的,因为那里是没有办法设置在Windows客户端证书。

证书错误消息
SSL握手失败时,你会看到以下证书错误之一:

证书尚未有效 - 日期不早于当前时间之后。
证书已过期- notAfter日期是在当前时间之前。
无效证书的目的 - 所提供的证书不能用于指定用途。
自签名证书链 - 证书链,可以建立使用不受信任的证书,但无法在本地找到根。
无法获得本地发行人证书 - CA证书不是本地进口。
服务器的IP地址与证书不匹配 - 已启用,但服务器地址验证证书地址不匹配的服务器地址。

主机名验证
从V5.6开始,当服务器凭证验证SSTP客户端上启用,另外IP地址发现证书的SubjectAltName,然后发行人的CN将进行比较的真实地址。DNS名称被忽略。V5.7增加了新的参数禁用/启用主机名验证证书验证服务器地址。

SSTP客户端

子菜单: /接口SSTP客户端

属性
财产 描述
添加默认路由(是没有默认值:无) 是否要添加SSTP远程地址作为默认路由。
认证(MSCHAP2 | mschap1 | | PAP,默认:MSCHAP2 MSCHAP1,第一章,子宫颈章) 宠物的身份验证方法。
证书(字符串|无默认:无)
评论(字符串,默认) 一个项目的描述性名称
连接(IP:端口默认:0.0.0.0:443) 远程SSTP服务器的地址和端口。
按需拨号(是没有默认值:无)
残疾人(有没有 ;默认:是) 无论是接口被禁用或没有。默认情况下,它被禁用。
存活超时(整数|禁用默认:60)
最大MRU(整数默认值:1500) 最大接收单元。SSTP接口的最大数据包大小将能够接收无包碎片。
最大MTU(整数默认值:1500) 最大传输单元。SSTP接口的最大数据包大小将是能够发送无包碎片。
MRRU(禁用整数 ;默认:禁用) 链接可以接收的最大数据包大小。如果一个数据包是大于MTU隧道,将被分成多个包,允许原图IP或以太网要发送的数据包在隧道。阅读更多>>
名称(字符串,默认) 接口的描述性名称。
密码(字符串,默认:“” ) 用于身份验证的密码。
个人资料(姓名,默认:默认加密) 使用PPP轮廓。
代理服务器(IP:端口默认:0.0.0.0:443) HTTP代理服务器的地址和端口。
用户(字符串,默认) 用于身份验证的用户名。
验证服务器证书(是没有默认值:无) 如果设置为yes,那么客户端检查证书是否属于相同的证书服务器的证书链。使其工作CA证书必须导入。
从证书验证服务器地址(| ;默认:是) 如果设置为yes,服务器的IP地址将被一组证书相比, 阅读更多>>


快速的例子
这个例子演示了如何设置SSTP客户端用户名“SSTP测试”,密码为“123”和服务器10.1.101.1

[管理] /接口MikroTik的SSTP客户端>新增用户的SSTP测试密码= 123 \
\ ... 连接= 10.1.101.1禁用=无
[管理] /接口MikroTik的SSTP客户端打印
标志:X  - 停用,R  - 运行
 0 R名称中=的“SSTP OUT1”最大MTU = 1500 = 1500 MRRU最大MRU =禁用连接= 10.1.101.1:443 
      用户=“SSTP测试”密码=“123”代理= 0.0.0.0:443简介=默认
      =无keepalive报超时= 60加缺省路由=无拨号的需求=无证书 
      认证=子宫颈,第一章,MSCHAP1 MSCHAP2

SSTP服务器

子菜单: /接口SSTP服务器

此子菜单显示每个连接SSTP客户端的接口。

创建一个接口为每个给定的服务器建立隧道。SSTP服务器的配置中有两种类型的接口

如果有一个需要引用的特定用户创建的特定接口的名称(在防火墙规则或其他地方),静态接口加入行政。
动态接口添加到此列表时自动连接用户,其用户名不符合任何现有的静态条目(或情况下,项目已经处于活动状态,不能有两个单独的隧道接口的同名引用)。
动态接口,用户连接时出现和消失,一旦用户断开连接,所以它是不可能引用隧道创建,使用路由器的配置(例如,防火墙),所以如果你需要一个持久的规则,用户,创建一个静态条目为他/她。否则它是安全的使用动态配置。


注: 在这两种情况下,PPP用户必须正确配置-静态条目不更换PPP配置。



服务器配置
子菜单: /接口SSTP服务器服务器

性质:

财产 描述
认证(PAP | CHAP | MSCHAP1 | MSCHAP2 ;默认:子宫颈抹片,第一章,MSCHAP1,MSCHAP2) 认证服务器将接受的方法。
证书(名称|无默认:没有) SSTP服务器将使用的证书名称。
默认配置文件(名称 ;默认值:默认)
启用(是|没有预设值:无) 定义SSTP服务器是否启用与否。
力AES(是|没有预设值:无) 空军AES加密。如果启用Windows客户端(仅支持RC4)将无法连接。
存活超时(整数|禁用默认:60) 如果服务器存活期间没有收到任何数据包时,它会发送keepalive报文的每一秒的五倍。如果服务器没有收到客户端的响应,然后5秒后断开。日志会显示5X“LCP错过回音应答”消息,然后断开连接。
最大MRU(整数默认值:1500) 最大接收单元。SSTP接口的最大数据包大小将能够接收无包碎片。
最大MTU(整数默认值:1500) 最大传输单元。SSTP接口的最大数据包大小将是能够发送无包碎片。
MRRU(禁用整数 ;默认:禁用) 链接可以接收的最大数据包大小。如果一个数据包是大于MTU隧道,将被分成多个包,允许原图IP或以太网要发送的数据包在隧道。阅读更多>>
验证客户端证书(是没有默认值:无) 如果设置为yes,那么服务器会检查客户端的证书是否属于相同的证书链。

[管理] /接口MikroTik的SSTP服务器服务器>设置证书服务器
[管理员@ MikroTik的] /接口SSTP服务器服务器>设置启用=
[管理员@ MikroTik的] /接口SSTP服务器服务器>打印 
                     启用:是
                        端口:443
                     最大MTU:1500
                     最大MRU:1500
                        MRRU:禁用
           存活超时:60
             默认配置:默认
                 服务器证书:
  验证客户端证书:无
              验证:PAP,CHAP MSCHAP1 MSCHAP2
[管理] /接口MikroTik的SSTP服务器服务器>

注意: 在路由器上的日期是在证书的过期日期的范围内,这是非常重要的。要克服任何证书验证问题,服务器和客户端上启用NTP日期同步。


监控

监控命令可用于客户端和服务器上的隧道监控状态。

[管理员@ dzeltenais_burkaans] /接口SSTP服务器监视0
     状态:“连接”
     运行时间:17m47s
  空闲时间:17m47s
       用户:“SSTP测试”
  来电显示:“10.1.101.18:43886”
        MTU:1500

只读属性

财产 描述
状态() 当前SSTP状态。的值以外的“连接”表示有一些问题estabising隧道。
正常运行时间(时间) 成立以来经过的时间隧道。
空闲时间(时间) 经过时间隧道自去年活性。
用户(字符串) 使用的用户名建立了隧道。
MTU(整数) 谈判和使用的MTU
呼叫者ID(IP:ID)
应用实例

连接远程客户端
下面的例子演示了如何将计算机连接到一个远程办公网络安全SSTP加密隧道给该计算机的IP地址相同的网络远程办公室(无需跨过EoIP隧道)


考虑以下设置:


办公室路由器连接到互联网,通过ether1的。工作站连接到ether2。笔记本电脑连接到互联网,并可以达到办公室路由器的公网IP(在我们的例子中,它是192.168.80.1)。


在您开始配置SSTP,你需要创建一个服务器证书,并将其导入到路由器(这里说明)。

现在是时候创建一个用户

[管理员@ RemoteOffice / PPP的秘密>添加名称=笔记本维修=密码SSTP = 123
本地地址=的10.1.101.1远程地址= 10.1.101.100
[管理员@ RemoteOffice] / PPP的秘密>打印详细
标志:X  - 禁用
  0名称=“笔记本电脑”的服务= SSTP呼叫者ID =“密码=”123“配置文件=默认
      本地地址= 10.1.101.1远程地址= 10.1.101.100航线==“”

[管理员@ RemoteOffice] / PPP秘密>
请注意,的SSTP本地地址作为路由器的本地接口和远程地址的地址形成本地网络中的相同的范围内(10.1.101.0/24)是相同的。


下一步是使SSTP服务器和SSTP客户端上的笔记本电脑。

[管理员@ RemoteOffice] /接口SSTP服务器服务器>设置证书服务器
启用[管理员@ RemoteOffice] /接口SSTP服务器服务器>设置=
[管理员@ RemoteOffice] /接口SSTP服务器服务器>组认证= MSCHAP2的
[管理员@ RemoteOffice] /接口SSTP服务器服务器>打印
                     启用:是
                        端口:443
                     最大MTU:1500
                     最大MRU:1500
                        MRRU:禁用
           存活超时:60
             默认配置:默认
                 服务器证书:
  验证客户端证书:无
              验证:MSCHAP2

[管理员@ RemoteOffice] /接口SSTP服务器服务器>
请注意,身份验证设置为MSCHAP。这是唯一的身份验证选项是有效的,以建立安全隧道。


SSTP客户端的笔记本电脑连接到路由器的公网IP??,在我们的例子中是192.168.80.1。

请咨询各自的手册上如何设置SSTP客户端,您正在使用的软件。如果您设置了SSTP客户端在Windows和使用自签名证书,那么CA证书应被添加到受信任的根。


注: 目前SSTP是在Windows 2008,Windows Vista和Vista SP1的支持。其他操作系统将无法连接到SSTP服务器



要验证是否连接SSTP客户端

[管理员] /接口SSTP服务器RemoteOffice>打印 
标志:X  - 残疾人,D  - 动态,R  - 运行 
 #名用户MTU CLIENT-ADDRESS的正常运行时间编码   
 0 DR

[管理员@ RemoteOffice] /接口SSTP服务器监视0
     状态:“连接”
     运行时间:1h45s
  空闲时间:1h45s的
       用户:“笔记本电脑”
  来电显示:“192.168.99.1:43886”
        MTU:1500

在这一点上(SSTP客户端连接成功时),如果你会尝试,ping任何工作站形式的笔记本电脑,乒乓球会在一定时间出来,因为笔记本电脑是无法得到的ARP工作站。解决办法是设立本地接口上的 ARP代理

[管理员@ RemoteOffice] /接口以太网设置ether2 ARP代理ARP
[管理员@ RemoteOffice] /以太网接口打印
标志:X  - 停用,R  - 运行
  #NAME MTU MAC地址的ARP
  0 R ether1的1500零点30分04秒F:0B:7B:C1启用
  1 R ether2 1500零点30分04秒F:06:62:12代理ARP
[管理员@ RemoteOffice接口以太网>
启用代理ARP 后的客户端能够顺利到达本地网络中的所有工作站后面的路由器。

站点到站点SSTP
下面是一个例子,在互联网上使用SSTP隧道连接两个内部网。

考虑下面的设置


办公室和家庭路由器连接到互联网,通过ether1的,工作站和笔记本电脑连接到ether2。在这个例子中,本地网络的路由通过SSTP客户端,因此它们不在同一个广播域。为了克服这个问题,因为任何其他ppp隧道的SSTP还支持BCP允许桥接SSTP隧道与本地接口。

第一步是创建一个用户

[管理员@ RemoteOffice / PPP的秘密>添加名称=服务= SSTP密码= 123
本地地址172.16.1.1的远程地址= 172.16.1.2航线的=“10.1.202.0/24 172.16.1.2 1”
[管理员@ RemoteOffice] PPP秘密>打印详细
标志:X  - 禁用
  0名称=“家”的服务= SSTP呼叫者ID =“密码=”123“配置文件=默认
      本地地址172.16.1.1的远程地址= 172.16.1.2航线的==“10.1.202.0/24 172.16.1.2 1”

[管理员@ RemoteOffice] / PPP秘密>
注意我们设置SSTP添加路由时,客户端连接。如果没有设置这个选项,那么你就需要在服务器上配置静态路由路线交通站点之间通过SSTP隧道。

现在,我们需要上传和导入CA和服务器/客户端证书。假设文件已上传使用下面的命令:

管理员@ RemoteOffice] /证书>进口文件名= ca.crt
口令: 
管理员@ RemoteOffice] /证书>进口文件名= server.crt这
口令:****
管理员@ RemoteOffice] /证书>进口文件名= server.key的
口令:****
设置适当的名称:

管理员@ RemoteOffice] /证书>设置0 = CA
管理员@ RemoteOffice] /证书>设置1名=服务器
管理员@ RemoteOffice] /证书>打印 
标志:K  - 解密私钥,Q  - 私钥,R,D  -  RSA  -  DSA 
 0 D名称=“CA”主题= C = LV,ST = RI,L =里加,O = MT,CN = MT CA,电子邮件地址= xx@mt.lv 
      发行人= C = LV,ST = RI,L =里加,O = MT,CN = MT CA,电子邮件地址= xx@mt.lv 
      序列号=的“DF626FA846090BCC”的的电子邮件= xx@mt.lv无效前= jun/25/2008七时23分五十秒 
      无效后= jun/23/2018七时23分50秒CA = 

 1 KR名称=“服务器”科目= C = LV,ST = RI,L =里加,O = MT,CN =服务器,电子邮件地址= xx@mt.lv 
      发行人= C = LV,ST = RI,L =里加,O = MT,CN = MT CA,EMAILADDRESS = xx@mt.lv序列号=“01” 
      电子邮件=无效之前,xx@mt.lv = jun/25/2008 7时24分33秒,无效后= jun/23/2018 7时24分33秒 
      CA =是 
客户端做同样的事情,而是服务器的证书导入客户端的证书。


下一步是使SSTP办公室路由器和服务器配置SSTP客户端主页上的路由器。

[管理员@ RemoteOffice] /接口SSTP服务器服务器>设置证书服务器
启用[管理员@ RemoteOffice] /接口SSTP服务器服务器>设置=
[管理员@ RemoteOffice] /接口SSTP服务器服务器>设置验证客户端证书=
[管理员@ RemoteOffice] /接口SSTP服务器服务器>打印
                     启用:是
                        端口:443
                     最大MTU:1500
                     最大MRU:1500
                        MRRU:禁用
           存活超时:60
             默认配置:默认
                 服务器证书:
  验证客户端证书:是
              验证:PAP,CHAP MSCHAP1 MSCHAP2

[管理员@首页] /接口SSTP客户端>新增用户=密码= 123连接= 192.168.80.1残疾人=
  证书=客户端验证服务器证书= YES
[管理员@首页] /接口SSTP客户端打印
标志:X  - 停用,R  - 运行
 0 R名称中=的“SSTP OUT1”最大MTU = 1500 = 1500 MRRU最大MRU =禁用连接= 192.168.80.1:443 
       用户=“家”密码=“123”代理= 0.0.0.0:443简介=默认证书=客户端
       保持活动超时= 60添加默认路由没有拨号点播=无 
       验证= PAP,CHAP MSCHAP1,MSCHAP2验证服务器证书= YES

[管理员@首页] /接口SSTP客户端>
现在,我们需要添加静态路由,家庭路由器到达办公室路由器背后的本地网络

[管理员@首页] / IP路由>添加DST地址= 10.1.101.0/24网关= SSTP-OUT1
隧道建立后,你应该能ping远程网络。

故障排除

在Windows 7的升级SSTP是无法连接(Windows错误631)?
微软补丁KB2585542改变暗号RC4这是不RouterOS软路由的支持。从RouterOS软路由的v5.13 RC4的首选加密和AES将用于只有当对等体不做广告RC4。
我得到以下错误,当试图连接Windows 7客户端。错误0x80070320档案锁与此句柄关联现在已经与不同的手柄。
禁止在服务器上验证客户端证书选项。

不良信息举报Q:2000617

软路由

不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流

GMT+8, 2025-3-29 15:22 , Processed in 0.103006 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部