Реализация отказоустойчивости и катастрофоустойчивости в СКДПУ НТ

Всем привет! Меня зовут Алексей Ширикалов, я ведущий инженер поддержки продаж «АйТи Бастион». И я хочу рассказать об отказоустойчивости и катастрофоустойчивости в PAM-системе СКДПУ НТ.

 

Как и любая система, работающая с чувствительными для бизнеса процессами, PAM-система требует резервирования. Временная приостановка работы такой системы может негативно сказаться на критических бизнес-процессах компании даже при её кратковременности. А потеря чувствительных данных (например, паролей от целевых систем) способна и вовсе остановить работу организации. Именно для этого следует использовать отказоустойчивые конфигурации систем.

Один шлюз доступа СКДПУ НТ способен пропускать через себя до 450-500 конкурентных сессий. Необходимость добавления дополнительных шлюзов может быть вызвана не только потребностью в горизонтальном масштабировании, но и резервированием инфраструктуры. Даже при минимальном количестве одновременных сессий рекомендуется предусматривать отказоустойчивую инсталляцию.

Проанализировав возможные варианты повышения надежности СКДПУ НТ, мы пришли к варианту кластера высокой производительности с использованием разработанных в «АйТи Бастион» механизмов репликации и внешним балансировщиком. Такой подход позволяет не только зарезервировать систему, но и распределить нагрузку. Очевидные плюсы такой реализации:

— возможность работы в режиме active-active или active-passive;

— распределение нагрузки между нодами кластера;

— легкость управления конфигурацией и восстановления системы при сбоях;

— возможность добавления новых нод без переконфигурирования;

— гибкая настройка вариантов подключения пользователей к системе;

— бесшовное переключение при отказе одной из нод;

— возможность реализации в виде гео-распределенного решения.

Теперь давайте углубимся в технические особенности и описание реализации. Состав классической инсталляции:

— кластер балансировщиков, состоящий из 2-х серверов;

— 2 шлюза доступа СКДПУ НТ;

— 2 модуля мониторинга и аналитики с модулями репликации.

Работа пользователей

Пользователи используют виртуальный IP-адрес кластера балансировщиков (или hostname) для подключения по протоколам https/ssh/rdp к системе СКДПУ НТ. Балансировщик направляет пользователя на одну из нод шлюза доступа с пробросом ip адреса клиента на СКДПУ НТ.

Работа администраторов

Администраторы шлюза доступа выполняют изменение политик и конфигураций на ноде Master. Сюда входят: политики подключений, учетные записи, пароли, целевые устройства и другая изменяемая администратором или системой информация. Статус этой ноды не меняется. Внесенные изменения реплицируются на ноды со статусом slave.

Работа аудиторов

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

Работа системы внутри

В инфраструктуре возможно использовать собственный или включенный в состав комплекса корпоративный балансировщик. Сейчас для балансировки мы используем haproxy совместно с keepalived. Отказоустойчивость балансировщиков реализована собственными методами. Доступ к балансировщикам осуществляется по выделенному адресу (hostname или ip). Они мониторят доступность шлюзов и, согласно заданной логике, по необходимым портам перенаправляют подключения на ноду СКДПУ НТ.

Логика балансировщика настраивается достаточно гибко. Она позволят выбрать различные методы (например, привязка к ip клиента) или распределить подключения между шлюзами согласно «весам», используя классический механизм roud robin, где на 2-й шлюз будет идти, например, каждое 2-е или каждое 10-е подключение. Таким образом, при выходе одного из шлюзов из строя подключения до целевых устройств будут открываться и записываться.  

Все изменения конфигураций осуществляются через web-интерфейс ноды master. Затем новые конфигурации будут направлены на ноды slave методом репликации. Репликация представляет собой механизм, расположенный на модуле Мониторинга и аналитики. Он позволяет методом get и post запросов api получать данные из СКДПУ master и переносить их на slave. При восстановлении ноды после отключения с помощью средств репликации на нее автоматически будет перенесена актуальная конфигурация СКДПУ. Конфигурация не требует прямой зависимости от статуса нод, что позволяет ей быть максимально гибкой и устойчивой к отказам и восстановлениям.

Сами сервера СКДПУ НТ Мониторинг и аналитика резервируются дублированием поступающих данных из Шлюзов доступа. Дублироваться может и модуль репликации.

Для централизованного хранения записей сессий мы можем использовать удаленное хранилище с шифрованием и резервированием собственными средствами (например, зеркалированием). Возможные форматы хранилища — CIFS или NFS. Важно, что даже при полном отказе одной из нод Шлюза доступа мы оставляем возможность восстановления записи сессий для просмотра и, возможно, выявления инцидента, который повлек за собой отказ шлюза. При отказе внешнего хранилища предусмотрена запись сессий на локальное хранилище до восстановления.

Для самых чувствительных данных – учетных записей и паролей – мы можем создать дополнительное резервирование. В этом случае хранилище паролей «выносится» отдельно вглубь инфраструктуры и может быть зарезервировано методом репликации. Таким образом, на удаленном хранилище паролей будут располагаться все УЗ целевых устройств и политики их смены. Актуальные пароли будут запрашиваться со шлюзов и подставляться в авторизации для входа пользователей.

Но вышеописанные методы могут не сработать, если из-за выключения электричества или сети ЦОД будет недоступен в целом! Поэтому появляется необходимость не только в резервировании в рамках одного ЦОД, но и в гео-распределенном резервировании серверов или даже целого ЦОД. Формат такой инсталляции – катастрофоустойчивая. Отличие от отказоустойчивости – в территориальной «разнесённости» серверов и защите системы не только от внутренних, но и от внешних факторов. В рамках такой инсталляции мы дублируем нашу отказоустойчивую конфигурацию из ЦОД №1, расположенного, например, в Москве в ЦОД №2, например, в Туле. При этом ЦОД №2 может находиться как в статусе Active, так и в холодном резерве на случай отключения основного ЦОД. При этом данные из ЦОД №1 методом репликации направляются на ноду мастер ЦОДа №2. Репликация не требует большого количества ресурсов и скоростного канала передачи данных. При наличии сетевой связанности она позволяет выполнять синхронизацию даже на значительно удаленные площадки. При возникновении сбоя передачи данных система не упадет в «аварийный режим», а будет пытаться перенести данные заново без задействования оператора.

Таким образом, у системы СКДПУ НТ есть возможность гибкой настройки отказоустойчивых режимов инсталляции, что позволяет не только не потерять чувствительные данные, но и минимизировать риски простоя критически важных бизнес-процессов компании. Инсталляция может задействовать резервирование всех узлов и даже целого ЦОДа в зависимости от критичности объектов инфраструктуры.