Ntlm_auth No such file or directory-Squid mit Squidguard und SSO an Windows-AD



  • Hallo,
    mein Ziel ist die Installation von Squid mit Squidguard auf einer pfsense 2.2. Ich bin hauptsächlich nach diesem Thread vorgegangen:https://forum.pfsense.org/index.php?topic=58700.0.
    Aber eben gleich auf einer pfsense 2.2 da die verwendeten Pakete von FreeBSD nicht mehr gepflegt werden. Ausserdem scheint mir auch Dansguardian kein aktives Projekt mehr zu sein.

    Ich find ich bin schon weit gekommen, stecke jetzt aber jetzt dabei fest das Zeilen in der squid.conf wie:
    auth_param ntlm program /usr/local/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp
    Zu dem Fehler "No such file or directory" führen. Obwohl ein Aufruf von:
    /usr/local/bin/ntlm_auth
    Auf der shell funktioniert. Ich hab das ganze auch im squid-Forum gepostet: http://squid-web-proxy-cache.1019090.n4.nabble.com/ntlm-No-such-file-or-directory-td4669085.html.
    Gute Hinweise bekommen, aber alle Lösungswege dort scheinen bei mir nicht zum Ziel zu führen. Vielleicht doch pfSense-spezifisch?


    Auch wenns noch nicht funktioniert, hier schonmal mein Howto bis zu diesem Punkt:
    Voraussetzung

    • pfsense 2.2 Grundinstallation inkl. Updates. Squid und Squidguard installiert und funktionsfähig.

    • Die Uhrzeit zwischen pfsense und Windowsserver sollte gleich sein, am besten synchronisiert

    • Die pfsense muss den Windowsserver als DNS-Server verwenden.

    • Die Namensauflösung für “windowsserver” muss passen

    Installation Samba und Heimdal:
    #pkg install samba4 heimdal
    Wenn erfolgreich dann die /etc/krb5.conf erstellen. Die Kerberos Realm werden groß geschrieben! Punkt hinter den realm beachten!

    [logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/ksadmind.log
    [libdefaults]
    default_realm = MYDOMAIN.LOCAL.
    dns_lookup_realm = true
    dns_lookup_kdc = true
    ticket_lifetime = 24h
    forwardable = yes
    default_tgs_enctypes = DES-CBC-CRC DES-CBC-MD5 RC4-HMAC
    default_tkt_enctypes = DES-CBC-CRC DES-CBC-MD5 RC4-HMAC
    preferred_enctypes = DES-CBC-CRC DES-CBC-MD5 RC4-HMAC
    [realms]
    MYDOMAIN.LOCAL = {
    kdc = windowsserver.mydomain.local.:88
    #Hier weitere domaincontroller möglich
    #kdc = windowsserver2.mydomain.local.:88
    
    admin_server = windowsserver.mydomain.local.:749
    default_domain = mydomain.
    }
    [domain_realm]
    .mydomain. = MYDOMAIN.LOCAL.
    mydomain. = MYDOMAIN.LOCAL.
    [kdc]
    profile = /var/heimdal/kdc.conf
    [appdefaults]
    pam = {
    debug = false
    ticket_lifetime = 36000
    renew_lifetime = 36000
    forwardable = true
    krb4_convert = false
    }
    

    Ebenso die Datei  /var/heimdal/kdc.conf erstellen:

    [kdcdefaults]
    acl_file = /var/heimdal/kadm5.acl
    dict_file = /usr/share/dict/words
    admin_keytab = /var/heimdal/kadm5.keytab
    v4_mode = noreauth
    [libdefaults]
    default_realm = MYDOMAIN.
    [realms]
    MYDOMAIN. = {
    master_key_type = des-cbc-crc
    supported_enctypes = des3-hmac-sha1:normal arcfourhmac:
    normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
    des-cbc-crc:v4 des-cbc-crc:afs3
    }
    

    Und die /var/heimdal/kadm5.acl anlegen:

    */*Administrator@MYDOMAIN.LOCAL *
    
    

    Die Samba-Konfigurationsdatei /usr/local/etc/smb4.conf erstellen. Bei Interfaces das LAN-Interface (sieht man z.B. per ifconfig) und den Netbiosnamen der pfsense:

    
    [global]
    interfaces = e1000g0
    bind interfaces only = yes
    netbios name = PFSENSE
    workgroup = MYDOMAIN
    realm = MYDOMAIN.LOCAL
    server string = Domain Proxy Server
    encrypt passwords = yes
    security = ADS
    password server = *
    log level = 3
    log file = /var/log/samba/%m.log
    max log size = 50
    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    printcap name = /etc/printcap
    preferred master = No
    dns proxy = No
    ldap ssl = no
    ; idmap uid = 10000-20000
    ; idmap gid = 10000-20000
    winbind use default domain = yes
    winbind enum users = yes
    winbind enum groups = yes
    winbind nested groups = yes
    ; winbind separator = \
    client use spnego = yes
    client ntlmv2 auth = yes
    cups options = raw
    
    

    Datei /etc/rc.conf:

    
    samba_server_enable="YES"
    winbindd_enable="YES"
    
    

    Scheinbar muss man hier noch ein Verzeichnis anlegen:

    mkdir /var/run/samba4
    /usr/local/etc/rc.d/samba_server/restart
    

    Und dann mit folgendem Befehl Domainenmitglied werden:

    
    /usr/local/bin/kinit myadmin@MYDOMAIN.LOCAL
     /usr/local/bin/net ads join -U administrator@DOMAIN.LOCAL
    Enter administrator@DOMAIN.LOCAL`s password:
    Using short domain name -- MYDOMAIN
    Joined 'pfsense' to dns domain 'MYDOMAIN.LOCAL'
    
    

    Samba neu starten, Gruppe ändern und man sollte schon die user und Gruppen des ADs sehen:

    /usr/local/etc/rc.d/samba_server restart
    chgrp proxy /var/db/samba4/winbindd_privileged
    /usr/local/bin/wbinfo -t
    /usr/local/bin/wbinfo -u
    /usr/local/bin/wbinfo -g
    

    Und jetzt käme das Einfügen der Konfiguration in Squid was eben dann zum Fehler führt:

    
    acl_uses_indirect_client on;follow_x_forwarded_for allow localhost;
    auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp;
    auth_param ntlm children 10;
    auth_param ntlm keep_alive on;
    acl password proxy_auth REQUIRED;
    
    


  • So weit, so gut!  :)
    Bei mir funktionierte alles, bis ich pfSense neugestartet habe. Danach kam ebenfalls "ntlm_auth No such file or directory".
    Warum ging es anfangs und nach einem Neustart nicht mehr?

    lg Philipp



  • Ja Philipp, kann sein das ich das auch schon so erlebt habe, siehe hier:https://forum.pfsense.org/index.php?topic=58700.msg482763#msg482763
    Da steht auch drin wie man diesen Fehler abstellt und weitermacht. Gelöst ist es aber nicht, hierzu ist der Beitrag von marcelloc hier recht aussagekräftig:
    https://forum.pfsense.org/index.php?topic=87782.msg483244#msg483244

    Also mein Fazit ist das es mit Proxy und sso bei pfsense momentan ganz schlecht aussieht. Würd mich aber sehr freuen wenn jemand meinem Fazit widerspricht!

    Gruß Alex


Log in to reply