скрипт для автоматизации luksHeaderBackup для нескольких разделов

Легко, если это учетная запись типа «администратор», то вы должны предполагать, что она может делать что угодно. (Пример приведен ниже)

(Также, если у пользователя есть доступ к меню загрузчика или интерфейсу конфигурации микропрограмм, также известному как экран настройки BIOS).

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

Без определенного программного обеспечения TPM (которое не реализовано в Ubuntu или аналогичном) они могли бы установить кейлоггер для захвата вашего пароля или отключения любых проверок аутентификации, которые вы внедряете.

Индивидуальное шифрование может предотвратить случайный доступ. Документация сообщества Ubuntu, последний раз обновлявшаяся два года назад, утверждает, что вы можете включить это: https://help.ubuntu.com/community/EncryptedHome

Пример доступа к файлу

По-видимому, некоторые пользователи думают, например, chmod 0700 защищает ваши каталоги. Это неверно. Вы можете придумать ситуации, в которых это сработает, но одного этого недостаточно. Пример работы на Fedora Workstation 24, ext4 filesysem:

$ mkdir secret    # directory with "secret" contents
$ chmod 0700 secret    # apply access control
$ ls -ld secret    # show access control
drwx------. 2 alan-sysop alan-sysop 4096 Nov 13 20:31 secret
$ sudo -u nobody ls -l secret    # other user ("nobody") is denied access
[sudo] password for alan-sysop: 
ls: cannot access 'test': Permission denied
$ sudo ls -l secret    # but root user bypasses access controls (CAP_DAC_OVERRIDE)
total 0

2
03.06.2019, 05:52
2 ответа
cd  /path/to/backup/
lsblk --fs --output FSTYPE,UUID | grep crypto_LUKS | tr -s ' ' | cut -d ' ' -f2 | \
while read uuid; do 
    mntpoint=$(lsblk /dev/disk/by-uuid/$uuid --output MOUNTPOINT | sed 1,1d | head -n 1)
    name="${mntpoint}_luksHeader_$uuid.img"
    if [[ ! -e "$name" ]]; then     
        cryptsetup luksHeaderBackup /dev/disk/by-uuid/$uuid --header-backup-file $name
    fi
done

Измените путь/к/резервной копии, и все будет готово. Просто знайте, что если точка монтирования для устройства изменится, оно создаст несколько резервных копий заголовков. В противном случае он будет игнорировать уже зарезервированные устройства.

2
27.01.2020, 22:08

вы можете зациклить вызов этого скрипта:

https://github.com/stanclai/luks_backup

и добавьте его в cron.

Некоторые заметки/идеи:

  1. Если ваш скрипт не автоматизирует ротацию, рассмотрите возможность добавления даты резервной копии к пути:/path/to/backup/$(date +%y%m%d)/$mountpoint_luksHeader_$devUUID.imgс предшествующимmkdir -p /path/to/backup/$(date +%y%m%d)
  2. /path/to/backup/должен находиться на другом томе, предпочтительно в сетевом расположении :вы не хотите, чтобы ваши резервные копии находились на том же диске/томе/сервере, для которого вы доступ.
  3. В обоих случаях рассмотрите органическую систему резервного копирования для резервного копирования сгенерированных файлов.

Удачи:)

0
27.01.2020, 22:08

Теги

Похожие вопросы