Foxtable(狐表)用户栏目专家坐堂 → [原创]SSL保护foxtable服务器客户端通信


  共有1904人关注过本帖树形打印复制链接

主题:[原创]SSL保护foxtable服务器客户端通信

帅哥哟,离线,有人找我吗?
xdiy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:61 积分:820 威望:0 精华:0 注册:2013/5/7 23:46:00
[原创]SSL保护foxtable服务器客户端通信  发帖心情 Post By:2019/4/2 18:47:00 [只看该作者]

1.安全套阶层SSL

1.1.SSL协议加密可以通过网络在服务器与客户端应用程序之间传输加密数据。

1.2.优点:建立安全通信通道,以防止通过网络传输的重要信息或敏感信息以及其他 Internet 通信被截获;SSL 让客户端和服务器之间可以验证彼此的身份;在参与方的身份获得验证之后,SSL 在两者之间提供加密连接,以进行安全的消息传输。

1.3.缺点:SSL加密会降低一定的性能,但一般应用可以忽视,真到了忽视不了的程度有的是付费解决方案;SSL也不是万能药,其它安全手段亦不可或缺。

2.双向认证

2.1.双向认证的优点

2.1.1.通过双向SSL认证可以拒绝未授权客户端,从而提高安全系数。

2.1.2.尽力保证服务器上每一个服务都能搭配双向认证从而保证高安全性。

2.2.双向认证的使用范围

2.2.1.适合联网开发环境:减轻安全防护工作提高开发效率。

2.2.2.适合企业内部应用:通过证书+密码双重权限保护企业数据稳定。

3.关于服务端SSL证书的相关

3.1.服务端SSL证书分类

3.1.1.自签证书:测试随意,正常不建议自签发证书,安全及稳定存在风险,比如SQL连接会因可信问题存在连接失败风险。

3.1.2.免费证书:各大云服务商提供的免费DV级SSL证书, Let's Encrypt 的免费证书,注意有部分服务商的免费证书不给非自己主机用户使用。

3.1.3.收费证书:要求不高的话选收费低的,黑历史少的。比如namecheap的廉价证书,freessl提供的优惠证书等。

4.服务器证书的申请

4.1.导入服务器证书

4.1.1.双击之前保存的证书文件,导入到位置“个人”,期间可能需要私钥密码。

4.2.IIS配置

4.2.1.进入IIS管理器-->右键网站-->选择“编辑绑定”-->添加https 类型并选择之前导入的服务器证书。

4.2.2.此时请使用https://你的域名或IP访问网站 查看配置是否生效。

4.2.3.开启双向认证:IIS管理器-->单击网站-->中间有个SSL设置选项-->打开后选择 “要求SSL证书”,客户证书选择“必需”。

4.2.4.此时可以使用https://你的域名或IP访问网站,如果返回403错误则成功。

4.3.SQL SERVER配置

4.3.1.在SQL Server 配置管理器中,展开SQL Server 网络配置、协议 < 服务器实例 >中,用鼠标右键单击,然后选择属性。

4.3.2.在证书选项卡上从证书下拉菜单中,选择所需的证书,然后单击确定。

4.3.3.在标志选项卡上,在ForceEncryption框中,选择是,然后单击确定以关闭该对话框。

4.3.4.重新启动 SQL Server 服务

4.4.远程桌面配置

4.4.1.Window server 2008起远程桌面会自建自签名证书,连接时有安全提示,我们可以替换为之前申请的可信证书。

4.4.2.方法参考文章 https://blog.csdn.net/a549569635/article/details/48831105

4.5.配置Foxtable服务端

暂略

5.客户端证书相关

5.1.证书的分类

5.1.1.自签发客户端证书:自建CA签发客户端证书,后文主要讲的这里。

5.1.2.可信客户端证书:安全性高,费用不低。需要将客户端证书分别导入到服务器和客户端上,或者将通过可信企业版CA对客户端授权,本文不讨论。

5.1.3.U-Key 身份识别:安全级别高,其中的共享密钥信息几乎不会在认证过程中暴露,如果仅仅是实现双向认证,完全可以基于公开密钥体系(PKI)控制u-key,利用官方的API即可轻松完成设置,本文不讨论。

6.自签发客户端证书

6.1.自建CA签发证书

6.1.1.在服务器上添加证书颁发机构角色和证书服务,创建企业根,签发证书。

6.1.2.在服务器上自建CA签发证书,维护麻烦,占用服务器资源,不到一定规模,不建议通过自建CA的方式签发客户端证书。

6.2.通过OPENSSL生成

6.2.1.这个是主流的生成工具,但是还是稍有门槛的,麻烦不方便管理。

6.2.2.网上教程较多,请自行搜索,我这里就不讲了。

7.通过XCA签发证书

7.1.XCA是一个专门签发、管理证书的第三方软件,使用管理方便

下载链接 https://sourceforge.net/projects/xca/

7.2.设置XCA

7.2.1.参考这里 https://www.cnblogs.com/zhengbing/p/4664423.html

7.2.2.Subject标签页的含义

(好吧,我传不上图片)

7.2.3.标签页Extensions,注意设置证书时效。

7.2.4.不需要生成服务器端证书。

7.2.5.具体使用参考 https://www.cnblogs.com/zhengbing/p/4664423.html

7.2.6.Subject标签页的含义

7.2.7.导入CA证书到客户端和服务器的“受信任的证书颁发机构”位置。

7.2.8.导入客户端证书到客户端主机的“个人”位置。

7.2.9.关闭并重新运行浏览器,此时可以使用https://你的域名或IP访问网站,如果能浏览页面则成功。

7.3.XCA可以轻松转移到别的机器上,复制数据库文件重新安装XCA即可。但是在转移数据库文件后,务必先行运行XCA打开转来的数据库文件,测试成功后再删除旧的库文件。

8.小结

我们设置好了4项,IIS 安全访问,远程桌面安全访问,SQL server安全访问,认证客户端访问IIS。目前还有3个问题我后续发文解决,认证客户端访问远程桌面,认证客户端访问SQL server,foxtable服务端的安全访问。



[此贴子已经被作者于2019/4/2 18:58:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
xdiy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:61 积分:820 威望:0 精华:0 注册:2013/5/7 23:46:00
  发帖心情 Post By:2019/4/2 18:57:00 [只看该作者]

不知道为啥,就是上传不了图片,有些地方可能理解比较麻烦一点,抱歉
发此文的原因是  最近在学习《Foxtable网页开发·零基础攻略》,服务端在云上,没有精力纠结于安全设置这块。
[此贴子已经被作者于2019/4/2 19:01:24编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/3 9:56:00 [只看该作者]


 回到顶部