Как ИТ-специалист, вы не раз слышали слово «программа-вымогатель», и оно стало серьёзной проблемой для всех типов организаций, от малых до крупных предприятий. Когда в 2021 году Colonial Pipeline подверглась атаке программы-вымогателя и в конце концов была вынуждена заплатить за неё после нескольких часов попыток, это перестало быть организационной проблемой и стало серьёзной национальной проблемой!
Оплата за программу-вымогатель так же опасна, как и сама программа-вымогатель. Организации вынуждены платить по вполне понятным причинам: в некоторых случаях они считают, что восстановление данных стоит дорого и занимает много времени! Но иногда ситуация выходит из-под контроля, и резервные копии шифруются, так что организации больше не могут выполнять операции и у них нет другого выбора, кроме как заплатить!
Расскажу об одной из новых и интересных функций Veeam Backup and Replication v11 для безопасного резервного копирования и восстановления данных Hardened Repository (защищенное хранилище).
Защищённое хранилище защищает ваши резервные копии от потери в результате действий вредоносных программ или незапланированных действий с помощью одноразовых учётных данных и неизменяемости. Одноразовые учётные данные используются только для установки Veeam Data Mover и не сохраняются в инфраструктуре Veeam, поэтому при сбоях в инфраструктуре резервного копирования хранилище находится в безопасном состоянии. Неизменяемость — это функция, которую вы можете включить на некоторое время. Она предотвращает удаление или изменение данных в соответствующем хранилище.
Требования и ограничения
Чтобы использовать защищённый Linux для обеспечения неизменности, вы должны соответствовать следующим требованиям:
- Вам нужен физический сервер или виртуальная машина в качестве хранилища. Однако я настоятельно рекомендую использовать физический сервер (безопасность!).
- 64-разрядный дистрибутив Linux в соответствии с требованиями Veeam Data Mover.
- Файловая система дистрибутива Linux рекомендуется использовать XFS из соображений производительности и экономии места (поддержка блочного клонирования или быстрого клонирования).
- Резервное копирование и репликация Veeam версии 11 и более поздних версий
Наиболее важными ограничениями для этого типа репозитория являются:
- Тип резервного копирования не может быть обратным или постоянно увеличивающимся, поскольку резервная копия является неизменяемой и не может быть изменена или удалена. Для этого типа резервного копирования необходимо включить активное полное резервное копирование или синтетическое полное резервное копирование в настройках задания резервного копирования.
- Для заданий резервного копирования необходимо включить политику хранения GFS, чтобы использовать функцию неизменяемости.
- Для репозитория Linux необходимо использовать локальное или напрямую подключенное хранилище. Вы не можете подключить том NFS, а затем сделать его репозиторием с неизменяемыми данными.
- Сохранение неизменяемости переопределяет сохранение задания
Удалить защищенный репозиторий
Для этой цели я выбрал Ubuntu Server 20.04.3 и покажу, как правильно настроить защищённый репозиторий.
- Скачайте образ Ubuntu и создайте установочный носитель (загрузочную USB-флешку) или смонтируйте ISO-файл для установки сервера Ubuntu.
- Выберите язык, затем выберите раскладку клавиатуры и нажмите Готово.
- Выберите Ubuntu Server (свёрнутый). На мой взгляд, чтобы повысить безопасность сервера и поскольку этот сервер не является рабочим сервером, на котором нужно регулярно входить в систему, я выбрал этот вариант.
- Настройте сетевые параметры.
- Настройте параметры прокси-сервера и зеркальное отображение архива (доступ в Интернет не рекомендуется для хранилища резервных копий).
- Выберите пользовательскую схему хранения данных, чтобы настроить разделы для ОС и хранилища резервных копий. Рекомендуется использовать отдельный физический диск для ОС и хранилища резервных копий. В моём случае sda используется для ОС, а sdb — для хранилища резервных копий.
- для sda выберите диск, а затем добавьте раздел GPT, оставьте настройки по умолчанию и нажмите «Создать».
- Теперь у вас есть два раздела (загрузочный и корневой). Выберите второй диск и нажмите Добавить раздел GPT, чтобы создать раздел XFS для хранилища резервных копий.
- Я хочу использовать весь объём, поэтому оставляю его пустым, перехожу к форматированию диска, выбираю XFS и создаю новую точку монтирования «/veeam/xfs-2TB», затем нажимаю «Создать», а затем «Готово», чтобы продолжить установку.
- Введите имя пользователя и пароль, а также имя вашего сервера, затем нажмите готово.
- установите сервер OpenSSH, а затем я отключу его в конце настройки, потому что подключение по SSH необходимо только для развёртывания Veeam Data Mover.
- Дождитесь завершения установки, а затем нажмите на Перезагрузить сейчас.
- Войдите на сервер по SSH, чтобы настроить сервер для резервного хранилища.
- Создайте выделенного локального пользователя для Veeam Backup, а затем временно добавьте его в группу sudo.
- Установите права доступа к каталогу репозитория (/veeam/xfs-2TB) для созданного вами локального пользователя (veeambackup) и ограничьте доступ к этому репозиторию только для его владельца и учётной записи root.
Теперь пришло время добавить сервер Linux в инфраструктуру и создать репозиторий Linux.
Добавление сервера Linux в инфраструктуру резервного копирования
Сначала мне нужно добавить сервер Linux в Veeam Infrastructure, а затем назначить ему роль хранилища.
- В представлении Резервное копирование Инфраструктура щелкните правой кнопкой мыши узел Управляемые серверы и выберите Добавить сервер, а затем Linux.
- Введите IP-адрес или DNS-имя сервера Linux.
- На этапе подключения по SSH в мастере нажмите Добавить и выберите Одноразовые учётные данные для защищённого репозитория, чтобы Veeam не сохранял учётные данные. Эти учётные данные будут использоваться только для развёртывания Veeam Data Mover.
- Проверьте отпечаток SSH-ключа и нажмите Да.
- Просмотрите компоненты и нажмите Применить.
- Когда установка будет завершена, нажмите Далее, затем нажмите Готово.
- Вы успешно добавили сервер Linux в инфраструктуру резервного копирования.
Настройка репозитория Linux в Veeam
- В представлении Резервное копирование Инфраструктура щелкните правой кнопкой мыши узел Резервные хранилища и выберите Добавить резервное хранилище.
- Выберите прямое подключение к хранилищу, а затем Linux в качестве типа операционной системы.
- Укажите имя для репозитория Linux.
- В списке серверов репозитория выберите сервер Linux, который вы недавно добавили для использования в качестве хранилища резервных копий, а затем нажмите «Заполнить», чтобы увидеть список дисков, подключенных к серверу. Выберите нужный путь подключения и нажмите «Далее».
- Нажмите «Заполнить», чтобы проверить объём и доступное свободное пространство, и выберите «Использовать быстрое клонирование на томах XFS», чтобы включить быстрое клонирование. Укажите период неизменности в поле «Сделать последние резервные копии неизменными на период», чтобы предотвратить удаление блоков данных из хранилища резервных копий.
- Укажите подключение сервера, оставьте настройку по умолчанию и нажмите Далее.
- Просмотрите компоненты и нажмите Применить.
- Когда установка будет завершена, нажмите Далее, затем нажмите Готово.
- Как вы можете видеть, вы успешно создали хранилище резервных копий.
Включить неизменяемость для задания резервного копирования
Вы можете создать новое задание резервного копирования или отредактировать старое (отправить новые резервные копии в этот репозиторий). Для этого я создам новое задание резервного копирования виртуальной машины и покажу вам, как работает неизменяемое резервное копирование.
- В представлении «Главная» щелкните правой кнопкой мыши по узлу «Задания» и выберите «Добавить хранилище резервных копий», «Виртуальную машину», а затем «VMware vSphere» (выберите Microsoft Hyper-V, если вы используете виртуализацию Hyper-V)
- Укажите имя для задания резервного копирования.
- Выберите виртуальные машины для резервного копирования. Поскольку это всего лишь демонстрация, я выбрал одну виртуальную машину (контроллер домена) и нажал Далее.
- Укажите прокси-сервер резервного копирования и хранилище резервных копий для этого задания резервного копирования. Для политики хранения нельзя указать значение ниже «Сделать текущие резервные копии неизменяемыми на», которое я указал при создании неизменяемого хранилища Linux. Как я упоминал ранее, нельзя выбрать режим обратного или постоянного инкрементного резервного копирования, необходимо включить активное полное резервное копирование или синтетическое полное резервное копирование.
Если вы не активируете ни один из них, при нажатии Далее вы получите следующее сообщение.
- При желании укажите настройки обработки данных гостей. (Я оставляю настройки по умолчанию).
- Укажите график выполнения задания и нажмите Применить.
- Установите флажок Запускать задание при нажатии кнопки «Готово», чтобы запустить задание сразу после нажатия кнопки «Готово».
- Дважды щелкните по заданию резервного копирования, чтобы увидеть ход выполнения. Как видите, задание резервного копирования успешно завершено.
Сейчас самое время проверить неизменность
Проверка неизменяемости
Давайте проверим, могут ли администраторы резервного копирования удалять файлы резервных копий! Я ожидал, что при использовании неизменяемого репозитория администраторы резервного копирования также не смогут удалять эти файлы резервных копий.
- В разделе «Главная» выберите Резервные копии, затем Диск и выберите объект резервного копирования, чтобы удалить его.
- Нажмите кнопку «Да», чтобы начать процедуру.
- Как видите, невозможно удалить файлы резервных копий с консоли Veeam из-за их неизменяемости. Как показано на рисунке, файлы резервных копий можно удалить после 28 января, то есть через 7 дней после 21 января (я установил период неизменяемости 7 дней).
Давайте проверим это также на сервере Linux. Я снова запустил задание резервного копирования, чтобы создать инкрементное резервное копирование вместе с полным резервным копированием и показать вам все типы файлов (в большинстве случаев), которые могут храниться в неизменяемом каталоге. Войдите на сервер под пользователем, созданным ранее, войдите на сервер под пользователем veeam, перейдите в папку с резервными копиями и попробуйте удалить файлы. Как видно на следующем снимке, в этом каталоге есть три типа файлов: vbk (файл полного резервного копирования), vib (файл инкрементного резервного копирования) и vbm (файл метаданных резервного копирования). Я ожидал, что vbk и vib нельзя удалить или изменить пользователю veeam или даже пользователю root, но vbm можно изменить, поскольку он используется для записи атрибутов задания при каждом запуске резервного копирования.

