Я думал о том, что является наиболее безопасным местом для хранения личных данных (например, учетные данные для БД).
Я вижу 2 варианта:
- в переменных среды
- в файле
Второй вариант кажется более безопасным, особенно если вы установили chmod a-rwx
для файла, и только пользователи sudo могут его прочитать.
Когда мы запускаем Docker-контейнер, код внутри по умолчанию имеет root-доступ.
Так что вы думаете об этой идее:
- создайте файл с пустым доступом (
chmod a-rwx private.txt
) - запустите докер и предоставьте ему файл:
docker run -v=$(pwd):/app php:7.3-alpine3.9 cat /app/private.txt
- docker должен находиться в группе sudo
Теперь, когда хакер взломает сервер, он не сможет прочитать учетные данные, хранящиеся в файле private.txt
. Наша программа в Docker-контейнере может прочитать файл. Хакеру нужен root-доступ, но с root-доступом он может делать все, что ему захочется.
Что вы думаете об этой идее? Это безопасно?