Проблема:
Иногда вам нужно проверить содержимое USB-устройств от семьи или друзей, но вы не знаете, действительно ли это безопасное устройство, хотя оно, скорее всего, безопасно.
Вы хотите сделать это с минимальными усилиями, одновременно защищая себя от распространенных векторов атак.
Метод:
Более безопасный гостевой пользователь, домашний каталог которого возвращается в исходное состояние по запросу.
Выполнение:
Создайте нового пользователя через GUI.
Это стандартный (неадминистративный) пользователь.
Назовем этого пользователяguest
.По умолчанию отключите пользователя с помощью:
usermod --expiredate 1 guest
Скопируйте содержимое
~/guest
в каталог в постоянном хранилище.
Назовем этот каталог/path/to/perst/guesthome
.Очистить все содержимое каталога
~/guest
.Создайте файл скрипта
init_guest.sh
, который выполняет следующее:
Очистите все содержимое каталога
~/guest
.Монтирует файловую систему tmpfs в
~/guest
.Копирует (rsync, сохраняя разрешения) содержимое каталога:
/path/to/perst/guesthome
в каталог:
~/guest
Включить пользователя только на сегодня с помощью:
usermod --expiredate $( date "+%Y-%m-%d" )
Преимущества:
- Некоторая защита от популярных атак, таких как badUSB (симуляция клавиатуры) или рискованных исполняемых файлов. (Гостевая среда обновляется, поэтому нет постоянных изменений в файлах инициализации пользователя.) Поэтому это относительно безопаснее для проверки содержимого сторонних и ненадежных USB-устройств.
- Личные файлы пользователей защищены благодаря базовым разрешениям Linux.
- Минимальное воздействие на постоянное хранилище (снижение износа).
- Возможность легко изменить первоначальную среду для гостя.
Считается ли это относительно безопасным подходом или я упустил какую-то проблему?