Что использовать nfs или samba?

3 — включаем защиту от перебора паролей

По умолчанию эта опция отключена, но Synology предлагает два уровня защиты. Первый — это временная блокировка самой учётной записи, на которую идёт атака. Это наиболее экологичный вид защиты, потому что если атакующий использует IP-адреса вашей подсети или подсети ваших клиентов, работа сервисов не пострадает.

Также можно по-старинке блокировать IP адреса атакующих, для чего открываем панель управления -> безопасность -> защита и включаем блокировку IP адреса при 10 ошибочных логинах в течение 5 минут. Удаление IP-адреса блокировщика можно поставить через 1-2 дня, и здесь же имеет смысл добавить локальные подсети или доверенные IP-адреса в белый список, чтобы исключить их блокировку, когда например зловред имеет своей целью специально заблокировать хост, выполняя бескнечный брутфорс NAS-а.

На этой же вкладке можно включить защиту от DoS атак без каких-либо дополнительных настроек.

4 — используем встроенный Firewall

В топовых NAS-ах Synology, монтируемых в стойку, поддерживаются функции проброса сетевого порта в виртуальную машину, запущенную на NAS через Virtual Machine Manager. Для каких-то особых ситуаций развёртывания инфраструктуры я рекомендую просто устанавливать в виртуалку PFSense или OPNSense, чтобы можно было пользоваться признанным во всём мире ПО для сетевой безопасности, но если такой возможности нет, встроенный Firewall не стоит сбрасывать со счетов.

По умолчанию он отключен, и буквально в несколько кликов можно закрыть доступ ко встроенным сервисам NAS-а из регионов, в которых у вас нет ни сотрудников, ни клиентов. Все используемые службами порты уже прописаны, так что выбираем все службы, и запрещаем для примера им доступ из Антарктиды, Анголы и некоторых других стран.

10 — защита архивных данных

Давайте разберёмся с шифрованием различных резервных копий, которые могут храниться на NAS-е. Поскольку Synology DSM состоит из ядра и приложений, то за снэпшоты отвечает одно приложение (Snapshot Replication), за резервные копии между NAS-ами или в облако — другое (Hyper Backup), а за резервирование серверов, виртуальных машин и рабочих мест — третье (Active Backup for Business). Соответственно, механизмы защиты у каждого из приложений свои. Начнём по порядку:

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

Резервирование содержимого самого NAS-а на другой NAS или в облако с помощью программы Hyper Backup поддерживает защиту как при передаче, так и для хранения. Ключ задаётся единожды для задачи резервирования, то есть у вас могут быть разные пароли для сохранения данных в Google и на Synology C2.

В программе резервирования Active Backup for Business кодирование реализовано наиболее удобным способом: каждая задача бэкапа может использовать собственное хранилище (папку верхнего уровня на дисковом томе), которой совершенно не обязательно находиться в смонтированном состоянии, чтобы на неё можно было бэкапиться. Да, вы можете создавать новые задачи или удалять старые, используя защищённую папку, ключ от которой знает только ваш босс. Удобно, правда? И таких папок может быть сколько угодно, вы можете миксовать закодированные и незакодированные хранилища. Ну а подключить закрытую папку вводом пароля придётся при восстановлении бэкапа или для автоматической проверки целостности копий. Кстати, в настройках хранилища можно ввести автомонтирование закрытого хранилища и указать, на каком именно разделе NAS должен хранить ключи доступа, подгружая их после ребута, но я не советую это делать.

6 — кодируем Data at Transit для защиты от снифферов

Понятие Data at Transit охватывает любые данные, которые находятся буквально в проводах или в воздухе, то есть передаются между устройствами. Ещё совсем недавно в этой области данные не защищались, поскольку считалось что интранет является безопасной сетью. Наверное, по этой причине по умолчанию в Synology DSM «данные в полёте» не шифруются.

6а — включаем кодирование файловых протоколов

Файловый протокол Samba (SMB) или CIFS, который используется для подключения общих сетевых папок с NAS на компьютеры под управлением Windows и MacOS, поддерживает сквозное кодирование каждого запроса. На сервере Windows Server 2022 и в ОС Windows 11 применяются пакеты средств криптографической защиты AES-256-GCM и AES-256-CCM для защиты SMB 3.1.1. Windows будет автоматически согласовывать этот более сложный метод кодирования при подключении к другому компьютеру, который его поддерживает. Кроме того, этот метод можно сделать обязательным с использованием в групповой политики.

Windows 10 и Windows Server 2016/2019 по-прежнему поддерживают AES-128-GCM и AES-128-CCM для протокола SMB 3.0.

Современные процессоры, на которых построены NAS-ы Synology поддерживают аппаратное ускорение операций кодирование, поэтому влияние на производительность минимальное.

