Как я прохожу проверку подлинности с LDAP через командную строку?

Сказав у меня нет опыта в использовании Ультрасовременной безопасности, мне нравится совместно использовать следующий обзор:

ModSecurity является механизмом брандмауэра веб-приложения (WAF) с открытым исходным кодом для Apache, который разрабатывается SpiderLabs Trustwave. Это имеет устойчивый основанный на событии язык программирования, который обеспечивает защиту от диапазона нападений на веб-приложения и позволяет, чтобы Трафик HTTP контролировал, регистрируясь и анализ в режиме реального времени. С более чем 10 000 развертывания во всем мире, ModSecurity является наиболее широко развернутой существующей WAF.

Это работает встроенный в веб-сервер, действуя как мощный зонтик – защита приложений от нападений. ModSecurity поддерживает оба ответвления веб-сервера Apache.

Фильтры модуля, и дополнительно отклоняют, входящие запросы на основе многих различных критериев как переменные CGI, HTTP-заголовки, переменные среды и даже отдельные параметры сценария. mod_security может также создать контрольный журнал, храня полные детали запроса в отдельном файле, включая полезные нагрузки POST (контрольная функция может быть включена или выключена на основе на каталог или на сервер).

Преимущество

Преимуществом mod_security является “безопасность”.

  1. Никакая конфигурация сетевой стороны
  2. Легкое управление.
  3. Свободный как в пиве
  4. Обнаружение проникновения HTTP и предотвращение

Недостатки

  1. Необходимо стать специалистом по безопасности
  2. Необходимо стать экспертом по протоколу.
  3. Конфигурация должна быть реализована вручную.
  4. Снижение производительности

35
задан 11 June 2013 в 11:15
4 ответа

You may wish to turn off SASL and use simple authentication with the "-x" option. For example, a search to find a particular user

ldapsearch -x -D "uid=search-user,ou=People,dc=example,dc=com" \
           -W -H ldap://ldap.example.com -b "ou=People,dc=example,dc=com" \
           -s sub 'uid=test-user'

Will find "test-user" by

  • -D - Use bind user "search-user"
  • -W - Prompt for password
  • -H - URL of LDAP server. Non-SSL in this case; use "ldaps://" for SSL
  • -b - The search base
  • -s - Search scope - i.e. base for base of tree, one for on level down and sub for recursively searching down the tree (can take a while)
  • Finally the search filter as a non-option argument. In this case we will search for the uid of "test-user"
60
ответ дан 28 November 2019 в 19:51

Кажется, я спрашиваю тот же вопрос по адресу: https://stackoverflow.com/questions/27571558/how-was-authentication-built-on-ldap

См. http://thecarlhall.wordpress.com/2011/ 01/04 / ldap-authentication-authorization-analysis-and-digested / :

  • Получить соединение с сервером LDAP.
  • Установить как пользователь приложения.
  • Искать DN (отличительное имя ) пользователя, который будет аутентифицирован.
  • Привязать как пользователь, который будет аутентифицироваться, используя DN из шага 3.

Это можно резюмировать как (эксперимент в командной строке):

$ ldapsearch -x -h ldap.company.com -s sub -b 'dc=europe,dc=com' "uid=XYZ"
....
dn: uid=XYZ,dc=sales,dc=europe,dc=com
...
$ ldapsearch -W -h ldap.company.com -D 'uid=XYZ,dc=sales,dc=europe,dc=com' \
    -s sub -b 'dc=europe,dc=com' "uid=XYZ"
6
ответ дан 28 November 2019 в 19:51

Обратите внимание: если вы не знаете свой полный DN привязки, вы также можете просто использовать свое обычное имя пользователя или адрес электронной почты с -U

ldapsearch -v -h contoso.com -U turiya.gouw@contoso.com -w 'MY_PASSWORD' -b 'DC=contoso,DC=com' '(objectClass=computer)'
1
ответ дан 28 November 2019 в 19:51

Мы используем FreeIPA / IDM , и мне удалось выполнить аутентификацию против этого, используя следующее:

$ ldapsearch -h idm-01a.somednsdom.com \
    -D 'uid=<my username>,cn=users,cn=accounts,dc=somedcdom,dc=com' \
    -o ldif-wrap=no \
    -b 'cn=accounts,dc=somedcdom,dc=com' \
    -W uid=<my username>
