LINUX.ORG.RU

9
Всего сообщений: 83

OpenLDAP+ Freeradius+MSCHAPV2

Всем привет. Настраиваю vpn сервер с аутентификацией через freeradius. Пользователи хранятся в OpenLDAP. Но есть проблема стандартный vpn клиент подключается по MSCHAPV2. Не понятно как настроить  модуль mschapv2 для openldap. Направьте, пожалуйста, ход мысли )

 ,

beren ()

LDAP клиент

Всем привет. Подключил я ldap клиент к серверу, используя скрипт https://itc-life.ru/skript-vvoda-debian-8-v-ldapdomen/

#!/bin/bash
rm /etc/libnss-ldap.conf
wait 3
touch /etc/libnss-ldap.conf
echo "base dc=domain,dc=ru" >> /etc/libnss-ldap.conf
echo "uri ldaps://ldap.domain.ru" >> /etc/libnss-ldap.conf
echo "ldap_version 3" >> /etc/libnss-ldap.conf
echo "rootbinddn cn=admin,dc=domain,dc=ru" >> /etc/libnss-ldap.conf
rm   /etc/pam_ldap.conf
touch /etc/pam_ldap.conf
echo "base dc=domain,dc=ru" >> /etc/pam_ldap.conf
echo "uri ldaps://infra.domain.ru" >> /etc/pam_ldap.conf
echo "ldap_version 3" >> /etc/pam_ldap.conf
echo "rootbinddn cn=admin,dc=domain,dc=ru" >> /etc/pam_ldap.conf
apt-get install libnss-ldap libpam-ldap nscd -y --force-yes
dpkg-reconfigure libnss-ldap
rm /etc/ldap/ldap.conf
echo "BASE    dc=domain,dc=ru" >> /etc/ldap/ldap.conf
echo "URI     ldaps://ldap.domain.ru" >> /etc/ldap/ldap.conf
echo "TLS_CACERT      /etc/ssl/certs/ca-certificates.crt" >>  /etc/ldap/ldap.conf
rm -r /etc/nsswitch.conf
touch  /etc/nsswitch.conf
echo "passwd: compat ldap" >> /etc/nsswitch.conf
echo "group: compat ldap" >> /etc/nsswitch.conf
echo "shadow: compat ldap" >> /etc/nsswitch.conf
echo "gshadow:        files" >> /etc/nsswitch.conf
echo "hosts:          files dns" >> /etc/nsswitch.conf
echo "networks:       files" >> /etc/nsswitch.conf
echo "protocols:      db files" >> /etc/nsswitch.conf
echo "services:       db files" >> /etc/nsswitch.conf
echo "ethers:         db files" >> /etc/nsswitch.conf
echo "rpc:            db files" >> /etc/nsswitch.conf
echo "netgroup:       nis" >> /etc/nsswitch.conf
rm /etc/pam.d/common-auth
touch  /etc/pam.d/common-auth
echo "auth    [success=2 default=ignore]      pam_unix.so nullok_secure" >> /etc/pam.d/common-auth
echo "auth    [success=1 default=ignore]      pam_ldap.so use_first_pass" >> /etc/pam.d/common-auth
echo "auth    requisite                       pam_deny.so" >> /etc/pam.d/common-auth
echo "auth    required                        pam_permit.so" >> /etc/pam.d/common-auth
rm /etc/pam.d/common-password
touch /etc/pam.d/common-password
echo "password        [success=2 default=ignore]      pam_unix.so obscure sha512" >> /etc/pam.d/common-password
echo "password        [success=1 user_unknown=ignore default=die]     pam_ldap.so use_authtok try_first_pass" >> /etc/pam.d/common-password
echo "password        requisite                       pam_deny.so" >> /etc/pam.d/common-password
echo "password        required                        pam_permit.so" >> /etc/pam.d/common-password
rm /etc/pam.d/common-session-noninteractive
touch /etc/pam.d/common-session-noninteractive
echo "session [default=1]                     pam_permit.so" >> /etc/pam.d/common-session-noninteractive
echo "session requisite                       pam_deny.so" >> /etc/pam.d/common-session-noninteractive
echo "session required                        pam_permit.so" >> /etc/pam.d/common-session-noninteractive
echo "session required        pam_unix.so" >> /etc/pam.d/common-session-noninteractive
echo "session optional                        pam_ldap.so" >> /etc/pam.d/common-session-noninteractive
echo "session required	pam_mkhomedir.so skel=/etc/skel/ umask=0022"	>> /etc/pam.d/common-session
echo "%main   ALL=(ALL:ALL) ALL" >> /etc/sudoers
rm /etc/libnss-ldap.secret
touch /etc/libnss-ldap.secret
echo "123" >> /etc/libnss-ldap.secret
service nscd restart

