2

LDAP 経由で WPA2 Enterprise を使用して freeradius を設定するのに助けが必要です。

LDAP は通常、他のサービスでは機能しますが、WPA2E では機能しません。

また、WPA2E がハードコードされたユーザー名/パスワードでうまく動作するように管理しました。したがって、すべてのコンポーネントが独自に機能していることはわかっていますが、一緒に機能することはありません。

LDAP サービスと連携するように freeradius サーバーを適切に構成しました。

どんな助けでも大歓迎です

これは、自由半径モジュール/ldap ファイルの ldap 設定です (この問題にはほとんど関係ありません)。

ldap {
    server = "ldapmaster.domain.com,ldapslave.domain.com"
    identity = "uid=binder,ou=services,dc=security,dc=domain,dc=com"
    password = asdfasdfasdf
    basedn = "ou=internal,ou=users,dc=security,dc=domain,dc=com"
    filter = "(mail=%{%{Stripped-User-Name}:-%{User-Name}})"
    ldap_connections_number = 5
    max_uses = 0
    timeout = 4
    timelimit = 3
    net_timeout = 1

    tls {
            start_tls = yes
            require_cert    = "never"
    }

    dictionary_mapping = ${confdir}/ldap.attrmap
    password_attribute = userPassword
    edir_account_policy_check = no

    keepalive {
            idle = 60
            probes = 3
            interval = 3
    }}

また、eap.conf に次の設定を行います。

eap {
default_eap_type = peap
timer_expire     = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = 4096

md5 {
}

leap {
}

gtc {
        auth_type = PAP
}

tls {
        certdir = ${confdir}/certs
        cadir = ${confdir}/certs
        private_key_password = whatever
        private_key_file = ${certdir}/server.key
        certificate_file = ${certdir}/server.pem
        CA_file = ${cadir}/ca.pem
        dh_file = ${certdir}/dh
        random_file = /dev/urandom
        CA_path = ${cadir}
        cipher_list = "DEFAULT"
        make_cert_command = "${certdir}/bootstrap"

        cache {
              enable = no
              max_entries = 255
        }

        verify {
        }
}

ttls {
        default_eap_type = md5
        copy_request_to_tunnel = no
        use_tunneled_reply = no
        virtual_server = "inner-tunnel"
}


peap {
        default_eap_type = mschapv2
        copy_request_to_tunnel = no
        use_tunneled_reply = no
        virtual_server = "inner-tunnel"
}

mschapv2 {
}}

また、default と inner-tunnel の 2 つのサイトを有効にします。

デフォルト

authorize {
    preprocess
    suffix
    eap {
        ok = return
    }
    expiration
    logintime
    ldap
}
authenticate {
    eap
    ldap
}

トンネル内

authorize {
    mschap
    update control {
           Proxy-To-Realm := LOCAL
    }
    eap {
        ok = return
    }
    expiration
    ldap
    logintime
}
authenticate {
    Auth-Type MS-CHAP {
        mschap
    }
    eap
    ldap
}

デバッグ ログに表示されるサンプル ログを次に示します。

https://gist.github.com/anonymous/10483144

4

1 に答える 1

1

sites-available/inner-tunnelとの間のシンボリックリンクを削除したようですsites-enabled/inner-tunnel

ログを調べると、PEAP 認証の TLS トンネルで MSCHAPv2 認証を実行するために必要な内部トンネル サーバーが見つからないと不平を言っています。

server  {
  PEAP: Setting User-Name to emre@domain.com
Sending tunneled request
        EAP-Message = 0x0205001a01656d72654071756269746469676974616c2e636f6d
        FreeRADIUS-Proxied-To = 127.0.0.1
        User-Name = "emre@domain.com"
server inner-tunnel {
No such virtual server "inner-tunnel"
} # server inner-tunnel

シンボリック リンクを再度追加し、内部トンネル サーバーの承認セクションの上部に ldap モジュールをリストします。また、ldap attrmap ファイルを使用して、ユーザーの Cleartext-Password を保持する属性を User-Password 属性にマップする必要があります。

ユーザーの Cleartext-Password がディレクトリにない場合 (たとえば、ハッシュされている場合) は、EAP-TTLS-PAP を使用し、内部トンネル サーバーの認証セクションに LDAP モジュールをリストしてから、次を追加する必要があります。

if (User-Password) {
    update control {
        Auth-Type := LDAP
    }
}

内部トンネル サーバーの承認セクションへ。

于 2014-04-14T19:14:30.557 に答える