Ошибка проверки сертификата с Bareos и TLS

У меня установлен Debian Bareos 17.2.4-9 на Debian Jessie. Он был построен из источника с использованием --with-openssl переключатель.

Он отлично работает без TLS, однако, когда я пытаюсь настроить его для использования TLS, я получаю...

# bconsole
Connecting to Director Server-Name:9101
Authorization problem with Director at "Server-Name:9101"
Most likely the passwords do not agree.
If you are using TLS, there may have been a certificate validation error during the TLS handshake.
Please see http://doc.bareos.org/master/html/bareos-manual-main-reference.html#AuthorizationErrors for help.

Я подозреваю, что это из-за проблемы проверки подлинности между сертификатом SELF-SIGNED и именем сервера. Доменное имя сервера НЕ установлено.

Я создал сертификат следующим образом...

# hostname
Server-Name
# domainname
(none)
# openssl req -new -x509 -nodes -out Server-Name.pem -keyout Server-Name.pem -days 3650
# chmod 600 Server-Name.pem
Generating a 2048 bit RSA private key
..+++
............................+++
writing new private key to 'Server-Name.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:NI
Locality Name (eg, city) []:Leer
Organization Name (eg, company) [Internet Widgits Pty Ltd]:GNM
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:Server-Name
Email Address []:First.Last@redacted.de

Конфигурационные файлы...

/etc/bareos/bareos-dir.d/director/bareos-dir.conf

Director {                            # define myself
  Name = bareos-dir
  QueryFile = "/usr/lib/bareos/scripts/query.sql"
  Maximum Concurrent Jobs = 10
  Password = "secret"         # Console password
  Messages = Daemon
  Auditing = yes
  DirAddress = Server-Name
  TLS Enable = yes
  TLS Require = yes
  TLS CA Certificate File = /etc/bareos/TLS/Bareos-Server-Name.pem
  TLS Certificate = /etc/bareos/TLS/Bareos-Server-Name.pem
  TLS Key = /etc/bareos/TLS/Bareos-Server-Name.pem
#  TLS Verify Peer = yes
  TLS Allowed CN = Server-Name
}

/etc/bareos/bconsole.conf

Director {
  Name = bareos-dir
#  address = localhost
  address = Server-Name
  Password = "secret"
  Description = "Bareos Console credentials for local Director"
}

2 ответа

Решение

NB. Начиная с версии 18.2 BareOS, TLS включен по умолчанию, но сервер обратно совместим со старыми клиентами.

Пожалуйста, попробуйте эти вещи:

  1. Изменить адрес клиента на сервере (в bareos-dir.d/client/*.conf) от имени к IP. Если это работает, то это означает, что поиск DNS не удался, и BareOS не может проверить, что он обращается к правильному компьютеру.

  2. Если у вас несколько интерфейсов, добавьте следующее в client/myself.conf (или там, где ваша клиентская конфигурация хранится в файловом демоне):

FD Address = IP-Address
FD Source Address = IP-Address

Это диктует использование исходящего интерфейса и уменьшает ошибки маршрутизации (полезно на облачных хостах). Смотрите здесь для получения дополнительной информации об этом.

  1. Если вы используете необычную или нестандартную ОС, вам, возможно, придется указать расположение сертификата TLS или каталога сертификатов TLS CA. TLS Verify Peer также поможет определить, не прошла ли проверка также.

Отладка - для проверки SSL-соединения

На каждом конце (от сервера резервного копирования до клиента и от клиента до сервера резервного копирования) попробуйте:

openssl s_client -connect [client-fqdn]:9102 -state -nbio

а также

openssl s_client -connect [client-ip]:9102 -state -nbio

Бонус Ответ

Каждое соединение теперь поддерживает TLS, поэтому сбой аутентификации TLS не обязательно между Director (сервером) и File Daemon (клиентом). Однако, любой сбой TLS (ошибочно) сообщается как таковой. Так что ошибка вроде:

Fatal error: Connect failure: ERR=error:140943FC:SSL routines:ssl3_read_bytes:sslv3 alert bad record mac
Error: TLS shutdown failure.: ERR=error:140E0197:SSL routines:SSL_shutdown:shutdown while in init
Fatal error: TLS negotiation failed

... может быть, например, ошибка аутентификации TLS между директором и Storage Daemon.

Проверьте каждую ссылку!

Попробуйте удалить кавычки из пароля в bareos-dir.conf и перезапустите.

Другие вопросы по тегам