Якщо ваш скрипт може підключитися до будь-якого з цих серверів, будь-хто, хто має доступ до сценарію (або привілейований доступ до машини, на якій працює сценарій), може підключитися до будь-якого з цих серверів.
Якщо сценарій потрібно запускати автономно, всі ставки виключаються. Відповідь тут - ні, немає абсолютно безпечного способу зберігання паролів у такому середовищі . Не існує абсолютно безпечного і практичного способу зробити що-небудь.
Замість того, щоб намагатися уникати неминучого, слід зосередитися на обороні глибоко .
По-перше, звичайно, ви повинні захистити паролі належним чином . Зазвичай це означає зберігати їх у файлі, окремо від сценарію, та налаштовувати обмежувальні права доступу до файлової системи . Це майже все, що ви можете зробити на цьому фронті, з точки зору безпеки.
Інші заходи, безумовно, можуть додати неясність процесу. Шифрування паролів змусить зловмисника шукати ключ розшифровки. Використання сховища, захищеного операційною системою, як правило, захищає від доступу інших користувачів до вашого ключа (тому воно не надає переваги перед дозволами файлової системи, крім складних для атаки та використання). Ці заходи затягнуть атаку, але, звичайно, не завадять їй проти визначеного нападника.
Тепер давайте на хвилину розглянемо паролі як загальнодоступні . Що ви можете зробити, щоб зменшити шкоду?
Старе і перевірене рішення - обмежити те, що ці повноваження можуть зробити. У системі UNIX хороший спосіб зробити це - встановити окремого користувача для вашого сценарію та обмежити можливості цього користувача , як на серверах, що доступу, так і на серверах, що отримують доступ. Ви можете обмежити можливості користувача на рівні SSH , на рівні оболонки або, можливо, за допомогою механізму обов'язкового контролю доступу, наприклад, SELinux .
Можливо, ви також хочете розглянути можливість переміщення логіки сценарію на сервери . Таким чином, ви отримуєте менший інтерфейс, який простіше контролювати, а особливо ...
Монітор . Завжди контролюйте доступ до серверів. Переважно аутентифікацію журналу та команди, виконані для журналу додавання лише . Не забудьте відстежувати зміни файлів сценарію, використовуючи auditd
, наприклад,.
Звичайно, багато з цих механізмів не є корисними, якщо у вас немає контролю над серверами, як видно з вашого питання. Якщо це так, я б радив вам зв’язатися з людьми, які адмініструють сервери, та повідомте їх про ваш сценарій та можливі помилки безпеки.