Rabbitmq не разговаривает с Active Directory

У меня есть сервер rabbitmq, который мне нужно подключить к AD.

Конфигурация задается с помощью модуля puppet rabbitmq с некоторыми незначительными ручными изменениями (уровень журнала):

% This file managed by Puppet
% Template Path: rabbitmq/templates/rabbitmq.config
[
  {rabbit, [
    {auth_backends, [rabbit_auth_backend_internal, rabbit_auth_backend_ldap]},
    {tcp_listen_options,
         [binary,
         {packet,        raw},
         {reuseaddr,     true},
         {backlog,       128},
         {nodelay,       true},
         {exit_on_close, false}]
    },
    {default_user, <<"guest">>},
    {default_pass, <<"guest">>}
  ]},
  {kernel, [

  ]}
,
  {rabbitmq_management, [
    {listener, [
      {port, 15672}
    ]}
  ]}
,
% Configure the LDAP authentication plugin
  {rabbitmq_auth_backend_ldap, [
    {other_bind, anon},
    {servers, ["ldap"]},
    {user_dn_pattern, "CN=Rabbitmq LDAP User,OU=Service Accounts,DC=very,DC=chill,DC=domain"},
    {use_ssl, false},
    {port, 389},
    {log, network}
  ]}
].
% EOF

Журнал ошибок, когда я пытаюсь войти в веб-консоль плагина управления:

=INFO REPORT==== 18-Dec-2015::18:01:03 ===
LDAP CHECK: login for myuser

=INFO REPORT==== 18-Dec-2015::18:01:03 ===
        LDAP filling template "CN=Rabbitmq LDAP User,OU=Service Accounts,DC=very,DC=chill,DC=domain" with
            [{username,<<"myuser">>}]

=INFO REPORT==== 18-Dec-2015::18:01:03 ===
        LDAP template result: "CN=Rabbitmq LDAP User,OU=Service Accounts,DC=very,DC=chill,DC=domain"

=INFO REPORT==== 18-Dec-2015::18:01:03 ===
    LDAP connecting to servers: ["ldap.very.chill.domain"]

=INFO REPORT==== 18-Dec-2015::18:01:03 ===
    LDAP network traffic: Connect: "ldap.very.chill.domain" failed {error,
                                                                  eacces}

=INFO REPORT==== 18-Dec-2015::18:01:03 ===
    LDAP connect error: {error,"connect failed"}

=INFO REPORT==== 18-Dec-2015::18:01:03 ===
LDAP DECISION: login for myuser: {error,"connect failed"}

=ERROR REPORT==== 18-Dec-2015::18:01:03 ===
webmachine error: path="/api/whoami"
"Unauthorized"

Это не оставило журналов на серверная часть AD, поэтому я запустил tcpdump:

tcpdump -nnS -i ens160 | grep -vi arp | grep ldap.server.ip
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens160, link-type EN10MB (Ethernet), capture size 65535 bytes

, который показал, что на порт ldap: 389 не было ни одного пакета.

Итак, я сделал это на компьютере-сервере Rabbit, чтобы убедиться, что с сетью нет проблем:

ldapsearch -x -h 'ldap.very.chill.domain' -p 389 -w "VerySec*" -D "CN=Rabbitmq LDAP User,OU=Service Accounts,DC=very,DC=chill,DC=domain" -b "DC=very,dc=chill,dc=domain"

Дамп TCP во время этого запроса показал, что на 389 были отправлены пакеты и запрос был успешным.

Итак, я предполагаю, что в конфигурации rabbitmq есть что-то, что заставляет его даже не пытаться отправлять какие-либо пакеты в направлении сервера ldap.

Буду благодарен за любые подсказки.

4
задан 18 December 2015 в 20:16
1 ответ

SELinux по умолчанию блокирует большинство демонов от исходящих соединений. В RHEL 7 эти политики стали более конкретными (а в некоторых случаях и более ограничительными).

Сделайте установку , чтобы проверить 0, затем, если она работает, используйте sealert для анализа вашего /var/log/audit/audit.log файла, чтобы определить, какой курс действий нужно предпринять. Вики-страница CentOS на SELinux, вероятно, является единственным лучшим ресурсом SELinux в Интернете: https://wiki.centos.org/HowTos/SELinux

5
ответ дан 3 December 2019 в 03:16

Теги

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