Обратите внимание, что протокол AFP для компьютеров Apple не поддерживает сквозную кодировку, по умолчанию он отключен и трогать здесь ничего не надо: «яблочные» компьютеры прекрасно справляются с работой по протоколу SMB 3

Протокол NFS, часто используемый для Linux клиентов и гипервизоров VMware ESXi, так же по умолчанию не защищён. Это настраивается индивидуально для каждой папки и диапазона IP-адресов в закладке NFS Permissions. Здесь вам нужно создать определённое правило, в котором обязательно выбрать поле Kerberos privacy и отключить тип авторизации AUTH_SYS. После этого вам нужно импортировать ключи Kerberos, общие для всей службы NFS.

Для файлового обмена с простыми устройствами включаем FTPs (кодирование поверх FTP) и SFTP (передача данных по защищённому SSH туннелю), а для того, чтобы ваш NAS мог выступать средством хранения бэкапов с других Linux устройств, включаем протокол RSync, который так же работает по SSH. Здесь всё по умолчанию использует кодирование, и никаких настроек делать не нужно.

Обратите внимание — включение RSync и SFTP не означает включение терминального доступа по SSH, и если последний отключен, а первые два включены, то при подключении через терминал, соединение будет разорвано

Вообще, доступ по SSH вам скорее всего не потребуется, и его можно не включать, но в случае если он всё же нужен, в настройках безопасности вам будет предложен огромный выбор алгоритмов защиты трафика. Я рекомендую отключить поддержку 128-битных ключей, оставив 256-битные и выше.

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

Основы взаимодействия Windows и Linux (протоколы и другие особенности)

В Linux для организации доступа к удаленной системе достаточно знать лишь IP адрес. Вместе с системой DNS, IP адресация представляет собой вполне законченный механизм взаимодействия между системами Linux. В Windows сложилась другая ситуация. Изначально, сети Windows находились в совершенно другом пространстве имен, это было следствием попытки организовать взаимодействие без участия протокола TCP/IP. Для чего был разработан родной для Windows протокол NetBEUI (Network Basic Extended Interface — основной расширенный сетевой пользовательский интерфейс). Не углубляясь в принципы сетевого взаимодействия можно сказать, что NetBEUI состоит из протокола SMB, транспортируемого по протоколу NetBIOS и обернутого в адресуемый протокол LLC, который является подуровнем канального уpовня. Из сказанной каши можно с трудом понять, что NetBEUI не принадлежит какому-либо из уровней . В итоге, данный протокол получился не маршрутизируемым и малоэффективным.Через некоторое время, на основе NetBEUI был разработан протокол NetBIOS Frame (NBF) protocol (NetBIOS over IEEE 802.2 LLC). Следующим шагом была реализация NBT (NetBIOS over TCP/IP).

Протокол NetBIOS (точнее SMB) обладает своим собственным пространством имен. Все имена могут иметь длину до 16 алфавитно-цифровых символов. При этом, использовать имена, начинающиеся с цифры не приемлемо для реализации протокола NetBIOS over TCP/IP, т.к. данное имя будет интерпретироваться как IP-адрес. В NetBIOS существует понятие Рабочая группа (в последствии замененное понятием домен). Компьютеры, имеющие одинаковое имя рабочей группы принадлежат одной группе.

NetBIOS over TCP/IP использует  два основных протокола и два порта 139/tcp (порт службы сеанса NetBIOS) и 137/udp (порт сервера имен NetBIOS). Порт UDP используется для разрешения имен на основе широковещательных рассылок, что в большой сети порождает большой трафик. Чтобы уменьшить большой широковещательный трафик, необходимо использовать сервер имен NetBIOS (в Microsoft данный сервер получил название WINS — Windows Internet Naming Service). WINS для NetBIOS over TCP/IP это как DNS для TCP/IP.

С появлением Win2k и Active Directory, Microsoft полностью отказалась от NetBIOS. Вместо NetBIOS стал использоваться SMB через TCP/IP (без использования протокола NetBIOS, его же называют NetBIOS-less). Данный протокол позволял отказаться от WINS и резолвить имена с помощью DNS, используя связку системы безопасности Kerberos и службу каталогов Active Directory. Active Directory — это LDAP каталог (аналог OpenLDAP), которому я обязательно посвящу статью.

Чтобы SAMBA работала без поддкржки NetBIOS, необходимо, чтобы система была членом домена Active Directory!!! Если система НЕ член домена, то отключать поддержку NetBIOS не стоит!

Собственно, протокол SMB и дал начало названия проекта Samba. Через некоторое время SMB был переименован в CIFS (Common Internet File System). Samba версии 2 может использоваться только совместно с протоколом NetBT (NetBIOS over TCP/IP). Версия Samba 3 способна обеспечивать совместимость по протоколу SMB через TCP/IP (NetBIOS-less TCP/IP) и совместима с Active Directory. При использовании SMB через TCP/IP используется порт 445/tcp, а так же 135/tcp для обеспечения взаимодействия по протоколу DCE RPC (удаленные вызовы процедур).

