для чего выполняется приостановка nas
Что станет с челябинской компанией АСКО после приостановки лицензий
Центробанк приостановил лицензии старейшей страховой компании Южного Урала — «АСКО-Страхование», которая давно вышла за пределы региона и считалась серьезным игроком на рынке. Как сообщили в департаменте внешних связей Агентства страхования вкладов, в компании введено внешнее управление, через 45 дней прекратят действие договоры страхования, клиенты получат назад часть своих страховых премий. Исключение — договоры обязательного страхования, которые продолжат действовать до конца срока, обязательства по ним будет нести АСВ.
В пресс-службе компании «АСКО-Страхование» сегодня не стали комментировать приостановку лицензий. Теперь уже бывший руководитель, сын основателя компании Алексей Любавин также не стал говорить о ситуации.
«Временная администрация должна выпустить пресс-релиз с ответами на все вопросы», — сказал Znak.com Любавин.
Компания «АСКО-Страхование» — это челябинский бренд, она работает с 2001 года. Основатель и владелец компании — Аркадий Любавин. Последние годы компания вела активную экспансию в регионы — работала в 35 субъектах РФ. В 2017 году АСКО вышла на Московскую биржу и активно торговала акциями. Этой осенью компания провела довыпуск 178 млн акций номинальной стоимостью в 1 рубль, до последего момента акции торговались выше номинала.
Как сообщили Znak.com участники финансового рынка Челябинска, страховая компания не смогла справиться с требованием ЦБ об увеличении размера обеспечения. Выпуск акций не позволил получить необходимую сумму, собственники вели переговоры с потенциальными инвесторами, но они ничем не закончились.
По словам финансового эксперта, краудфандера Глеба Иванова, приостановка лицензий не была для компании неожиданнстью.
«Владельцы решали этот вопрос, поэтому и был произведен выход на биржу, — говорит эксперт. — О проблеме знали давно, и варианты должны были прорабатывать. Возможно, тут примешаны какие-то политические истории, так как АСКО — слишком жирный актив. По финпоказателям компания была очень надежная, люди, которые стояли у руля, — профессионалы. За ними „схематозов“ никогда не было. Я это могу сказать и как эксперт, и как клиент: мне выплатили по страховке за два дня. В плане сервиса все было очень хорошо выстроено».
Основной массив договоров АСКО касался ОСАГО. В Челябинске этот рынок можно назвать «диким» — из-за большого количества автоподставщиков и целого сектора юристов, которые «выдаивали» страховые компании за счет допэкспертиз пострадавших машин и увеличения размеров выплат. Это явление приобрело настолько массовых характер, что негативно влияло на рынок в целом. Из-за этого в Челябинской области действует один из самых высоких тарифов ОСАГО и периодически происходят коллапсы, когда компании либо отказываются продавать полисы, объясняя это, например, отсутствием бланков, либо навязывают дополнительные услуги. В этой ситуации «АСКО-Страхование» была компанией, которая продолжала стабильно продавать полисы ОСАГО.
«Когда ЦБ отзывает лицензию, всегда есть правопреемник, — говорит Глеб Иванов. — Думаю, что все обязательства будут исполнены, а на месте АСКО появится какой-то федеральный игрок. Просто кому-то этот актив понадобился. Клиентская база в несколько миллионов человек с хорошей работой с рисками. Актив очень хороший».
Представитель АСИ в Челябинской области Дмитрий Довженко считает, что региональные власти должны были помочь АСКО с поиском инвесторов.
В АСВ рассказали, что делать клиентам «АСКО-Страхование» после отзыва лицензии
«Это последняя — именно челябинская — страховая компания. Обычно такие компании принято спасать, потому что они системообразующие для региона, — считает Довженко. — Если область хочет быть самостоятельной, нужно найти способ поддержать компанию. Если такие попытки были, то объяснить, по каким причинам не вышло. Речь не про то, чтобы бюджет вложил деньги, но власти должны были сделать все, чтобы найти инвестора. Для меня удивительно, почему местный бизнес не включился в этот процесс. Я наблюдал такое с компанией „Жасо“, в свое время ее можно было выгодно купить, но все челябинские банки просто отказались, хотя это была хорошая сделка. Такая компания как АСКО — это налоги, политика, экспансия, рабочие места. Сейчас федеральные компании качают деньги из регионов в Москву. А АСКО качала деньги из других регионов в Челябинск. Это была ценность. Но ее потеряли».
По мнению еще одного эксперта регионального финансового рынка, «АСКО-Страхование» погубили быстрая и отчасти бездумная экспансия в другие регионы и поглощение других страховых компаний.
По мнению собеседника Znak.com, есть три составляющие краха компании. Первое и основное — ошибка менеджмента: при активном наращивании портфеля компания была обязана увеличивать собственный капитал, но не делала этого.
«Все это прекрасно понимали, но по какой-то причине не делали этого. Возможно, планировали, но не успели, — говорит эксперт. — Это привело к тому, что они продавали полисы с повышенным коэффициентом, поскольку таковы правила. Это еще больше уменьшало их собственный капитал. Когда менеджмент компании увидел, что такая тенденция может привести к краху, им нужно было резко останавливать наращивание портфеля и приводить дела с собственным капиталом в порядок, но они не сделали этого. Центробанк понял, что риски слишком высоки, так как не соблюден баланс, и отозвал лицензии».
У челябинской компании АСКО отозвали лицензии на ОСАГО и другие виды страхования
Второй пункт, по мнению нашего собеседника, следует из первого. С нового года вступают изменения в закон, по которым из расчета собственного капитала страховых компаний убирается недвижимое имущество, то есть объекты недвижимости не будут учитываться при расчете объема капитала. У «АСКО-Страхование» таких объектов очень много, и без них капитал еще уменьшится. Об этих новациях Центробанк предупредил всех еще летом этого года, поэтому к грядущим изменениям надо было готовиться.
Третий пункт — так называемые инфляционные ножницы. Значительная часть портфеля АСКО — это полисы ОСАГО, стоимость которых регулируется тарифом. Но дело в том, что за последний год издержки от реализации услуг по автострахованию выросли из-за роста цен на запчасти, сами автомобили и их ремонт, а вот тариф пока не вырос. Таким образом, компания тратила порой больше, чем собирала. И это также повлияло на уменьшение капитала.
«Рынок страхования жестко регулируется, поэтому ЦБ не мог не заметить всего, что происходило с АСКО. Ни о каком рейдерстве тут говорить нельзя, это в чистом виде управленческие ошибки и последствия инфляции, — говорит эксперт. — При этом у компании „здоровое тело“: их выручка за этот год составляет порядка 12 млрд рублей, это очень прилично. Банкротства здесь не будет. Да, портфель компании будет передан другим игрокам, а дальше все зависит от воли собственника: начнет он все заново или продаст компанию».
Использование coroutines из С++20 в связке с NRF52832 и GTest
Появилась идея в домашнем проекте попробовать использовать сопрограммы из С++20 на маленькой железке. В качестве модуля для экспериментов был выбран E73 NRF52832. Из инструментария, который использовался в процессе разработки- arm-gcc-gnu-none-eabi 10.2, MSVC для проверки идей и прогона тестов на Windows-платформе. Изначально было в планах продемонстрировать на чем-то концепцию и как именно их можно было применять. Была идея адаптирования примера в виде мигания светодиодом, но он был слишком простой. Необходимо было придумать что-то более сложное и более полезное, что ли. Таким образом появилась идея переписать драйвер дисплея и пары фрагментов SPI-FLASH в проекте-долгострое.
Небольшой план, что будет в заметке:
Предыстория с транзакциями
Как это работает в общих чертах
Работаем с SPI интерфейсом
Массив команд инициализации
Идеи с std::tuple транзакций
Как работает Task из cppcoro
Как это тестировать?
Добавляем параметрические тесты в GTest
Добавляем черновой вариант драйвера для SPI-FLASH
Добавляем чтение JEDEC ID
Добавляем чтение device id
Ожидание окончания выполнения сопрограммы
0. Перед прочтением
Заметка предполагает базовое знакомство читателя с сопрограммами/их синтаксисом. В силу наличия более подробных статей на тему деталей реализации сопрограмм и их устройства рекомендуются к прочтению следующие материалы:
Серия статей от автора библиотеки cppcoro
В заметке изложение материала может показаться непоследовательным. Предложения буду рад увидеть в виде issues или же в комментариях/сообщениях в Telegram.
Что будет рассмотрено:
драйвер дисплея с использованием сопрограмм, с использованием таблицы инициализации на базе std::tuple и классического варианта на базе массива команд.
фрагмент драйвера для SPI-FLASH памяти
написание тестов на драйвер SPI с использованием параметрических тестов в GTest
Рассмотрение работы и реализация нескольких примитивов из cppcoro библиотеки.
1. Предыстория с транзакциями
Изначально идея переписывания с подхода в виде транзакций появилась как только возникла необходимость расширения транзакционности read-транзакциями. Для формирования очереди отправки этот подход был достаточно удобным, но для очереди приема получалось что-то вроде callback-hell подхода.
В общих чертах, транзакционный подход представлял собой следующую идею:
Т.е. у нас есть некоторое действие до транзакции, сама транзакция и действие, которое будет выполнено после нее. Использование так-же было достаточно удобным:
Этот подход достаточно хорошо себя показал в работе. Типовая задача для применения имела следующий вид:
Выставить состояние порта D/C для дисплея для выбора типа принимаемых данных (команда или данные);
Сформировать DMA- транзакцию;
По ее окончанию выполнить следующую отправку, если блок данных был не полностью отправлен;
Или вернуть состояние порта D/C в исходное состояние и перейти к обработке следующей транзакции.
Недостатки стали проявляться при попытке реализации драйвера для SPI-FLASH которая должна была быть использована в связке с Little FS. Где-то в тот-же период времени было найдено предложение в стандарт С++20 по сопрограммам, просмотрена серия мотивирующих статей:
И было принято решение о переписывании на сопрограммы части существующих драйверов.
2. Как это работает в общих чертах
В С++20 минимальный пример сопрограммы может быть представлен в виде следущей конструкции:
Где полезная нагрузка- ленивый вывод фразы «Hello world». Попробуем реализовать идею использования, только на примере чего-то реальнее. Например, инициализации и работы с дисплеем. Для интереса, весь обмен должен происходить с использованием DMA микроконтроллера.
3. Работа с SPI интерфейсом
В свою очередь, на стороне SPI-драйвера по окончании передачи данных выполняется следующий код:
В целях уменьшения нагрузки на чтение кода- при выполнении transmitBuffer выполняется формирование контекста передачи данных в драйвере, после чего выполняется рассчет целого количества DMA транзакций + размер оставшегося буфера, который так-же будет передан. Далее, по окончанию передачи DMA транзакции выполлняется вызов transmitCompleted где выполняется формирование новой посылки или же выполняется восстановление приостановленной сопрограммы в заданном контексте выполнения( в контексте прерывания или же в главном потоке программы).
4. Итерация на массиве команд инициализации
Нам будут необходимы несколько всопомогательных функций. Их больше, чем две. но в общем случае представим их так:
Массив для инициализации дисплея представлен следующим образом:
Для реализации функции отправки нам необходимо выполнить отправку команд на установку области экрана, в которую будет осуществлена отрисовка, после чего отправить команду на запись в память дисплея и выполнить отправку дисплейного буфера. Что-же. В синхронном варианте, данный код мог бы иметь вид:
А что необходимо изменить, чтобы код стал выполняться ассинхронно? Т.е. выполнили транзакцию по DMA- вернулись в точку приостановки, отправили следующую команду и/или дисплейный буфер и продолжили выполнение? На фрагменте ниже приведены все изменения, которые необходимо выполнить(пратически все).
Дескриптор команды был реализован как:
В свою очередь, для создания таблицы команд для инициализации было необходимо их сохранить в tuple. В первой итерации, это выглядело вот так:
Как распаковать подобный std::tuple дескрипторов? Можно применить std::apply и в нем уже заниматься распаковкой команд для их отправки. В таком случае, произойдет небольшое видоизменение функции для инициализации дисплея.
6. Реализуем when_all_sequence
Прежде всего- зачем он необходим? В общем случае- когда мы хотим вызвать co_await для всех переданных аргументов.
Как было показано в примере выше, у нас есть необходимость распаковать std::tuple команд. Или же, мы не хотим писать несколько раз co_await друг-за другом. Например, в случае отправки команды установки экранной области, нам необходимо передать координаты по X/Y.Фрагмент отправки имеет вид:
Таким образом, получаем возможность не дублировать написание co_await для последовательно выполняемых сопрограмм.
Таким образом, мы получили «ленивую» задачу.
7. Как работает Task из cppcoro
В свою очередь, VoidTask должен определить у себя оператор co_await для возможности его вызова.
Реализация установки continuation представляет собой метод:
Рассмотрим полную реализацию с комментариями для основных моментов:
8. Как это тестировать?
Реализация SPI-драйвера представляет собой шаблонный класс, в который можно передать backend, который будет использоваться для передачи. Решение было принято с целью повышения тестопригодности модуля. В целом, пользователь работает в основном с несколькими методами:
В свою очередь, для тестирования драйвера верхнего уровня необходимо релизовать соответствующий stub-backend + реализовать тесты. Рассматриваемые тестовые сценарии:
передача блока данных меньше размера DMA буфера
передача блока данных размером с DMA буфер
передача нескольких блоков данных размером с DMA буфер
передача нескольких блоков размером с DMA буфер и неполного блока
9. Добавляем параметрические тесты в GTest
Тестирование будем производить с использованием GTest фреймворка. С целью избегания copy-paste для тестов с вышеупомянутыми сценариями- воспользуемся функционалом, позволяющим инстанцировать параметрические тесты.
В нашем случае это будет std::tuple вида:
Реализация данных функций представлена ниже:
Для работы с параметрическими тестами необходимо добавить его определение + инстанцирование. На данном этапе будет опущена реализация примитива SyncWait, она будет приведена далее. Нам она необходима для ожидания окончания работы сопрограммы.
Определение параметрического теста будет иметь вид:
Инстанцирование параметрического теста представлено на фрагменте ниже:
Переданная лямбда позволяет отформатировать название теста, который выполняется.
10. Добавляем черновой вариант драйвера для SPI-FLASH
Рассмотрим добавление драйвера для SPI-FLASH памяти. На первом этапе, рассмотрм получение JEDEC ID и device ID. Условия те-же самые, использовать DMA, ассинхронно, не блокироваться на ожидании событий.
Результат, который мы хотим получить, выглядит следующим образом:
Необходимо изменить тип await_resume у task_awaitable :
Добавить у promise метод return_value :
Сделать Task шаблонным:
Добавить member в promise для сохранения результата.
Полная реализация измененного Promise :
11. Добавляем чтение JEDEC ID
Для чтения JEDEC ID, который представляет собой std::uint32 необходимо добавить в API spi-flash драйвера метод requestJedecId :
Реализация функции prepareXferTransaction следующая: получаем на вход команду в виде tuple + количество пустых посылок. Далее, заполняем передаваемый буфер сначала командой и ее аргументами, передаем, после- пустыми посылками. Для возвращаемого значения возвращаем slice на буфер с принятыми данными
Реализация функции имеет вид:
13. Ожидание окончания выполнения сопрограммы
Иногда может возникнуть необходимость подождать выполнения сопрограммы, т.е. заблокировать выполнение текущего потока до момента, пока не будет завершена сопрограмма. Для этого можно реализовать примитив SyncWait.
Рассмотрим построение этого примитива( в cppcoro он так-же реализован, данный параграф скорее рассмотрение того, как он работает)
Мы хотим получить интерфейс вида:
Т.е. по вызову CoroUtils::syncWait заблокироваться до получения результата.
Примерный интерфейс syncWait :
Для получения возвращаемого типа реализуем структуру AwaitResultGetter :
Вызов makeSyncWaitTask представляет собой последовательность вызовов co_yield co_await :
Где co_await приостанавливает текущий вызов, а co_yield используется для сохранения результата выполненной сопрограммы.
Фрагмент реализации SyncWait для типов с вовращаемым результетом не-void:
США не пойдут против «Северного потока-2», Украине вешают лапшу на уши, – Рябцев
В вопросе запуска и сертификации российского газового проекта «Северный поток-2» США и Германия исходят из собственных интересов. Несмотря на введенные санкции, Вашингтон не будет реально препятствовать запуску газопровода. А заявления о том, что интересы Украины также будут учтены, делаются западными политиками «для отвода глаз».
Такое мнение в эксклюзивном комментарии OBOZREVATEL высказал заместитель директора Научно-технического центра «Психея» Геннадий Рябцев. Он уверен, что США и Германия уже окончательно определили судьбу «Северного потока-2», и он будет запущен.
«Мы видим реализацию собственных интересов и политическую инерцию. В частности, со стороны США. Они ввели санкции, а теперь каким-то образом должны их поддерживать, обосновывать. Сам вопрос уже решен на встрече Байдена и Меркель – что США не будут предпринимать реальных шагов, направленных на остановку проекта», – заявил он.
По мнению эксперта, обнадеживающие заявления в адрес Украины никак не отражают реальное положение дел. Рябцев считает, что это лишь игра.
«Они делаются для отвода глаз, для того, чтобы отдельно взятые политики в отдельно взятой стране думали о том, что их кто-то поддерживает, и вешали лапшу на уши доверчивому населению. Дескать, смотрите, нас поддерживают США», – подчеркнул Рябцев.
«На самом деле с самого начала было ясно, что реализуются собственные национальные интересы Германией и США, а Украина – это что-то такое, что путается под ногами и мешает и первым, и вторым договариваться о некоем геополитическом разделении», – добавил он.
Отвечая на вопрос, почему в таком случае процедура сертификации «Северного потока-2» затягивается, Рябцев заверил, что все дело в бюрократических процедурах. «На сертификацию выделен определенный срок – зачем им торопиться?» – заметил он.
Напомним, США объявили о новых санкциях против проекта «Северный поток-2», но позже они были существенно сокращены. В Вашингтоне заявили, что приостановка санкций – в национальных интересах этого государства. О том, что происходит, читайте в материале OBOZREVATEL.
Неприступный NAS: настраиваем безопасность и защищаем Synology
Современный NAS вполне способен защитить себя от большинства атак и гарантировать не только непрерывность сервиса, но и неприкосновенность хранимых данных. Даже при осуществлении минимальных настроек и следованию рекомендаций производителя, NAS может стать неприступной крепостью для злоумышленника, настолько надёжной, что вы можете подключать устройство напрямую к сети Интернет без Firewall, оставлять буквально в неохраняемом месте (что актуально для периферийных инсталляций), будучи совершенно уверенным, что даже если его физически похитят, ваши данные не окажутся в руках конкурентов и не будут слиты в сеть.
По умолчанию все NAS-ы Synology с завода обеспечивают достаточный уровень безопасности, чтобы обеспечить сохранность данных, и более того, недавно у компании в состав операционной системы DSM был включён пакет Security Advisor, который сканируя настройки устройства, указывает вам на слабые места с точки зрения безопасности и предлагает где-то сменить пароль, где-то изменить настройки, чтобы защититься от потенциальных угроз. Для домашнего или даже SOHO-офиса этого более чем достаточно, но поскольку безопасность никогда не бывает лишней, в этой статье мы расскажем как именно Synology защищает ваши данные и как эту защиту сделать ещё более сильной.
При инициализации NAS-а на устройство скачивается и устанавливается самая свежая версия операционной системы, так что вариант устаревания ОС во время пути от производителя до заказчика исключается. По умолчанию в системе уже установлен пакет Security Assistant, который можно периодически запускать для сканирования системы на предмет уязвимостей. В нашем случае он при запуске обнаружил, что не настроено E-Mail уведомление о новых версиях DSM, и вот такие мелочи здесь никак не отключаются, так что схитрить ради заветных 100% защищённости не удастся.
По умолчанию на NAS-ах Synology отключен терминальный доступ, а веб-интерфейс вынесен на порт 5000. Чтобы защититься от подбора пароля администратора, первым делом отключаем учётную запись admin / administrator, присваивая админские функции вновь созданному пользователю. В настройках пользователя можно задать политику для пароля, хотя настроек по умолчанию (8 символов разного регистра + цифры + спец.символы) будет достаточно.
NAS может интегрироваться не только в доменную службу Domain/LDAP, но и выступать как единое средство аутентификации, чтобы пользователь мог логиниться в другие приложения через Synology, как это сделано через Facebook и Google на различных веб-сайтах. Такой подход позволяет централизованно хранить учётные данные пользователя и снизить область атаки для похищения логина/пароля даже если брешь присутствует в других, сторонних приложениях.
Всё большую популярность набирают методы идентификации пользователя не через пару логин/пароль, а через токен, которым может выступать как аппаратный ключ, так и смартфон. Начиная с версии DSM 7, в NAS-ах Synology поддерживаются оба этих метода. Для идентификации с аппаратным ключом потребуется, чтобы NAS был доступен по HTTPs через доменное имя, например nas.yourdomain.com, что не всегда возможно и желательно. Идентификация через смартфон не требует даже «белого» IP адреса, и работает через встроенную систему доменных имён Synology QuickConnect.
Двухфакторная аутентификация реализуется средством приложения Synology SignIn, и является альтернативой для беспарольного входа. Для настройки производятся все те же шаги, что описаны абзацем выше, с той лишь разницей, что вместо подтверждения пароля, приложение на смартфоне генерирует 6-значный код, который нужно ввести в дополнении ко вводу пароля при доступе в веб-интерфейс. На случай поломки/утери телефона вам следует указать E-Mail для аварийного восстановления доступа.
Для некоторых доверенных устройств (личный ноутбук, рабочий компьютер) можно отключить проверку OTP-кода. Кстати, для генерации OTP-кодов можно использовать и программу Google Authentificator вместо Synology SignIn: точно так же сканируете пригласительный QR-код и просто добавляете Synology DSM к другим вашим сервисам (интернет-банкинг, вход в личный кабинет и т.д.): чертовски удобно.
Двухфакторная и беспарольная аутентификации работают только в пределах Web-интерфейса Synology: это полезно для таких встроенных приложений, как Web-почта, календарь, офисный пакет или чат. Да, всё это может быть запущено в пределах одного NAS, что избавит вас от зависимости от интернет-сервисов. Тем не менее, протоколы файлового и терминального доступа остаются зависимы только от пары логин/пароль, поэтому защита от перебора остаётся важным шагом в настройке безопасности.
На этой же вкладке можно включить защиту от DoS атак без каких-либо дополнительных настроек.
В топовых NAS-ах Synology, монтируемых в стойку, поддерживаются функции проброса сетевого порта в виртуальную машину, запущенную на NAS через Virtual Machine Manager. Для каких-то особых ситуаций развёртывания инфраструктуры я рекомендую просто устанавливать в виртуалку PFSense или OPNSense, чтобы можно было пользоваться признанным во всём мире ПО для сетевой безопасности, но если такой возможности нет, встроенный Firewall не стоит сбрасывать со счетов.
По умолчанию он отключен, и буквально в несколько кликов можно закрыть доступ ко встроенным сервисам NAS-а из регионов, в которых у вас нет ни сотрудников, ни клиентов. Все используемые службами порты уже прописаны, так что выбираем все службы, и запрещаем для примера им доступ из Антарктиды, Анголы и некоторых других стран.
Вообще, VPN-тоннели обычно реализуют с помощью программных или аппаратных шлюзов доступа, но каждый NAS от Synology может выступать как клиентом, так и сервером VPN: без зависимости от стороннего ПО, без лицензий и сложных настроек командной строки. Мы рекомендуем максимально заворачивать внешний трафик через VPN, даже если соединение итак защищено. В серверной части поддерживаются устаревший PPTP, быстрый и эффективный L2TP/IPsec и универсальный OpenVPN, который можно использовать не только по UDP, но и по TCP транспорту. Для максимальной безопасности имеет смысл поменять стандартный порт 1194 на произвольный.
Понятие Data at Transit охватывает любые данные, которые находятся буквально в проводах или в воздухе, то есть передаются между устройствами. Ещё совсем недавно в этой области данные не защищались, поскольку считалось что интранет является безопасной сетью. Наверное, по этой причине по умолчанию в Synology DSM «данные в полёте» не шифруются.
Файловый протокол 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. Здесь всё по умолчанию использует кодирование, и никаких настроек делать не нужно.
Вообще, доступ по SSH вам скорее всего не потребуется, и его можно не включать, но в случае если он всё же нужен, в настройках безопасности вам будет предложен огромный выбор алгоритмов защиты трафика. Я рекомендую отключить поддержку 128-битных ключей, оставив 256-битные и выше.
Осталось только настроить права доступа на общие папки, чтобы исключить возможность доступа с гостевой учётной записи, и почти всё закончено.
Финальным штрихом будет получение сертификата Let’s Encrypt для корректной работы Web-интерфейса устройства через HTTPs. Для этого в локальной сети вам нужно настроить доступ к NAS через домен, так чтобы NAS отзывался на запрос по 80 и 443 портам, для чего можно использовать поддомен 3-го уровня вида nas.mycompany.com. Вы можете создать самоподписанный сертификат или импортировать существующий.
Практически, на этом защита «данных на лету» может считаться оконченной, и время перейти к самому важному, с моей точки зрения, элементу настройки.
К «данным на отдыхе» относится вся информация, находящаяся на накопителях, независимо от того, лежит ли она в кэше или в хранилище, часто она запрашивается либо редко. Здесь Synology предлагает защиту папок общего доступа по стандарту AES-256, используя файловую систему eCryptFS поверх BTRFs или EXT4, в которой каждый файл кодируется индивидуально. Стойкость защиты подтверждена сертификатом FIPS 140, и кодирование настраивается индивидуально для каждой папки общего доступа в любой момент времени, в том числе после создания.
Данная защита помогает при физической краже NAS-а или накопителей: каждый раз при перезагрузке устройства, общая папка находится в неподключённом состоянии, и чтобы её содержимое было доступно, нужно вручную смонтировать её, введя сохранённый ключ.
Если зайти через терминал в неподключённую закодированную папку, то содержимое её будет выглядеть следующим образом:
Для закодированной папки недоступна функция сжатия данных, и некоторые сервисы, например Active Backup или Virtual Machine Manager не могут использовать её в качестве хранилища. Что же касается хороших новостей, то на таких папках поддерживаются снэпшоты (хотя их и нельзя просматривать), а так же кодировать можно гибридные папки, которые используются в качестве облачного диска на ноутбуках и смартфонах.
Вопрос: что делать с iSCSI?
Внутри снимков закодированных папок так же находятся закодированные данные, так что даже при репликации на удалённый сервер, открыть данные без ключа невозможно. Вы не можете просматривать содержимое снэпшотов закодированных папок, что конечно осложняет задачу типа «вытащить нужный файл за вчерашний день. Незащищённые папки имеют доступные снэпшоты, и для их защиты можно использовать защищённое соединение при репликации на удалённый сервер.
Резервирование содержимого самого NAS-а на другой NAS или в облако с помощью программы Hyper Backup поддерживает защиту как при передаче, так и для хранения. Ключ задаётся единожды для задачи резервирования, то есть у вас могут быть разные пароли для сохранения данных в Google и на Synology C2.
В программе резервирования Active Backup for Business кодирование реализовано наиболее удобным способом: каждая задача бэкапа может использовать собственное хранилище (папку верхнего уровня на дисковом томе), которой совершенно не обязательно находиться в смонтированном состоянии, чтобы на неё можно было бэкапиться. Да, вы можете создавать новые задачи или удалять старые, используя защищённую папку, ключ от которой знает только ваш босс. Удобно, правда? И таких папок может быть сколько угодно, вы можете миксовать закодированные и незакодированные хранилища. Ну а подключить закрытую папку вводом пароля придётся при восстановлении бэкапа или для автоматической проверки целостности копий. Кстати, в настройках хранилища можно ввести автомонтирование закрытого хранилища и указать, на каком именно разделе NAS должен хранить ключи доступа, подгружая их после ребута, но я не советую это делать.
Финальные штрихи
Во-первых, настраиваем антивирусное сканирование внутреннего пространства 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