LINUX.ORG.RU
решено ФорумAdmin

SOCKS 5 proxy with ldap auth


0

1

Друзья, что есть сейчас из решений которые позволят сабж?

dante - в ubuntu 12.04 очень старый в репах, и не получилось завести сабж с LDAP... Новый dante тоже толком не заводится. Такое ощущение что проект таки подзаброшен.

Может dante у кого то работает в такой конфигурации? По оф. how-to не хочет он с LDAP дружить...

Есть 3proxy, но что там с LDAP под linux не очень ясно. Но и опять-же 3proxy ИМХО тоже уже умирает...

★★★★★

Есть такая штука как PAM, делай через нее. У меня данте так работает нормально, там правда не ldap, а kerberos, но сути не меняет.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Я делал через PAM. Как на оф. сайте написано. Локальных пользователей глотает, в LDAP - не хочет, говорит пользователь не найден. Мне не удалось отдебажить модуль ldap. /etc/ldap.conf - включал debug и всё прочее, но похоже это не работает. В auth.log сыпало что auth fail и всё... Если я конфиги выложу сможешь подсказть в чём я не прав?

DALDON ★★★★★
() автор топика
Ответ на: комментарий от menzoberronzan

Это для системной авторизации, для PAM это не нужно.

blind_oracle ★★★★★
()
Ответ на: комментарий от menzoberronzan

А разве должен включаться? Я не вижу никакого смысла в nss тут. Мы ведь пишем кастомный конфиг для ПО. http://www.inet.no/dante/doc/faq.html#auth_pamldap - тут не и слова про это. Там явное указание идёт какой модуль пользовать.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

Есть только лдап (samba 4). kerberos нету, так-как на заводах: Win2k, WinNT 4, WinXP, Win7 (Home Premium), Linux.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

У меня вот примерно так, авторизация через керберос, а лдап используется для проверки членства в группе, которая разрешает достук к носкам.

Аналогично можно сделать полностью через лдап, чтобы он биндился к нему с логином и паролем юзера и если успешно, то пропускал.

# cat /etc/sockd.conf 
logoutput: syslog
#logoutput: stderr
internal: vlan8 port = 1080
external: 10.1.16.18
method: pam
clientmethod: none
user.privileged: root
user.notprivileged: sockd
extension: bind

client pass {
    from: 0.0.0.0/0 port 1-65535 to: 0.0.0.0/0
}

pass {
    from: 10.1.0.0/16 port 1-65535 to: 0.0.0.0/0
    protocol: tcp udp
    method: pam
    log: connect disconnect error
    
    pam.servicename: sockd-domain1
}
# cat /etc/pam.d/sockd-domain1
auth required pam_krb5.so alt_auth_map=%s@DOMAIN1.RU
account required pam_ldap.so config=/etc/pam_ldap_domain1.conf
password required pam_permit.so
session required pam_permit.so
# cat /etc/pam_ldap_domain1.conf
uri ldap://127.0.0.1
ldap_version 3
base OU=Пользователи,DC=domain1,DC=ru

binddn CN=service_ldap_ro,CN=Users,DC=domain1,DC=ru
bindpw xxx

scope sub
timelimit 30
bind_timelimit 10
bind_policy hard

idle_timelimit 3600

pam_filter objectclass=user
pam_login_attribute sAMAccountname

pam_groupdn CN=proxy_socks_access,OU=Proxy,OU=Groups,DC=domain1,DC=ru
pam_member_attribute member

debug 1
blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Смотри что у меня получается:

cat /etc/sockd.conf

logoutput: /var/log/dante.log stderr
internal: local port = 1080
external: local
method: pam
user.privileged: root
user.notprivileged: nobody

client pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
}

pass {
       from: 0.0.0.0/0 to: 0.0.0.0/0
       protocol: tcp udp
       method: pam
       log: connect disconnect error
       pam.servicename: sockd-domain1
}
# cat /etc/ldap.conf 
uri ldap://192.168.2.54
ldap_version 3
base CN=Users,DC=xxx,DC=domain

binddn CN=reader,CN=Users,DC=xxx,DC=domain
bindpw yv8v4g3pSPsLOzoFi

scope sub
timelimit 30
bind_timelimit 10
bind_policy hard

idle_timelimit 3600

pam_filter objectclass=user
pam_login_attribute sAMAccountname

debug 1
# cat /etc/pam.d/sockd-domain1
auth       required pam_ldap.so
account    required pam_ldap.so
password   required pam_ldap.so

При старте ругается:

# sockd 
Oct  7 15:28:58 (1381145338.250709) sockd[5830]: error: /etc/sockd.conf: error on line 4, near "pam": method pam requires pam library

sockd -v
sockd: dante v1.3.2

