Centos 7에서 WiKID의 이중 인증으로 OpenVPN 보안

Centos 7에서 WiKID의 이중 인증으로 OpenVPN 보안

2022-10-19 last update

6 minutes reading centos security
이전 튜토리얼에서 우리는 how to configure PAM-RADIUS to support two-factor authentication.을 보여주었고, 이후 튜토리얼에서는 2단계 인증에도 WiKID를 사용할 원격 액세스 서비스를 이 서버에 추가할 것입니다. 이 자습서에서는 해당 설정을 활용하여 반경을 통해 Centos 7의 OpenVPN에 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

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에 대해 방화벽 구성:
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 1회용 암호에 표시된 대로
클라이언트. PAM-RADIUS는 인증 자격 증명을
WiKID는 구성에 따라 직접 또는 반경 서버를 통해 이루어집니다.

패커 스크립트


Packer는 VirtualBox, VMware, EC2, Google Compute 등과 같은 다양한 형식의 가상 어플라이언스를 구축하는 도구입니다.  전체 지침은 Build a 2FA-ready OpenVPN community virtual appliance을 참조하세요.