[GELÖST] LDAPS

Hilfe zu OTRS Problemen aller Art
Post Reply
BlaBlaBlub22
Znuny newbie
Posts: 8
Joined: 07 Apr 2020, 08:42
Znuny Version: 6.0.29
Real Name: Jean

[GELÖST] LDAPS

Post by BlaBlaBlub22 »

Hi,

ich versuche meine funktionierenden LDAP Abfragen in der Config.pm über LDAPS zum laufen zu bekommen. Ich scheitere jedoch kläglich. Hab gefühlt zig verschiedene Configs aus Google suchen probiert.

Die Config läuft mit ldap://adserver.local jdoch nicht mit ldaps://adserver.local

Im Apache Errorlog steht einfach nur "Message: Can't connect to ldaps://adserver.local".

Erste Frage muss man ein ca file angeben? Hab da wiedersprüchliche Infos gelesen. Die meisten Beispiele nehmen eins. Hab aber auch gelesen das das Zertifikat per Default nicht kontrolliert wird. Würde gerne LDAPS ohne Zertifikatskontrolle hinbekommen.

Hat jemand eine funktionierende Config die auf einen Active Directory Server zeigt?
Last edited by BlaBlaBlub22 on 01 Dec 2020, 11:11, edited 1 time in total.
wurzel
Znuny guru
Posts: 3228
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: LDAPS

Post by wurzel »

Hi,

aus https://doc.otrs.com/doc/manual/admin/6 ... ckend-ldap

wichtig sind die beiden:

hier das ldaps

Code: Select all

$Self->{'AuthModule::LDAP::Host'} = 'ldaps://ldap.example.com';
und hier den ldaps port angeben

Code: Select all

$Self->{'AuthModule::LDAP::Params'} = {
    port => 389,
    timeout => 120,
    async => 0,
    version => 3,
};
dann sollte es direkt laufen

Flo
OTRS 8 SILVER (Prod)
OTRS 8 auf Debian 11 (Test)
Znuny 7.x latest version testing auf Debian 11

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
root
Administrator
Posts: 3960
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: LDAPS

Post by root »

Hi,

mit ldaps://hostname/ hast Du schon recht. Ich vermute Dein Problem ist der Params-Block. Wie sieht der bei Dir aus?

Ein Beispiel zu zeigen macht keinen Sinn ohne zu Wissen ob Du Agentenauth, Kundenauth, AuthSync oder CustomerUseer haben willst.

Und: per Default macht Net::LDAP keine Zertifikstaüberprüfung.

- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
root
Administrator
Posts: 3960
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: LDAPS

Post by root »

wurzel wrote: 30 Nov 2020, 17:26 Hi,

aus https://doc.otrs.com/doc/manual/admin/6 ... ckend-ldap

wichtig sind die beiden:

hier das ldaps

Code: Select all

$Self->{'AuthModule::LDAP::Host'} = 'ldaps://ldap.example.com';
und hier den ldaps port angeben

Code: Select all

$Self->{'AuthModule::LDAP::Params'} = {
    port => 389,
    timeout => 120,
    async => 0,
    version => 3,
};
Hi,

und genau das ist meist das Problem: wenn man Die URL schreibweise nutzt, braucht man keinen Port im Params-Block. Weder bei ldap noch bei ldaps. Ausnahme: es ist kein Standardport.

Btw, ldaps nutzt 636 als Port ;-)

- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
wurzel
Znuny guru
Posts: 3228
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: LDAPS

Post by wurzel »

Hi,

also ich hab die Parameter immer angegeben. Ohne lief's oft nicht.

Schadet ja nicht, den explizit anzugeben oder?

Flo
OTRS 8 SILVER (Prod)
OTRS 8 auf Debian 11 (Test)
Znuny 7.x latest version testing auf Debian 11

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
BlaBlaBlub22
Znuny newbie
Posts: 8
Joined: 07 Apr 2020, 08:42
Znuny Version: 6.0.29
Real Name: Jean

Re: LDAPS

Post by BlaBlaBlub22 »

Params hab ich alles rausgeworfen. Die Default Werte passen bei uns eigentlich alle. Prich nur den hostnamen von ldap:// auf ldaps:// geändert.

Kann ich noch irgendwo ein Logging hochsetzen um noch bessere Logeinträge zu bekommen?

hier der Auszug aus der Config

