Червь-шифровальщик WannaCry блеснул в новостях суперзвездой, даже домохозяйки узнали какие опасности грозят их невосстановимым фоткам.
Самое время вспомнить, что свободный софт не только бесплатный, но ещё и очень мощный. И использовать ваш ZFS NAS для бекапа, устойчивого к атаке шифровальщика. А то завтра будут новые сенсации, про WannaCry все забудут. Но будут и новые шифровальщики. I. Так что же там у шифровальщика с бекапами? TL; DR Шифровальщики удаляют все бекапы, до которых могут добраться.
[Длиннее]Длиннее: Для примера пресловутый WannaCry (источник) 1. Использует команду Windows «icacls» для получения полного доступа ко всем файлам системы жертвы:
• icacls. /grant Everyone:F /T /C /Q
2. Удаляет все резервные копии (теневые копии), найденные в системе, следующими двумя способами:
Поэтому бекап нужен вне пределов досягаемости зловреда, получившего, напомню, административные права на атакуемой Windows машине. Касперский среди прочего рекомендует: "Регулярно производите бекап и храните бекапы офлайн". Благими пожеланиями... То есть кто-то должен регулярно подключать бекап-носитель, дожидаться конца процесса, отключать и класть на полку. Регулярно - это, видимо, где-то раз в день. И, если у вас дома (наряду с садовником, шофёром и кухаркой) нет сисадмина, это делать вам придётся собственными руками. И хватит вас на пару недель, ну месяцев. А потом живой человек забьёт. А потом будет рвать пониже спины волосы... Нет, было бы глупо отрицать крайнюю полезность офлайн бекап копии, да ещё если хранить её не дома. Но обновлять такую копию чаще чем раз в несколько месяцев - дело для домашнего применения непосильное. Поэтому бекап должен быть автоматическим.
Приехали... Офлайн и автоматическим одновременно?
II. Спасут ли рядового пользователя облака? Нет. Ну вот настроена у меня папка, к примеру, Яндекс диска - и что? Как только на локальном компе с файлами происходят какие-то изменения (ну шифруют их) - облачный клиент аккуратненько передаёт все изменения в облако. И далее, на все компы с тем же логином... Возможно, есть какие-то варианты достать старый вариант - но кто их знает?
III. Спасут ли бекапы на NAS? Да, ЕСЛИ настроите снимки. NB Как я бекаплю локальные, включая Windows, машины - описано в оглавлении, раздел 4.7 Но вы можете использовать и другие механизмы, хоть родной виндовой.
Надо понимать, что если к сетевой папке есть с Windows машины доступ на запись - то шифровальщику это как локальный диск. Поэтому хорошая практика - где возможно - отключать к папкам бекапа SMB доступ на запись. А возможно это, если вы используете RSYNC или другие не опирающиеся на SMB, средства создания бекапа.
Но главное - настроить механизм автоматических снапшотов на датасетах с бекапами, описано в разделе 6.3 В результате у меня прямо из Windows видны на чтение прошлые варианты всех файлов бекапа
Они почти не занимают места. Не надо париться про то, раз в месяц или квартал делать полные копии бекапа. И сколько этих полных копий за предыдущие периоды хранить.
И при этом вероятность того, что шифровальщик хоть что-то знает о zfs snapshot исчезающе мала. И внедрять в него такие знания не окупится точно. А если найдётся безумец, который сделает это из ненависти, то для уничтожения ваших бекапов вы ещё должны дать зловреду root привилегии на NAS. Так что - вряд ли :)
Прим. для параноиков. Кстати, ZFS датасету можно придать свойство "не монтируемый". И он никак и никуда не будет монтироваться. А как же туда писать? А писать можно по zfs send-receive с другого пула. И такой недосягаемый вторичный бекап может располагаться в географически удалённом месте. Но zfs send-receive, в том числе по ssh - это уже раздел 6.4
PS И ещё поверх этого хорошо бы раз-два в год сбрасывать важные данные на USB диск, который увозить на хранение к родственникам. Ведь бекап действительно важных данных следует делать в соответсвии с правилом 3-2-1:
ТРИ копии,
которые должны быть сохранены в ДВУХ различных физических форматах хранения,
причем ОДНА из копий, должна быть передана на внеофисное хранение