getent passwd и getenet shadow показывает доменных пользователей. Но зайти нельзя. Ошибка: Login incorrect. Любые идеи.

 

beren ()

OpenLdap пароль не реплицирутся.

Всем привет. Настроил репликацию по https://linuxlasse.net/linux/howtos/OpenLDAP_N-Way_MultiMaster_Replication Пользователи реплицируются, а пароли нет. Есть идеи ?

 

beren ()

Openldap ldap_modify: Other (e.g., implementation specific) error (80)

Всем привет. Добавляю в openldap корневой ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f ca.ldif, но является ошибка:

modifying entry "cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)

В сa.ldif

dn: cn=config
changetype: Modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ldap/certs/comodo.crt

Права:

-rw-r--r-- 1 openldap openldap /etc/ldap/certs/comodo.crt

Любые идеи)

 

beren ()

Регистрация создания, удаления пользователей, изменение паролей пользователей LDAP

Доброго времени суток!

Существует следующая техническая потребность: необходимо регистрировать в лог-файл события создания пользователей, удаление пользователей, изменение паролей пользователей в LDAP. Буду рад выслушать любую идею.

 ,

RihterRC ()

выбор LDAP

Задача - централизованное хранение пользователей одной взятой службы в некой конторе - т.е. хождение во внутреннюю wiki, мессенеджер (matrix/jabber), интеграция с freeradius для хождения на сетевые железки, сервера Linux, Gitea и т.д.

Что брать? Samba4, FreeIPA, OpenLDAP?

 , ,

Turbid ()

Puppet+LDAP

