ืืืืืจ ืืชืืจ ืืืืจืช ืฉืจืช OpenVPN ืืื ืืืคืฉืจ ืืืืืช ืื-ืืืจืื ืขื ืืื ืฉื ืืืืจื ืฉืืฉืื ืืงืฉืช ืืืฉืืจ ืืขืช ืืืืืืจ.
OpenVPN ืืื ืฉืจืช VPN ืืืืข, ืืื ืื, ืืงืื ืคืชืื, ืฉื ืืฆื ืืฉืืืืฉ ื ืจืื ืืืจืืื ืืืฉืช ืขืืืืื ืืืืืืืช ืืืฉืืืื ืคื ืื ืืจืืื ืืื.
ืืืืืืช ืืืืืืจ ืืฉืจืช VPN, ื ืขืฉื ืืืจื ืืื ืฉืืืืฉ ืืฉืืืื ืฉื ืืคืชื ืืื ืืกื/ืกืืกืื ืฉื ืืืฉืชืืฉ. ืืื ืขื ืืืช, ืืกืืกืื ืืืืืืกื ืช ืืืงืื ืืืคืืช ืืช ืื ืืกื ืืืืจื ืืืื ืฉืืื ื ืืกืคืง ืืช ืจืืช ืืืืืื ืืจืืืื. ืชืืงืฃ, ืืืืจ ืฉืืฉืื ืืืฉื ืืืืฉื ืืืงืื, ืืงืื ืื ืืืฉื ืืฉืจืช ื-VPN. ืื ื ืืื ืืืืืื ืขืืืจ ืืืืืจืื ืืืืื ืืช ืืืจืืฆืื Windows.
ืฉืืืืฉ ืืืืจื ืืฉื ื ืืคืืืช ืืช ืืกืืืื ืืืืฉื ืื ืืืจืฉืืช ื-99% ืืืื ื ืืกืื ืืื ืืช ืชืืืื ืืืืืืจ ืืืฉืชืืฉืื.
ืืจืฉื ืื ืืืฆืข ืืืื ื ืืื: ืืืืฉืื ืชืฆืืจื ืืืืจ ืฉืจืช ืืืืืช ืฉื ืฆื ืฉืืืฉื multifactor.ru, ืฉืื ืชืืื ืืืฉืชืืฉ ืืชืขืจืืฃ ืืื ื ืืฆืจืืื ืฉืื.
ืขืืงืจืื ืืคืขืืื
- OpenVPN ืืฉืชืืฉ ืืชืืกืฃ openvpn-plugin-auth-pam ืืฆืืจื ืืืืืช
- ืืชืืกืฃ ืืืืง ืืช ืกืืกืืช ืืืฉืชืืฉ ืืฉืจืช ืืืืงืฉ ืืช ืืืืจื ืืฉื ื ืืืืฆืขืืช ืคืจืืืืงืื RADIUS ืืฉืืจืืช Multifactor
- Multifactor ืฉืืื ืืืืขื ืืืฉืชืืฉ ืืืืฆืขืืช ืืื ืืืืจื ืืืืฉืจืช ืืืฉื
- ืืืฉืชืืฉ ืืืฉืจ ืืช ืืงืฉืช ืืืืฉื ืืฆ'ืื ืฉื ืืืืจื ืืืชืืืจ ื-VPN
ืืชืงื ืช ืฉืจืช OpenVPN
ืืฉื ื ืืืืจืื ืจืืื ืืืื ืืจื ื ืืืชืืจืื ืืช ืชืืืื ืืืชืงื ื ืืืืืืจื ืฉื OpenVPN, ืื ืฉืื ื ืฉืืคื ืืืชื. ืื ืืชื ืฆืจืื ืขืืจื, ืืฉ ืืื ืงืืฉืืจืื ืืืืจืืืช ืืกืืฃ ืืืืืจ.
ืืืืจืช Multifactor
ืื ื
ืืืืจ ืืืฆืืจื, ืืืื ืื ืฉืชื ืืคืฉืจืืืืช ืืืื ืืช ืขืืืจื: NAS-ืืืื ะธ ืกืื ืืฉืืชืฃ, ืื ืืืืจืฉื ืืชืฆืืจื ืืืื.
ืืกืขืืฃ "ืงืืืฆืืช", ืขืืืจ ืืืืืจืืช ืืงืืืฆื "ืื ืืืฉืชืืฉืื" ืืืกืจ ืืช ืืืื "ืื ืืืฉืืืื" ืื ืฉืจืง ืืฉืชืืฉืื ืืงืืืฆื ืืกืืืืช ืืืืื ืืืชืืืจ ืืฉืจืช ื-VPN.
ืฆืืจ ืงืืืฆื ืืืฉื "ืืฉืชืืฉื VPN", ืืฉืืช ืืช ืื ืฉืืืืช ืืืืืืช ืคืจื ืืืืืจื ืืฆืืื ืฉืืืฉืชืืฉืื ืืฉ ืืืฉื ืืืฉืื ื-VPN ืฉื ืืฆืจ.
ืืงืืข "ืืฉืชืืฉืื", ืฆืืจ ืืฉืชืืฉืื ืฉืชืืื ืืื ืืืฉื ื-VPN, ืืืกืฃ ืืืชื ืืงืืืฆืช "ืืฉืชืืฉื VPN" ืืฉืื ืืื ืงืืฉืืจ ืืืืืจืช ืืืจื ืืืืืืช ืืฉื ื. ืื ืืกืช ืืืฉืชืืฉ ืืืืืช ืืืชืืื ืืื ืืกื ืืฉืจืช ื-VPN.
ืืืืจืช ืฉืจืช OpenVPN
ืคืชื ืืช ืืงืืืฅ /etc/openvpn/server.conf ืืืืืกืืฃ ืชืืกืฃ ืืืืืืช ืืืืฆืขืืช ืืืืื PAM
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn
ืืชืืกืฃ ืืืื ืืืืืช ืืืืงื ืืกืคืจืืื /usr/lib/openvpn/plugins/ ืื /usr/lib64/openvpn/plugins/ ืืืชืื ืืืขืจืืช ืฉืื.
ืืฉืื ืืื ืขืืื ืืืชืงืื ืืช ืืืืื pam_radius_auth
$ sudo yum install pam_radius
ืคืชื ืืช ืืงืืืฅ ืืขืจืืื /etc/pam_radius.conf ืืฆืืื ืืช ืืืชืืืช ืฉื ืฉืจืช ื-RADIUS ืฉื ื-Multifactor
radius.multifactor.ru shared_secret 40
ืฉื:
- radius.multifactor.ru - ืืชืืืช ืฉืจืช
- shared_secret - ืืขืชืง ืืคืจืืืจ ืืืืจืืช ื-VPN ืืืชืืื
- 40 ืฉื ืืืช - ืคืกืง ืืื ืืืืชื ื ืืืงืฉื ืขื ืืจืืื ืืืื
ืืฉ ืืืืืง ืืช ืืฉืจืชืื ืื ืืชืจืื ืื ืืืืื (ืฉืื ื ืงืืื-ืคืกืืง ืืืชืืื)
ืืืืจ ืืื, ืฆืืจ ืงืืืฅ ืขืืืจ openvpn ืืกืื service
$ sudo vi /etc/pam.d/openvpn
ืืชืืชืื ืืช ืื
auth required pam_radius_auth.so skip_passwd client_id=[NAS-IDentifier]
auth substack password-auth
account substack password-auth
ืืฉืืจื ืืจืืฉืื ื ืืืืจืช ืืช ืืืืื PAM pam_radius_auth ืขื ืืคืจืืืจืื:
- skip_passwd - ืืฉืืืช ืืช ืืขืืจืช ืืกืืกืื ืฉื ืืืฉืชืืฉ ืืฉืจืช RADIUS Multifactor (ืืื ืื ืฆืจืื ืืืขืช ืืช ืื).
- client_id - ืืืืฃ ืืช [NAS-Identifier] ืืคืจืืืจ ืืืชืืื ืืืืืจืืช ืืฉืื ื-VPN.
ืื ืืคืจืืืจืื ืืืคืฉืจืืื ืืชืืืจืื ืืชืืขืื ืขืืืจ ืืืืืื .
ืืฉืืจื ืืฉื ืืื ืืืฉืืืฉืืช ืืืืืืช ืืืืืช ืืขืจืืช ืฉื ืืื ืืกื, ืืกืืกืื ืืืืืืืช ืืืฉืชืืฉ ืืฉืจืช ืฉืื ืืื ืขื ืืืจื ืืืืืช ืฉื ื.
ืืคืขื ืืืืฉ ืืช OpenVPN
$ sudo systemctl restart openvpn@server
ืืืืจืช ืืงืื
ืืืื ืืงืฉื ืืืชืืืจืืช ืืฉืชืืฉ ืืกืืกืื ืืงืืืฅ ืืชืฆืืจื ืฉื ืืืงืื
auth-user-pass
ะัะพะฒะตัะบะฐ
ืืคืขื ืืช ืืงืื OpenVPN, ืืชืืืจ ืืฉืจืช, ืืื ืืช ืฉื ืืืฉืชืืฉ ืืืกืืกืื ืฉืื. ืืืื ืฉื ืืืืืจื ืืฉืื ืืงืฉืช ืืืฉื ืขื ืฉื ื ืืคืชืืจืื
ืืคืชืืจ ืืื ืืืคืฉืจ ืืืฉื, ืืฉื ื ืืืกื ืืืชื.
ืืขืช ืืชื ืืืื ืืฉืืืจ ืืช ืืกืืกืื ืฉืื ืืืืื ืืืงืื; ืืืืจื ืืฉื ื ืืื ืืฆืืจื ืืืืื ื ืขื ืฉืจืช OpenVPN ืฉืื ืืคื ื ืืืฉื ืื ืืืจืฉืืช.
ืื ืืฉืื ืื ืขืืื
ืืืืง ืืจืฆืฃ ืฉืื ืคืกืคืกืช ืฉืื ืืืจ:
- ืืฉ ืืฉืชืืฉ ืืฉืจืช ืขื OpenVPN ืขื ืกืืกืื ืืืืืจืช
- ืืฉืจืช ืืฉ ืืืฉื ืืจื ืืฆืืืช UDP 1812 ืืืชืืืช radius.multifactor.ru
- ืืคืจืืืจืื NAS-Identifier ื-Shared Secret ืืืืืจืื ืืืืื
- ืืฉืชืืฉ ืขื ืืืชื ืื ืืกื ื ืืฆืจ ืืืขืจืืช Multifactor ืืงืืื ืืืฉื ืืงืืืฆืช ืืืฉืชืืฉืื ืฉื VPN
- ืืืฉืชืืฉ ืืืืืจ ืืช ืฉืืืช ืืืืืืช ืืืืฆืขืืช ืืืืจื
ืื ืื ืืืืจืช ืืช OpenVPN ืืคื ื ืื, ืงืจื
ืืืืจืืืช ืืืืฆืขืืช ืขื ืืืืืืืช ืขื CentOS 7.
ืืงืืจ: www.habr.com