Шифрование паролей

Центральный пульт поддерживает шифрование паролей и другой конфиденциальной информации, содержащейся в конфигурационных файлах и настройках проверок.

Формат зашифрованных параметров

Зашифрованные значения параметров указываются в следующем формате:

<tags[0]><prefix>:<salt>:<encrypted_value><tags[1]>

Например:

"value": "<<crypt:db7676ec4c7624788349b75e43a3b6a4:1a67b106fabeadf2ac8458395c5e644d>>"

Если значение поля окружено тегами, но у этого поля нет префикса, то сервер зашифрует это поле при перезапуске.

Если у значения поля есть и теги и префикс, то сервер будет работать с этим полем как с зашифрованым.

Если значение не имеет тегов и префикса, то Центральный Пульт предполагает, что для этого поля шифрование не используется.

Теги и префикс, окружающие зашифрованное поле, можно настроить в Конфигурации сервера.

Шифрование файлов конфигурации

Шифрование включается в конфигурации сервера с помощью параметра server_config:

"encrypt": {
  "server_config": true
}

Поля конфигурации, которые нужно зашифровать, помечаются тегами (по умолчанию – << и >>):

{
  "cache": {
    "password": "testPass1"
  },
  "fieldToEncrypt": "<<testPass2>>",
  "openTsdb": {
    "host": "localhost",
    "port": 4242
  }
}

После перезапуска сервера Центральный Пульт зашифрует все помеченные поля, а также все поля с именем pass и password:

{
  "cache": {
    "password": "<<crypt:bd5ea51c5ee453220a2616645672e96b:1a67b106fabeadf2ac8458395c5e644d>>"
  },
  "fieldToEncrypt": "<<crypt:db7676ec4c7624788349b75e43a3b6a4:5602ae7b1a4a8ae8ea6cca845f5d4c5f>>",
  "openTsdb": {
    "host": "localhost",
    "port": 4242
  }
}
Теги и префикс, окружающие зашифрованное поле, можно настроить в Конфигурации сервера.

Шифрование параметров проверок

Некоторые параметры проверок могут содержать конфиденциальную информацию (например, пароли). Центральный Пульт поддерживает шифрование таких параметров.

Для включения шифрования параметров необходимо включить параметр encrypt.db в Конфигурации сервера:

"encrypt": {
  "db": true
}

Шифрование параметров поддерживается в следующих проверках:

После установки этого свойства значения приведённых выше полей будут сохраняться в базе в зашифрованном виде.

При получении информации о проверке через REST запросы параметры JmxPassword и FtpPassword будут заменяться 4 звездочками (****). При получении параметра DatabaseServerUrl звездочками будет заменяться только пароль БД.

При возникновении ошибки при расшифровке или при отключении шифрования после зашифровки параметра сервер вернёт пустую строку вместо значения зашифрованных полей.