使用Centos 7上的WiKID进行双因素身份验证来安全OpenVPN

在前面的教程中,我们展示了如何配置PAM-RADIUS以支持双因素身份验证。 现在,在将来的教程中,我们将向此服务器添加远程访问服务,该服务器还将使用WiKID进行双重身份验证。 在本教程中,我们将演示如何利用该设置,通过半径将双因素身份验证添加到Centos 7上的OpenVPN。

除了发布本教程之外,我们还发布了可以自动构建虚拟设备的packer脚本,如本教程中所述。

安装软件

首先安装EPEL仓库:

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-1.noarch.rpm
rpm -ivh epel-release-7-1.noarch.rpm

现在安装openvpn和easy-rsa:

yum install openvpn easy-rsa

配置OpenVPN

更改为示例目录并将示例配置文件复制到/ etc / openvpn中:

cd /usr/share/doc/openvpn-2.3.2/sample/
cp server.conf /etc/openvpn/fqdn.conf

其中fqdn是您的服务器的名称。 它不一定是完全限定的域名。 您只需使用它通过systemctl启动它。

创建新证书

mkdir -p /etc/openvpn/easy-rsa/keys/p>
cp /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa

编辑你的vars文件,特别是证书的字段。 然后运行证书命令。

cd /etc/openvpn/easy-rsa/
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh

将生成的文件复制到/ etc / openvpn或编辑fqdn.conf文件以反映其位置。

创建客户端证书:

./build-key client

编辑fqnd.conf文件并将以下行添加到底部:

plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so sshd
client-cert-not-required
username-as-common-name

为Openvpn配置Firewalld:

firewall-cmd --add-service openvpn
firewall-cmd --permanent --add-service openvpn
firewall-cmd --add-masquerade
firewall-cmd --permanent --add-masquerade

现在,启动openvpn:

systemctl start openvpn@fqdn.service
systemctl enable openvpn@fqdn.service

而已。 您应该能够将客户端证书下载到您的计算机,并使用您的WiKID令牌测试登录。 请注意,您可以使用'openvpn /etc/openvpn/fqdn.conf'运行openvpn服务器进行故障排除。 相同的客户端

客户端配置

在客户端上,只需将“auth-user-pass”行添加到客户端配置中即可强制提示输入密码。 将“auth-user-pass”添加到客户端配置文件。 在客户端提示时,输入WiKID中列出的用户名和WiKID一次性密码。 PAM-RADIUS将根据您的配置直接或通过半径服务器将认证凭据转发到WiKID。

封隔器脚本

Packer是一种可以以VirtualBox,VMware,EC2,Google Compute等各种格式构建虚拟设备的工具。有关完整的说明,请参阅构建2FA准备好的OpenVPN社区虚拟设备。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