$Self->{CustomerUser1} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'ldap://server.secret.local',
BaseDN => 'dc=secret, dc=local',
SSCOPE => 'sub',
UserDN => 'cn=otrs user, ou=User_Special, dc=secret, dc=local',
UserPw => 'secret',
AlwaysFilter => '(&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(mail=*@secret.de)(sn=*)(givenname=*)(!(givenname=\00)))',
SourceCharset => 'utf-8',
DestCharset => 'utf-8',
},
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail', 'sn', 'mobile', 'telephonenumber'],
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
# CacheTTL => 1200,
Map => [
[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
[ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ],
[ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
[ 'UserMobile', 'Mobile', 'mobile', 1, 0, 'var' ],
[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
],
};
wurzel
Znuny guru
Posts: 3228
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: LDAPS

Post by wurzel »

Hi,

also in der config steht noch ldap beim host

Flo
OTRS 8 SILVER (Prod)
OTRS 8 auf Debian 11 (Test)
Znuny 7.x latest version testing auf Debian 11

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
root
Administrator
Posts: 3960
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: LDAPS

Post by root »

Hi,

Jetzt mal eine ganz blöde Frage: ist denn überhaupt LDAPS aktiv? Teste doch bitte einfach mal vom OTRS Server aus die LDAPS Verbindung mit

Code: Select all

 telnet ldapserver 636
.

- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
BlaBlaBlub22
Znuny newbie
Posts: 8
Joined: 07 Apr 2020, 08:42
Znuny Version: 6.0.29
Real Name: Jean

Re: LDAPS

Post by BlaBlaBlub22 »

@wurzel

Ja das ist ja auch die funktionierende Config. Wenn ich aber ein s dazugebe geht es nicht mehr

@root

Getestet vom OTRS Server aus habe ich mit

Code: Select all

ldapsearch -v -H ldaps://ad-server.domain.local:636 -D otrs@domain.local -w secret -b OU=UserOU,DC=domain,DC=local dn
Dank der tollen Erklärung https://blog.oholics.net/ldapsearch-syn ... and-sldap/

Zuerst kam dort die Fehlermeldung

ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

Dann hab ich aber mit TLS_REQCERT never in der /etc/ldap/ldap.conf die Zertifikatsprüfung ausgeschaltet.
Danach hab ich wunderbar auch über LDAPS Ergebnisse bekommen.

Ich denke ich muss auch irgendwie die Zertifikatsprüfung in der Config.pm raus bekommen.

P.S.
Nutze übrigens OTRS 6.0.29 auf Debian 10. Frisch aufgesetztes Testsystem.
root
Administrator
Posts: 3960
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: LDAPS

Post by root »

BlaBlaBlub22 wrote: 01 Dec 2020, 09:51 @wurzel

Ja das ist ja auch die funktionierende Config. Wenn ich aber ein s dazugebe geht es nicht mehr
Weil dann der Port nicht passt. ldap:// = 389, ldaps:// = 636
BlaBlaBlub22 wrote: 01 Dec 2020, 09:51 @root

...
Ich denke ich muss auch irgendwie die Zertifikatsprüfung in der Config.pm raus bekommen.
Wie gesagt, in Net::LDAP ist per Default keine drin. Es tippe auf den Port, den man auch weglassen kann wenn man mit URI-Schema arbeitet.

Ansonsten hier eine funktionierende:

Code: Select all

$Self->{CustomerUser1} = {
    Name => 'LDAP Backend',
    Module => 'Kernel::System::CustomerUser::LDAP',
    Params => {
        Host => 'ldaps://xxx',
        BaseDN => 'dc=domain,dc=tld',
        SSCOPE => 'sub',
        UserDN => 'xxx@xxx.tld',
        UserPw => 'xxx',
        AlwaysFilter => '(mail=*)',
        SourceCharset => 'utf-8',
        DestCharset => 'utf-8',
        Die => 0,
        Params => {
            timeout => 30,
            async   => 0,
            version => 3,
        },
    },
- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
BlaBlaBlub22
Znuny newbie
Posts: 8
Joined: 07 Apr 2020, 08:42
Znuny Version: 6.0.29
Real Name: Jean

Re: LDAPS

Post by BlaBlaBlub22 »

Hab es hinbekommen.

Der AD Server ist anscheinend sehr pingelig mit den Verschlüsselungsprotokollen. Musste ihm eins vorgeben. Hatte dazu alle sslversionen von https://metacpan.org/pod/distribution/p ... sslversion durchprobiert.

Meine Funktionierende Config sieht jetzt so aus

Code: Select all

    $Self->{CustomerUser1} = {
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
            Host   => 'ldaps://ad-server.domain.local',
            BaseDN => 'dc=domain, dc=local',
            SSCOPE => 'sub',
            UserDN => 'cn=otrs user, ou=User_Special, dc=domain, dc=local',
            UserPw => 'secret',
            AlwaysFilter => '(&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(mail=*@domain.de)(sn=*)(givenname=*)(!(givenname=\00)))',
            SourceCharset => 'utf-8',
            DestCharset   => 'utf-8',
            Params => {
                sslversion => 'tlsv1_2',
            },
        },
        CustomerKey            => 'sAMAccountName',
        CustomerID             => 'mail',
        CustomerUserListFields => ['cn', 'mail'],
        CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail', 'sn', 'mobile', 'telephonenumber'],
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields             => ['givenname', 'sn'],
#        CacheTTL                           => 1200,
        Map                                => [
            [ 'UserSalutation', 'Title',      'title',           1, 0, 'var' ],
            [ 'UserFirstname',  'Firstname',  'givenname',       1, 1, 'var' ],
            [ 'UserLastname',   'Lastname',   'sn',              1, 1, 'var' ],
            [ 'UserLogin',      'Login',      'sAMAccountName',  1, 1, 'var' ],
            [ 'UserEmail',      'Email',      'mail',            1, 1, 'var' ],
            [ 'UserCustomerID', 'CustomerID', 'mail',            0, 1, 'var' ],
            [ 'UserPhone',      'Phone',      'telephonenumber', 1, 0, 'var' ],
            [ 'UserMobile',     'Mobile',     'mobile',          1, 0, 'var' ],
            [ 'UserAddress',    'Address',    'postaladdress',   1, 0, 'var' ],
        ],
    };

Danke an alle. Wie immer ist das Forum eine große Hilfe.
Post Reply