Добрый день! Есть идея использовать Puppet для управления конфигурациями клиентских машин. При этом так же уже есть свой LDAP-каталог. Идея заключается в том чтобы интегрировать puppet в LDAP и хранить все настройки/конфигурации в нем (все «красиво» и в одном месте) Пока что курю маны по этой теме. И если с серверной частью какие-то решения более-менее видны (напр. https://www.freeipa.org/page/Howto/Using_FreeIPA_CA_for_Puppet), то как настраивать клиента пока что не совсем понятно. Есть ли у уважаемого сообщества какие-либо советы (или опыт) по данной теме?

 , ,

alexey280 ()

OpelLDAP 2.4 Несколько SSL сертификатов.

Возникла необходимость для сервиса ldap добавить новый сертификат, При этом старый должен действовать.

Новые клиенты должны работать с новым сертификатом. Старые - остаться со старым.

Кто - нибудь сталкивался с решением данного вопроса?

 , , ,

z2v ()

Ищу удалённую работу техподдержка/сисадмин. Начальный опыт есть.

Ищу удалённую работу техподдержка/сисадмин. Начальный опыт есть. Почта starovoyt1993@yahoo.com Телеграм @crazyman678

 , , , ,

kyka276 ()

OpenLDAP

Всем Привет!

Помогите с конфигурацией OpenLDAP, необходимо:

  • Группы расположить в OU Groups
  • Пользователей в OU Users
  • Создать группы Administrators, Users
  • Создать пользователей user01-user05 в группе Users и дать доступ определенным машинам (IPv6)
  • Перенести admin в группу Administrators

Вот мой файл конфигурации:

( читать дальше... )

Что в нем необходимо изменить или добавить? UPD: Нарисовал конфигурацию Сcылка

 

Pasha26 ()

OpenLDAP sasl авторизация в Windows AD

Добрый день форумчане. Зарегился специально на этом форуме, так как именно тут нашел несколько советов по решению своих проблем. На других форумах что то тишина по моим вопросам, либо я туповатые вопросы задаю либо нет ответа. Итак предыстория, всегда писал под Windows на Qt. Тут пришлось писать под Linux.

Рабочая станция Ubuntu18.04 среда разработки Qt5.12.1 домен Windows Server 2012 AD. Приложение GUI для работы с БД postgresql. Необходима авторизация пользователя в AD из приложения и запуск приложения при верной авторизации. Для авторизации использовал пакет OpenLDAP.Как устанавливал написал тут https://forum.qt.io/topic/100294/qt-linux-авторизация-в-ad/8 Авторизация заработала, правда она как бы двухступенчатая. Авторизация возможна только по DN (distinguish name), поэтому вначале биндимся к AD под какойни буть учеткой, потом ищем там пользователя по введенному логину, берем DN этого пользователя и пытаемся прибиндится с этим DN и паролем введенным пользователем. Но проблема в другом, вроде как OpenLDAP поддерживает механизмы sasl (GSSAPI/KERBEROS5) авторизации. Моя рабочая станция введена в домен и авторизована, получен билет и есть файл krb5.

  username@kubuntuit01:~$ sudo net ads testjoin
  Join is OK
  username@kubuntuit01:~$ sudo net ads keytab list
  Vno Type Principal
  2 des-cbc-crc HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
  2 des-cbc-crc HOST/KUBUNTUIT01@MYDOMEN.LOCAL
  2 des-cbc-md5 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
  2 des-cbc-md5 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
  2 aes128-cts-hmac-sha1-96 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
  2 aes128-cts-hmac-sha1-96 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
  2 aes256-cts-hmac-sha1-96 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
  2 aes256-cts-hmac-sha1-96 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
  2 arcfour-hmac-md5 HOST/kubuntuit01.mydomen.local@MYDOMEN.LOCAL
  2 arcfour-hmac-md5 HOST/KUBUNTUIT01@MYDOMEN.LOCAL
Пытаюсь авторизоваться используя sasl не выходит.

  LDAPAsynConnection * sas;
  sas = new LDAPAsynConnection();
  sas->init("dc.mydomen.local",389);
  sas->saslBind("GSSAPI","uid=HOST/KUBUNTUIT01,cn=MYDOMEN.LOCAL,cn=gssapi,cn=auth",cons);

Первый параметр в строке биндинга верный, так как при указании другого, сервер выдает ошибку о неверном механизме авторизации. второй параметр - std::string&cred - значение авторизации. Если его оставить пустым то сервер возвращает ответ об ожидании следующего запроса со значением cred. Что я только не пробовал туда запихать, но всегда получаю ответ сервера : 80090308: LdapErr: DSID-0C0904DC, comment: AcceptSecurityContext error, data 57, v1db1 Код ошибки 49 : Invalid credentials (49) Ясно что неверные данные авторизации. Может кто подскажет что там указывать ? Нужна автоматическая авторизация если машина в домене и пользователь авторизован. Спасибо.

 , ,

Honey12345 ()

OpenLDAP - не добавляется схема

Пытаюсь добавить схему:

% ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/ISPEnv2.ldif
ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)

При этом

$ ldapsearch -x
# extended LDIF
#
# LDAPv3
# base <dc=mail,dc=e-touch,dc=tk> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# mail.e-touch.tk
dn: dc=mail,dc=e-touch,dc=tk
objectClass: top
objectClass: dcObject
objectClass: organization
o: e-touch
dc: mail

