Основная цель которую мы преследовали, дать возможность компаниям использующим NTLN аутентификацию в КП ускорить его работу, за счёт переноса в эталонную среду, без потери интеграции с AD.
Изменения в BitrixVM 3.1
- обновлён CentOS 6
- добавлен ряд пакетов htop, samba и.т.д.
- мастер настройки NTLM авторизации
- добавлен модуль ntlm аутентификации для apache
- nginx c патчем upstream-keepalive
[spoiler]
Настройка NTLM авторизации пользователей "1С-Битрикс: Корпоративный портал"
Запускаем BitrixVM 3.1 и устанавливаем КП. Во время установки, в мастере выбираем "Разрешить пользователям Active Directory авторизовываться на портале"
Следующим шагом, вводим настройки подключения к домену AD
и указываем соответствия групп в AD, группам корпоративного портала
После завершения установки в административном разделе открываем управление AD/LDAP (Рабочий стол / Настройки / AD/LDAP)
и редактируем параметры сервера Active Directory, указывая домен для NTLM авторизации.
После этого заходим в настройки модуля AD/LDAP и устанавливаем "Использовать NTLM авторизацию"
КП портал готов к использованию NTLM авторизации, осталось настроить виртуальную машину. Для этого, подключаемся к ней от имени root, выбираем пункт меню "NTLM autentification" и вводим необходимые данные. После подтверждения корректности введенных данных мастер настроит и запустит все необходимые службы, а также подключит виртуальную машину в домен.
Настройка завершена, для успешной NTLM авторизации осталось проверить настройки браузеров:
Internet Explorer
Для успешной NTLM авторизации нужно, чтобы веб-сервер находился в зоне Local Intranet (при необходимости добавить)
Mozilla Firefox
Добавить веб-сервер к списку доверенных URI для автоматической NTLM-авторизации (через параметр network.automatic-ntlm-auth.trusted-urisна странице firefox about:config)
Действия по включению NTLM авторизации на уже установленном корпоративном портале аналогичны перечисленным выше, за исключением того что сервер Active Directory добавляется в ручную.
Важно!
На данный момент релиз является экспериментальным, так как патч для модуля nginx upstream_keepalive находится в стадии тестирования.
Спасибо за релиз.)
Это который "Рабочий стол / Настройки / AD/LDAP" ?
А в поле "Domain Administrator user name" обязательно именно администратора указывать или можно юзера с правами на чтение дерева бюджетов?
Вносились какие либо изменения в машину перед добавлением?
Можно нажать "Отмена" и продолжать работу, но "осадок остается".
В access_log Apache: 401
а в следующей строке с тем же адресом 200
В error_log Apache следующее:
libsmb/ntlmssp.c:342(ntlmssp_update) got NTLMSSP command 1, expected 3.
Наблюдаем те же проблемы с авторизацией. (в логах те же ошибки)
Вы используете Kerberos? Удалось найти решение проблемы?
(только часть зарпорсов и линий статуса представлена здесь и обозначены как "C"-клиент "S"-сервер):
1: C --> S GET ...
2: C <-- S 401 Unauthorized
WWW-Authenticate: NTLM
3: C --> S GET ...
Authorization: NTLM
4: C <-- S 401 Unauthorized
WWW-Authenticate: NTLM
5: C --> S GET ...
Authorization: NTLM
6: C <-- S 200 Ok
Быть может это как-то проясняет проблему?
Нашел неприятную вещь - если есть синхронизация с 1С:ЗУП, то доступ к файлу /bitrix/admin/1c_intranet.php тоже пытается через ntlm пропустить, но т.к. вер-клиент со стороны 1С пытается использовать basic авторизацию, естественно ничего у него не получается.
Пока прописал в /bitrix/.htaccess
Наверное такие вещи должны из коробки работать
Еще доступ к файлу 1c_intranet.php, автоматически созданному системой, нет прав на чтение, пришлось ручками проставлять. Но это уже к разрабам надо.
2. По поводу импорта из 1c, посмотрим
Ну, т.е. сотрудники, которые не в домене, например, из удаленного офиса, могут авторизовываться как обычно или нужно для этого что-то еще править?
При этом каждый из них проксирует на свой виртуальный хост apache. На одном из хостов прописываем ntlm авторизацию аналогично /etc/httpd/conf.d/mod_ntlm.conf, в другом нет.
И убираем файл etc/httpd/conf.d/mod_ntlm.conf.
не нарушит ли это решение действующую лицензионную политику?
1. Периодически пользователи оказываются по чужой учетной записью.
2. Периодически появляется запрос на ввод логина/пароля, можно нажать "отмена" и спокойно продолжить работу.
Клиентская машина Win 7, проявляется на Chrome/Firefox/IE. Сайт добавлен в локальные.
2. Где именно заменить?
1. Периодически пользователи оказываются по чужой учетной записью.
2. Периодически появляется запрос на ввод логина/пароля, можно нажать "отмена" и спокойно продолжить работу.
Клиентская машина Win 7, проявляется на Chrome/Firefox/IE. Сайт добавлен в локальные.
Более каких либо специфичных настроек не проводилось.
Что не так? Помогите...
Заметил это при листании фотографий в галереи, попробуйте сами полистать несколько фотографий и запрос начнет появляться.
При обычном серфинге по порталу такого не появляется, видимо, только если файлы мультимедиа есть. Возможно, из-за того, что php обрабатывается через apache, а картинки идут напрямую через nginx, хотя и на самих страничках портала иконок предостаточно, странно как-то.
Закономерности в появлении авторизации не выявил.
Надо как-то эту проблему решить, а то уже жалуются на "тормознутость" системы, когда как сервер в это время ничем не занят.
и написать там
Но вообще странно, у меня работает, хотя может это aciveX, через IE.
Или там сейчас flash, тоже удобный. Почему бы не использовать его?
Внимание:
Хоть окно авторизации и перестало появляться, но всё равно сессия обрывается и страница при этом не загружается.
Вот решение на основе samba src.rpm:
1. cd ~
yum update samba-*
yum install yum-utils rpmdevtools
2. yumdownloader --source samba
Если не может найти, ищем через поиск или rpmfind.net.
3. rpm -ivh samba-3.5.10-114.el6.src.rpm
4. yum-builddep ~/rpmbuild/SPECS/samba.spec
5. rpmbuild -bp ~/rpmbuild/SPECS/samba.spec
В случае ошибок, надо будет доставить зависимости.
6. cd ~/rpmbuild/SOURCES
tar -xvzf samba-3.5.10.tar.gz
Меняем в файле: '~/rpmbuild/SOURCES/samba-3.5.10/source3/libsmb/ntlmssp.c':
Было:
7. cd ~/rpmbuild/SOURCES
tar -cvzf samba-3.5.10.tar.gz samba-3.5.10
8. cd ~
rpmbuild -ba ~/rpmbuild/SPECS/samba.spec
8.1 В случае ошибки: "mkdir: cannot create directory 'packaging/Fedora': File exists"
Меняем: '~/rpmbuild/SPECS/samba.spec':
Было:
cp /etc/samba/smb.conf ~
yum erase samba-*
10. cd ~/rpmbuild/RPMS/i386
yum install *.rpm
cp ~/smb.conf /etc/samba/smb.conf
Столкнулись с ошибкой конфигурации ВМ:
В ВМ Битрикс 4.2 обнаружены ошибки конфигурации. Не созданы директории для временной загрузки файлов и хранения сессии.
Прописанные в конфигурации директории
"/tmp/php_upload/www"
"/tmp/php_session/www"
не существуют.
Это только у нас или у всех такая ошибка?
mkdir -f /tmp/php_sessions/www
mkdir -f /tmp/php_upload/www
chown -R bitrix:bitrix /tmp/php_sessions/www
chown -R bitrix:bitrix /tmp/php_upload/www
chmod -R 0700 /tmp/php_sessions/www
chmod -R 0700 /tmp/php_upload/www
bitrix/modules/ldap/classes/general/ldap_util.php
в функции OnEpilogHandler
define('LDAP_NO_PORT_REDIRECTION', true);
А сам сервер должен быть введен в АД для осуществления "AD/LDAP интеграция "?