Безопасность кластера
Устранение неполадок аутентификации и шифрования сообщений
При возникновении ошибок коммуникации кластера (например, при отказе верификации кластера или если C-SPOC не может связаться с другими узлами) следует отключить и аутентификацию сообщений и шифрование сообщений:
- Перейдите в SMIT HACMP Cluster Security (Безопасность кластера HACMP): выполните smit cm_config_security.
- Выберите Configure Message Authentication Mode and Key Management (Конфигурирование режима аутентификации сообщений и управления ключами).
- Выберите Configure Message Authentication Mode (Конфигурирование режима аутентификации сообщений).
- В разделе Message Authentication Mode (Режим аутентификации сообщений) выберите None.
- Установите в поле Enable Encryption (Включить шифрование) значение No (Нет).
- Нажмите Enter.
- Выполните синхронизацию кластера.
Проверка текущих параметров аутентификации сообщений
Текущие параметры аутентификации и шифрования сообщений можно проверить следующим образом:
- Запустите smit hacmp.
- Выберите Extended Configuration (Расширенное конфигурирование).
- Выберите Extended Topology Configuration (Расширенное конфигурирование топологии).
- Выберите Show HACMP Topology (Отображение топологии HACMP).
- Выберите Show Cluster Definition (Отображение определения кластера). Нажмите Enter для вывода параметров определения кластера (рис. 9.4).
Защищенное удаленное выполнение команд в HACMP
Скрипты запуска и остановки приложений, настраиваемые скрипты обработки событий и прочие скрипты могут требовать выполнения команд на удаленных узлах. Для этой цели все еще можно использовать rsh, однако это небезопасно, так как при этом аутентификация основана на файле .rhosts. Мы настоятельно рекомендуем использовать Secure Shell (SSH). Кроме того, функционирование DLPAR также требует применения SSH.
SSH и Secure Socket Layer (SSL) совместно обеспечивают аутентификацию, конфиденциальность и целостность данных. Аутентификация SSH основана на инфраструктуре открытых-закрытых ключей1Более распространен термин "Public Key Infrastructure, PKI" (инфраструктура открытых ключей), наличие закрытого (private) ключа подразумевается. , тогда как SSL осуществляет шифрование сетевого трафика.
SSH содержит следующие утилиты, заменяющие классические r-команды:
ssh защищенная удаленная оболочка, подобная rsh или rlogin; scp защищенное удаленное копирование, подобное rcp; sftp утилита зашифрованной передачи файлов, подобная ftp.
Установка SSH
Весьма удобно, что IBM поставляет SSH и все его компоненты вместе с AIX. Ниже приведен список требуемых компонентов.
Другой вариант состоит в том, чтобы скопировать наиболее актуальные пакеты из Интернета:
- OpenSSL с сайта IBM AIX Toolbox for Linux Applications (требует процедуры регистрации продолжительностью в несколько минут): http://www6.software.ibm.com/dl/aixtbx/aixtbx-p
- OpenSSH для AIX:
http://www.sourceforge.net/projects/openssh-aix
В нашем тесте мы использовали openssl-0.9.6m-1 и openssh.3.8.0.53.
Установка состоит из следующих этапов:
- Убедитесь в том, что установлен rpm.rte: lslpp -l rpm.rte.
- Убедитесь в том, что установлен Perl: lslpp -l perl.rte.
- При использовании AIX 5.1 или 5.2 следует установить Prngd с диска AIX Toolbox for Linux Applications CD через SMIT.
- Установите OpenSSL. Можно применять smit install_latest для его установки с
диска AIX Toolbox for Linux Applications CD. В противном случае следует использовать
команду rpm:
rpm -i openssl-0.9.6m-1.aix5.1.ppc.rpm
- Используйте smit install_latest для установки openssh.base, файла лицензии и соответствующих языковых наборов файлов.
- Запустите демон SSH: startsrc -s sshd.
Настройка SSH для удаленного выполнения команд без пароля
Некоторые скрипты могут требовать использования SSH и SCP в конфигурации без применения паролей. В этом случае SSH использует пары открытых и закрытых ключей для аутентификации. Закрытый ключ хранится на локальном хосте, тогда как открытый ключ пересылается на удаленные узлы и добавляются в их базу данных авторизованных ключей.
При выполнении команды SSH (например, ssh node2 date ) коммуникация подписывается с использованием закрытого или секретного ключа узла-источника. Эту подпись можно дешифровать только с применением открытого ключа узла-источника. Если узел-получатель может успешно дешифровать подпись, это подтверждает подлинность узла-отправителя.
Для настройки удаленного выполнения команд через SSH без паролей следует выполнить следующие действия на всех узлах кластера:
- Выполнить вход в систему под требуемой учетной записью.
- Сгенерировать пару ключей аутентификации:Нажмите Enter для ввода пароля-фразы из нескольких слов. Эта команда генерирует два файла:
ssh-keygen -t rsa -f ~/.ssh/node1
- ~/.ssh/node1: файл секретного ключа;
- ~/.ssh/node1.pub: файл открытого ключа.
- Переименуйте файл секретного ключа, назначив ему имя identity:
mv ~/.ssh/node1 ~/.ssh/identity
- Добавьте открытый ключ в файл authorized_keys на локальном узле, чтобы
SSH мог работать на локальном хосте ( localhost ):
cat ~/.ssh/node1.pub >> ~/.ssh/authorized_keys
- Скопируйте свой открытый ключ на все остальные узлы:Повторите эту команду для каждого узла в кластере.
scp ~/.ssh/node1.pub nodeX:~/.ssh/node1.pub
- Добавьте открытый ключ узла node1 в файл authorized_keys на удаленных
узлах:Повторите эту команду для всех узлов в кластере.
ssh nodeX "cat ~/.ssh/node1.pub >> ~/.ssh/authorized_keys"
- Повторите действия пп. 1–6 на всех узлах.
Теперь SSH должен работать на всех узлах не запрашивая пароль.
Дополнительные сведения об OpenSSL и OpenSSH можно найти в Интернете:
- веб-сайт проекта OpenSSL: http://www.openssl.org
- страница проекта OpenSSH: http://www.openssh.org
- OpenSSH на AIX: http://www.sourceforge.net/projects/openssh-aix