Безопасность кластера
Безопасность WebSmit
WebSMIT является очень хорошим инструментом конфигурирования и мониторинга кластера. Однако WebSMIT осуществляет доступ к файлам HACMP и выполняет команды кластера под учетной записью пользователя root. Это является потенциально уязвимым местом в безопасности, однако при тщательном планировании и реализации безопасности риск можно полностью устранить. Этот раздел описывает требования безопасности и механизмы, используемые в средах WebSMIT.
Для обеспечения максимальной безопасности WebSMIT можно выполнить конфигурирование следующих элементов:
- шифрование коммуникаций между клиентом и сервером с использованием SSL;
- SSL-сертификат для аутентификации;
- аутентификация веб-сервера и AIX;
- обеспечение доступа к WebSMIT только для определенных пользователей AIX;
- обеспечение доступа через WebSMIT только к определенным панелям SMIT.
Для аутентификации WebSMIT требует SSL и SSL-сертификат. При установке Apache генерируется самоподписанный (self-signed) сертификат, который можно использовать в WebSMIT.
Параметры безопасности WebSMIT
Параметры безопасности WebSMIT хранятся в файле /usr/es/sbin/cluster/wsm/ wsm_smit.conf. По умолчанию файл содержит максимальные установки параметров безопасности. В этом разделе описываются опции безопасности.
Авторизованный порт
Параметр AUTHORIZED_PORT представляет порт TCP, используемый для коммуникаций WebSMIT. По умолчанию применяется порт 42267. Рекомендуем изменить значение этого параметра на другой номер, чтобы не допустить доступа неавторизованного пользователя к WebSMIT через стандартный порт. Если определить номер порта здесь, то WebSMIT будет использовать тот протокол (http или https), который связан с этим портом в файле конфигурации HTTP-сервера. Например, если определить порт 42267 в качестве порта SSL в файле httpd.conf, то браузер будет использовать шифрование и в URL нужно будет применять "https://".
Принудительное использование защищенного http
Параметр REDIRECT_TO_HTTPS=1 позволяет использовать только защищенные https-коммуникации, чтобы все данные передавались по сети в зашифрованном виде. Если был определен параметр AUTHORIZED_PORT, то эта переменная не применяется. В противном случае будет выполнено перенаправление браузера на порт SSL вне зависимости от введенного URL. Отношение между параметрами AUTHORIZED_ PORT и REDIRECT_TO_HTTPS см. в табл. 9.1.
Аутентификация AIX
WebSMIT может применять аутентификацию AIX вдобавок к аутентификации веб-сервера путем установки параметра REQUIRE_AUTHENTICATION=1. В этом случае WebSMIT запрашивает имя и пароль пользователя AIX. Так как при этом используются механизмы аутентификации AIX, отказы при входе в систему могут вызвать блокирование учетной записи.
Допустимые пользователи
Переменная ACCEPTED_USERS содержит список идентификаторов пользователей AIX, которым разрешен доступ к WebSMIT. Все пользователи, указанные в этой переменной, будут иметь в WebSMIT уровень привилегий пользователя root. По умолчанию задано значение ACCEPTED_USERS="root".
Тайм-аут сеанса
Переменная SESSION_TIMEOUT определяет значение тайм-аута сеанса, по истечении которого пользователь WebSMIT должен выполнить повторный вход в систему вне зависимости от того, активен он или нет. По умолчанию задан тайм-аут в 20 мин.
Идентификатор пользователя веб-сервера
Переменная REQUIRED_WEBSERVER_UID содержит идентификатор пользователя, используемый в скриптах cgi-bin в WebSMIT. Здесь должен указываться тот же идентификатор, который применяется и в веб-сервере. Кроме того, следует убедиться в том, что этот идентификатор пользователя не имеет привилегий входа в AIX, чтобы никто не мог переключиться в эту учетную запись. По умолчанию употребляется учетная запись "nobody".
Разрешение или запрет на доступ к определенным панелям SMIT в WebSMIT
Можно сконфигурировать, к каким панелям SMIT можно получить доступ через WebSMIT. В качестве имени панели SMIT применяется быстрый путь SMIT к заданной панели; вывод этого имени выполняется нажатием F8 в SMIT (рис. 9.5). Например, панель SMIT Extended Topology Configuration (Расширенное конфигурирование топологии) имеет имя "cm_extended_topology_config_menu_dmn".Файл /usr/es/sbin/cluster/ wsm/wsm_smit.allow содержит список панелей SMIT, к которым разрешен доступ из WebSMIT. Ко всем остальным панелям доступ запрещен.
Рис. 9.5. Быстрый путь к панели SMIT Extended Topology Configuration (Расширенное конфигурирование топологии)
В файле /usr/es/sbin/cluster/wsm/wsm_smit.deny можно перечислить панели SMIT, недоступные из WebSMIT. Если панель задана и в .allow- и в .deny-файле, приоритет имеет указание в .deny-файле.
Если панель SMIT указана в файле /usr/es/sbin/cluster/wsm/wsm_smit.redirect, WebSMIT выполняет перенаправление страницы на заданный URL. Этот файл уже содержит некоторые панели, которые не следует изменять.
################################# # webSMIT .allow file # ################################# cm_hacmp_main_menu_dmnПример 9.1. Пример файла /usr/es/sbin/cluster/wsm/wsm_smit.allow
Журналы WebSMIT
WebSMIT регистрирует все свои операции в журналах, подобно SMIT. Файл wsm_ smit.log расположен в каталоге ../log относительно скриптов cgi-bin. Например, при использовании скриптов cgi-bin из заданного по умолчанию каталога /usr/es/sbin/ cluster/wsm/cgi-bin файл журнала находится в каталоге /usr/es/sbin/cluster/wsm/log. Кроме того, в файл wsm_smit.script записывается последняя команда WebSMIT. HACMP не осуществляет управление этими файлами журналов, они могут неограниченно расти, подобно файлу smit.log. Команда snap -e может осуществлять сбор файлов журналов WebSMIT, только если они находятся каталоге по умолчанию /usr/ es/sbin/cluster/wsm/log.
HACMP и брандмауэры
При размещении кластера HACMP за брандмауэром следует учитывать следующие аспекты:
- HACMP не требует наличия какого-либо открытого порта на брандмауэре; отсутствует внешний трафик от Clcomd, RSCT или от диспетчера кластера (Cluster Manager). Открытые порты требуются только для управления приложением и системой (например, SSH).
- Необходимо убедиться в том, что все сервисные IP-адреса могут осуществлять обмен данными с внешней сетью вне зависимости от их привязки. Следует учитывать, что при отказе сети сервисный интерфейс перемещается с одного базового адаптера на другой. В случае перемещения при сбое сервисный адрес отказавшего узла перемещается на другой узел.
- Не следует помещать брандмауэр между узлами. В кластере HACMP/XD узлы могут подключаться через открытую сеть. В этом случае следует использовать виртуальные частные сети (Virtual Private Networks) или другое решение, прозрачное для демона коммуникаций кластера (Cluster Communication Daemon).
- При использовании файла netmon.cf для улучшенного обнаружения отказов сети убедитесь в том, что IP-адреса, указанные в этом файле, доступны через брандмауэр (с помощью команды ping).
- Если имеются клиенты Clinfo, работающие через брандмауэр, следует открыть порт clinfo_client: 6174/tcp. Решение на основе брандмауэра должно быть реализовано по принципу избыточности; в противном случае брандмауэр становится единой точкой отказа.