当前位置: 首页 > 科技观察

如何在免费WiFi中保护隐私(二)

时间:2023-03-16 14:05:42 科技观察

服务器安装完成后,接下来就是安装配置0penVPN。0penVPN在两点之间创建加密隧道,防止第三方访问您的网络流量数据。通过设置您的“虚拟专用网络”服务,您可以成为您自己的“虚拟专用网络”服务提供商。许多流行的“虚拟专用网络”服务都使用0penVPN,那么当您可以控制自己的网络时,为什么还要将您的互联网连接绑定到特定的提供商呢?本系列的第一篇文章展示了如何安装和配置Linux计算机作为您的0penVPN服务器。它还描述了如何配置您的路由器,以便您可以从网络外部连接到您的服务器。第二篇文章将演示如何按照0penVPNwiki中给出的步骤安装一个0penVPN服务软件。安装0penVPN首先,使用包管理器安装0penVPN和easy-rsa应用程序(帮助您在服务器上设置身份验证)。本示例使用FedoraLinux,如果您选择不同的发行版,请使用相应的命令。$sudodnfinstallopenvpneasy-rsa该操作会创建一些空目录:/etc/openvpn/etc/openvpn/client/etc/openvpn/server如果安装过程中没有创建这些目录,请手动创建。设置身份验证0penVPN依赖于easy-rsa脚本,应该有自己的副本。复制easy-rsa脚本和文件:$sudomkdir/etc/openvpn/easy-rsa$sudocp-rai/usr/share/easy-rsa/3/*/etc/openvpn/easy-rsa/身份验证很重要,0penVPN非常重视它。身份验证的理论是,如果爱丽丝需要访问鲍勃公司内部的私人信息,鲍勃必须确保爱丽丝真的是爱丽丝,这一点至关重要。同样,Alice必须确保Bob是真正的Bob。我们称之为相互认证。现有的最佳做法是从三个可能的因素中选择两个来检查属性:你拥有什么你知道什么你是谁有很多选择。0penVPN安装使用以下内容:证书:客户端和服务器都有的东西证书密码:有人知道Alice和Bob需要帮助彼此进行身份验证的东西。由于他们都信任Cathy,因此Cathy承担了称为证书颁发机构(CA)的角色。Cathy证明Alice和Bob都是他们自己。因为Alice和Bob都信任Cathy,所以他们现在彼此信任。但是是什么让凯茜相信爱丽丝和鲍勃真的是爱丽丝和鲍勃呢?Cathy在社区中的声誉取决于是否正确执行此操作,因此如果她想让Denielle、Evan、Fiona、Greg和其他人也信任她,她需要严格测试Alice和Bob的声明。在Alice和Bob向Cathy证明他们确实是Alice和Bob之后,Cathy将向Alice和Bob签署证书,供他们与彼此和全世界共享。Alice和Bob怎么知道是Cathy签署了证书,而不是冒充她的人?他们使用一种称为公钥密码学的技术:找到一种加密算法,用一个密钥加密,用另一个密钥解密。将一个设置为私钥,另一个设置为公钥。Cathy与全世界分享她的公钥和她签名的明文副本。Cathy使用她的私钥加密她的签名,任何人都可以使用她共享的公钥对其进行解密。如果Cathy的解密签名与明文副本匹配,Alice和Bob可以相信Cathy确实签署了它。这是您每次在线购买商品和服务时都会使用的技术。认证0penVPN实施的文档建议在单独的系统或至少与0penVPN服务器分开的目录上设置CA。该文档还建议从服务器和客户端生成单独的证书。由于这是一个简单的演示设置,您可以使用0penVPN服务器设置CA,并将证书和密钥放入服务器上的指定目录中。从服务端生成证书,复制到各个客户端,避免客户端再次设置。此实现使用自签名证书。这是因为服务器信任自己,而客户端信任服务器。因此,服务器是签署证书的最佳CA。在0penVPN服务器上设置CA:$sudomkdir/etc/openvpn/ca$cd/etc/openvpn/ca$sudo/etc/openvpn/easy-rsa/easyrsainit-pki$sudo/etc/openvpn/easy-rsa/easyrsabuild-ca使用易记难猜的密码。设置服务器密钥对和认证请求:$cd/etc/openvpn/server$sudo/etc/openvpn/easy-rsa/easyrsainit-pki$sudo/etc/openvpn/easy-rsa/easyrsagen-reqOVPNserver2020nopassinIn本例中,OVPNServer2020是您在本系列第一篇文章中为0penVPN服务器设置的主机名。生成并签署证书现在您必须向CA发送服务器请求并生成并签署服务器证书。此步骤实质上是将请求文件从/etc/openvpn/server/pki/reqs/OVPNserver2020.req复制到/etc/openvpn/ca/pki/reqs/OVPNserver2020.req以准备审核和签名:$cd/etc/openvpn/ca$sudo/etc/openvpn/easy-rsa/easyrsa\import-req/etc/openvpn/server/pki/reqs/OVPNserver2020.reqOVPNserver2020审查并签署请求你已经生成了一个请求,所以现在你必须审查并签署证书:$cd/etc/openvpn/ca$sudo/etc/openvpn/easy-rsa/easyrsa\show-reqOVPNserver2020将请求签署为服务器:$cd/etc/openvpn/ca$sudo/etc/openvpn/easy-rsa/easyrsa\sign-reqserverOVPNserver2020将服务器和CA证书的副本放在它们所属的位置,以便配置文件获取它们:$sudocp/etc/openvpn/ca/pki/issued/OVPNserver2020.crt\/etc/openvpn/server/pki/$sudocp/etc/openvpn/ca/pki/ca.crt\/etc/openvpn/server/pki/接下来生成Diffie-Hellman参数,以便客户端和服务器可以交换会话Key:$cd/etc/openvpn/server$sudo/etc/openvpn/easy-rsa/easyrsagen-dh几乎完成本系列的下一篇文章将演示如何配置和启动您刚刚构建的0penVPN服务器。