# Linux - immutable backup veeambackup

## Зашифрованый диск linux LUKS

Откроем терминал и запустим установку cryptsetup (LUKS)

```plaintext
apt install cryptsetup parted
```

Подготавливаем диск. Запустим консольный или графический редактор разделов, выберем нужный физический диск, удалим с него все разделы и создадим один новый, который будем шифровать.Файловую систему создаваемого раздела указываем как **raw** (без форматирования).

```plaintext
parted
```

Приступаем к шифрованию диска

```plaintext
  sudo cryptsetup --verify-passphrase luksFormat /dev/sda -c aes-xts-plain64 -s 256 -h sha512
```

Описание параметров команды:

**—verify-passphrase** — требование дважды ввести пароль для исключения ошибки ввода;

**/dev/sda** — раздел диска, который мы будем шифровать;

**\-c aes-xts-plain64** — алгоритм шифрования (в нашем примере это [AES](https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard) в режиме сцепления блоков шифротекста [XTS](https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B4%D0%B8%D1%81%D0%BA%D0%B0#XEX-based_tweaked-codebook_mode_with_ciphertext_stealing_(XTS)));

**\-s 256** — стойкость шифра (256 бит);

**\-h sha512** — алгоритм хеширования ([SHA-512](https://ru.wikipedia.org/wiki/SHA-2)).

Утилита cryptsetup сначала предупредит об уничтожении всех данных на шифруемом разделе и потребует ввести на клавиатуре **YES** (в верхнем регистре) для подтверждения, а затем пароль и его подтверждение.

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

Через пару минут на накопителе будет создан зашифрованный раздел.

Создаём ФС внутри раздела

С уже созданным разделом мы пока ещё не можем работать, поэтому нам потребуется сначала создать на нём файловую систему. Допускается создавать любую, поддерживаемую используемой ОС.

Подключим зашифрованный раздел:

```plaintext
        

если второй 

 sudo cryptsetup luksOpen /dev/sdc storage1
Отключить
 sudo cryptsetup luksClose /dev/mapper/storage
```

Создаём файловую систему ext4 или xfs внутри зашифрованного раздела.

```plaintext
sudo mkfs -t ext4 -m 1 -L storage /dev/mapper/storage

Для veembackup форматим в XFS
sudo mkfs.xfs  /dev/mapper/storage
```

Описание параметров:

**\-t ext4** — файловая система (ext4);

**\-m 1** — изменяем зарезервированный объём свободного места на разделе для суперпользователя (с 5% до 1%);

**\-L storage** — задаём метку тома аналогично внутреннему названию (storage);

**/dev/mapper/storage** — смонтированный зашифрованный раздел, где **storage** — указанное при подключении внутреннее название.

Статус диска:

```plaintext
 cryptsetup -v status storage
```

Проверяем файловую систему

```plaintext
lsblk -f
```

**Монтируем том в папку**

blkid получаем UUID диска и монтируем или по имени

```plaintext
mount -U bde1f8a8-6e54-401a-a8dd-eecd69008464 /VeeamBackup
или
mount /dev/mapper/storage /VeeamBackup_PLD/
```

`После перезагрузки сервера, нужно расшифровать диск`

`sudo cryptsetup luksOpen /dev/sdb storage`

`вводим пароль.`

## **Подключение  ISCSI блочного хранилища**

Установка:

```plaintext
apt update
apt install open-iscsi
```

Затем перейдем в **/etc/iscsi** и откроем файл **iscsid.conf**. Найдем и раскомментируем опцию:

***node.startup = automatic***

иже обязательно закомментируем:

***node.startup = manual***

Затем зададим параметры аутентификации инициатора, раскомментировав опции:

***node.session.auth.authmethod = CHAP  
node.session.auth.username = username  
node.session.auth.password = password***

Сохраним файл и перезапустим службу:

```plaintext
service open-iscsi restart
```

Список целей

```plaintext
iscsiadm -m discovery -p 10.0.4.18 -t st
```

Из чего становится понятно, что мы должны подключиться к порталу 10.0.4.18 в режиме обнаружения и получить него все доступные цели

Подключаем все цели:

```plaintext
iscsiadm -m node --login
```

Отключить цель на примере iqn.2004-04.com.qnap:ts-451u:iscsi.disk02.0bd088:

```plaintext
iscsiadm --mode node --targetname iqn.2004-04.com.qnap:ts-451u:iscsi.disk02.0bd088 --portal 10.0.4.18 -u
```

Форматируем в  xfs

```plaintext
lsblk
sudo mkfs.xfs -f /dev/sdb
```

Автоматическое монтирование диска:

Определение UUID дисков:

Для того чтобы определить UUID дисков, вы можете воспользоваться командой `blkid`. Эта команда позволяет вам узнать UUID для всех дисков и разделов в системе. Пример использования:

```plaintext
blkid
/dev/sdc: UUID="d75c50ff-a4b9-41ce-b254-a103d23f5ef1" TYPE="xfs"
/dev/sdd: UUID="6ea8f5f0-d947-4585-805b-3fbde98052d6" TYPE="xfs"
```

Создание скрипта для монтирования:

Вы можете создать скрипт, который будет монтировать диски на основе их UUID. Например, создайте скрипт с именем `mount_disks.sh` и откройте его для редактирования:

```plaintext
#!/bin/bash

# UUID дисков
UUID_DISK1="UUID_диска_1"
UUID_DISK2="UUID_диска_2"

# Точки монтирования
MOUNT_POINT_DISK1="/путь/к/месту_монтирования_диска_1"
MOUNT_POINT_DISK2="/путь/к/месту_монтирования_диска_2"

# Монтирование дисков
mount -U $UUID_DISK1 $MOUNT_POINT_DISK1
mount -U $UUID_DISK2 $MOUNT_POINT_DISK2
```

```plaintext
chmod +x mount_disks.sh
```

Запустите скрипт, чтобы монтировать диски:

```plaintext
./mount_disks.sh
```

Создаю демон для автомонтирования:

Создайте файл службы в директории `/etc/systemd/system`. Например, `mcedit /etc/systemd/system/my-iscsi-service.service`:

```plaintext
[Unit]
Description=My iSCSI Service
After=remote-fs.target
Wants=remote-fs.target

[Service]
Type=simple
ExecStart=/путь/к/вашему/скрипту.sh

[Install]
WantedBy=multi-user.target
```

```plaintext
sudo systemctl daemon-reload
sudo systemctl enable my-iscsi-service
sudo systemctl start my-iscsi-service
```

**Атрибуты файлов**

Для просмотра атрибутов и их изменения можно использовать команды ниже.

Просмотр:

```plaintext
lsattr
```

Изменение:

```plaintext
chattr -i
```

## SSH certificat (**Настройка ключей SSH** )

ssh-keygen -b 4096 

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1699349098276/3f99164f-7e56-474a-ba6f-118d109acbe3.png align="center")
