Как защитить резервные копии в облаке от вирусов-шифровальщиков?

Системный администратор IT и автоматизация бизнеса
← На главную

Одной из наиболее опасных угроз для корпоративных данных являются вирусы-шифровальщики (ransomware). Они проникают в систему, зашифровывают все доступные файлы (включая базы данных 1С, архивы и документы) и требуют выкуп за ключ дешифрации. Традиционное резервное копирование в облако с использованием стандартных программ синхронизации (таких как Яндекс.Диск, Google Drive или Dropbox в режиме реального времени) не защищает данные. Как только локальный файл на сервере зашифровывается, клиент синхронизации автоматически отправляет «испорченную» копию в облако, перезаписывая здоровый бэкап.

В этой статье мы подробно разберем, как организовать надежный процесс отправки резервных копий в облачные хранилища, исключив постоянный доступ операционной системы к облаку. Мы рассмотрим как проверенные временем классические сценарии, так и современные профессиональные стандарты защиты данных.

В чем главная уязвимость стандартной синхронизации?

Когда на сервере постоянно запущено официальное приложение облачного диска, оно создает в системе виртуальную папку или постоянно мониторит локальный каталог. Любые изменения в этой папке мгновенно дублируются на удаленный сервер. Если вирус-шифровальщик получает доступ к системе, он шифрует локальные файлы, а клиент синхронизации послушно отправляет зашифрованные версии в облако. В результате администратор теряет и локальный бэкап, и облачный.

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

---

Решение 1. Временное монтирование сетевого диска по WebDAV через CMD

Рассмотрим классический и полностью бесплатный способ изоляции облака с помощью пакетного сценария (батника). Суть метода заключается в том, что диск подключается по протоколу WebDAV только на время копирования архива и сразу же отключается после завершения операции.

Разберем по шагам создание такого скрипта:

  1. Создадим текстовый файл с расширением .bat или .cmd.
  2. Пропишем команду монтирования сетевого диска с использованием безопасного SSL-соединения.
  3. Выполним копирование готового архива в сетевую папку.
  4. Отключим сетевой диск, чтобы разорвать связь с облаком.

Посмотрим на пример практической реализации такого сценария:


@echo off
chcp 65001 > nul

:: Настройка путей и учетных данных
set CLOUD_URL=\\webdav.yandex.ru@SSL\backup
set CLOUD_USER=your_login
set CLOUD_PASS=your_password
set LOCAL_FILE=C:\Backup\1c_base.7z
set DRIVE_LETTER=Y:

echo Подключение облачного хранилища...
net use %DRIVE_LETTER% %CLOUD_URL% /USER:%CLOUD_USER% %CLOUD_PASS%

if %errorlevel% neq 0 (
    echo Ошибка подключения к WebDAV! Бэкап не выполнен.
    exit /b 1
)

echo Копирование файла резервной копии...
copy "%LOCAL_FILE%" "%DRIVE_LETTER%\" /Y

set copy_res=%errorlevel%

echo Отключение сетевого диска...
net use %DRIVE_LETTER% /delete /yes

if %copy_res% equ 0 (
    echo Резервное копирование успешно завершено!
) else (
    echo Произошла ошибка при копировании файла!
)

Преимущества метода: Простота реализации, отсутствие необходимости устанавливать сторонний тяжелый софт синхронизации. В остальное время диск Y: не существует в системе, и вирус-шифровальщик не может до него добраться.

---

Решение 2. Интеграция монтирования с утилитами бэкапа (Cobian Backup)

Для тех, кто хочет иметь полноценный мониторинг, логирование и отправку уведомлений на почту в случае сбоев, отличным решением станет использование бесплатной программы Cobian Backup (или аналогичного современного софта) в связке с нашими скриптами.

Выясним, как настроить эту схему работы:

  1. В Cobian Backup создаем новое задание резервного копирования.
  2. В разделе "Предварительные действия" (Pre-backup events) настраиваем запуск командного файла, который монтирует WebDAV-диск.
  3. В качестве назначения (Destination) бэкапа указываем подключенную букву диска (например, Y:\).
  4. В разделе "Пост-события" (Post-backup events) настраиваем запуск скрипта, который размонтирует диск (команда net use Y: /delete /yes).
  5. Настраиваем встроенное в Cobian почтовое оповещение: программа сама отправит отчет на ваш e-mail, если копирование прервется или сетевой диск не подключится.

---

Решение 3. Разграничение прав на уровне локальных пользователей Windows