Explanation
  • Это вернет все подробности вокруг uid = <мое имя пользователя>
  • uid = <мое имя пользователя> - это фильтр (фильтр поиска LDAP, соответствующий RFC 4515)
  • uid = <мое имя пользователя> - это запрос / фильтр для выполнения
  • o ldif-wrap = no отключает упаковку результатов
  • -W заставляет ldapsearch запрашивать пароль для выделенной привязки имя uid = <мое имя пользователя>, cn = users, cn = accounts, dc = somedcdom, dc = com
  • При запросе пароля для этого пользователя запрос будет выглядеть следующим образом:

     Введите пароль LDAP  :
     
Ссылки

Для справки из справочной страницы ldapsearch и справки по интерфейсу командной строки:

   -D binddn
          Use the Distinguished Name binddn to bind to the LDAP directory.  
          For SASL binds, the server is expected to ignore this value.

   -b searchbase
          Use searchbase as the starting point for the search instead of the 
          default.

   -W     Prompt for simple authentication.  This is used instead of specifying 
          the password on the command line.

  -o <opt>[=<optparam] general options
             nettimeout=<timeout> (in seconds, or "none" or "max")
             ldif-wrap=<width> (in columns, or "no" for no wrapping)

Полный пример

$ ldapsearch -h idm-01a.somednsdom.com \
    -D 'uid=joeuser,cn=users,cn=accounts,dc=somedcdom,dc=com' \
    -o ldif-wrap=no \
    -b 'cn=accounts,dc=somedcdom,dc=com' \
    -W uid=joeuser

# extended LDIF
#
# LDAPv3
# base <cn=accounts,dc=somedcdom,dc=com> with scope subtree
# filter: uid=joeuser
# requesting: ALL
#

# joeuser, users, accounts, somedcdom.com
dn: uid=joeuser,cn=users,cn=accounts,dc=somedcdom,dc=com
memberOf: cn=ipausers,cn=groups,cn=accounts,dc=somedcdom,dc=com
memberOf: cn=sysadmin,cn=groups,cn=accounts,dc=somedcdom,dc=com
memberOf: ipaUniqueID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXX,cn=sudorules,cn=sudo,dc=somedcdom,dc=com
memberOf: cn=eng-systems,cn=groups,cn=accounts,dc=somedcdom,dc=com
memberOf: ipaUniqueID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXX,cn=hbac,dc=somedcdom,dc=com
memberOf: cn=admins,cn=groups,cn=accounts,dc=somedcdom,dc=com
memberOf: ipaUniqueID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXX,cn=sudorules,cn=sudo,dc=somedcdom,dc=com
memberOf: cn=User Administrator,cn=roles,cn=accounts,dc=somedcdom,dc=com
memberOf: cn=User Administrators,cn=privileges,cn=pbac,dc=somedcdom,dc=com
memberOf: cn=System: Add User to default group,cn=permissions,cn=pbac,dc=somedcdom,dc=com
...
...
krbLoginFailedCount: 0
krbLastFailedAuth: 20190320223946Z
loginShell: /bin/bash
krbExtraData:: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
krbPasswordExpiration: 20190829144625Z
krbLastPwdChange: 20190302144625Z
krbLastAdminUnlock: 20190111080021Z
ipaSshPubKey: ssh-rsa A....XXXXXXXXXXXX...jelByox0PM5Q== joeuser@somednsdom.com
mepManagedEntry: cn=joeuser,cn=groups,cn=accounts,dc=somedcdom,dc=com
displayName: Joe User
uid: joeuser
krbCanonicalName: joeuser@SOMEDCDOM.COM
objectClass: top
objectClass: person
objectClass: organizationalperson
objectClass: inetorgperson
objectClass: inetuser
objectClass: posixaccount
objectClass: krbprincipalaux
objectClass: krbticketpolicyaux
objectClass: ipaobject
objectClass: ipasshuser
objectClass: ipaSshGroupOfPubKeys
objectClass: mepOriginEntry
initials: JU
gecos: Joe User
sn: Mingolelli
homeDirectory: /home/joeuser
mail: joeuser@somednsdom.com
krbPrincipalName: joeuser@SOMEDCDOM.COM
givenName: Joe
cn: Joe User
ipaUniqueID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
uidNumber: 900000000
gidNumber: 900000000
krbPwdPolicyReference: cn=admins,cn=SOMEDCDOM.COM,cn=kerberos,dc=somedcdom,dc=com

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1
0
ответ дан 28 November 2019 в 19:51

Теги

Похожие вопросы