При установке и настройке Samba (без членства в домене Active Directory) желательно использовать демон Samba как сервер WINS или как член сервера WINS для снижения нагрузки мультикаст трафика в сети.

9 — защита Data at Work

Ранее мы достаточно защитили все собственные сервисы Synology, запускаемые на NAS, но теперь пришло время позаботиться о сторонних программах, которые вы можете перенести в гипервизор Virtual Machine Manager. В NAS-ах, построенных на базе процессоров Intel, сохраняется опасность выполнения эксплоитов Meltdown и Spectre , благодаря чему заражённая виртуалка может получить доступ к данным в памяти другой виртуальной машины. Для предотвращения такой возможности компанией Intel внесены изменения в микрокод процессора, серьёзно замедляющие операции случайного чтения с дисковой подсистемы.

В Synology DSM защита от Meltdown и Spectre по умолчанию выключена, поскольку даже далеко не каждому гипервизору она требуется, а на скорость влияет ощутимо. Если вы планируете дать возможность пользователям запускать в виртуальных машинах, хостящихся на Synology собственный код, то проследуйте в панель управления, в закладку Security — Advanced и включите защиту от Meltdown и Spectre. Если вы точно знаете, что никаких сторонних программ никто в пределах виртуалок запускать не будет, можете этого не делать.

Исходные данные (подготовка хостов для осуществления общего доступа)

Сначала я опишу возможность организации доступа к ресурсам на Windows (Сервер) со стороны Linux (Клиент). Для организации данного взаимодействия нам необходимо наличие соединения по протоколу TCP/IP между хостами (то есть присвоен корректный IP, заданы правильные маски, в каждой системе должен быть корректный файл hosts и правильно настроена служба ДНС, если таковая используется), а так же наличие расшаренного ресурса в системе Windows. В примере, машина Windows будет иметь IP 192.168.2.1 и имя host, Linux — 192.168.2.2 и имя samba. Рабочую группу будем использовать WORKGROUP. Ресурс в общем доступе будет называться share.

Пакет Samba для своей работы требует наличия модулей ядра и инструментов для доступа к удаленной системе. Прежде всего, должна быть поддержка файловых систем smbfs и cifs ядром Linux. Старые версии ядра — ниже 2.6.х может не поддерживать cifs в начальной комплектации компиляции.  Хотя, по поводу поддержки smbfs в современных дистрибутивах можно поспорить, т.к. данный модуль устарел и не поддерживает символы кириллицы и … ну в общем я его рассматривать не буду ввиду устаревания. Для включения поддержки cifs в старые ядра 2.4 необходимо ознакомиться с документацией на сайте: http://linux-cifs.samba.org/. Новые версии ядра Linux 2.6 в большинстве дистрибутивов имеют встроенную поддержу cifs (если, конечно, ядро не самосборное). Убедиться в поддержке ядром — cifs можно, выполнив команду grep над 

samba:~# grep CONFIG_SMB_FS /boot/config-2.6.32-5-686
# CONFIG_SMB_FS is not set
samba:~# grep CONFIG_CIFS /boot/config-2.6.32-5-686
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_EXPERIMENTAL=y

Мы начнем с самого простого примера и предположим, что DNS для разрешения имен не используется и машины имеют статичные IP-адреса. Поэтому нам необходимо в /etc/hosts добавить следующую строку:

samba:~# cat /etc/hosts
127.0.0.1       localhost
127.0.1.1       samba
192.168.2.1     host
samba:~# ping host
PING host (192.168.2.1) 56(84) bytes of data.
64 bytes from host (192.168.2.1): icmp_req=1 ttl=128 time=2.46 ms
64 bytes from host (192.168.2.1): icmp_req=2 ttl=128 time=0.322 ms
^C
--- host ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.322/1.394/2.467/1.073 ms

Утилитой ping мы проверили возможность разрешения имени и связь с удаленным хостом Windows. И как можно понять — все работает.

Финальные штрихи

На данном этапе мы максимально защитили наш NAS Synology от DoS-атак, попыток подобрать пароль, кражи пароля кейлоггером или другим зловредом, физическим похищением всего устройства или его дисков, а так же от снифферов всех мастей. При грамотной настройке привилегий для доступа к общим папкам, NAS превращается в неприступный сейф, вскрыть который не под силу даже специалистам Synology. Осталось защититься от самой страшной проблемы — от человеческого фактора.

Во-первых, настраиваем антивирусное сканирование внутреннего пространства NAS бесплатным пакетом Antivirus Essential, либо платным McAfee Antivirus. Оба решения примерно идентичны по параметрам, а так же включаем еженедельное сканирование настроек безопасности средством Security Advisor.

