แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ, แƒ—แƒฃ แƒแƒ แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒ•แƒ—แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜แƒช แƒแƒ แƒ˜แƒก แƒ“แƒ แƒ“แƒแƒฎแƒ•แƒ”แƒฌแƒ˜แƒšแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒขแƒแƒ™แƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒคแƒฃแƒšแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒ แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒ™แƒแƒ แƒ’ แƒฎแƒแƒกแƒ˜แƒแƒ—แƒ–แƒ” แƒ“แƒแƒ แƒฉแƒ”แƒœแƒแƒก แƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ”แƒœ.

แƒ”แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ แƒแƒฆแƒแƒช แƒกแƒฃแƒžแƒ”แƒ  แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒฃแƒ แƒ˜, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒจแƒ˜ แƒœแƒแƒžแƒแƒ•แƒœแƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ–แƒแƒ•แƒ˜.

แƒ˜แƒกแƒ” แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜

แƒ“แƒแƒ›แƒ”แƒœแƒ˜แƒก Active Directory.

แƒ“แƒแƒ›แƒ”แƒœแƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ”แƒœ VPN-แƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒฆแƒ”แƒก แƒ‘แƒ”แƒ•แƒ แƒ˜.

แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒ แƒแƒ’แƒแƒ แƒช VPN แƒ™แƒแƒ แƒ˜แƒ‘แƒญแƒ” แƒคแƒแƒ แƒขแƒ˜แƒ’แƒแƒขแƒ”.

VPN แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒžแƒแƒ แƒแƒšแƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒแƒ™แƒ แƒซแƒแƒšแƒฃแƒšแƒ˜แƒ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒ—.

แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ Fortinet แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒขแƒแƒ™แƒ”แƒœแƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒแƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒแƒก แƒ“แƒแƒแƒ แƒฅแƒ›แƒ”แƒ•แƒ— แƒŸแƒšแƒแƒ‘แƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒก - แƒแƒ แƒ˜แƒก 10 แƒฃแƒคแƒแƒกแƒ แƒœแƒ˜แƒจแƒแƒœแƒ˜, แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœแƒ˜ - แƒซแƒแƒšแƒ˜แƒแƒœ แƒแƒ แƒแƒ™แƒแƒจแƒ”แƒ แƒฃแƒšแƒ˜ แƒคแƒแƒกแƒ˜แƒ—. แƒ›แƒ” แƒแƒ  แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒ” RSASecureID, Duo แƒ“แƒ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒฆแƒ˜แƒ แƒฌแƒงแƒแƒ แƒ แƒ›แƒ˜แƒœแƒ“แƒ.

แƒฌแƒ˜แƒœแƒแƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒ˜: แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒ˜ * nix แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒ แƒแƒ“แƒ˜แƒฃแƒกแƒ˜, แƒกแƒกแƒกแƒ“ - แƒ“แƒแƒ›แƒ”แƒœแƒจแƒ˜ แƒจแƒ”แƒกแƒฃแƒšแƒ˜, แƒ“แƒแƒ›แƒ”แƒœแƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ›แƒแƒกแƒ–แƒ” แƒแƒ•แƒ—แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ.

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜: แƒจแƒ”แƒšแƒ˜แƒœแƒแƒก แƒงแƒฃแƒ—แƒ˜, แƒšแƒ”แƒฆแƒ•แƒ˜, แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒ แƒแƒ“แƒ˜แƒฃแƒกแƒ˜-แƒšแƒ“แƒแƒžแƒ˜, แƒจแƒ แƒ˜แƒคแƒขแƒ˜ แƒ›แƒ”แƒแƒ›แƒ‘แƒแƒฎแƒ”.tlf แƒกแƒแƒชแƒแƒ•แƒ˜แƒ“แƒแƒœ https://github.com/xero/figlet-fonts.

แƒฉแƒ”แƒ›แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒจแƒ˜ - CentOS 7.8.

แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜: VPN-แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒžแƒแƒ แƒแƒšแƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒแƒก แƒ“แƒแƒ›แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒ•แƒšแƒ แƒ“แƒ OTP.

แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

ะ’ /etc/raddb/radiusd.conf แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ“แƒ แƒฏแƒ’แƒฃแƒคแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ— แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒ แƒแƒ“แƒ˜แƒฃแƒกแƒ˜, แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒแƒ‘แƒ˜แƒ“แƒแƒœ แƒ แƒแƒ“แƒ˜แƒฃแƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ”แƒซแƒšแƒแƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒงแƒ•แƒ”แƒšแƒ แƒฅแƒ•แƒ”แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ / แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ /.

user = root
group = root

แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒจแƒ”แƒซแƒšแƒแƒ— แƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒจแƒ˜ แƒคแƒแƒ แƒขแƒ˜แƒ’แƒแƒขแƒ”, แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ“แƒแƒ”แƒชแƒ”แƒก แƒ’แƒแƒ›แƒงแƒ˜แƒ“แƒ•แƒ”แƒšแƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒแƒขแƒ แƒ˜แƒ‘แƒฃแƒขแƒ˜. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ raddb/แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ.แƒ“ แƒ›แƒ” แƒ•แƒฅแƒ›แƒœแƒ˜ แƒคแƒแƒ˜แƒšแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜แƒ—:

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
        }
}

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ— แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒ แƒแƒ“แƒ˜แƒฃแƒกแƒ˜-แƒšแƒ“แƒแƒžแƒ˜ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ 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-แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ/แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ ะธ raddb/sites-enabled/inner-tunnel แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒ›แƒ” แƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘ แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒก - group_authorization. แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ - แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ— แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ.แƒ“, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒ˜แƒ•แƒ˜แƒ— แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒฎแƒ•แƒ”แƒฃแƒšแƒ˜ แƒ‘แƒ แƒ”แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒฌแƒ˜แƒœ.
แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ แƒแƒ•แƒ—แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒจแƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒฃแƒฅแƒ›แƒแƒ— แƒฎแƒแƒ–แƒ˜ Pam.

แƒคแƒแƒ˜แƒšแƒจแƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜.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, แƒ’แƒแƒ“แƒแƒฌแƒงแƒ“แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ Pam แƒ แƒแƒ—แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒŸแƒ”แƒขแƒแƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ Google Authenticator.

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒก, แƒฎแƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜:

  • Freeradius แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒแƒ แƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ“แƒแƒ›แƒ”แƒœแƒจแƒ˜ แƒ“แƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒฏแƒ’แƒฃแƒคแƒจแƒ˜ แƒ“แƒ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก OTP แƒขแƒแƒ™แƒ”แƒœแƒก.

แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒแƒ“ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒแƒ“แƒ แƒ˜แƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒแƒ›แƒ“แƒ”, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ  แƒ’แƒแƒ•แƒ˜แƒคแƒ˜แƒฅแƒ แƒ”: โ€žแƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ“แƒ” OTP 300+ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก?โ€œ

แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ•แƒ˜แƒ“แƒ”แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒ แƒแƒ“แƒ˜แƒฃแƒกแƒ˜ แƒ“แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ google authenticator, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก QR แƒ™แƒแƒ“แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒฅ แƒ›แƒแƒ“แƒ˜แƒก แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ. แƒจแƒ”แƒšแƒ˜แƒœแƒแƒก แƒงแƒฃแƒ—แƒ˜ แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒแƒจแƒ˜ . bash_profile.

[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.

แƒ™แƒแƒขแƒ /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

Fortigate-แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ:

  • แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒ แƒแƒ“แƒ˜แƒฃแƒกแƒ˜- แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜

    Freeradius + Google Authenticator + LDAP + Fortigate

  • แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒก, แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒก. แƒฏแƒ’แƒฃแƒคแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒคแƒแƒ แƒขแƒ˜แƒ’แƒแƒขแƒ” แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก แƒฏแƒ’แƒฃแƒคแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ•แƒ˜แƒ“แƒ แƒ’แƒแƒ›แƒงแƒ˜แƒ“แƒ•แƒ”แƒšแƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒแƒขแƒ แƒ˜แƒ‘แƒฃแƒขแƒ˜ Fortinet-แƒฏแƒ’แƒฃแƒคแƒ˜-แƒกแƒแƒฎแƒ”แƒšแƒ˜.

    Freeradius + Google Authenticator + LDAP + Fortigate

  • แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ SSL-แƒžแƒแƒ แƒขแƒแƒšแƒ”แƒ‘แƒ˜.

    Freeradius + Google Authenticator + LDAP + Fortigate

  • แƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒแƒจแƒ˜.

    Freeradius + Google Authenticator + LDAP + Fortigate

แƒแƒ› แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ”แƒ‘แƒ˜:

  • แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒ•แƒ—แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜ OTP-แƒ˜แƒ— แƒคแƒแƒ แƒขแƒ˜แƒ’แƒแƒขแƒ” แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ.
  • 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
}

แƒกแƒ”แƒฅแƒชแƒ˜แƒ แƒแƒ•แƒ—แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒแƒฎแƒšแƒ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

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

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