pptpd + auth in AD + mppe128 + mschap-v2

Linux, безопасность, сети и все что с этим связано
Аватара пользователя
Bock
Заглянувший
Сообщения: 28
Зарегистрирован: 07 мар 2004, 17:53
Контактная информация:

pptpd + auth in AD + mppe128 + mschap-v2

Сообщение Bock »

Добрый день. Есть проблема - надо создать подключение по pptp.
Исходные данные:
сервер, заведённый в AD, видит пользователей по wbinfo -u, видит группы по wbinfo -g.
Если авторизовать пользователя по паролю (/etc/chap-secrets), то всё работает - шифрация и mschap-v2. Если же пробовать доменную авторизацию - то фигу.
на нём pptpd:
/etc/pptpd.conf

Код: Выделить всё

option /etc/ppp/options.pptp
logwtmp
#lock
#
##speed 115200
debug
##bcrelay eth1
localip 10.10.18.1
remoteip 10.10.18.2-250
/etc/ppp/options.pptp

Код: Выделить всё

plugin winbind.so
name pptpd
### Authentication ###
logfile /var/log/pptpd.log

refuse-pap
refuse-mschap
refuse-chap
#nomppe-40
require-mschap-v2
require-mppe-128
### Network Settings
#nodefaultroute
ms-dns 192.168.0.253
#ms-dns 192.168.1.17
#proxyarp
debug
dump
lock
nobsdcomp
ntlm_auth-helper "/usr/bin/ntlm_auth –helper-protocol=ntlm-server-1"

При использовании:

Код: Выделить всё

/usr/bin/ntlm_auth –helper-protocol=ntlm-server-1 --username=anton
password: 
NT_STATUS_OK: Success (0x0)
А вот работать не хочет по pptp. Подключение идёт с windows xp со всеми обновлениями.
В логах:

Код: Выделить всё

Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
pptpd-logwtmp: $Version$
pppd options in effect:
debug           # (from /etc/ppp/options.pptp)
logfile /var/log/pptpd.log              # (from /etc/ppp/options.pptp)
dump            # (from /etc/ppp/options.pptp)
plugin winbind.so               # (from command line)
plugin /usr/lib/pptpd/pptpd-logwtmp.so          # (from command line)
require-mschap-v2               # (from /etc/ppp/options.pptp)
refuse-pap              # (from /etc/ppp/options.pptp)
refuse-chap             # (from /etc/ppp/options.pptp)
refuse-mschap           # (from /etc/ppp/options.pptp)
name pptpd              # (from /etc/ppp/options.pptp)
pptpd-original-ip 192.168.0.45          # (from command line)
ntlm_auth-helper xxx # [don't know how to print value]          # (from /etc/ppp/options.pptp)
115200          # (from command line)
lock            # (from /etc/ppp/options.pptp)
crtscts         # (from /etc/ppp/options)
local           # (from command line)
asyncmap 0              # (from /etc/ppp/options)
lcp-echo-failure 4              # (from /etc/ppp/options)
lcp-echo-interval 30            # (from /etc/ppp/options)
ipparam 192.168.0.45            # (from command line)
ms-dns xxx # [don't know how to print value]            # (from /etc/ppp/options.pptp)
proxyarp                # (from /etc/ppp/options)
10.10.18.1:10.10.18.2           # (from command line)
nobsdcomp               # (from /etc/ppp/options.pptp)
noipx           # (from /etc/ppp/options)
using channel 16
Using interface ppp0
Connect: ppp0 <--> /dev/pts/2
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x487491d8> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x0 <mru 1400> <magic 0x45673388> <pcomp> <accomp> <callback CBCP>]
sent [LCP ConfRej id=0x0 <callback CBCP>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x487491d8> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <mru 1400> <magic 0x45673388> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <mru 1400> <magic 0x45673388> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x487491d8]
sent [CHAP Challenge id=0xa0 <3367a57b915886509e7cfbe1e7b71055>, name = "pptpd"]
rcvd [LCP Ident id=0x2 magic=0x45673388 "MSRASV5.10"]
rcvd [LCP Ident id=0x3 magic=0x45673388 "MSRAS-0-WAX-XP"]
rcvd [LCP EchoRep id=0x0 magic=0x45673388]
rcvd [CHAP Response id=0xa0 <b6cd3f5ca19c93357fd2118d17ec207d00000000000000007d5f39cb56a926980ee3c709f27fa89774566d8d6af581b800>, name = "anton"]
Peer a_samets failed CHAP authentication
sent [CHAP Failure id=0xa0 "E=691 R=1 C=3367a57b915886509e7cfbe1e7b71055 V=0 M=Access denied"]
sent [LCP TermReq id=0x2 "Authentication failed"]
rcvd [LCP TermAck id=0x2 "Authentication failed"]
Connection terminated.

