У меня есть небольшой скрипт bash, который загружает критический файл, открывает SFPT-соединение, помещает файл и закрывает соединение.

Как вы можете себе представить, мой скрипт содержит некоторую информацию об имени пользователя и пароле.

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

Тем не менее, мне интересно, если:

  • Подход переменных среды является лучшим решением
  • переменные будут постоянными и выживут после перезагрузки сервера, сбоев и т. д.
  • если мои переменные среды будут видны другим пользователям терминала, не являющимся root

Спасибо за ваш вклад заранее ... с новым годом.

2 ответа2

1
  • нет переменных env: ps может показать вам их значения

  • используйте пару секретный / открытый ключ (без ключевой фразы), убедитесь, что закрытый ключ доступен только для чтения соответствующим лицам (т. е. тот, кто запускает сценарий, который копирует значения на другую машину), и поместите открытый ключ в место назначения файл authorised_keys машины (для соответствующей учетной записи пользователя, в которую копируются одни файлы). этот локальный пользователь затем использует свой локальный закрытый ключ «только он может читать», чтобы иметь возможность

    scp sensitivefile  destinationuser@destinationhost:/destination/path/
    

К тому же:

  • сделайте пользователей localuser и destinationuser 2 очень ограниченными: они могут получить доступ к этой области только локально, этой области удаленно и т. д. Таким образом, если они скомпрометированы, они не смогут предоставить root-доступ удаленно или тому подобное. И иметь сценарий локально и удаленно, который копирует файлы в конечный пункт назначения (локальная область, доступная для чтения локальному пользователю, и удаленный конечный пункт назначения). Эти сценарии, разумеется, если это возможно, также не могут быть суперпользователями ... (представьте, что вы взломаны: файл копирует сценарий в какое-то место, поэтому он заканчивается как /local /area /somefile ... но кто-то злонамеренно поместите туда ссылку с тем же локальным именем файла, которая указывает на какой-нибудь секретный файл: /local /area /somefile -> /etc / SensableFile) чтобы этот конфиденциальный файл мог быть перезаписан! И в некоторых условиях, которые могут открыть дыры в безопасности или отказ в обслуживании. И остерегайтесь также удаленно, так как после взлома ключ localuser может быть использован для ssh / scp для destinationuser @ destinationhost.

а вот еще много проверок, чтобы убедиться, что будет трудно (и не невозможно ...) использовать его для атаки на локальный или целевой хост! Поделитесь своим окончательным решением с нами.

-1

Переменные среды не являются постоянными. Они частные, хотя. Чтобы сделать их постоянными, нужно записать их в сценарии.

Лучшим решением было бы использовать механизм ssh authorized_keys; ключи по-прежнему будут украдены, если машина, с которой происходит передача, будет скомпрометирована, но на другом конце их будет проще отменить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .