Как пользователь может смонтировать зашифрованный файловый контейнер в VeraCrypt?

У меня есть несколько внешних носителей с зашифрованными файловыми контейнерами VeraCrypt, и я хотел бы, чтобы пользователи монтировали и использовали их, не предоставляя пользователям привилегии root.

Однако на данный момент VeraCrypt всегда запрашивает пароль пользователя / администратора, очевидно, выполняет операцию монтирования:

Как может пользователь, которого нет в файле sudoers, смонтировать файл.hc?

4 ответа

Решение

Я это сделал. Решение адаптировано здесь: https://wiki.archlinux.org/index.php/TrueCrypt и из моего другого вопроса, касающегося конфигурации современных sudoers: добавление локального содержимого в /etc/sudoers.d/ вместо прямой модификации файла sodoers через визудо

  1. Создайте новую группу под названием скажем veracryptusers и дать ему необходимые разрешения для использования VeraCrypt без пароля root. Любой пользователь, принадлежащий к этой группе, сможет использовать VeraCrypt.

Примечание: это значительно увеличивает поверхность атаки для повышения прав пользователей, поэтому обязательно добавьте в эту группу только доверенных пользователей.

# groupadd veracryptusers
  1. Теперь давайте дадим этой группе права sudo, ограниченные VeraCrypt:
$ sudo visudo -f /etc/sudoers.d/veracrypt
  Файл GNU nano 2.5.3: /etc/sudoers.d/veracrypt.tmp                      

# Пользователи в группе veracryptusers могут запускать veracrypt от имени пользователя root.
%veracryptusers ALL=(root) NOPASSWD:/usr/bin/veracrypt

Также, пожалуйста, убедитесь, что veracrypt а также /usr/bin имеют соответствующие разрешения и не доступны для записи ни группам, ни другим:

$ ls -al / usr / bin / vera *
-rwx r- xr -x 1 корневой корень 6341016 paź 17 2016 / usr / bin / veracrypt
$ ls -ald / usr / bin
drwx r- xr -x 2 root root 69632 lip 25 10:09 / usr / bin

В противном случае злоумышленник может заменить исполняемый файл и получить полный root-права по своему желанию.

Теперь перезагрузитесь (или перезапустите), чтобы переоценка членства в группах и вуаля - вы можете подключать и отключать ваши любимые тома.

Кто сейчас такой гуру?

Предупреждение: используйте решение @Pawel Debski, только если согласны со следующим:

  • Любой пользователь или хакер, получивший доступ к учетной записи пользователя в группеveracryptusers, может запускать любые команды от имени пользователя root, загрузив подготовленный файл-контейнер, содержащий вредоносный код, работающий от имени пользователя root.

Поэтому, используя это решение, вы можете использовать специальный профиль пользователя для veracrypt. В результате, содо проще в использовании.

Шаги для проверки проблемы безопасности:

  1. Создать файл контейнера (ext2-4)
  2. Скопируйте или создайте двоичный файл (например, whoami)
  3. Изменить бинарного владельца на root
  4. Добавить setuid в бинарный файл
  5. Вызов двоичного файла с учетной записью без полномочий root

Двоичный файл будет работать с правами root.

Подсказка: я добавил это решение, так как предупреждение у Павла Дебски незаметно. Риск намного больше, чем выгода, если система подключена к Интернету.

Вы можете разрешить другим пользователям запускать sudo для доступа только к определенным программам. Например, я разрешаю пользователям www-data запускать / sbin / ipset, чтобы запретить пользователям, которые пытаются взломать мой веб-сервер. Я признаю, что это был Raspberry Pi, работающий с модифицированной версией Debian.

Я создал файл в папке /etc/sudoers.d. Содержимое файла было

www-data ALL=(ALL) NOPASSWD: /sbin/ipset

Что насчет этого? Я ошибаюсь или прав или что?

Просто создайте пользователя для veracrypt и добавьте его в /etc/sudoers.d

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