Сариолла Ботс

Безопасность Bash-скриптов: аудит и защита в 2026

Сариолла Ботс База знаний

Ошибки в Bash-скриптах часто становятся точкой входа для злоумышленников. Инъекции в переменные или неправильные права доступа к файлам могут привести к полной компрометации сервера. В 2026 году стандарты написания безопасного кода стали строже.

Основные уязвимости в серверных скриптах

Неэкранированные переменные

Использование переменных без кавычек позволяет выполнять произвольный код при наличии пробелов в именах файлов.

Хранение паролей в открытом виде

Запись API-ключей и паролей прямо в теле скрипта делает их доступными для любого пользователя с правами чтения.

Опасный вызов eval

Использование команды eval с внешними данными открывает возможность для удаленного выполнения кода (RCE).

Для обеспечения максимальной защиты ваших автоматизаций примените следующие правила:

  • Всегда используйте set -euo pipefail в начале скрипта для мгновенной остановки при ошибках.
  • Используйте инструмент ShellCheck для статического анализа кода на наличие багов и уязвимостей.
  • Храните секреты в зашифрованных хранилищах или используйте системный keyring.
  • Ограничивайте права доступа к скрипту (chmod 700), чтобы только владелец мог его читать и запускать.

Важно: Никогда не передавайте пароли через аргументы командной строки (например, mysql -pPASSWORD), так как они видны в списке процессов через команду ps.

Сариолла Ботс