openldap и memberOf для нескольких классов
Как такое сделать если конфиг в slapd.conf
?
Хочу чтоб memberOf работал и для groupOfNames и для groupOfUniqueNames.
Всякие dynlist например умеют понимать несколько упоминаний dynlist-attrset
.
Как такое сделать если конфиг в slapd.conf
?
Хочу чтоб memberOf работал и для groupOfNames и для groupOfUniqueNames.
Всякие dynlist например умеют понимать несколько упоминаний dynlist-attrset
.
привет, посоветуйте пожалуйста, что выбрать openldap или freeipa, читал темы на лоре по этим тегам, но хочется услышать мнение именно под мои данные. Штат до 20 человек(удаленные), все сервисы куда необходима авторизация висят в инете(не в приватной сети, почему так не спрашивайте) Нужна авторизация gitlab(свой сервер)
Что хочется:
Что не хочется:
Буду благодарен за советы и мнения.
Приветствую.
Для удобства хочу создать группу в OpenLDAP, члены которой имеют полный доступ к нем (чтение/запись). Я создал группу ldap_admins через вэб интерфейс (ldap account manager). Сделал такой acl
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: to attrs=userPassword
by self write
by group.exact="cn=ldap_admins,ou=Groups,dc=domain,dc=ru" write
by anonymous auth
by * none
Но при входе в вэб интерфейс под уз членом этой группы:The following suffixes are missing in LDAP
Подскажите, пожалуйста, как правильно создать acl ?
Всем привет. Настраиваю vpn сервер с аутентификацией через freeradius. Пользователи хранятся в OpenLDAP. Но есть проблема стандартный vpn клиент подключается по MSCHAPV2. Не понятно как настроить модуль mschapv2 для openldap. Направьте, пожалуйста, ход мысли )
Всем привет. Подключил я 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. Любые идеи.
Всем привет. Настроил репликацию по https://linuxlasse.net/linux/howtos/OpenLDAP_N-Way_MultiMaster_Replication Пользователи реплицируются, а пароли нет. Есть идеи ?
Всем привет. Добавляю в 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
Любые идеи)
Доброго времени суток!
Существует следующая техническая потребность: необходимо регистрировать в лог-файл события создания пользователей, удаление пользователей, изменение паролей пользователей в LDAP. Буду рад выслушать любую идею.
Задача - централизованное хранение пользователей одной взятой службы в некой конторе - т.е. хождение во внутреннюю wiki, мессенеджер (matrix/jabber), интеграция с freeradius для хождения на сетевые железки, сервера Linux, Gitea и т.д.
Что брать? Samba4, FreeIPA, OpenLDAP?
Добрый день! Есть идея использовать Puppet для управления конфигурациями клиентских машин. При этом так же уже есть свой LDAP-каталог. Идея заключается в том чтобы интегрировать puppet в LDAP и хранить все настройки/конфигурации в нем (все «красиво» и в одном месте) Пока что курю маны по этой теме. И если с серверной частью какие-то решения более-менее видны (напр. https://www.freeipa.org/page/Howto/Using_FreeIPA_CA_for_Puppet), то как настраивать клиента пока что не совсем понятно. Есть ли у уважаемого сообщества какие-либо советы (или опыт) по данной теме?
Возникла необходимость для сервиса ldap добавить новый сертификат, При этом старый должен действовать.
Новые клиенты должны работать с новым сертификатом. Старые - остаться со старым.
Кто - нибудь сталкивался с решением данного вопроса?
Ищу удалённую работу техподдержка/сисадмин. Начальный опыт есть. Почта starovoyt1993@yahoo.com Телеграм @crazyman678
Всем Привет!
Помогите с конфигурацией OpenLDAP, необходимо:
Вот мой файл конфигурации:
( читать дальше... )
Что в нем необходимо изменить или добавить? UPD: Нарисовал конфигурацию Сcылка
Добрый день форумчане. Зарегился специально на этом форуме, так как именно тут нашел несколько советов по решению своих проблем. На других форумах что то тишина по моим вопросам, либо я туповатые вопросы задаю либо нет ответа. Итак предыстория, всегда писал под 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
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) Ясно что неверные данные авторизации. Может кто подскажет что там указывать ? Нужна автоматическая авторизация если машина в домене и пользователь авторизован. Спасибо.
Пытаюсь добавить схему:
% 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
Пытался настраивать по 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
Создал конфиг:
<?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.
...
В чём проблема? Куда копать?
ОТВЕТ: У 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.
Всем привет.
Хочу авторизовать пользователей 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)
<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>
Передо мной поставлена задача поставить 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
Есть стенд с 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
Подскажите, какой вариант подойдет?
Для ldapsearch есть возможность указать -ldif-wrap=no, как то же самое сделать в slapd.conf в настройках аудитлога?
вперед → |