Автономный / безголовый Ubuntu сервис r с шифрованием диска - как его настроить? - proUbuntu
1 голос
/ 25 августа

Я давно Linux использую r, но я плохо разбираюсь в новых r разработках, особенно. wrt Ubuntu и системное (d) администрирование.

У меня очень старый P C, который я хочу использовать для r файлового сервера r, Mercurial repo, FTP и WWW server и несколько других r внутренних веб-приложений небольших компаний, которые я создал с помощью Django. Раньше все это работало на старой Fedora, на незашифрованном диске, и все запускалось с /etc/rc.local.

Я установил новый жесткий диск и получил Ubuntu 18.04 LTS. Сейчас я занимаюсь восстановлением служб, но я также хочу улучшить их.

Во-первых, я хочу, чтобы ценные данные (Django база данных, файлы в файле служили r, ...) были находиться на зашифрованном разделе. Однако r мой опыт с шифрованием диска показывает, что что-то запрашивает r кодовую фразу во время загрузки. Я хочу избежать этого, поскольку к серверу r не будет подключена клавиатура r o r. Во-вторых, я хочу администрировать r службы более официальным («убунтовским») способом.

Текущая идея

  • иметь данные служб на зашифрованном разделе, который не указан в /etc/fstab.
  • , после перезапуска служба r будет иметь только sshd, но службы не будут запущены и раздел не будет смонтирован.
  • Я бы s sh на машину и запустите скрипт, который монтирует раздел (запрашивает у меня r кодовую фразу) и запускает службы.

Машина подключена к ИБП, я ожидайте, что вы будете выполнять описанную выше процедуру редко (несколько раз в год r).

Вопрос

Хороша ли текущая идея? Бетт r способы сделать?

Если хорошо, то как реализовать? Я, конечно, могу go "сделать все своими руками" и написать огромный скрипт с командами luks, командами iptables для открытия портов и прямого вызова демонов служб, но я хочу узнать здесь что-то новое и сделать это как следует r Ubuntu way ™:)

Любые указатели на r примеры кода / скрипта приветствуются!

1 Ответ

0 голосов
/ 25 августа

Удаленная разблокировка зашифрованного раздела

Существует простой и более r менее стандартный способ разблокировки зашифрованных разделов при запуске, без изменения root -раздела. Для этого требуются dropbear и busybox.

$ sudo apt install dropbear busybox

Добавить busybox в initramfs

Чтобы включить busybox на начальном RAM-диске, установите BUSYBOX=y в /etc/initramfs-tools/initramfs.conf. Ключи хоста dropbea r S SH хранятся в папке /etc/dropbear-initramfs Folde r.

Добавьте ключи publi c в authorized_keys dropbea r

Есть не использовать управление r на начальном RAM-диске, поэтому только root -use r с ключом publi c в /etc/dropbear-initramfs/authorized_keys может войти через ssh. Вы можете добавить любой publi c o r, просто скопируйте тот, который вы используете r:

$ sudo cp ~/.ssh/authorized_keys /etc/dropbear-initramfs/authorized_keys

dropbear в настоящее время не поддерживает ключи ed25519, поэтому добавьте их в dropbear не будет работать.

Обновите initramfs с помощью dropbea r ключей

После r этого, необходимо обновить начальный RAM-диск:

$ sudo update-initramfs -u

Это Теперь перезагрузите систему и с помощью fo r появится диалоговое окно cryptsetup.

Удаленная разблокировка системы

После r перезагрузки система будет ждать r разблокировка зашифрованного устройства. Войдите через ssh с root, используйте r и соответствующий закрытый ключ.

# From a remote system
$ ssh -i ~/.ssh/my_private.id_rsa root@my.system.waiting.for.a.password.com
Enter passphrase for key '~/.ssh/my_private.id_rsa':


BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

#
# cryptroot-unlock
Please unlock disk ubuntu-root:
cryptsetup: ubuntu-root set up successfully
# Connection to my.system.waiting.for.a.password.com closed by remote host.
Connection to my.system.waiting.for.a.password.com closed.

И система запустится с разблокированным root устройством.

...