Является ли поле conn в журнале OpenLDAP уникальным?

Я хочу выяснить, сколько попыток аутентификации было неудачным или успешным, обработав файл журнала OpenLDAP (2.4.42).

Ниже приведен образец моего журнала OpenLDAP.

slapd[5516]: conn=2803 op=3 SRCH base="ou=groups,dc=myOrg,dc=com" scope=2 deref=0 filter="(&(objectClass=posixGroup)(cn=*)
slapd[5516]: conn=2803 op=3 SRCH attr=objectClass cn userPassword gidNumber memberuid modifyTimestamp modifyTimestamp
slapd[5516]: <= bdb_inequality_candidates: (modifyTimestamp) not indexed
slapd[5516]: conn=2803 op=3 SEARCH RESULT tag=101 err=0 nentries=0 text=
slapd[5516]: conn=2803 op=4 SRCH base="dc=myOrg,dc=com" scope=2 deref=0 filter="(&(objectClass=ipService)(cn=*)(ipServicePort=*)(ipServiceProtocol=*))"
slapd[5516]: conn=2803 op=4 SRCH attr=objectClass cn ipServicePort ipServiceProtocol modifyTimestamp
slapd[5516]: conn=2803 op=4 SEARCH RESULT tag=101 err=0 nentries=0 text=
slapd[5516]: conn=2797 fd=37 closed (connection lost)
slapd[5516]: conn=2795 op=23 UNBIND
slapd[5516]: conn=2795 fd=36 closed
slapd[5516]: conn=2804 fd=36 ACCEPT from IP=10.1.1.205:49974 (IP=0.0.0.0:636)
slapd[5516]: conn=2804 fd=36 TLS established tls_ssf=128 ssf=128
slapd[5516]: conn=2804 op=0 BIND dn="" method=128
slapd[5516]: conn=2804 op=0 RESULT tag=97 err=0 text=
slapd[5516]: conn=2804 op=1 SRCH base="ou=people,dc=myOrg,dc=com" scope=2 deref=3 filter="(&(objectClass=*)(uid=xyzUser))"
slapd[5516]: conn=2804 op=1 SRCH attr=uid
slapd[5516]: conn=2804 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
slapd[5516]: conn=2804 op=2 BIND dn="uid=xyzUser,ou=people,dc=myOrg,dc=com" method=128
slapd[5516]: conn=2804 op=2 BIND dn="uid=xyzUser,ou=people,dc=myOrg,dc=com" mech=SIMPLE ssf=0
slapd[5516]: conn=2804 op=2 RESULT tag=97 err=0 text=
slapd[5516]: conn=2804 op=3 BIND anonymous mech=implicit ssf=0
slapd[5516]: conn=2804 op=3 BIND dn="" method=128
slapd[5516]: conn=2804 op=3 RESULT tag=97 err=0 text=
slapd[5516]: conn=2804 op=4 SRCH base="ou=people,dc=myOrg,dc=com" scope=2 deref=3 filter="(&(&(&(&(objectClass=myOrgEmployee)(status=TRUE))(webmailAllowed=TRUE))(passwordExpired=FALSE))(uid=xyzUser))"
slapd[5516]: conn=2804 op=4 SRCH attr=uid
slapd[5516]: <= bdb_equality_candidates: (passwordExpired) not indexed
slapd[5516]: conn=2804 op=4 SEARCH RESULT tag=101 err=0 nentries=1 text=

Я хочу знать это значение Атрибут conn в журнале всегда будет уникальным или нет? Поскольку мой алгоритм похож на

  1. Поиск ключевого слова РЕЗУЛЬТАТ ПОИСКА
  2. Получить значение атрибута conn и op
  3. Найти для SRCH base такое же значение of conn и op
0
задан 9 November 2016 в 09:03
1 ответ

Обычно во время аутентификации используется запрос BIND.

В противном случае ваша система аутентификации использует другого пользователя (возможно, диспетчер каталогов?) Или анонимные запросы для сопоставления имени пользователя и пароля с сервером каталогов .

Действительно, вы действительно аутентифицируетесь с помощью BIND:

Соединение / LDAPS установка:

slapd[5516]: conn=2804 fd=36 ACCEPT from IP=10.1.1.205:49974 (IP=0.0.0.0:636)
slapd[5516]: conn=2804 fd=36 TLS established tls_ssf=128 ssf=128

Привязка с использованием предоставленных учетных данных:

slapd[5516]: conn=2804 op=2 BIND dn="uid=xyzUser,ou=people,dc=myOrg,dc=com" method=128
slapd[5516]: conn=2804 op=2 BIND dn="uid=xyzUser,ou=people,dc=myOrg,dc=com" mech=SIMPLE ssf=0

Результат успешен (err = 0):

slapd[5516]: conn=2804 op=2 RESULT tag=97 err=0 text=

Итак, как Я бы реализовал поиск:

  • Получите список принятых соединений, включая IP-адрес клиента: PORT:
  • Сопоставьте строки с тем же номером подключения и запросом BIND, оттуда получите номер операции
  • Сопоставьте результат в строке предыдущего запроса на привязку, используя как номер соединения, так и операцию muber, и проверьте результат, используя возвращенный код ошибки.

Но, скорее всего, у вас будут более простые способы ведения журналов openldap для того, что вам нужно, если вы используете предварительно созданный IAM, такой как Siteminder / Oracle (ex SUN) Identity Managemen t вы обнаружите, что оттуда проще получить данные для входа. Если нет, вы можете проверить журналы приложений.

Надеюсь, это поможет.

0
ответ дан 5 December 2019 в 09:15

Теги

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