Всем привет!
Рекомендацию по использованию
readOnlyRootFileSystem: true можно встретить практически во всех рекомендациях и лучшим ИБ-практиках по защите контейнеров. Но достаточно ли ее для того, чтобы полностью избежать манипуляций с файловой системой контейнера?Размышления на эту тему можно найти в статье. Автор рассматривает 3 сценария:
🍭
Nginx и использование /dev/tcp
🍭 Alpine и использование возможностей «встроенного» busybox (wget)🍭
Alpine и использование dynamic linker/loader librariesВ каждом из сценариев Автору удалось добавить файлы в файловую систему и установить reverse shell. При этом контейнеры запускались с
readOnlyRootFileSystem: true и из-под непривилегированных пользователей.Примеры реализации (команды, код, детализация подходов), а также меры для идентификации подобных сценариев можно найти в самой статье.