Я попытался удалить файл с помощью -f, чтобы принудительно удалить файл, но мне выдало ошибку, поэтому я сменил пользователя на root, чтобы удалить его снова, и, как видите, я не могу удалить его даже с правами пользователя root.

Мы также можем использовать команду «lsattr -l», чтобы узнать, какие файлы являются неизменяемыми, а какие — нет.
Быстрое Клонирование
Как я уже упоминал в описанных выше шагах, я отформатировал раздел резервных копий в формате XFS, чтобы воспользоваться функцией быстрого клонирования, а также включил быстрое клонирование для репозитория (установив флажок «Использовать быстрое клонирование на томах XFS») при создании репозитория. Быстрое клонирование увеличивает скорость создания и преобразования синтетических резервных копий, сокращает требования к дисковому пространству и снижает нагрузку на устройства хранения данных.
Когда синтетическое задание будет выполнено в соответствии с вашим расписанием, вы увидите в отчёте о задании, было ли оно выполнено с помощью Fast Clone, как показано на изображении ниже. Как видите, моё синтетическое задание резервного копирования было успешно выполнено с помощью Fast Clone.

Безопасный репозиторий Linux
В этом разделе я хочу рассказать вам о том, что связано с опытом или методами обеспечения безопасности резервной структуры.
- Удалите пользователя из группы sudo с помощью этой команды ‘sudo deluser veeam sudo’ (замените veeam на свою локальную учётную запись)
- Как упоминалось ранее, SSH используется только для развёртывания Veeam Data Mover, поэтому рекомендуется отключить его.
- systemctl останавливает ssh
- systemctl отключить ssh
- Отключите все физические подключения к этому серверу, кроме подключения между Veeam Backup и этим хранилищем. Например, вам не нужны ILO, IDRAC и т. д. Если вы погуглите, то обнаружите, что эти подключения тоже сопряжены с рисками.
- Отключите ненужные службы или установите mimized-сервер, чтобы снизить вероятность атаки.
- Разрешите подключение к серверу только с резервного сервера и только через требуемый порт и заблокируйте другие подключения.
Ссылки:
https://helpcenter.veeam.com/docs/backup/vsphere/hardened_repository_limitations.html?ver=110
https://helpcenter.veeam.com/docs/backup/vsphere/hardened_repository.html?ver=110
https://www.veeam.com/blog/v11-immutable-backup-storage.html
https://helpcenter.veeam.com/docs/backup/vsphere/used_ports.html?ver=110