在前面的教程中,我们展示了如何配置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社区虚拟设备。