# admin, mail.e-touch.tk
dn: cn=admin,dc=mail,dc=e-touch,dc=tk
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

 

gigantischer ()

Помогите настроить аутентификацию в ActiveMQ через LDAP

Пытался настраивать по http://activemq.apache.org/cached-ldap-authorization-module.html , но там примеры противоречат друг другу, а предлагаемый для OpenLDAP конфиг с ним несовместим.

Я поставил на локалхост OpenLDAP с пустой базой, заменил параметры в slapd.conf на рекомендованные

suffix          "dc=activemq,dc=apache,dc=org"
rootdn          "cn=admin,dc=activemq,dc=apache,dc=org"
rootpw          {SSHA}lfAYn54xCFghgQv5B2Kqn3d3eLojqxtS
#пароль "sunflower"

Запустил OpenLDAP, импортировал рекомендованный activemq-openldap.ldif с некоторыми изменениями:

# Убрал, вызывало ошибку 53 "no global superior knowledge"
#dn: dc=apache,dc=org
#objectClass: dcObject
#objectClass: organization
#dc: apache
#o: Apache

dn: dc=activemq,dc=apache,dc=org
objectClass: dcObject
# container отсутствует в OpenLDAP, сменил на organization, 
#objectClass: container
objectClass: organization
objectClass: top
# Несовместимо с objectClass=organization, сменил на o=activemq
#cn: activemq
o: activemq
dc: activemq
(Все пароли также «sunflower».)

Создал конфиг:

<?xml version="1.0" encoding="UTF-8"?>
<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:amq="http://activemq.apache.org/schema/core"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">

  <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>

  <broker useJmx="false"  xmlns="http://activemq.apache.org/schema/core" persistent="false">

      <plugins>
          <authorizationPlugin>
              <map>
                  <cachedLDAPAuthorizationMap
                      connectionURL="ldap://localhost:389"
                      connectionUsername="cn=admin,dc=activemq,dc=apache,dc=org"
                      connectionPassword="sunflower"
                      queueSearchBase="ou=Queue,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org"
                      topicSearchBase="ou=Topic,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org" 
                      tempSearchBase="ou=Temp,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org"
                      refreshInterval="300000"
                      legacyGroupMapping="false"
                  />
              </map>
          </authorizationPlugin>
      </plugins>

    <transportConnectors>
      <transportConnector uri="tcp://localhost:61616"/>
    </transportConnectors>

  </broker>

    <import resource="jetty.xml"/>
</beans>

В jetty.xml отключил аутентификацию, чтобы не мешала.

Запускаю ActiveMQ, веб интерфейс работает.

В терминале набираю

curl -XPOST -d "body=message" http://admin:sunflower@localhost:8161/api/message?destination=queue://BAR 

Получаю ошибку:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 500 Server Error</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /api/message. Reason:
<pre>    Server Error</pre></p><h3>Caused by:</h3><pre>javax.servlet.ServletException: Could not post JMS message: javax.jms.JMSSecurityException: User is not authenticated.
...
Та же ошибка в консоли с activemq.

В чём проблема? Куда копать?

ОТВЕТ: У Jetty своя независимая аутентификация. В сети есть несколько взаимоисключающих руководств.

(Кроме того, если добавляешь плагин для авторизации, обязательно нужен и плагин для аутентификации.)

P.S. Заодно вопрос: в DN cn=read,cn=TEST.FOOBAR,ou=Queue,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org есть дополнительный атрибут member равный cn=notthere,ou=Group,ou=ActiveMQ,dc=activemq,dc=apache,dc=org

ActiveMQ на него ругается при запуске:

ERROR | Policy not applied! Unknown member [cn=notthere,ou=Group,ou=ActiveMQ,dc=activemq,dc=apache,dc=org, cn=read,cn=TEST.FOOBAR,ou=Queue,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org] in policy entry {}
javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object]; remaining name 'cn=notthere,ou=Group,ou=ActiveMQ,dc=activemq,dc=apache,dc=org'
Без него ошибка исчезает, но авторизация всё равно не работает.

Зачем он нужен?

ОТВЕТ: не нужен, спасибо Ivan_qrt.

 , ,

olegd ()

ldap+openvpn seg fault

Всем привет.
Хочу авторизовать пользователей vpn через ldap. В момент тестирования конфига - получаю ошибку:

bash-4.3# openvpn --dev null --plugin /usr/lib/openvpn-auth-ldap.so ./auth-ldap.conf 
Tue Jun  5 11:20:25 2018 OpenVPN 2.3.18 x86_64-alpine-linux-musl [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Nov 23 2017
Tue Jun  5 11:20:25 2018 library versions: LibreSSL 2.4.4, LZO 2.09
Segmentation fault (core dumped)

auth-ldap.conf
<LDAP>
	URL             ldap://10.98.253.34
	BindDN          cn=vpn,dc=domain,dc=net
	Password        "vpn"
	Timeout         15
</LDAP>
<Authorization>
	BaseDN          "DC=domain,DC=net"
	SearchFilter    "(&(sAMAccountName=%u))"
</Authorization>

Запускаю в docker контейнере. Не могу понять как исправить Segmentation fault. Alpinelinux, пакет openvpn-auth-ldap

 , ,

e1maker ()

Настройка free-radius 3 с аутентификацией LDAP на CentOS 7

Передо мной поставлена задача поставить freeradius сервер с аутентификацией LDAP на CentOS 7. openldap я уже настроил, но я не имею понятия, как сделать аутентификацию ldap на freeradius 3 так как в интернете я не нашел конкретного ответа на мой вопрос.

freeradius-ldap я уже установил, конфигурационные файлы находятся в /etc/raddb, директории modules, как в инструкциях для debian/ubuntu и freeradius 2 там нет.

клиентская зона из clients.conf я записал так

client house.mad {
ipaddr = 172.16.100.0/24
secret =Qwe12345
limit {
max_connections = 50
lifetime = 0
idle_timeout = 30
}
}

учетка администратора ldap cn=admin,dc=house,dc=mad порт=389 сеть 172.16.100.0/24

Структура LDAP:

dc=house,dc=mad
-->ou=Family
----->ou=Children
------------->cn=Daughter
------------------------>uid=Daughter
------------->cn=Son
------------------------>uid=Son
----->ou=Parents
------------->cn=Mom
------------------------>uid=Mom
------------->cn=Dad
------------------------>uid=Dad
-->cn=admin

 , , , ,

Rolsae ()

Пользователь OpenLDAP с минимальными правами

Есть стенд с OpenLDAP на Centos 7. Подключаю сервисы через phpldapadmin. Но пользователей создаю через ldif-файлы в консоли, привычней.

Сейчас подключаю стенд к zabbix для мониторинга. Нужен пользователь OpenLDAP, при помощи которого можно авторизовываться в веб-интерфейсе. при этом из-под пользователя не видно никаких объектов, т.е. прав кроме авторизации вообще не нужно. Что-то вроде вот такого набора:

dn: uid=Zabbix,ou=People,dc=domen,dc=ru
objectClass: (класс(ы), который позволяет корректно логиниться, но не дает доступа к другим объектам)
uid: zabbix
userPassword: {SSHA}R2q5b7HTB8tuTTPPEB78wlGWmZIRWz8C

Пробовала варианты posixAccount, top, account...

additional info: attribute 'userPassword' not allowed

или

additional info: no structural object class provided

Подскажите, какой вариант подойдет?

 ,

manik207 ()

Отключить перенос строк в аудитлоге опенлдапа

Для ldapsearch есть возможность указать -ldif-wrap=no, как то же самое сделать в slapd.conf в настройках аудитлога?

 , ,

ya-betmen ()

Вакансия: Администратор компьютерных классов, Москва

Частичная занятость, гибкий график, 50 т.р.

Обязанности: Администрирование сервера Linux (Debian, Samba, Postfix, Apache) + backup сервера Администрирование ~ 75 компьютеров Windows/Linux в компьютерных классах Сопровождение учебного процесса (установка и отладка программ, устранение проблем, курирование видеозаписи лекций) Администрирование BSS wifi сети факультета Участие в переоснащении учебных аудиторий (подбор и закупка оборудования, отслеживание установки оборудования)

Требования: Навык администрирования Linux (желательно Debian,CentOS) Знание сетевых технологий - TCP/IP, VLAN, принципов маршрутизации Умение развернуть Samba4 в качестве контроллера домена Навык работы с OpenLDAP, Radius Навык работы с почтой (Postfix, Postgrey - настройка, решение проблем, борьба со спамом) Умение программировать на скриптовых языках (python, bash/sh) Умение администрировать с apache, CUPS Умение работать с RAID, LVM Английский язык на уровне чтения технической документации Коммуникабельность, ответственность, готовность осваивать новые технологии

Приветствуется: Опыт работы с системами мониторинга, такими как zabbix Опыт разработки пакетов Debian Опыт разработки расширений MoinMoin Wiki Engine Знание основ администрирование MySQL, Postgres Работа с Windows на уровне продвинутого пользователя

Условия: Гибкий график работы, возможна частично удаленная работа Так как работа в ВУЗе, то учебный процесс накладывает ограничения на график работы (Глобальные работы - только в каникулы. В семестре - то, что не мешает занятиям и устранение сбоев, если таковые возникают, + по мере надобности, видеозаписи отдельных курсов лекций).

Оформление согласно ТК РФ. Территориально - Москва, Ленинские горы, м. Ломоносовский проспект, м. Университет

Вопросы/Резюме присылайте на: lks[at]genebee[dot]msu[dot]ru

 , , , ,

once ()

Ejabberd + PAM + Kerberos

Добрый день, есть ejabberd сервер, на нем настроена аутентификация PAM, так же есть kerberos в связке c openldap, необходимо их как то соединить. Самым простым способом оказался PAM, но дело в том что в документации ejabberd конфиг: #%PAM-1.0 auth sufficient pam_unix.so likeauth nullok nodelay account sufficient pam_unix.so

Работает только для локальных пользователей, может кто-то поделиться конфигом PAM что бы можно было нормально работать через керберос?

 , , ,

archonr ()

Синхронизация пользователей ldap AD и openLDAP

Добрый день, уважаемые участники форума. Сразу скажу, что я новичок в linux - не судите строго. Итак суть вопроса.

Развернут ldap AD с пользователями. Развернут ldap OpenLDAP (пустой) Развернуты некоторые сервисы, которые подключены к ldap-у OpenLDAP. Права пользователям (чтение, чтение/запись) раздаются по группам ldap-а OpenLDAP в которой находятся пользователи.

Задача: необходимо сделать так, чтобы пользователь мог залогиниться под своей доменной учеткой в сервисе, при этом автоматически эта учетка должна создаваться в openldap и попадать в определенную группу openldap-а (либо чтобы создавалась учетка в openldap, а добавление учетки в группу происходило в ручную).

Соответственно необходимо, чтобы любые изменения атрибутов доменной учетной записи синхронизировались с атрибутами учетной записи openldap.

Подскажите пожалуйста реально ли это реализовать? Знаю, что существуют такие понятия как проксирование, но подозреваю, что это не мой вариант, при проксировании доменный пользователь не создается же в базе OpenLDAP или я ошибаюсь?

Смог поднять проксирование, все работает, но не понимаю куда двигаться дальше. Как заставить openldap автоматом добавлять пользователей в свою базу.

OS: CentOS7

 , , , ,

Palazur ()