Во-вторых, настраиваем резервирование всего NAS-а в облачную службу Synology C2. Это дёшево, практично, удобно и плюс Synology не продаёт ваши данные рекламщикам.

И рекомендую обратить внимание на приложение Note station для сохранения заметок на NAS-е: здесь есть возможность использовать защищённые записные книжки, что полезно для хранения настроек, паролей и просто секретиков. Не забудьте включить Note Station в список бэкапов в программе HyperBackup для резервирования в облако, ну а чтобы не забыть пароли, Synology предлагает использовать собственный облачный сервис C2 Password

Михаил Дегтярёв (aka LIKE OFF)

04/10.2021

2а (опционально) — настраиваем двухфакторную аутентификацию

Для некоторых доверенных устройств (личный ноутбук, рабочий компьютер) можно отключить проверку OTP-кода. Кстати, для генерации OTP-кодов можно использовать и программу Google Authentificator вместо Synology SignIn: точно так же сканируете пригласительный QR-код и просто добавляете Synology DSM к другим вашим сервисам (интернет-банкинг, вход в личный кабинет и т.д.): чертовски удобно.

Двухфакторная и беспарольная аутентификации работают только в пределах Web-интерфейса Synology: это полезно для таких встроенных приложений, как Web-почта, календарь, офисный пакет или чат. Да, всё это может быть запущено в пределах одного NAS, что избавит вас от зависимости от интернет-сервисов. Тем не менее, протоколы файлового и терминального доступа остаются зависимы только от пары логин/пароль, поэтому защита от перебора остаётся важным шагом в настройке безопасности.

5 — настраиваем OpenVPN

Вообще, VPN-тоннели обычно реализуют с помощью программных или аппаратных шлюзов доступа, но каждый NAS от Synology может выступать как клиентом, так и сервером VPN: без зависимости от стороннего ПО, без лицензий и сложных настроек командной строки. Мы рекомендуем максимально заворачивать внешний трафик через VPN, даже если соединение итак защищено. В серверной части поддерживаются устаревший PPTP, быстрый и эффективный L2TP/IPsec и универсальный OpenVPN, который можно использовать не только по UDP, но и по TCP транспорту. Для максимальной безопасности имеет смысл поменять стандартный порт 1194 на произвольный.

Настройка VPN-клиента осуществляется в разделе сетевых подключений, и здесь так же доступны три типа туннелей: PPTP, IPSec и OpenVPN. Последний настраивается путём импорта .ovpn файла, без ручных настроек.

На данном этапе мы произвели все настройки, чтобы защитить учётные записи от попыток похищения пароля или взлома методом перебора. Ещё раз спешу заметить, что пока что наши действия относятся только к web-панели NAS-а, и не касаются хранимых на нём данных.

2 — настраиваем беспарольную аутентификацию

Всё большую популярность набирают методы идентификации пользователя не через пару логин/пароль, а через токен, которым может выступать как аппаратный ключ, так и смартфон. Начиная с версии DSM 7, в NAS-ах Synology поддерживаются оба этих метода. Для идентификации с аппаратным ключом потребуется, чтобы NAS был доступен по HTTPs через доменное имя, например nas.yourdomain.com, что не всегда возможно и желательно. Идентификация через смартфон не требует даже «белого» IP адреса, и работает через встроенную систему доменных имён Synology QuickConnect.

Настройка проста: всё что нам нужно — это установить на смартфон нужного пользователя программу Synology SignIn, и в свойствах пользователя включить беспарольный вход. После этого сканируем сгенерированный QR-код из приложения, подтверждаем его в настройках NAS-а — и всё. Теперь при попытке войти в NAS вам предложено будет только ввести логин, после чего на смартфон будет отправлено уведомление с просьбой подтвердить вход на устройство. Но возможность аутентификации вводом пароля с клавиатуры остаётся как резервный вариант на случай если смартфон разрядился/потерялся и т.д.

1 — отключаем учётку Admin и настраиваем политику паролей

По умолчанию на NAS-ах Synology отключен терминальный доступ, а веб-интерфейс вынесен на порт 5000. Чтобы защититься от подбора пароля администратора, первым делом отключаем учётную запись admin / administrator, присваивая админские функции вновь созданному пользователю. В настройках пользователя можно задать политику для пароля, хотя настроек по умолчанию (8 символов разного регистра + цифры + спец.символы) будет достаточно.

NAS может интегрироваться не только в доменную службу Domain/LDAP, но и выступать как единое средство аутентификации, чтобы пользователь мог логиниться в другие приложения через Synology, как это сделано через Facebook и Google на различных веб-сайтах. Такой подход позволяет централизованно хранить учётные данные пользователя и снизить область атаки для похищения логина/пароля даже если брешь присутствует в других, сторонних приложениях.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: