Примечание.: Команды, описанные в этой статье, предназначены ТОЛЬКО для использования с кластером Isilon. Он не предназначен для использования с внешним сервером Linux.
Примечание.: Isilon не обновляет сертификат автоматически. Ее необходимо продлить вручную, выполнив действия, описанные в этой статье, в кластере Isilon.
Введение
В этой статье объясняется, как заменить или обновить сертификат Secure Sockets Layer (SSL) для веб-интерфейса администрирования Isilon. Следующие процедуры включают в себя варианты замены или обновления самозаверяющего сертификата или запроса на замену или обновление SSL в источнике сертификации.
Необходимые инструменты и навыки
Для выполнения этой задачи необходим URL-адрес для доступа к веб-интерфейсу администрирования Isilon. (В примерах в этой статье используются
https://isilon.example.com:8080/
.) Также удобно будет выполнять команды из командной строки.
Предварительные условия
Справочная информация
В следующих списках указаны местоположения по умолчанию для
server.crt
и
server.key
файлы в OneFS 7.0.x и OneFS 8.0.0.
х. В приведенных ниже процедурах обновите шаги, чтобы они соответствовали этой информации установленной версии OneFS.
OneFS 7.0.x и более поздние версии
/usr/local/apache24/conf/ssl.crt/server.crt
/usr/local/apache24/conf/ssl.key/server.key
OneFS 8.0.1.x и более поздние версии
- Получите список сертификатов, выполнив следующую команду:
isi certificate server list
- Сохраните резервную копию исходного сертификата и ключа (только для OneFS 7.0.x — 8.0.0.x).
- Установите соединение по протоколу SSH с узлом и войдите в систему с помощью учетной записи root.
- Выполните следующие команды, чтобы создать папку резервной копии и сохранить исходный ключ и сертификат:
mkdir -p /ifs/data/Isilon_Support/original_ssl_backup
cp /usr/local/apache24/conf/ssl.crt/server.crt /ifs/data/Isilon_Support/original_ssl_backup
cp /usr/local/apache24/conf/ssl.key/server.key /ifs/data/Isilon_Support/original_ssl_backup
Последовательность действий.
Создайте локальный рабочий каталог.
mkdir /ifs/local
cd /ifs/local
Проверьте, требуется ли продлить существующий сертификат или создать сертификат с нуля.
- Обновление существующего самозаверяющего сертификата
При этом создается сертификат продления, основанный на существующем (складском) ssl.key
. Для создания сертификата на два года выполните следующую команду. Увеличьте или уменьшите количество дней, чтобы создать сертификат с другой датой истечения срока действия.
cp /usr/local/apache2/conf/ssl.key/server.key ./ ; openssl req -new -days 730 -nodes -x509 -key server.key -out server.crt
Ответьте на системные запросы, чтобы завершить процесс создания самозаверяющего SSL-сертификата и введите соответствующую информацию для вашей организации.
Например:
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Washington
Locality Name (eg, city) []:Seattle
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Isilon
Organizational Unit Name (eg, section) []:Support
Common Name (e.g. server FQDN or YOUR name) []:isilon.example.com
Email Address []:support@example.com
Когда вы закончите вводить информацию, server.csr
и server.key
Файлы отображаются в /ifs/local directory
.
- (Дополнительно) Проверьте целостность и атрибуты сертификата:
openssl x509 -text -noout -in server.crt
После этого шага перейдите в раздел Добавление сертификата в кластер этой статьи.
- Создание сертификата и ключа
В этой процедуре показано, как создать новый закрытый ключ и SSL-сертификат. Выполните следующую команду, чтобы создать RSA 2048-bit
Закрытый ключ:
openssl genrsa -out server.key 2048
Создание запроса на подписание сертификата:
openssl req -new -nodes -key server.key -out server.csr
Введите соответствующую информацию для вашей организации.
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
- (Дополнительно) Создание CSR для источника сертификатов, который включает альтернативное-имя-субъекта. Если требуется дополнительный DNS, его можно добавить с помощью запятой (,) Например: DNS:example.com,DNS:www.example.com)
openssl req -new -nodes -key server.key -out server.csr -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:example.com"))
При появлении запроса введите информацию, которая будет включена в запрос сертификата. Когда вы закончите вводить информацию, server.csr
и server.key
Файлы отображаются в /ifs/local directory
.
Проверьте, хотите ли вы подписать сертификат самостоятельно или попросить его подписать в источнике сертификатов (CA).
- Самостоятельное заверение сертификата SSL
Чтобы самостоятельно заверить сертификат с помощью ключа, выполните следующую команду, которая создает самозаверяющий сертификат, действительный в течение 2 лет.
openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt
Убедитесь, что ключ соответствует сертификату, — обе команды должны вернуть одно и то же значение параметра md5.
openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
После этого шага перейдите в раздел Добавление сертификата в кластер этой статьи.
- Доступ к источнику сертификатов для подписи сертификата
Если сертификат подписывает центр сертификации, убедитесь, что новый сертификат SSL имеет формат x509 и включает всю цепочку доверия сертификатов.
Обычно ЦС возвращает новый SSL-сертификат, промежуточный сертификат и корневой сертификат в отдельных файлах.
Если CA сделал это , необходимо вручную создать сертификат в формате PEM.
Порядок имеет значение при создании сертификата в формате PEM. Сертификат должен находиться в верхней части файла, за ним следуют промежуточные сертификаты, а корневой сертификат должен быть внизу.
Вот пример того, как выглядит файл в формате PEM:
-----BEGIN CERTIFICATE-----
<The contents of your new TLS certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The contents of the intermediate certificate>
<Repeat as necessary for every intermediate certificate provided by your CA>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The contents of the root certificate file>
-----END CERTIFICATE-----
Простой способ создать файл в формате PEM из интерфейса командной строки — отправить файлы в cat (помните, что порядок файлов имеет значение):
cat CA_signed.crt intermediate.crt root.crt > onefs_pem_formatted.crt
Скопируйте файл onefs_pem_formatted.crt
в /ifs/local directory
и переименуйте его в server.crt
.
Примечание.: При получении файла .cer переименуйте его, присвоив ему расширение .crt.
- (Дополнительно) Проверьте целостность и атрибуты сертификата:
openssl x509 -text -noout -in server.crt
Добавьте сертификат в кластер:
Для OneFS 7.0.x — 8.0.1.x:
- Установите новый сертификат и ключ на каждом узле:
isi services -a isi_webui disable
chmod 640 server.key
chmod 640 server.crt
isi_for_array -s 'cp /ifs/local/server.key /usr/local/apache2/conf/ssl.key/server.key'
isi_for_array -s 'cp /ifs/local/server.crt /usr/local/apache2/conf/ssl.crt/server.crt'
isi services -a isi_webui enable
- Если имеется устаревший или неиспользованный сертификат, удалите его после завершения модернизации до версии 8.0. Следуйте указаниям, приведенным на шаге 5 в OneFS 8.0.1.x и более поздних версиях.
Для OneFS 8.0.1.x и более поздних версий:
- Импортируйте новый сертификат и ключ в систему:
isi certificate server import /ifs/local/server.crt /ifs/local/server.key
- Убедитесь, что сертификат импортирован успешно.
isi certificate server list -v
- Установление импортированного сертификата сертификатом по умолчанию:
- Для OneFS 8.0 и 8.1 команда выглядит следующим образом:
isi certificate server modify --id=<id_of_cert_to_set_as_default> --default
- Для OneFS 8.2 и более поздних версий команда выглядит следующим образом:
isi certificate settings modify --default-https-certificate=<id_of_cert_to_set_as_default>
- Используйте следующую команду, чтобы подтвердить, что импортированный сертификат используется по умолчанию, подтвердив статус «Сертификат HTTPS по умолчанию».
isi certificate settings view
- Если имеется неиспользуемый или устаревший сертификат, удалите его с помощью команды:
isi certificate server delete --id=<id_of_cert_to_delete>
- Просмотрите новый импортированный сертификат с помощью команды:
isi certificate server view --id=<id_of_cert>
Примечание.: Порты 8081 и 8083 по-прежнему используют сертификат из локального каталога для SSL. Если вы хотите использовать новые сертификаты для портов 8081 и 8083, выполните следующие действия.
isi services -a isi_webui disable
chmod 640 server.key
chmod 640 server.crt
isi_for_array -s 'cp /ifs/local/server.key /usr/local/apache2/conf/ssl.key/server.key'
isi_for_array -s 'cp /ifs/local/server.crt /usr/local/apache2/conf/ssl.crt/server.crt'
isi services -a isi_webui enable
Проверка
Существует два способа проверки обновленного SSL-сертификата.
- Перейдите к
https://<common name>:8080
, где <общее имя> — это имя хоста, используемое для доступа к веб-интерфейсу администрирования Isilon. Например: isilon.example.com
- Просмотрите сведения о безопасности веб-страницы. Действия будут различаться в зависимости от браузера. В некоторых браузерах нужно нажать на значок с замком в адресной строке, чтобы просмотреть сведения о безопасности веб-страницы.
- В сведениях о безопасности веб-страницы проверьте правильность строки темы и других сведений. Отобразится вывод, аналогичный следующему, где <yourstate>, <yourcity> и <ваша компания> — это штат, город и название вашей организации:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com
- Установите соединение по протоколу SSH с узлом и войдите в систему с помощью учетной записи root.
- Выполните следующую команду:
echo QUIT | openssl s_client -connect localhost:8080
- Отобразится вывод, аналогичный следующему, где <yourstate>, <yourcity> и <your company> — это штат, город и название вашей организации:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com