83 lines
4.0 KiB
Markdown
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
|
||
|
```
|