Можно ли имитировать падение корзины S3, когда она доступна для пользователя root?
Я пытаюсь протестировать новый код мониторинга сети для приложения, которое работает на устройстве Debian. В настоящее время мне поручено убедиться, что SNMP-ловушка генерируется, когда внешние сетевые ресурсы (такие как S3-контейнеры) монтируются с помощью FUSE и соединение разрывается.
Проблема в том, что для того, чтобы сделать общий ресурс недоступным, мне, видимо, пришлось бы сделать файлы недоступными для записи (или заблокировать все возможные IP-адреса, связанные с S3, с помощью iptables), и я не могу заблокировать доступ на запись, если корзина предназначена для чтения и записи с помощью пользователь root и отслеживается пользователем root.
Есть ли какой-нибудь способ заставить эту программу, работающую от имени root, думать, что корзина не работает?
PS Я не могу сделать эти сегменты, используя chattr, потому что, на самом деле, S3 не поддерживает концепцию таких атрибутов, как неизменяемость.
3 ответа
Есть так много способов симулировать что-то, что идет вниз. Вы уже сказали, что должны использовать правила блокировки iptables.
Другой действительно простой способ - отключите сетевой маршрутизатор, чтобы программное обеспечение для мониторинга все еще могло видеть хост, но хост не может общаться с S3 (или с чем-либо еще в этом отношении). Для меня это самое простое, но в некоторых случаях может быть неуместным.
Другой вариант - отредактировать файл hosts на сервере и добавить несколько фиктивных IP-адресов для имен хостов S3, чтобы они разрешались не в том месте. т. е. использовать IP, который ни к чему не привязан. Поэтому все запросы S3 от хоста будут пытаться пойти туда, но не смогут. Когда вы закончите, просто удалите IP-адреса из файла hosts, и все вернется к жизни без перезагрузки.
Я не могу заблокировать доступ на запись, если корзина предназначена для чтения и записи пользователем root и отслеживается пользователем root.
Эта история начинается и заканчивается тем, что к этому сегменту нужно обращаться через IAM. Ваша корневая учетная запись в AWS существует только для настройки ролей IAM. Получив эту настройку, вы можете изменить привилегии IAM для тестирования.
Почему бы просто не проверить наличие определенного файла в корзине S3. Если его там нет, выбросьте SNMP-ловушку.
Создание / удаление этого файла позволит очень просто убедиться, что ваш скрипт работает правильно.