Шифрование паролей
SmartDCIM поддерживает шифрование паролей и другой конфиденциальной информации, содержащейся в конфигурационных файлах и настройках проверок.
Формат зашифрованных параметров
Зашифрованные значения параметров указываются в следующем формате:
json
<tags[0]><prefix>:<salt>:<encrypted_value><tags[1]>Например:
json
"value": "<<crypt:db7676ec4c7624788349b75e43a3b6a4:1a67b106fabeadf2ac8458395c5e644d>>"Если значение поля окружено тегами, но у этого поля нет префикса, то сервер зашифрует это поле при перезапуске.
Если у значения поля есть и теги и префикс, то сервер будет работать с этим полем как с зашифрованым.
Если значение не имеет тегов и префикса, то SmartDCIM предполагает, что для этого поля шифрование не используется.
Теги и префикс, окружающие зашифрованное поле, можно настроить в Конфигурации сервера.
Шифрование файлов конфигурации
Шифрование включается в конфигурации сервера с помощью параметра server_config:
json
"encrypt": {
"server_config": true
}Поля конфигурации, которые нужно зашифровать, помечаются тегами (по умолчанию – << и >>):
json
{
"cache": {
"password": "testPass1"
},
"fieldToEncrypt": "<<testPass2>>",
"openTsdb": {
"host": "localhost",
"port": 4242
}
}После перезапуска сервера, SmartDCIM зашифрует все помеченные поля, а также все поля с именем pass и password:
json
{
"cache": {
"password": "<<crypt:bd5ea51c5ee453220a2616645672e96b:1a67b106fabeadf2ac8458395c5e644d>>"
},
"fieldToEncrypt": "<<crypt:db7676ec4c7624788349b75e43a3b6a4:5602ae7b1a4a8ae8ea6cca845f5d4c5f>>",
"openTsdb": {
"host": "localhost",
"port": 4242
}
}NOTE
Теги и префикс, окружающие зашифрованное поле, можно настроить в Конфигурации сервера .
Шифрование параметров проверок
Некоторые параметры проверок могут содержать конфиденциальную информацию (например, пароли). SmartDCIM поддерживает шифрование таких параметров.
Для включения шифрования параметров необходимо включить параметр encrypt.db в Конфигурации сервера:
json
"encrypt": {
"db": true
}Шифрование параметров поддерживается в следующих проверках:
- Запрос в базу данных (параметр JdbcPassword)
- JMX-сенсор (параметр JmxPassword)
- FTP-сенсор (параметр FtpPassword)
- Выполнение SSH скрипта (шифрование закрытого ключа)
После установки этого свойства значения приведённых выше полей будут сохраняться в базе в зашифрованном виде.
При получении информации о проверке через REST запросы зашифрованные параметры будут заменяться 4 звездочками (****).
NOTE
При возникновении ошибки при расшифровке или при отключении шифрования после зашифровки параметра сервер вернёт пустую строку вместо значения зашифрованных полей.