Древняя версия из репозитариев так не ругалась, но и не логинила. Путём копаний я выяснил - что я просто собрал из исходников, но не включил поддержку PAM. Я сейчас посмотрю и попробую пересобрать... Или накатить версию из репозитариев.

Посмотри пож-та, конфиг: sockd-domain1 , насколько он адекватен по твоему мнению?

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от blind_oracle

Применил конфиги к версии из репозитория, получил в stdout следующее:

# danted 
Oct  7 15:36:13 (1381145773) danted[6058]: checkrule(): sockd-domain1 ne sockd
Oct  7 15:36:13 (1381145773) danted[6058]: socks_seteuid(): old: 0, new: 0
Oct  7 15:36:13 (1381145773) danted[6058]: socks_reseteuid(): current: 0, new: 0
Oct  7 15:36:13 (1381145773) danted[6058]: socks_seteuid(): old: 0, new: 65534
Oct  7 15:36:13 (1381145773) danted[6058]: socks_reseteuid(): current: 65534, new: 0
Oct  7 15:36:13 (1381145773) danted[6058]: fixsettings(): setting the libwrap uid to 0 is not recommended
Oct  7 15:36:13 (1381145773) danted[6059]: created new negotiatorchild
Oct  7 15:36:13 (1381145773) danted[6061]: created new requestchild
Oct  7 15:36:13 (1381145773) danted[6058]: dante/server v1.1.19 running
Oct  7 15:36:13 (1381145773) danted[6062]: created new requestchild
Oct  7 15:36:13 (1381145773) danted[6064]: created new iochild
Oct  7 15:36:13 (1381145773) danted[6063]: created new requestchild
Oct  7 15:36:13 (1381145773) danted[6060]: created new requestchild
Oct  7 15:36:17 (1381145777) danted[6065]: created new requestchild
ldap_create
ldap_url_parse_ext(ldap://192.168.2.54)
ldap_simple_bind
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP 192.168.2.54:389
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 192.168.2.54:389
ldap_pvt_connect: fd: 3 tm: 10 async: 0
ldap_ndelay_on: 3
ldap_int_poll: fd: 3 tm: 10
ldap_is_sock_ready: 3
ldap_ndelay_off: 3
ldap_pvt_connect: 0
ldap_open_defconn: successful
ldap_send_server_request
ber_scanf fmt ({it) ber:
ber_scanf fmt ({i) ber:
ber_flush2: 70 bytes to sd 3
ldap_result ld 0x1c3d940 msgid 1
wait4msg ld 0x1c3d940 msgid 1 (timeout 10000000 usec)
wait4msg continue ld 0x1c3d940 msgid 1 all 0
** ld 0x1c3d940 Connections:
* host: 192.168.2.54  port: 389  (default)
  refcnt: 2  status: Connected
  last used: Mon Oct  7 15:36:17 2013


** ld 0x1c3d940 Outstanding Requests:
 * msgid 1,  origid 1, status InProgress
   outstanding referrals 0, parent count 0
  ld 0x1c3d940 request count 1 (abandoned 0)
** ld 0x1c3d940 Response Queue:
   Empty
  ld 0x1c3d940 response count 0
ldap_chkResponseList ld 0x1c3d940 msgid 1 all 0
ldap_chkResponseList returns ld 0x1c3d940 NULL
ldap_int_select
read1msg: ld 0x1c3d940 msgid 1 all 0
ber_get_next
ber_get_next: tag 0x30 len 12 contents:
read1msg: ld 0x1c3d940 msgid 1 message type bind
ber_scanf fmt ({eAA) ber:
read1msg: ld 0x1c3d940 0 new referrals
read1msg:  mark request completed, ld 0x1c3d940 msgid 1
request done: ld 0x1c3d940 msgid 1
res_errno: 49, res_error: <>, res_matched: <>
ldap_free_request (origid 1, msgid 1)
ldap_parse_result
ber_scanf fmt ({iAA) ber:
ber_scanf fmt (}) ber:
ldap_msgfree
ldap_err2string

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Как бы мне посмотреть что оно пытается поискать в LDAP, но при этом не включая дебаг на samba4... Посмотреть бы на уровне ldap pam модуля чтоль...

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

В общем в исходниках нет ничего толком про PAM... Почему ругается - не знаю.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

Всё зашуршало в версии из репов... Я далдон тот ещё... Коннектился на другой сервер LDAP (у нас их несколько)...

На всякий случай сделал как написано тут: http://www.readability.com/read?url=http://blog.davidvassallo.me/tag/dante/

Однако версия из сырцов пишет по-прежнему:

error on line 4, near "pam": method pam requires pam library

Эта строка где написано: method: pam

Что ей нужно - не пойму в упор...

DALDON ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.