#原创分享#SJJ设备国密改造之C/S架构
  

刺猬要穿新裤子。 385

{{ttag.title}}
某用户国密改造测试,涉及B/S架构和C/S架构,本贴为C/S架构业务改造。

二、C/S架构国密改造:

改造场景及原理概述:

客户原先C/S业务通信未采用国密SSL进行加密,现测试通过代理服务器方式实现业务访问的国密改造。搭建代理服务器并与SSL安全网关之间建立国密SLL的加密通信隧道,代理服务器启用对应端口监听数据,将监听到的数据通过国密SSL通信隧道发送给SSL安全网关,SSL安全网关将数据调度到对应的服务器,实现C/S架构的国密改造。

C/S架构图示

C/S架构图示
C/S架构图示

国密设备均需先激活国密卡。
关于国密卡激活步骤,详情见上一篇关于B/S业务的改造:
https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=135987#/pid1840163

配置步骤和测试效果:

①  搭建代理服务器:

此测试项目安装Centos7操作系统,并安装nginx服务程序。(也可以安装Windows server 2012操作系统,并安装proxy服务程序)
本次测试在客户的虚拟化环境里创建一台Centos7的服务器,
上传安装包rpm -ivh nginx_sm-1.0.0-1.x86_64.rpm,
在上传目录下赋予执行权限,chmod u+x rpm -ivh nginx_sm-1.0.0-1.x86_64.rpm,
然后安装 ./ rpm -ivh nginx_sm-1.0.0-1.x86_64.rpm。

/usr/local/nginx/conf/nginx.conf这个是我们的配置文件,主要修改内容都在这里。下面是主要内容的示例:

stream {
      server{
            listen 80;  代理监听的端口
            proxy_pass 15.1.1.205:443;  表示后端服务器(AD)的地址,需要指定域名或者 ip 和端口。
            #proxy_pass www.adtest.com:443; 前面有 ‘#’ 字符,表示注释掉该行,如果后端访问通过域名则启用此行,注销上一行。
            proxy_ssl on;  表示启用 ssl 加密
            #proxy_ssl_verify on;  表示启用服务器证书认证
            #proxy_ssl_trusted_certificateca.pem;  表示服务器证书 CA
            proxy_ssl_protocols GMv1.1;  
            proxy_ssl_ciphers ECC-SM2-SM4-SM3;
            proxy_ssl_ukey off;
            proxy_ssl_certificateserver.crt;
            proxy_ssl_certificate_keyserver.key;
            proxy_ssl_ext_certificateserver.crt;
            proxy_ssl_ext_certificate_keyserver.key;
            proxy_ssl_authJ+Q3ROM4RJj7AztgCUTMSZPYEdg3gZmnvLgLuPGbEcCE1q21Xw2CLczcaV/tsAZnlQ83wlH2AdPWLQWs6db2VHnHTNwFpdWRGHXM9h3DJehBg5qBHXiC8ytM7IxcCBixkfocx/3nntnWoreHMnt9mTJHibzHaoVP0q9trMlwjRQunmj/T3Pn4xXrL68RNjZFWz7Dh3vZQqZDGFIw+qLgaPy+cz61jAyRSB5GCG0fuVkvlTWG1dhLBmBufWFI0EOgidSiDqzrzODnxf6+P5oGsMb7IUgWddii4DhC9w+2BcgX2P3nVX1kcBZmaLSe+OrPQdGVcIaP7rbAHDnHYnfwDw==;
      }
}

如果有多条隧道需要建立,则再增加server就可以。

通常不需要启用UKEY证书测试,本次测试也没有使用。不启用UKEY证书测试还需要将server.crt和 server.key 拷贝到/usr/local/nginx/conf目录下。否则运行会报错。

完成配置我们就可以运行nginx测试一下,注意的是无论是下面的test或是start命令都会让你输入pin码,随便输入回车即可。

/etc.init.d/nginx test
3.png

/etc/init.d/nginx start

3

3

/etc/init.d/nginx status查看进程是否运行

4

4

/etc/init.d/nginx stop 停止代理程序

/etc/init.d/nginx restart  重启代理程序

②  SSL安全网关上配置SSL卸载策略以及虚拟负载服务:

配置时注意选择国密协议

5

5

6

6


③  测试效果展示:
本次测试使用B/S类型的资源做效果展示,也帮助大家再理解下原理图。从原理图可知,与B/S国密改造改变客户访问方式不同(http访问变为https访问)。C/S国密改造不会改变原先的访问方式,通过代理服务器和AD之间做加密隧道传输数据实现需求。

7

7

抓包验证:(需要使用支持国密的wireshark)

8

8

PS:本文所需的安装包等文件需联系研发获取。

打赏鼓励作者,期待更多好文!

打赏
2人已打赏

小白白白白白 发表于 2021-3-12 15:14
  
王总强啊,王总牛逼哄哄。
新手046395 发表于 2021-3-15 17:40
  
这么好的帖子,竟然会沉?不合理啊
飞翔的苹果 发表于 2021-3-16 15:04
  
感谢分享,有助于工作,学习中
发表新帖
热门标签
全部标签>
每日一问
GIF动图学习
信服课堂视频
项目案例
产品连连看
技术笔记
在线直播
技术咨询
SDP百科
专家分享
原创分享
VPN 对接
技术圆桌
功能体验
安装部署配置
新版本体验
答题自测
每日一记
畅聊IT
专家问答
SANGFOR资讯
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
技术顾问
信服故事
标准化排查
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告

本版达人

新手61940...

本周建议达人

zhao_HN

本周分享达人

ZSFKF

本周提问达人