Проанализируем ситуацию, когда нам все-таки необходимо использовать стандартный клиент синхронизации (например, Яндекс.Диск), но мы хотим обезопасить его папку от вредоносного ПО, запущенного под текущим пользователем или администратором.

Для этого можно использовать механизм разграничения прав доступа ОС Windows:

  1. Создаем в операционной системе отдельного локального пользователя (например, BackupUser) и задаем ему сложный пароль.
  2. Устанавливаем клиент облака и настраиваем синхронизацию папки под учетной записью BackupUser.
  3. В свойствах безопасности папки облачного диска (например, C:\YandexDisk) полностью удаляем права на запись и чтение для всех обычных пользователей и администраторов, оставив полные права только для BackupUser и системы.
  4. Программу-архиватор запускаем через Планировщик задач Windows от имени пользователя BackupUser.

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

---

Решение 4. Использование версионирования файлов в облаке

Многие популярные облачные провайдеры предлагают встроенную защиту от потери данных в виде истории версий файлов. Например, в Dropbox (базовая бесплатная опция до 30 дней) или в Яндекс.Диске (при наличии платной подписки) сохраняются предыдущие версии измененных файлов.

Если шифровальщик зашифровал файлы, и они успели синхронизироваться в облако, вам не нужно паниковать. Достаточно выполнить следующие действия:

  1. Очистить локальный компьютер от вируса.
  2. Зайти в веб-интерфейс (личный кабинет) облачного хранилища.
  3. Найти зашифрованный файл бэкапа, открыть его "Историю изменений" (Версии).
  4. Выбрать версию файла, которая была создана до момента атаки, и нажать кнопку "Восстановить".

Это самый простой "пассивный" способ защиты, не требующий написания сложных скриптов, однако он требует контроля за дисковым пространством и своевременного обнаружения атаки (до истечения срока хранения версий в облаке).

---

Решение 5. Собственный FTP/SFTP-сервер с правами "Только на запись" (Write-Only)

Если у вас есть возможность арендовать недорогой виртуальный сервер (VDS) или использовать удаленный ПК со статическим IP-адресом, можно развернуть собственный FTP/SFTP-сервер (например, на базе FileZilla Server или IIS).

Главная фишка этого подхода — тонкая настройка прав пользователя на стороне сервера:

В этом случае скрипт на сервере 1С отправляет новый архив с уникальным именем (например, содержащим дату и время: backup_2023_10_27.7z). Если сервер будет атакован шифровальщиком, вирус не сможет стереть ранее отправленные бэкапы или перезаписать их зашифрованными копиями — сервер FTP просто отвергнет эти команды из-за отсутствия прав.

---

Современный стандарт: Использование утилиты Rclone

В современной практике системного администрирования стандартом де-факто для работы с облаками без установки лишнего ПО стала консольная утилита Rclone. Это бесплатный инструмент с открытым исходным кодом, который работает с десятками облачных провайдеров (включая Яндекс.Диск, Google Drive, Mail.ru, а также профессиональные S3-хранилища) напрямую через API.

Рассмотрим, почему Rclone идеально решает задачу автора темы:

Разберем пример простой команды для отправки бэкапа через Rclone:


:: Отправка файла на предварительно настроенное облако "yandex" в папку "backups"
rclone copy "C:\Backup\1c_base.7z" yandex:backups --log-file="C:\Backup\rclone.log" --log-level INFO

Настройка подключения в Rclone выполняется один раз через интерактивное меню rclone config, где вы авторизуетесь в облаке по протоколу OAuth. Пароли и токены хранятся в зашифрованном конфигурационном файле, доступ к которому также можно ограничить правами ОС.

---

Резюме и рекомендации

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

  1. Не держите облачные диски постоянно подключенными. Используйте временное монтирование WebDAV через скрипты или утилиту Rclone.
  2. Используйте ротацию имен файлов. Добавляйте в имя архива дату бэкапа (например, backup_%date%.7z). Никогда не перезаписывайте один и тот же файл backup.7z.
  3. Настройте версионирование. Убедитесь, что ваше облачное хранилище поддерживает хранение истории файлов минимум на 14–30 дней.
  4. Комбинируйте методы. Храните локальные теневые копии (VSS), бэкапы на съемных носителях (которые физически отключаются от сети после копирования) и удаленные бэкапы в облаке. Только правило «3-2-1» (3 копии, 2 разных носителя, 1 копия на удаленной площадке) гарантирует полную сохранность вашей базы данных 1С и других критически важных файлов.
← На главную