| 会员登录 立即注册

打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
3AAA 发表于 2021-8-20 14:30:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
楼主
3AAA
2021-8-20 14:30:12 4021 0 看楼主

安装完服务器之后,下一步就是安装和配置 0penVPN。



0penVPN 在两点之间创建一个加密通道,阻止第三方访问你的网络流量数据。通过设置你的 “虚拟专用网络” 服务,你可以成为你自己的 “虚拟专用网络” 服务商。许多流行的 “虚拟专用网络” 服务都使用 0penVPN,所以当你可以掌控自己的网络时,为什么还要将你的网络连接绑定到特定的提供商呢?

本系列的 第一篇文章展示了如何安装和配置一台作为你的 0penVPN 服务器的 Linux 计算机。同时也讲述了如何配置你的路由器以便你可以在外部网络连接到你的服务器。

第二篇文章将演示根据 0penVPN wiki给定的步骤安装一个 0penVPN 服务软件。

安装 0penVPN


首先,使用包管理器安装 0penVPN 和 easy-rsa应用程序(帮助你在服务器上设置身份验证)。本例使用的是 Fedora Linux,如果你选择了不同的发行版,请选用合适的命令。
$ sudo dnf install openvpn easy-rsa
此操作会创建一些空目录:
    /etc/openvpn/etc/openvpn/client/etc/openvpn/server

如果这些目录在安装的过程中没有创建,请手动创建它们。

设置身份验证


0penVPN 依赖于 easy-rsa脚本,并且应该有自己的副本。复制easy-rsa脚本和文件:
$ sudo mkdir /etc/openvpn/easy-rsa$ sudo cp -rai /usr/share/easy-rsa/3/* /etc/openvpn/easy-rsa/
身份验证很重要,0penVPN 非常重视它。身份验证的理论是,如果 Alice 需要访问 Bob 公司内部的私人信息,那么 Bob 确保 Alice 真的是 Alice 就至关重要。同样的,Alice 也必须确保 Bob 是真正的 Bob。我们称之为相互认证。

现有的最佳实践是从三个可能因素中的选择两个检查属性:
    你拥有的你知道的你是谁

选择有很多。0penVPN 安装使用如下:
    证书:客户端和服务端都拥有的东西证书口令:某人知道的东西

Alice 和 Bob 需要帮助彼此来验证身份。由于他们都相信 Cathy,Cathy 承担了称为 证书颁发机构certificate authority(CA)的角色。Cathy 证明 Alice 和 Bob 都是他们自己。因为 Alice 和 Bob 都信任 Cathy,现在他们也相互信任了。

但是是什么让 Cathy 相信 Alice 和 Bob 是真的 Alice 和 Bob?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:
$ sudo mkdir /etc/openvpn/ca$ cd /etc/openvpn/ca$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki$ sudo /etc/openvpn/easy-rsa/easyrsa build-ca
使用一个易记难猜的密码。

设置服务器密钥对和认证请求:
$ cd /etc/openvpn/server$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki$ sudo /etc/openvpn/easy-rsa/easyrsa gen-req OVPNserver2020 nopass
在此例中,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.req OVPNserver2020

审查并签署请求


你已经生成了一个请求,所以现在你必须审查并签署证书:
$ cd /etc/openvpn/ca$ sudo /etc/openvpn/easy-rsa/easyrsa \  show-req OVPNserver2020
以服务器身份签署请求:
$ cd /etc/openvpn/ca$ sudo /etc/openvpn/easy-rsa/easyrsa \  sign-req server OVPNserver2020
将服务器和 CA 证书的副本放在它们所属的位置,以便配置文件获取它们:
$ sudo cp /etc/openvpn/ca/pki/issued/OVPNserver2020.crt \  /etc/openvpn/server/pki/$ sudo cp /etc/openvpn/ca/pki/ca.crt \  /etc/openvpn/server/pki/
接下来,生成 Diffie-Hellman参数,以便客户端和服务器可以交换会话密钥:
$ cd /etc/openvpn/server$ sudo /etc/openvpn/easy-rsa/easyrsa gen-dh

快完成了


本系列的下一篇文章将演示如何配置和启动你刚刚构建的 0penVPN 服务器。

本文的部分内容改编自 D. Greg Scott 的博客,并经许可重新发布。

via: https://opensource.com/article/21/7/openvpn-router

作者:D. Greg Scott选题:lujun9972译者:perfiffer校对:wxy

本文由 LCTT原创编译,Linux中国荣誉推出
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

3AAA 当前离线
白银会员

查看:4021 | 回复:0

关于我们  |   侵权投诉受理  |   联系我们  |   Archiver  |  
免责声明:邳州信息网所有言论只代表发表者个人观点,与本站无关
Copyright © 2009-2025 pzxxw.com 版权所有:邳州金银杏文化传媒有限公司  

苏公网安备 32038202000401号

快速回复 返回顶部 返回列表