Привет! Меня зовут Денис, в ЮMoney я занимаюсь развитием и сопровождением процессинга. Расскажу, как мы внедряли отечественный HSM-модуль, с какими сложностями столкнулись в процессе тестирования, а ещё о загадочном исчезновении оперативной памяти и бунтующих блоках питания.

Скрытый текст
5 и 6 декабря пройдёт ежегодная конференция ЮMoneyDay. Наши разработчики, аналитики, продакты и другие специалисты поделятся опытом работы над финансовыми продуктами. Подробности скоро разместим в телеграм-канале.
Что такое HSM
Платёжный HSM — это шифровальная машина, или модуль безопасности платёжных систем. Используется в банковских и платёжных системах для защиты транзакций и пользовательских данных. Вот так выглядит в нашем дата-центре:

Почему мы решили заменить оборудование
В 2023 году французская корпорация, устройствами которой мы пользовались, объявила об уходе с российского рынка и прекратила поддержку ПО. На фоне этого в России появились первые отечественные HSM-модули, и банки стали массово переходить на них. Мы провели тендер и выбрали отечественного производителя по следующим критериям:
совместимость на уровне ПО;
высокая производительность из коробки;
удобный веб-интерфейс;
расширенные возможности мониторинга.
Несмотря на то, что совместимость оборудования была стопроцентной, настройка конфигураций, изучение спецификаций и тесты заняли время. Первые тесты были не очень успешными: устройство сбрасывало рабочий режим примерно через несколько дней после ввода в эксплуатацию. Совместно с вендором решили, что отправим устройство им на диагностику и последующую перепрошивку.
После того как получили его обратно, приступили к вводу в эксплуатацию: инициализировали устройство, загрузили LMK, сконфигурировали сетевые настройки в веб-интерфейсе HSM, подготовили настройки со стороны нашего ПО, поставили трафик на мониторинг.

Нюансы, с которыми мы столкнулись, и их решения
Загадочное исчезновение памяти. При анализе на большом сроке инфраструктурных метрик мы заметили, что каждый день куда-то утекали 10 МБ оперативной памяти.

Об этом мы сообщили вендору. Коллеги не сразу нам поверили, но анализ логов с их стороны показал, что это связано с особенностью работы мониторинга устройства, хранения статистики и системных логов внутри. Пропажу памяти вылечили в новой прошивке, которую мы получили от вендора через несколько месяцев. Если кратко, для сбора метрик мы пользовались протоколом SNMPv1, и вендор в новой версии прошивки добавил поддержку SNMPv2. После переконфигурации под неё проблема с утечкой ушла.
-
Одни порты на двоих. У HSM, который мы выбрали, есть два оптических входа-выхода, и каждый сконфигурирован так, чтобы находиться в отдельной подсети.
Напрямую его можно подключить только к оптическому switch. И, поскольку у нас в дата-центрах, как и у многих, используются BASE-T-коммутаторы, пришлось создавать ещё одно звено в подключении устройств к нашей сети, а именно медиаконвертер. Это сетевой конвертер, который преобразует один вид сигнала в другой, в нашем случае оптику в медь. С одной стороны у медиаконвертера оптический вход-выход, а с другой — ethernet-порты. Мы долго обсуждали возможность установить отдельный оптический switch исключительно для HSM, но решили ничего не менять — пока что оставили схему с подключением через медиаконвертеры.

