Рекомендуемо иметь файл конфигурации с верительными грамотами, чтобы присоединяться в DB?

В Node по отношению к себе обычно имеют данные о конфигурации в файле так называемый config.js типа:

module.exports = {
  host: 'hostname',
  user: 'god',
  pass: 'secret',
  port: 8888
}

Однако, меня волнует безопасность этой такой чувствительной информации.

Я знаю, что альтернатива в это:

module.exports = {
    host: process.env.HOST || 'hostname',
    user: process.env.USER || 'god',
    pass: process.env.PASS || 'secret',
    port: process.env.PORT || 8888
    }

Все же, есть информация там в случае, если не определятся переменные окружения, из-за того, что так называет их.

Другая более безопасная альтернатива существует? или наиболее еще: Существует возможность того, чтобы хакер согласился на файл config.js?

Опытные: Какие альтернативы они используют, чтобы определять эти переменные конфигурации?

4
задан 11.01.2017, 18:15
0 ответов

Ничто не запрещает тебе размещать файл конфигурации вне DocumentRoot, и, кроме того, шифровать это используя сами функции Nodejs.

Это точно то же самое, что и ты сделал бы с любым другим языком (PHP, Java, C#...).

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

И, в зависимости от уровня paranoya, который ты хочешь, ты используешь любую из многообразных техник безопасности для критических данных, которые существуют: поддерживать данные расшифрованными в memória минимальное возможное время, несколько слоев криптографии (каждая с algorritmo / отличным ключом), использовать внешние услуги хранения ключей... в конце концов, данные о конфигурации - только это, данные, и ты можешь относиться к ним, как он тебе нравился.

0
ответ дан 03.12.2019, 17:45
  • 1
    Спасибо @Trauma из-за твоего ценного ответа. Привет –  12.01.2017, 00:03

Я не использую node, но что-то, что мы делаем, состоит в том, что файлы конфигурации - вне document root для того, чтобы они не были доступными из-за Веба. Например, если document root эта в/web/docs/miweb, мы это помещаем в / Веб/. Идея состоит в том, чтобы они не находились вместе с файлами, которые доступные по каждому миру.

2
ответ дан 03.12.2019, 17:45

Теги

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