이전 포스팅에서는 OpenVPN을 설정하고, 접속 테스트 까지 완료 했는데요,
이번 포스팅에서는 사용자에게 MFA를 사용하도록 하겠습니다.
1. OpenVPN 서버 설정 변경
먼저, Openvpn 관리자페이지에 접속해봅시다.
관리자 페이지는 https://<EC2 IP>:943/admin 입니다.
관리페이지 접속 후, 왼쪽 네비게이션 바 Authentication >General 을 클릭하고
Google Authenticator Multi-Factor Authentication 을 Yes로 변경합니다. 이후 반드시 Save Settings를 클릭합니다.
설정이 변경되면, 서버에 반영시켜줘야하는데,
아래와 같은페이지가 나오면 반드시 "Update Running Server"를 클릭해줍니다.
2. 사용자별 MFA 토큰 생성
시작하기 전, user01 사용자 프로필을 확인해봅시다.
openvpnas@ip-172-31-0-18:~$ sudo su
root@ip-172-31-0-18:/home/openvpnas# cd /usr/local/openvpn_as/scripts/
root@ip-172-31-0-18:/usr/local/openvpn_as/scripts#
root@ip-172-31-0-18:/usr/local/openvpn_as/scripts# ./sacli --pfilt user01 UserPropGet
{
"user01": {
"pvt_password_digest": "0e44ce7308af2b3de5232e4616403ce7d49ba2aec83f79c196409556422a4927",
"type": "user_connect"
}
}
이제 아래 명령어 순서대로 진행여 MFA를 할당합니다.
1) 모든 유저/그룹에 Google Authenticator 사용하도록 할당
root@ip-172-31-0-18:/usr/local/openvpn_as/scripts# ./sacli --key "vpn.server.google_auth.enable" --value "true" ConfigPut
[True, {}]
root@ip-172-31-0-18:/usr/local/openvpn_as/scripts# ./sacli --user user01 --key "prop_google_auth_autologin" --value "true" UserPropPut
[True, {}]
root@ip-172-31-0-18:/usr/local/openvpn_as/scripts# ./sacli start
RunStart warm None
{
"active_profile": "Default",
"errors": {},
"last_restarted": "Mon Aug 30 05:50:47 2021",
"service_status": {
"api": "on",
"auth": "on",
"bridge": "on",
"client_query": "on",
"crl": "on",
"daemon_pre": "on",
"db_push": "on",
"ip6tables_live": "on",
"ip6tables_openvpn": "on",
"iptables_live": "on",
"iptables_openvpn": "on",
"iptables_web": "on",
"log": "on",
"openvpn_0": "on",
"openvpn_1": "on",
"openvpn_2": "on",
"openvpn_3": "on",
"subscription": "on",
"user": "on",
"web": "on"
}
}
2) user01 사용자 Token 생성
root@ip-172-31-0-18:/usr/local/openvpn_as/scripts# ./sacli --user user01 --lock 0 GoogleAuthRegen
['GLTZFWKVLIYZCDZR', 'otpauth://totp/OpenVPN:user01@3.36.120.182?secret=GLTZFWKVLIYZCDZR&issuer=OpenVPN']
3) user01 사용자 프로필 확인
root@ip-172-31-0-18:/usr/local/openvpn_as/scripts# ./sacli --pfilt user01 UserPropGet
{
"user01": {
"prop_google_auth": "true",
"prop_google_auth_autologin": "true",
"pvt_google_auth_secret": "GLTZFWKVLIYZCDZR",
"pvt_google_auth_secret_locked": "false",
"pvt_password_digest": "0e44ce7308af2b3de5232e4616403ce7d49ba2aec83f79c196409556422a4927",
"type": "user_connect"
}
}
4) OpenVPN 로그인 시도
Client 프로그램으로 OpenVPN에 접속하려고 하면, 아래와 같이 오류가 팝업됩니다.
MFA를 설정해줘야 합니다.
3. MFA 토큰 등록
사용자URL로 접속해서 로그인합니다.
아까는 볼수 없었던 MFA토큰값(QR코드)이 나오는데, 이 토큰값을 Google Authenticator에 등록합니다.
등록 후 나오는 6개의 숫자를 아래 박스에 작성하고 Confirm Code를 눌러 연결해줍시다.
이제 정말 완료 되었습니다.
MFA로그인 성공입니다!
출처 : https://1mini2.tistory.com/122
* OpenVPN 설치 가이드
https://openvpn.net/vpn-server-resources/amazon-web-services-ec2-byol-appliance-quick-start-guide/
* OpenVPN MFA 설치 가이드 (google authenticator)
https://openvpn.net/vpn-server-resources/google-authenticator-multi-factor-authentication/
'[AWS-FRF] > VPN' 카테고리의 다른 글
[참고] VPN(Virtual Private Network) - 가상 사설망 개념 및 구성요소!! (64) | 2024.12.04 |
---|---|
[중요][AWS] How To Setup a FREE VPN Server In AWS Using OpenVPN!! (7) | 2024.11.19 |
[중요] 내 IP주소 확인!! (7) | 2024.11.19 |
[참고][AWS][openVPN #1] 무료버전 OpenVPN을 설치하고 사용하기! (42) | 2024.11.19 |
[중요][AWS] VPC와 fortigate VPN연동하기!! (12) | 2024.10.28 |
[참고][AWS] AWS Site-to-Site VPN with Fortigate !! (15) | 2024.10.28 |
[참고][AWS] StrongSwan이란!! (15) | 2024.10.28 |
[중요][AWS] Site-to-Site #vpn #handson - #hybrid #network #connectivity between #onpremise and #amazon #vpc (30) | 2024.10.15 |
댓글