搭建私有CA与基于OpenSSL的双向身份认证

 PUBLISHED ON July 10, 2018

0x00 前言

互联网上的Web应用由于用户数目广泛,都是采用单向身份认证的,只需要客户端验证服务端的身份。但如果是企业内部的应用对接,客户端数量有限,可能就会要求对客户端也做身份验证,这时就需要一个双向认证方案。本文通过搭建私有CA,利用OpenSSL工具,实现服务端与客户端的双向身份认证。安全协议采用HTTPS,这里用到的HTTPS除了能够进行身份认证以外,还能保证通信的保密性和完整性。

0x01 组建方案

组建方案如下图所示:

  • 整个方案包括一个私有CA、一个服务端、一个客户端,用于验证HTTPS双向身份认证的可行性。
  • 服务端的系统环境为CentOS7,Web服务器采用Tomcat7。客户端的系统环境为Windows,浏览器采用Firefox。
  • 由私有CA负责生成所有的私钥、证书等文件,并通过线下安全途径分发到服务端和客户端。
  • 其中,CA的私钥最为重要需加密后离线保管;服务端持有CA证书、服务器私钥、服务器证书3个文件;客户端持有CA证书、客户端私钥、客户端证书3个文件。
  • 客户端与服务端通过HTTPS安全协议进行双向身份认证、加密传输。另外,需要注意的是,HTTPS实现的是传输层的身份认证,不含应用层鉴权功能。

Read More»

云服务器上安装部署OpenVPN

 PUBLISHED ON February 08, 2018

0x00 前言

VPN(Virtual Private Network)中文称为虚拟专用网,它透过公网来传送内网的信息,这种技术可以利用不安全的网络(例如:互联网)来发送可靠、安全的消息。它的基本原理是利用已加密的隧道协议(Tunneling Protocol)来达到保密、发送端认证、消息准确性等安全效果。本文利用开源软件OpenVPN搭建VPN服务器,客户端拨号连接到VPN服务器这种的方法就能实现信息远程的安全通信,保障网络传输的保密性、完整性、身份认证、访问控制等。另外,VPN服务器的自身安全性也是考虑因素之一。

0x01 VPN与OpenVPN

常见的VPN的分类如下

  • 按协议层次:可以分为二层VPN,三层VPN、四层VPN和应用层VPN。
  • 按应用范围:远程访问VPN、内联网VPN和外联网VPN。
  • 按体系结构:网关到网关VPN、主机到网关VPN和主机到主机VPN。

Read More»

网络调试工具:cURL、Wget和Netcat

 PUBLISHED ON April 06, 2017

0x00 前言

网络调试当中经常需要用到一些命令行工具,其中较为著名的是cURLWgetNetcat三款跨平台工具。它们除了具有对网络通信进行分析之类的常规功能,甚至还有数据爬取、端口反弹等特殊功能,完全是居家旅行必备之良品。本文对cURL、Wget和Netcat三款工具的常见功能进行介绍,方便新手快速掌握这些命令行工具的基本选项与参数。

0x01 模拟请求利器cURL

支持的通信协议有FTP、FTPS、HTTP、HTTPS、IMAP、POP3、SMTP等。除了命令行工具,cURL还包含了用于程序开发的libcurl, 可以与许多语言相结合,如PHP、C++等。这里主要介绍cURL作为命令行工具在HTTP、HTTPS等协议中的运用。

Read More»


Newer →