Если смотреть по гуглу - то у всех всё получается. Если пробовать авторизироваться как DOMAINNAME\anton - ошибка та же самая.
Самое интересное - если перестать требовать mschap-v2 - то пускает и подключает с любым логином и паролем вообще.

В логах winbind ничего интересного.

Из такого ещё - при прописывании в /etc/nsswitch.conf
passwd: files winbind
group: files winbind

По getent passwd показывает только локальных пользователей.
Если пробовать делать su - anton:

Код: Выделить всё

su - anton
No directory, logging in with HOME=/
anton@vm:/$ 

Имел ли кто-нибудь дело с этим?
Два дня на это убил...
Делал и по этой доке и по многим другим.
http://www.lanuser.ru/23.02.2010/vpn-pp ... tion.xhtml

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: pptpd + auth in AD + mppe128 + mschap-v2

Сообщение leave »

1. Аутентификация
2. Why not use LDAP? Зачем этот геморрой с winbind и прочими керберосами?

Аватара пользователя
Bock
Заглянувший
Сообщения: 28
Зарегистрирован: 07 мар 2004, 17:53
Контактная информация:

Re: pptpd + auth in AD + mppe128 + mschap-v2

Сообщение Bock »

leave, то есть использовать radius или что? Как в pptpd прикрутить лдап?

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: pptpd + auth in AD + mppe128 + mschap-v2

Сообщение leave »

Для pppd есть какой-то патч, реализующий поддержку LDAP, знакомые, кто юзал его, довольны (но то было года 2-3 назад). Иначе - радиус. Хотя, должен признать, сужу со своей колокольни: мне проще поднять радиус, чем ковыряться с ntlm )
В вашем конкретном случае я бы для начала посмотрел tcpdump'ом обмен данными в случае ручного вызова ntlm_auth и при попытке аутентификации из pptpd.

Аватара пользователя
Bock
Заглянувший
Сообщения: 28
Зарегистрирован: 07 мар 2004, 17:53
Контактная информация:

Re: pptpd + auth in AD + mppe128 + mschap-v2

Сообщение Bock »

Так ничего и не понял, что это было, но просто из интернета вставил опцию про аутентификацию и стало всё хорошо... Долго ругался на тот источник, из которого в самый первый раз скопировал.
Итак, всё хорошо при:
/etc/ppp/options.pptp

Код: Выделить всё

name pptpd
### Authentication ###
logfile /var/log/pptpd.log

refuse-pap
refuse-mschap
refuse-chap
require-mschap-v2
require-mppe-128

### Network Settings
ms-dns 192.168.0.253
#proxyarp
debug
dump
lock
nobsdcomp
novj
novjccomp
chapms-strip-domain
plugin winbind.so
ntlm_auth-helper "/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1 --require-membership-of=DOMAINNAME+VPN-users"

/etc/pptpd.conf

Код: Выделить всё

option /etc/ppp/options.pptp

logwtmp

#lock

#speed 115200
debug
#bcrelay eth1
localip 10.10.18.1
remoteip 10.10.18.2-250

Ответить