ddwrt + Freeradius + LDAP


1

FTPやRADIUSなどの複数のサーバーを認証するためのLDAPサーバーを設定しようとしています(おそらくsshですか?)

ルーター(ddwrt)があり、これをfreeradiusのプレーンテキストパスワードで認証できました。次に、LDAPサーバーを使用してユーザーとパスワードを保存したい

LDAPサーバーをセットアップし、次を使用して認証できます。

kevin@kevin-desktop:~$ radtest ldapuser password123 127.0.0.1 2 testing123
Sending Access-Request of id 182 to 127.0.0.1 port 1812
        User-Name = "ldapuser"
        User-Password = "password123"
        NAS-IP-Address = 127.0.1.1
        NAS-Port = 2
        Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=182, length=20

しかし、ddwrt-> freeradiusを使用して認証しようとすると、次のメッセージが表示されます。

rad_recv: Access-Request packet from host 192.168.11.1 port 52101, id=0, length=129
        User-Name = "ldapuser"
        NAS-IP-Address = 192.168.11.1
        Called-Station-Id = "10da43747fcb"
        Calling-Station-Id = "accf8528974e"
        NAS-Identifier = "10da43747fcb"
        NAS-Port = 49
        Framed-MTU = 1400
        NAS-Port-Type = Wireless-802.11
        EAP-Message = 0x0200000d016c64617075736572
        Message-Authenticator = 0x99372f408b0979fc103af5112b81501a
# Executing section authorize from file /etc/freeradius/sites-enabled/default
+group authorize {
++[preprocess] = ok
++[chap] = noop
++[mschap] = noop
++[digest] = noop
[suffix] No '@' in User-Name = "ldapuser", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] = noop
[eap] EAP packet type response id 0 length 13
[eap] No EAP Start, assuming it's an on-going EAP conversation
++[eap] = updated
[files] users: Matched entry DEFAULT at line 1
++[files] = ok
[ldap] performing user authorization for ldapuser
[ldap]  expand: %{Stripped-User-Name} -> 
[ldap]  ... expanding second conditional
[ldap]  expand: %{User-Name} -> ldapuser
[ldap]  expand: (uid=%{%{Stripped-User-Name}:-%{User-Name}}) -> (uid=ldapuser)
[ldap]  expand: dc=kevin,dc=local -> dc=kevin,dc=local
  [ldap] ldap_get_conn: Checking Id: 0
  [ldap] ldap_get_conn: Got Id: 0
  [ldap] attempting LDAP reconnection
  [ldap] (re)connect to 192.168.11.21:389, authentication 0
  [ldap] bind as cn=admin,dc=kevin,dc=local/pwd to 192.168.11.21:389
  [ldap] waiting for bind result ...
  [ldap] Bind was successful
  [ldap] performing search in dc=kevin,dc=local, with filter (uid=ldapuser)
[ldap] No default NMAS login sequence
[ldap] looking for check items in directory...
  [ldap] userPassword -> User-Password == "{SSHA}fqS7t/ZXimCnTgsXcsGDQF9WP+atmjVG"
  [ldap] userPassword -> Password-With-Header == "{SSHA}fqS7t/ZXimCnTgsXcsGDQF9WP+atmjVG"
[ldap] looking for reply items in directory...
  [ldap] ldap_release_conn: Release Id: 0
++[ldap] = ok
++[expiration] = noop
++[logintime] = noop
[pap] WARNING: Auth-Type already set.  Not setting to PAP
++[pap] = noop
+} # group authorize = updated
Found Auth-Type = LDAP
# Executing group from file /etc/freeradius/sites-enabled/default
+group LDAP {
  [ldap] Attribute "User-Password" is required for authentication.
  You seem to have set "Auth-Type := LDAP" somewhere.
  THAT CONFIGURATION IS WRONG.  DELETE IT.
  YOU ARE PREVENTING THE SERVER FROM WORKING PROPERLY.
++[ldap] = invalid
+} # group LDAP = invalid
Failed to authenticate the user.
Using Post-Auth-Type Reject
# Executing group from file /etc/freeradius/sites-enabled/default
+group REJECT {
[eap] Request was previously rejected, inserting EAP-Failure
++[eap] = updated
[attr_filter.access_reject]     expand: %{User-Name} -> ldapuser
attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] = updated
+} # group REJECT = updated
Delaying reject of request 0 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 0
Sending Access-Reject of id 0 to 192.168.11.1 port 52101
        EAP-Message = 0x04000004
        Message-Authenticator = 0x00000000000000000000000000000000
Waking up in 4.9 seconds.
Cleaning up request 0 ID 0 with timestamp +9
Ready to process requests.

openldapでopenradiusを適切に設定するにはどうすればよいですか?


レルムを指定するか、pamとsssdを使用します(私は簡単に見つけました)
ジェイコブエヴァンス

回答:


0

ここで重要なメッセージは次のとおりです。

[ldap]認証には属性「User-Password」が必要です。
どこかで「Auth-Type:= LDAP」を設定しているようです。その構成が間違っています。消して。サーバーが適切に機能しないようにします。

更新セクションは表示されませんが、set_auth_typeをyesに設定したか、行1のエントリにraddb/users次のようなものがあると思われます。

DEFAULT Auth-Type := LDAP

いずれの場合も、エントリを削除する必要があります。

Auth-Typeを設定することで、サーバーに特定のタイプの認証を強制的に実行させることになります。これは、リクエストの属性を考慮すると適切ではない可能性があります。

サーバーがどの認証方法を使用するかを決定する方法の説明は、FreeRADIUS wikiのRADIUS Conceptsにあります

EAP認証(DD-WRTが試行しているもの)の場合、LDAPおよびPAPモジュールをの認証セクションに追加し、Password-With-Header属性が正しいLDAP属性を指しているsites-available/inner-tunnelことを確認する必要があります。


0

どうやらPEAPが機能するには、パスワードをLDAPサーバーにクリアテキストで保存する必要があります。

このチュートリアル(非常に基本的な設定)に従いました:https : //www.youtube.com/watch?v=weTfRslHhZY

手順:

/ etc / freeradius / modules / ldap で設定を変更します。

server = "server.address"
        identity = "cn=admin,dc=example,dc=com"
        password = admin_password
        basedn = "dc=example,dc=com"

/ etc / freeradius / sites-available / default authorizeセクションで:

comment file
uncomment ldap

/ etc / freeradius / sites-available / inner-tunnelで

承認セクション:

comment file
uncomment ldap

認証セクション:コメント解除:

Auth-Type LDAP {
        ldap
}

ここでは、パスワードをクリアテキストで保持する必要があるという事実を省略しました。

http://tech.sybreon.com/2011/01/18/freeradius-openldap-dd-wrt/

どうやら、単純な組織グループからposixアカウントを作成することはできません。ここから取得したposixグループから作成する必要があります。

http://www.linuxquestions.org/questions/linux-networking-3/can't-create-ldap-entries-with-phpldapadmin-272376/

最後に、jxexploreはプレーンテキストパスワードを追加することを好まないため、jxexploreとphpldapadminを使用してユーザーを追加する必要がありました。jxexploreでパスワードなしでアカウントを作成し、phpldapadminでユーザーにパスワードを追加するだけです。(機会があればこれを更新します)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.