notes/luks.md

83 lines
4.0 KiB
Markdown

#### LUKS
LUKS является стандартом для шифрования жесткого диска Linux. Расшифровать данные на диске можно только имея доступ к секретному ключу и паролю.
1. Создать зашифрованный раздел
```bash
[da2001@co1 ~]$ sudo cryptsetup luks
luksAddKey luksDelKey luksFormat luksHeaderRestore luksOpen luksResume luksUUID
luksClose luksDump luksHeaderBackup luksKillSlot luksRemoveKey luksSuspend
```
*двойной Tab покажет возможные команды. Для создания нового раздела необходима команда `luksFormat`*
```bash
[da2001@co1 ~]$ sudo cryptsetup luksFormat /dev/sdc2
WARNING: Device /dev/sdb2 already contains a 'crypto_LUKS' superblock signature.
WARNING!
========
This will overwrite data on /dev/sdc2 irrevocably.
Are you sure? (Type 'yes' in capital letters): YES
Enter passphrase for /dev/sdb2:
Verify passphrase:
```
*подтвердить заглавными YES*
*задать пароль доступа, при этом простой пароль система может не принять, в этом случае будет выведено сообщение*
```bash
Password quality check failed:
The password fails the dictionary check - it is based on a dictionary word
```
2. Открыть раздел и задать ему имя, по которому раздел будет доступен в `/dev/mapper`
```bash
[da2001@co1 ~]$ sudo cryptsetup luksOpen /dev/sdc2 secret
```
*ввести пароль доступа*
```bash
[da2001@co1 ~]$ ls -l /dev/mapper/ | grep secret
lrwxrwxrwx. 1 root root 7 Sep 10 14:41 secret -> ../dm-3
```
3. Отформатировать раздел
*форматировать необходимо в разблокированном состоянии*
```bash
[da2001@co1 ~]$ sudo mkfs.xfs /dev/mapper/secret
meta-data=/dev/mapper/secret isize=512 agcount=4, agsize=64448 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=257792, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=1566, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
```
4. Монтирование зашифрованного раздела
```bash
[da2001@co1 ~]$ sudo mkdir /secret
[da2001@co1 ~]$ sudo vi /etc/fstab
```
*добавить строку*
```bash
/dev/mapper/secret /secret xfs defaults 0 0
```
**добавление записи в fstab недостаточно, т.к. для монтирования устройство должно быть доступно**
*необходимо добавить конфиг в `/etc/crypttab`*
```bash
[da2001@co1 ~]$ sudo vi /etc/crypttab
```
*в файле необходимо указать:*
- название устройства, в нашем случае `secret`
- блочное устройство, на котором размещён зашифрованный раздел - `/dev/sdb2`
- параметр - нужно ли вводить пароль автоматически, `none` - не вводить пароль автоматически, требовать ввода от пользователя
*синтаксис конфиг. файла можно узнать в справке `man crypttab`*
```bash
secret /dev/sdc2 none
```
5. Для вступления изменений в силу, необходимо перезагрузить хост
```bash
[da2001@co1 ~]$ sudo reboot
```