ntlm+squid

Автор Andruha, 10 декабря 2014, 18:26:21

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Andruha

Похожих тем много, но ответа на свой вопрос не нашел, может подскажете конкретно по моей ситуации?
Не получается настроить ntlm аутентификацию доменных пользователей на прокси. Всегда в любом браузере выскакивает окно с запросом логина/пароля. При basic все работает нормально.
Перепробовал много чего, ничего не помогает.
Мои конфиги:
/etc/samba/smb.conf

[global]
        workgroup = MYDOM
        realm = MYDOM.COM
        server string = PROX-TEST
        log file = /var/log/samba/log.%m
        max log size = 50
        log level = 3
        security = ads
        encrypt passwords = true
        domain master = No
        local master = No
        preferred master = no
        os level = 0
        domain logons = no

        max log size = 1000
        load printers = No
        log level = 0 winbind:4
        show add printer wizard = No
        idmap config * : range = 10000-20000
        idmap config * : backend = tdb
        winbind enum users = Yes
        winbind enum groups = Yes
        winbind use default domain = yes
        winbind refresh tickets = yes
        inherit acls = Yes
        inherit owner = Yes
        case sensitive = No


/etc/krb5.conf

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krbkdc.log
admin_server = FILE:/var/log/ksadmind.log

[libdefaults]
default_realm = MYDOM.COM
dns_lookup_kdc = true
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true
    v4_instance_resolve = false
    v4_name_convert = {
        host = {
            rcmd = host
            ftp = ftp
        }
        plain = {
            something = something-else
        }
    }
    fcc-mit-ticketflags = true

[realms]
    MYDOM.COM = {
        kdc = adc
        kdc = bdc
        admin_server = adc
        default_domain = MYDOM.COM
    }

[domain_realm]
        .mydom.com = MYDOM.COM
        mydom.com = MYDOM.COM

[login]
    krb4_convert = false
    krb4_get_tickets = false



/etc/squid3/squid3.conf

cache_effective_user proxy
cache_effective_group proxy

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 20 startup=0 idle=1
auth_param ntlm keep_alive on

external_acl_type nt_group %LOGIN /usr/lib/squid3/ext_wbinfo_group_acl

acl     InetManagers        external nt_group MYDOM\InetManagers
acl     MYDOM            proxy_auth     REQUIRED

acl localnet src 10.11.0.0/22   # RFC1918 possible internal network
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl CONNECT method CONNECT

http_access     allow MYDOM
http_access     allow   InetManagers
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost

http_access deny all
http_port 3128
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320


wbinfo -t
wbinfo -p
Говорят, что все хорошо.
wbinfo -u
wbinfo -g
Выдают нужные списки

проверка пользователя из командной строки /usr/bin/ntlm_auth тоже проходит успешно
проверка /usr/lib/squid3/ext_wbinfo_group_acl тоже все норм

endru

Для авторизации через домен нужно подправить права на файл /run/samba/winbindd_privileged или лучше добавить squid в группу (какую подскажет ls -l /run/samba/) в моем случае это:
addgroup proxy winbindd_priv
перезапускаем squid и проверяем работу

Andruha

#2
Сделал, такой же результат ((
/var/log/squid3/cache.log

Login for user [MYDOM]\[user]@[USERCOMP] failed due to [Reading winbind reply failed!]
GENSEC login failed: NT_STATUS_UNSUCCESSFUL
2015/10/08 17:36:50 kid1| ERROR: NTLM Authentication validating user. Result: {result=BH, notes={message: NT_STATUS_UNSUCCESSFUL NT_STATUS_UNSUCCESSFUL; }}

user входит в доменную группу InetManagers, ext_wbinfo_group_acl выдает статус OK при ручной проверке


Andruha

#4
Настройки вроде как все правильные. Либо я уже какой день не найду где косяк. Потому и выложил все конфиги.

Andruha

#5
Как выяснилось опытным путем, проблема не в конфигах, а все-таки в правах.

ls -l /run/samba/
............
drwxr-xr-x 2 root root              60 окт 12 10:29 winbindd
-rw-r--r-- 1 root root               4 окт 12 10:29 winbindd.pid
drwxr-x--- 2 root winbindd_priv     40 окт 12 10:29 winbindd_privileged

Учётка proxy добавлена в группу winbindd_priv, но этого мало.

id proxy
uid=13(proxy) gid=13(proxy) группы=13(proxy),114(winbindd_priv)

Если добавить proxy в группу root, то все становится нормально. Но это совсем не айс )
Есть варианты что еще может помочь?

endru

это в какой версии squid3 конфиг файл называется squid3.conf?

по теме:
Если проблема с правами, значит нужно смотреть к какому файлу нет доступа у proxy. начни с конфига squid, и смотри доступ на файлы и директории которые в нем указанны.
кэш в какой директории хранится?
ls -l /var/spool/

Andruha

#7

ls -l /var/spool/
итого 20
drwxr-xr-x 5 root        root        4096 окт  8 14:18 cron
drwxr-x--- 5 Debian-exim Debian-exim 4096 окт  8 14:19 exim4
lrwxrwxrwx 1 root        root           7 окт  8 14:10 mail -> ../mail
drwx------ 2 root        root        4096 окт  2  2014 rsyslog
drwxrwxrwt 2 root        root        4096 мар  7  2015 samba
drwxr-xr-x 2 proxy       proxy       4096 июл 27 01:04 squid3


Меня смущает сообщение в логе
Login for user [MYDOM]\[user]@[USERCOMP] failed due to [Reading winbind reply failed!]
Это не означает, что к винбинду нет каких-то прав?

Плюс, если под юзером proxy выполнить

wbinfo -a user%password
plaintext password authentication succeeded
challenge/response password authentication failed
Could not authenticate user user with challenge/response

Под рутом, ясное дело, все нормально

endru

да, явная проблема с winbind.
не думаю что там дело в правах. скорее в конфигах. Конфиг самбы вроде нормальный, нужно смотреть файлы в /etc/pam.d/common-*

Andruha

#9
Решено.

pam-auth-update

Оставить только
  • Unix authentication