ಎರಡು-ಅಂಶದ ದೃಢೀಕರಣವು ಅಪೇಕ್ಷಣೀಯ ಮತ್ತು ಮುಳ್ಳು ಎರಡೂ ಆಗಿದ್ದರೆ, ಆದರೆ ಹಾರ್ಡ್ವೇರ್ ಟೋಕನ್ಗಳಿಗೆ ಹಣವಿಲ್ಲ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಅವರು ಉತ್ತಮ ಮನಸ್ಥಿತಿಯಲ್ಲಿ ಉಳಿಯಲು ನೀಡುತ್ತಾರೆ.
ಈ ಪರಿಹಾರವು ಸೂಪರ್ ಒರಿಜಿನಲ್ ಅಲ್ಲ, ಬದಲಿಗೆ ಇಂಟರ್ನೆಟ್ನಲ್ಲಿ ಕಂಡುಬರುವ ವಿಭಿನ್ನ ಪರಿಹಾರಗಳ ಮಿಶ್ರಣವಾಗಿದೆ.
ಆದ್ದರಿಂದ ನೀಡಲಾಗಿದೆ
ಡೊಮೇನ್ ಸಕ್ರಿಯ ಡೈರೆಕ್ಟರಿ.
ಇಂದಿನ ಅನೇಕರಂತೆ ಡೊಮೇನ್ ಬಳಕೆದಾರರು VPN ಮೂಲಕ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದ್ದಾರೆ.
VPN ಗೇಟ್ವೇ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಬಲವರ್ಧನೆ.
VPN ಕ್ಲೈಂಟ್ಗಾಗಿ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಉಳಿಸುವುದನ್ನು ಭದ್ರತಾ ನೀತಿಯಿಂದ ನಿಷೇಧಿಸಲಾಗಿದೆ.
ರಾಜಕೀಯ ಫೋರ್ಟಿನೆಟ್ ನಿಮ್ಮ ಸ್ವಂತ ಟೋಕನ್ಗಳಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ, ನೀವು ಅದನ್ನು zhlob ಗಿಂತ ಕಡಿಮೆ ಎಂದು ಕರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ - 10 ಉಚಿತ ಟೋಕನ್ಗಳಿವೆ, ಉಳಿದವು - ಕೋಷರ್ ಅಲ್ಲದ ಬೆಲೆಯಲ್ಲಿ. ನಾನು RSASecureID, Duo ಮತ್ತು ಮುಂತಾದವುಗಳನ್ನು ಪರಿಗಣಿಸಲಿಲ್ಲ, ಏಕೆಂದರೆ ನನಗೆ ಮುಕ್ತ ಮೂಲ ಬೇಕು.
ಪೂರ್ವಾಪೇಕ್ಷಿತಗಳು: ಹೋಸ್ಟ್ * ನಿಕ್ಸ್ ಸ್ಥಾಪಿಸಿದ ಜೊತೆ ಸ್ವತಂತ್ರ ತ್ರಿಜ್ಯ, ssd - ಡೊಮೇನ್ಗೆ ಪ್ರವೇಶಿಸಿ, ಡೊಮೇನ್ ಬಳಕೆದಾರರು ಅದನ್ನು ಸುಲಭವಾಗಿ ದೃಢೀಕರಿಸಬಹುದು.
ಹೆಚ್ಚುವರಿ ಪ್ಯಾಕೇಜ್ಗಳು: ಶೆಲ್ಲಿನಾ ಬಾಕ್ಸ್, ಅಂಜೂರ, freeradius-ldap, ಫಾಂಟ್ rebel.tlf ಭಂಡಾರದಿಂದ
ನನ್ನ ಉದಾಹರಣೆಯಲ್ಲಿ - CentOS 7.8.
ಕೆಲಸದ ತರ್ಕವು ಈ ಕೆಳಗಿನಂತಿರಬೇಕು: VPN ಗೆ ಸಂಪರ್ಕಿಸುವಾಗ, ಬಳಕೆದಾರರು ಪಾಸ್ವರ್ಡ್ ಬದಲಿಗೆ ಡೊಮೇನ್ ಲಾಗಿನ್ ಮತ್ತು OTP ಅನ್ನು ನಮೂದಿಸಬೇಕು.
ಸೇವೆಗಳ ಸೆಟಪ್
В /etc/raddb/radiusd.conf ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಅದರ ಪರವಾಗಿ ಬಳಕೆದಾರ ಮತ್ತು ಗುಂಪು ಮಾತ್ರ ಸ್ವತಂತ್ರ ತ್ರಿಜ್ಯ, ಸೇವೆಯಿಂದ ತ್ರಿಜ್ಯ ಎಲ್ಲಾ ಉಪ ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿನ ಫೈಲ್ಗಳನ್ನು ಓದಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ / ಮನೆ /.
user = root
group = root
ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಗುಂಪುಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ ಬಲವರ್ಧನೆ, ರವಾನೆಯಾಗಬೇಕು ಮಾರಾಟಗಾರರ ನಿರ್ದಿಷ್ಟ ಗುಣಲಕ್ಷಣ. ಇದನ್ನು ಮಾಡಲು, ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ raddb/policy.d ನಾನು ಈ ಕೆಳಗಿನ ವಿಷಯದೊಂದಿಗೆ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತೇನೆ:
group_authorization {
if (&LDAP-Group[*] == "CN=vpn_admins,OU=vpn-groups,DC=domain,DC=local") {
update reply {
&Fortinet-Group-Name = "vpn_admins" }
update control {
&Auth-Type := PAM
&Reply-Message := "Welcome Admin"
}
}
else {
update reply {
&Reply-Message := "Not authorized for vpn"
}
reject
}
}
ಅನುಸ್ಥಾಪನೆಯ ನಂತರ freeradius-ldap ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ raddb/mods-ಲಭ್ಯವಿದೆ ಫೈಲ್ ಅನ್ನು ರಚಿಸಲಾಗಿದೆ ldap.
ಡೈರೆಕ್ಟರಿಗೆ ಸಾಂಕೇತಿಕ ಲಿಂಕ್ ಅನ್ನು ರಚಿಸಬೇಕಾಗಿದೆ raddb/mods-ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ.
ln -s /etc/raddb/mods-available/ldap /etc/raddb/mods-enabled/ldap
ನಾನು ಅದರ ವಿಷಯಗಳನ್ನು ಈ ರೂಪಕ್ಕೆ ತರುತ್ತೇನೆ:
ldap {
server = 'domain.local'
identity = 'CN=freerad_user,OU=users,DC=domain,DC=local'
password = "SupeSecretP@ssword"
base_dn = 'dc=domain,dc=local'
sasl {
}
user {
base_dn = "${..base_dn}"
filter = "(sAMAccountname=%{%{Stripped-User-Name}:-%{User-Name}})"
sasl {
}
scope = 'sub'
}
group {
base_dn = "${..base_dn}"
filter = '(objectClass=Group)'
scope = 'sub'
name_attribute = cn
membership_filter = "(|(member=%{control:Ldap-UserDn})(memberUid=%{%{Stripped-User-Name}:-%{User-Name}}))"
membership_attribute = 'memberOf'
}
}
ಕಡತಗಳಲ್ಲಿ raddb/sites-enabled/default и raddb/sites-enabled/inner-tunnel ವಿಭಾಗದಲ್ಲಿ ಅಧಿಕೃತಗೊಳಿಸಿ ನಾನು ಬಳಸಬೇಕಾದ ನೀತಿಯ ಹೆಸರನ್ನು ಸೇರಿಸುತ್ತೇನೆ - group_authorization. ಒಂದು ಪ್ರಮುಖ ಅಂಶ - ನೀತಿಯ ಹೆಸರನ್ನು ಡೈರೆಕ್ಟರಿಯಲ್ಲಿರುವ ಫೈಲ್ನ ಹೆಸರಿನಿಂದ ನಿರ್ಧರಿಸಲಾಗುವುದಿಲ್ಲ ನೀತಿ.ಡಿ, ಆದರೆ ಕರ್ಲಿ ಬ್ರೇಸ್ಗಳ ಮೊದಲು ಫೈಲ್ನೊಳಗಿನ ನಿರ್ದೇಶನದ ಮೂಲಕ.
ವಿಭಾಗದಲ್ಲಿ ದೃ ate ೀಕರಿಸಿ ಅದೇ ಫೈಲ್ಗಳಲ್ಲಿ ನೀವು ಲೈನ್ ಅನ್ನು ಅನ್ಕಾಮೆಂಟ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಪಾಮ್.
ಕಡತದಲ್ಲಿ clients.conf ಇದು ಸಂಪರ್ಕಿಸುವ ನಿಯತಾಂಕಗಳನ್ನು ಸೂಚಿಸಿ ಬಲವರ್ಧನೆ:
client fortigate {
ipaddr = 192.168.1.200
secret = testing123
require_message_authenticator = no
nas_type = other
}
ಮಾಡ್ಯೂಲ್ ಸಂರಚನೆ pam.d/radiusd:
#%PAM-1.0
auth sufficient pam_google_authenticator.so
auth include password-auth
account required pam_nologin.so
account include password-auth
password include password-auth
session include password-auth
ಡೀಫಾಲ್ಟ್ ಬಂಡಲ್ ಅನುಷ್ಠಾನ ಆಯ್ಕೆಗಳು ಸ್ವತಂತ್ರ ತ್ರಿಜ್ಯ с google authenticator ಬಳಕೆದಾರನು ರುಜುವಾತುಗಳನ್ನು ಸ್ವರೂಪದಲ್ಲಿ ನಮೂದಿಸುವ ಅಗತ್ಯವಿದೆ: ಬಳಕೆದಾರಹೆಸರು/ಪಾಸ್ವರ್ಡ್+OTP.
ಡೀಫಾಲ್ಟ್ ಬಂಡಲ್ ಅನ್ನು ಬಳಸುವ ಸಂದರ್ಭದಲ್ಲಿ, ತಲೆಯ ಮೇಲೆ ಬೀಳುವ ಶಾಪಗಳ ಸಂಖ್ಯೆಯನ್ನು ಊಹಿಸುವ ಮೂಲಕ ಸ್ವತಂತ್ರ ತ್ರಿಜ್ಯ с Google Authenticator, ಮಾಡ್ಯೂಲ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಬಳಸಲು ನಿರ್ಧರಿಸಲಾಯಿತು ಪಾಮ್ ಇದರಿಂದ ಟೋಕನ್ ಮಾತ್ರ ಪರಿಶೀಲಿಸಬಹುದಾಗಿದೆ Google Authenticator.
ಬಳಕೆದಾರರು ಸಂಪರ್ಕಿಸಿದಾಗ, ಈ ಕೆಳಗಿನವುಗಳು ಸಂಭವಿಸುತ್ತವೆ:
- ಬಳಕೆದಾರರು ಡೊಮೇನ್ನಲ್ಲಿದ್ದರೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಗುಂಪಿನಲ್ಲಿದ್ದರೆ ಫ್ರೀರೇಡಿಯಸ್ ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಯಶಸ್ವಿಯಾದರೆ, OTP ಟೋಕನ್ ಅನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ.
“300+ ಬಳಕೆದಾರರಿಗೆ ನಾನು OTP ಅನ್ನು ಹೇಗೆ ನೋಂದಾಯಿಸಿಕೊಳ್ಳಬಹುದು?” ಎಂದು ನಾನು ಯೋಚಿಸುವ ಕ್ಷಣದವರೆಗೂ ಎಲ್ಲವೂ ಚೆನ್ನಾಗಿಯೇ ಕಾಣಿಸುತ್ತಿತ್ತು.
ಬಳಕೆದಾರನು ಸರ್ವರ್ಗೆ ಲಾಗಿನ್ ಮಾಡಬೇಕು ಸ್ವತಂತ್ರ ತ್ರಿಜ್ಯ ಮತ್ತು ನಿಮ್ಮ ಖಾತೆಯ ಅಡಿಯಲ್ಲಿ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ರನ್ ಮಾಡಿ ಗೂಗಲ್ ಅಥೆಂಟಿಕೇಟರ್, ಇದು ಬಳಕೆದಾರರಿಗಾಗಿ ಅಪ್ಲಿಕೇಶನ್ಗಾಗಿ QR ಕೋಡ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ. ಇಲ್ಲಿ ಸಹಾಯ ಬರುತ್ತದೆ. ಶೆಲ್ಲಿನಾ ಬಾಕ್ಸ್ ಜೊತೆ ಸಂಯೋಜನೆಯಲ್ಲಿ .ಬಾಷ್_ಪ್ರೊಫೈಲ್.
[root@freeradius ~]# yum install -y shellinabox
ಡೀಮನ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಇದೆ /etc/sysconfig/shellinabox.
ನಾನು ಅಲ್ಲಿ ಪೋರ್ಟ್ 443 ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೇನೆ ಮತ್ತು ನಿಮ್ಮ ಪ್ರಮಾಣಪತ್ರವನ್ನು ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು.
[root@freeradius ~]#systemctl enable --now shellinaboxd
ಬಳಕೆದಾರರು ಲಿಂಕ್ ಅನ್ನು ಮಾತ್ರ ಅನುಸರಿಸಬೇಕು, ಡೊಮೇನ್ ಕ್ರೆಡಿಟ್ಗಳನ್ನು ನಮೂದಿಸಿ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ಗಾಗಿ QR ಕೋಡ್ ಅನ್ನು ಸ್ವೀಕರಿಸಬೇಕು.
ಅಲ್ಗಾರಿದಮ್ ಹೀಗಿದೆ:
- ಬಳಕೆದಾರರು ಬ್ರೌಸರ್ ಮೂಲಕ ಯಂತ್ರಕ್ಕೆ ಲಾಗ್ ಇನ್ ಆಗುತ್ತಾರೆ.
- ಡೊಮೇನ್ ಬಳಕೆದಾರರನ್ನು ಪರಿಶೀಲಿಸಲಾಗಿದೆಯೇ. ಇಲ್ಲದಿದ್ದರೆ, ಯಾವುದೇ ಕ್ರಮ ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ.
- ಬಳಕೆದಾರರು ಡೊಮೇನ್ ಬಳಕೆದಾರರಾಗಿದ್ದರೆ, ನಿರ್ವಾಹಕರ ಗುಂಪಿನಲ್ಲಿನ ಸದಸ್ಯತ್ವವನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ.
- ನಿರ್ವಾಹಕರಲ್ಲದಿದ್ದರೆ, Google Authenticator ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಇಲ್ಲದಿದ್ದರೆ, ನಂತರ QR ಕೋಡ್ ಮತ್ತು ಬಳಕೆದಾರರ ಲಾಗ್ಔಟ್ ಅನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ.
- ನಿರ್ವಾಹಕರು ಮತ್ತು Google Authenticator ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡದಿದ್ದರೆ, ನಂತರ ಕೇವಲ ಲಾಗ್ಔಟ್ ಮಾಡಿ.
- ನಿರ್ವಾಹಕರಾಗಿದ್ದರೆ, Google Authenticator ಅನ್ನು ಮತ್ತೊಮ್ಮೆ ಪರಿಶೀಲಿಸಿ. ಕಾನ್ಫಿಗರ್ ಮಾಡದಿದ್ದರೆ, QR ಕೋಡ್ ಅನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ.
ಎಲ್ಲಾ ತರ್ಕವನ್ನು ಬಳಸಿ ಮಾಡಲಾಗುತ್ತದೆ /etc/skel/.bash_profile.
cat /etc/skel/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
# Make several commands available from user shell
if [[ -z $(id $USER | grep "admins") || -z $(cat /etc/passwd | grep $USER) ]]
then
[[ ! -d $HOME/bin ]] && mkdir $HOME/bin
[[ ! -f $HOME/bin/id ]] && ln -s /usr/bin/id $HOME/bin/id
[[ ! -f $HOME/bin/google-auth ]] && ln -s /usr/bin/google-authenticator $HOME/bin/google-auth
[[ ! -f $HOME/bin/grep ]] && ln -s /usr/bin/grep $HOME/bin/grep
[[ ! -f $HOME/bin/figlet ]] && ln -s /usr/bin/figlet $HOME/bin/figlet
[[ ! -f $HOME/bin/rebel.tlf ]] && ln -s /usr/share/figlet/rebel.tlf $HOME/bin/rebel.tlf
[[ ! -f $HOME/bin/sleep ]] && ln -s /usr/bin/sleep $HOME/bin/sleep
# Set PATH env to <home user directory>/bin
PATH=$HOME/bin
export PATH
else
PATH=PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
fi
if [[ -n $(id $USER | grep "domain users") ]]
then
if [[ ! -e $HOME/.google_authenticator ]]
then
if [[ -n $(id $USER | grep "admins") ]]
then
figlet -t -f $HOME/bin/rebel.tlf "Welcome to Company GAuth setup portal"
sleep 1.5
echo "Please, run any of these software on your device, where you would like to setup OTP:
Google Autheticator:
AppStore - https://apps.apple.com/us/app/google-authenticator/id388497605
Play Market - https://play.google.com/stor/apps/details?id=com.google.android.apps.authenticator2&hl=en
FreeOTP:
AppStore - https://apps.apple.com/us/app/freeotp-authenticator/id872559395
Play Market - https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp&hl=en
And prepare to scan QR code.
"
sleep 5
google-auth -f -t -w 3 -r 3 -R 30 -d -e 1
echo "Congratulations, now you can use an OTP token from application as a password connecting to VPN."
else
figlet -t -f $HOME/bin/rebel.tlf "Welcome to Company GAuth setup portal"
sleep 1.5
echo "Please, run any of these software on your device, where you would like to setup OTP:
Google Autheticator:
AppStore - https://apps.apple.com/us/app/google-authenticator/id388497605
Play Market - https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en
FreeOTP:
AppStore - https://apps.apple.com/us/app/freeotp-authenticator/id872559395
Play Market - https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp&hl=en
And prepare to scan QR code.
"
sleep 5
google-auth -f -t -w 3 -r 3 -R 30 -d -e 1
echo "Congratulations, now you can use an OTP token from application as a password to VPN."
logout
fi
else
echo "You have already setup a Google Authenticator"
if [[ -z $(id $USER | grep "admins") ]]
then
logout
fi
fi
else
echo "You don't need to set up a Google Authenticator"
fi
ಫೋರ್ಟಿಗೇಟ್ ಸೆಟಪ್:
- ನಾವು ರಚಿಸುತ್ತೇವೆ ತ್ರಿಜ್ಯ- ಸರ್ವರ್
- ನಾವು ಅಗತ್ಯ ಗುಂಪುಗಳನ್ನು ರಚಿಸುತ್ತೇವೆ, ಅಗತ್ಯವಿದ್ದರೆ, ಗುಂಪುಗಳ ಮೂಲಕ ಪ್ರವೇಶ ನಿಯಂತ್ರಣ. ಗುಂಪಿನ ಹೆಸರು ಆನ್ ಆಗಿದೆ ಬಲವರ್ಧನೆ ಹಾದುಹೋಗುವ ಗುಂಪಿಗೆ ಹೊಂದಿಕೆಯಾಗಬೇಕು ಮಾರಾಟಗಾರರ ನಿರ್ದಿಷ್ಟ ಗುಣಲಕ್ಷಣ ಫೋರ್ಟಿನೆಟ್-ಗುಂಪು-ಹೆಸರು.
- ಅಗತ್ಯವನ್ನು ಸಂಪಾದಿಸುವುದು ಎಸ್ಎಸ್ಎಲ್- ಪೋರ್ಟಲ್ಗಳು.
- ನೀತಿಗಳಿಗೆ ಗುಂಪುಗಳನ್ನು ಸೇರಿಸಲಾಗುತ್ತಿದೆ.
ಈ ಪರಿಹಾರದ ಅನುಕೂಲಗಳು:
- ಆನ್ ಒಟಿಪಿ ಮೂಲಕ ದೃಢೀಕರಿಸಲು ಸಾಧ್ಯವಿದೆ ಬಲವರ್ಧನೆ ಮುಕ್ತ ಮೂಲ ಪರಿಹಾರ.
- VPN ಮೂಲಕ ಸಂಪರ್ಕಿಸುವಾಗ ಬಳಕೆದಾರರು ಡೊಮೇನ್ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸುವುದಿಲ್ಲ, ಇದು ಸಂಪರ್ಕ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಸರಳಗೊಳಿಸುತ್ತದೆ. ಭದ್ರತಾ ನೀತಿಯಿಂದ ಒದಗಿಸಲಾದ ಪಾಸ್ವರ್ಡ್ಗಿಂತ 6-ಅಂಕಿಯ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಲು ಸುಲಭವಾಗಿದೆ. ಪರಿಣಾಮವಾಗಿ, ವಿಷಯದೊಂದಿಗೆ ಟಿಕೆಟ್ಗಳ ಸಂಖ್ಯೆ: "ನಾನು VPN ಗೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" ಕಡಿಮೆಯಾಗುತ್ತದೆ.
PS ನಾವು ಈ ಪರಿಹಾರವನ್ನು ಸವಾಲು-ಪ್ರತಿಕ್ರಿಯೆಯೊಂದಿಗೆ ಪೂರ್ಣ ಪ್ರಮಾಣದ ಎರಡು ಅಂಶಗಳ ದೃಢೀಕರಣಕ್ಕೆ ಅಪ್ಗ್ರೇಡ್ ಮಾಡಲು ಯೋಜಿಸಿದ್ದೇವೆ.
ಅಪ್ಡೇಟ್:
ಭರವಸೆ ನೀಡಿದಂತೆ, ನಾನು ಅದನ್ನು ಸವಾಲು-ಪ್ರತಿಕ್ರಿಯೆ ಆಯ್ಕೆಗೆ ಟ್ವೀಕ್ ಮಾಡಿದ್ದೇನೆ.
ಆದ್ದರಿಂದ:
ಕಡತದಲ್ಲಿ /etc/raddb/sites-enabled/default ವಿಭಾಗ ಅಧಿಕೃತಗೊಳಿಸಿ ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
authorize {
filter_username
preprocess
auth_log
chap
mschap
suffix
eap {
ok = return
}
files
-sql
#-ldap
expiration
logintime
if (!State) {
if (&User-Password) {
# If !State and User-Password (PAP), then force LDAP:
update control {
Ldap-UserDN := "%{User-Name}"
Auth-Type := LDAP
}
}
else {
reject
}
}
else {
# If State, then proxy request:
group_authorization
}
pap
}
ವಿಭಾಗ ದೃ ate ೀಕರಿಸಿ ಈಗ ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
mschap
digest
# Attempt authentication with a direct LDAP bind:
Auth-Type LDAP {
ldap
if (ok) {
update reply {
# Create a random State attribute:
State := "%{randstr:aaaaaaaaaaaaaaaa}"
Reply-Message := "Please enter OTP"
}
# Return Access-Challenge:
challenge
}
}
pam
eap
}
ಈಗ ಬಳಕೆದಾರರ ಪರಿಶೀಲನೆಯು ಈ ಕೆಳಗಿನ ಅಲ್ಗಾರಿದಮ್ ಪ್ರಕಾರ ಸಂಭವಿಸುತ್ತದೆ:
- ಬಳಕೆದಾರರು VPN ಕ್ಲೈಂಟ್ನಲ್ಲಿ ಡೊಮೇನ್ ಕ್ರೆಡಿಟ್ಗಳನ್ನು ನಮೂದಿಸುತ್ತಾರೆ.
- Freeradius ಖಾತೆ ಮತ್ತು ಪಾಸ್ವರ್ಡ್ನ ಸಿಂಧುತ್ವವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ
- ಪಾಸ್ವರ್ಡ್ ಸರಿಯಾಗಿದ್ದರೆ, ನಂತರ ಟೋಕನ್ಗಾಗಿ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ.
- ಟೋಕನ್ ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ.
- ಲಾಭ).
ಮೂಲ: www.habr.com