前のチュートリアルでは、2要素認証をサポートするようにPAM-RADIUSを構成する方法を示しました。現在、および将来のチュートリアルでは、このサーバーにリモートアクセスサービスを追加します。このサービスは、2要素認証にもWiKIDを使用します。このチュートリアルでは、そのセットアップを活用して、Centos7のOpenVPNにradiusを介した2要素認証を追加する方法を示します。
このチュートリアルの公開に加えて、このチュートリアルで説明されているように、仮想アプライアンスを自動的に構築できるパッカースクリプトもリリースしています。
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
サンプルディレクトリに移動し、サンプル構成ファイルを/ 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 [email protected]
systemctl enable [email protected]
それでおしまい。クライアント証明書をマシンにダウンロードし、WiKIDトークンを使用してログインをテストできるはずです。トラブルシューティングには、「openvpn/etc/openvpn/fqdn.conf」を使用してopenvpnサーバーを実行できることに注意してください。クライアントについても同じです。
クライアント構成
クライアントで、「auth-user-pass」という行をクライアント構成に追加するだけで、パスワードの入力を強制的に求められます。クライアント構成ファイルに「auth-user-pass」を追加します。クライアントでプロンプトが表示されたら、WiKIDにリストされているユーザー名とWiKIDワンタイムパスコードを入力します。 PAM-RADIUSは、構成に応じて、認証資格情報を直接またはRADIUSサーバー経由でWiKIDに転送します。
Packerは、VirtualBox、VMware、EC2、Google Computeなどのさまざまな形式で仮想アプライアンスを構築するツールです。詳細な手順については、2FA対応のOpenVPNコミュニティ仮想アプライアンスの構築をご覧ください。