AWS SSM удаляет свои собственные файлы как часть своего выполнения. Есть ли способ безопасно сделать это?

Существует ли безопасный способ удаления всего каталога runSemoteScript AWS SSM в процессе выполнения? Подробности ниже.

У нас есть очень надежная настройка AWS SSM, включающая приложение python, которое опрашивает AWS, захватывает нужные вам экземпляры на основе тегов, а затем выдает ему удаленные команды через SSM. Если вы даете ему команду, он использует runShellScript просто выполнить то, что вы хотите. Если вы указываете файл, он загружает один сценарий оболочки (требует bash), устанавливает его атрибуты для public, а затем на удаленной стороне выполняет curl https://domain/file.sh | /bin/bash используя AWS' runShellScript,

Однако, если вы укажете каталог в командной строке, он загрузит весь каталог на S3 и затем выдаст runRemoteScript команда и автоматически выполняет autorun.sh на удаленной стороне. Конечно, autorun.sh может содержать все, что мы хотим. Я обычно использую это для python3 uploaded_script.py и назовите это хорошо.

Одной из текущих задач является настройка tripwire (с открытым исходным кодом, поэтому все локально на отдельных машинах). Для тех, кто не знает, он шифрует свою базу данных и файлы конфигурации, используя парольные фразы. У меня есть 32-байтовые случайные парольные фразы, и я могу их выдать, но для этого (я думаю) я должен отправить их при загрузке, чтобы сценарии знали, какие парольные фразы следует использовать в командной строке для генерации отчетов. Мы не хотим оставлять парольные фразы валяться, поэтому мой вопрос.

Есть ли безопасный способ просто удалить все файлы, о которых идет речь, гарантируя, что я не собираюсь каким-либо образом удалять другую, потенциально случайную папку?

Моя идея в autorun.sh скрипт поставить в самом низу: rm -f *.ini

Но, будучи параноиком, я хочу как-то гарантировать, что удаляю ТОЛЬКО то, что хочу удалить.

Я хотел бы вручную указать каталог загружаемого содержимого, но путь содержит InstanceId, которого нет в сценарии.

Мысли о том, как поддерживать безопасность при автоматизации этой задачи?

Если бы я мог просто (и безопасно!) Стереть ВСЕ содержимое /var/lib/amazon/ssm/<InstanceId>/document/orchestration/<CommandID>Я бы с удовольствием, но тогда я должен был бы знать, как получить InstanceId во время выполнения скрипта.

0 ответов

Другие вопросы по тегам