Саботаж блоков питания медиаконвертеров. Они периодически принимали самовольное решение выйти из строя, что приводило к нежелательным для нас результатам. Решили заменить блоки на более надёжные аналоги. За последний год с новыми БП проблем не возникло.
Фокус с исчезновением мониторинга. Базово HSM настроен на работу с трафиком в своем дата-центре. На уровне ПО у нас настроено резервирование из одного ДЦ в другой. При этом трафик SNMP (мониторинг) идёт только по одному из портов, а значит, при выходе из строя БП конвертера для этого порта мониторинг пропадает. Устройство будто выпадает из эксплуатации, становится для нас невидимым. Это особенность устройства, на которую мы не могли повлиять. Для решения можно использовать бондинг сетевых интерфейсов HSM (объединение двух физических в один виртуальный). Однако выяснилось, что в текущей конфигурации ПО HSM настройка бондинга интерфейса 802.3ad не имеет смысла — пока что поддерживается только она. Планируем запросить, чтобы в будущих версиях прошивки добавили возможность настройки интерфейса 802.1q.
-
Не тот провод и таинственные потери пакетов. В какой-то момент мы стали замечать, что периодически начали срабатывать триггеры о потере пакетов на интерфейсах одного из устройств. Но у такого критически важного элемента инфраструктуры процессинга не должно быть никаких сетевых потерь, поэтому мы вывели устройство из эксплуатации и стали исследовать проблему. В процессе тестирования мы, например, выявили загадочную ситуацию, когда один из сетевых интерфейсов подвисал при запросе данных по SNMP. Эта проблема ушла после перехода на использование SNMPv2. В итоге мы даже отправили HSM вендору на диагностику, однако там ничего аномального не нашли и ситуацию с потерями пакетов сымитировать не смогли. Причина ситуации по итогу обнаружилась «на полях».
Тут снова про оптику. Кабели для подключения оптики бывают двух видов:
Single Mode и Multi Mode. Они отличаются диаметром сердцевины и использованием разных длин волн света. Если кратко, в одномодовом свет проходит через волокно по одному пути, а в многомодовом — по нескольким разным.Оказалось, что при подключении устройства в одном из ДЦ был использован многомодовый кабель, тогда как эти HSM, согласно спецификации, необходимо подключать только одномодовым. После выбора корректного оптического патча проблема ушла.
Помимо описанных ситуаций, иногда возникали также различные необъяснимые аномалии в поведении устройства. Но они или не влияли на его работу, или не повторялись. Рекорд работы на проде без сбоев — почти год! — показало одно из наших устройств. К сожалению, недавно оно спонтанно вышло из строя и перестало реагировать на попытки перезагрузить его удалённо. Пришлось перезагружать его вручную в ДЦ, а затем отдавать вендору для анализа.
Итоги
Процесс импортозамещения HSM оказался не таким простым, как думалось изначально. Наш путь внедрения новых устройств занял около полутора лет, за это время мы столкнулись с самыми разными сложностями. На мой взгляд, две основные причины — использование оптики для подключения и выход новых прошивок.
Лично я считаю, что выбор оптических интерфейсов в данном случае не оправдан, так как для подобного устройства с головой хватило бы пропускной способности ethernet-портов. Получается, что для подключения HSM нужно или покупать и ставить оптический switch только для него, или, как мы, подключать через медиаконвертер дополнительное звено в цепочке, у которого свои точки отказа.
У частого обновления прошивки есть как плюсы, так и минусы: оно расширяет функционал и решает возникающие проблемы, но рождает новые, которых не было в предыдущих версиях.
Отмечу, что по работе я поддерживаю контакт с коллегами из финтеха и от них слышу самые разные отзывы об этом устройстве. У всех свой путь со своими шероховатостями. Тем не менее, многие ожидали более «сырой» продукт. Даже с учётом всего описанного производитель смог предоставить конкурентное устройство, которое рано или поздно будет доработано «в бою» и сможет полностью заменить старые зарубежные HSM.
Вам интересна тема «железа» в финтехе? Пишите в комментариях, о чём вам хотелось бы узнать.
Это один из докладов, который звучал на ежегодной конференции ЮMoneyDay. В этом году мы готовимся провести её снова. 5 и 6 декабря наши разработчики, аналитики, тестировщики, продакты и другие специалисты поделятся своим опытом работы над финансовыми продуктами. Подробности скоро разместим в телеграм-канале. Подписывайтесь, чтобы не пропустить.