UniFi — Специальная настройка SSL в контроллере, использующая ассистент связки ключей (Mac OSX Keychain Assistant) и OpenSSL

В данной статье описано, как избежать проблем с web-браузером Safari и ошибок в «программном web-интерфейсе» (пример ошибки: «Этот web-сайт является небезопасным»).

Проблема выходит за рамки использования надежного сертификата SSL, выбираемого по умолчанию (если использовать только его, то ничего работать не будет). Создав свое собственное бюро сертификации CA (Certificate Authority) и заменив сертификат, назначенный по умолчанию, самоподписанным сертификатом, Вы сможете избежать ошибок web-интерфейса. В статье описана одна такая попытка (приведены все инструкции) на тот случай, если кто-то пожелает воспользоваться этими возможностями. (Кроме того и для меня будет полезно в этом случае проделать все что описано в статье еще раз!)

Перед тем как начать, сделаю небольшое примечание. Чтобы выполнить описанное в статье, Вам потребуется компьютер, работающий под управлением Mac OSX и OpenSSL.

Вкратце, шаги следующие:
1. Создать бюро сертификации СА
2. Создать сертификат, подписанный созданным СА
3. Экспортировать сертификат и личный (закрытый) ключ.
4. Подготовить файл сертификата
5. Выгрузить файл сертификата в маршрутизатор, чтобы заменить в нем прежний сертификат, который использовался по умолчанию.

Шаги процедуры

Ниже приведено подробное описание требуемых шагов:
1. Создание бюро сертификации СА
Я использовал для этого ассистент связки ключей (Keychain Assistant). Я уверен, что то же самое можно сделать с помощью OpenSSL, однако я пожелал, чтобы моя ОС доверяла этому СА еще и потому, что он создан ее средствами.

1. Откройте Keychain Assistant (Applications > Utilities > Keychain Assistant) (Программы — Утилиты — Ассистент связки ключей)
2. В меню «Keychain Assistant» (Ассистент связки ключей) выберите «Certificate Assistant» (Ассистент сертификации), а затем «Create a Certificate Authority…’ (Создать бюро сертификации)
3. На странице «Create Your Certificate Authority» (Создать собственное бюро сертификации):
a) Присвойте Вашему CA имя, запомните его
b) Identity Type = Self Signed Root CA (Самоподписанное корневое бюро сертификации, выбрано по умолчанию),
c) User Certificate = SSL Server (SSL-сервер)
d) Выберите опцию «Let me override defaults» (Разрешить мне обход назначенного по умолчанию)
e) Вариант: отмените выбор опции «Make this CA the default» (Выбирать это СА по умолчанию)
f) Вариант: измените содержимое поля «Email from» (Email от), впишите в него адрес электронной почты по своему усмотрению
g) Щелкните «Continue» (Продолжить)
4. На первой странице «Create Information» (Создание информации):
a) Serial Number (Серийный номер) = 1
b) Validity Period (days) (Срок действия, дней) = 3650 (Вы можете задать в этой строке такое число, какое Вам заблагорассудится, однако по окончании срока действия сертификата, Вам придется переделать сертификат
c) Вариант: выберите опцию «Create a CA web site» (Создать web-сайт СА) и укажите местонахождение.  (Возможно этого делать не стоит)
d) Отмените выбор опции «Sign your invitation» (Подписать ваше приглашение)
e) Щелкните «Continue» (Продолжить)
5. На второй странице «Create Information» (Создание информации):
a) Заполните поля, подходящие к Вашему случаю и перейдите на следующую страницу
6. На странице «Key Usage Extension for this CA» (Расширение использования ключа для этого СА)…
a) Оставьте все настройки по умолчанию, как есть, щелкните continue (продолжить)
7. На странице «Key Usage Extension for this CA» (Расширение использования ключа для этого СА)…
a) Оставьте все настройки по умолчанию, как есть, щелкните continue (продолжить)
8. На странице «Key Usage Extension for Users of this CA» (Расширение использования ключа для пользователей этого СА)…
a) Оставьте все настройки по умолчанию, как есть, щелкните continue (продолжить)
9. На странице «Extended Key Usage Extension for this CA» (Продление расширения использования ключа для этого СА)…
a) Оставьте все настройки по умолчанию, как есть, щелкните continue (продолжить)
10. На странице «Extended Key Usage Extension for Users of this CA» (Продление расширения использования ключа для пользователей этого СА)…
a) Оставьте все настройки по умолчанию, как есть, щелкните continue (продолжить)
11. На странице «Basic Constraints Extension for this CA» (Основные ограничения расширения для этого CA)…
a) Оставьте все настройки по умолчанию, как есть, щелкните continue (продолжить)
12. На странице «Basic Constraints Extension for users of this CA» (Основные ограничения расширения для пользователей этого СА)…
a) Оставьте все настройки по умолчанию, как есть, щелкните continue (продолжить)
13. На странице «Subject Alternate Name Extension for This CA» (Причина изменения расширения имени для этого СА)…
a) Оставьте все настройки по умолчанию, как есть, щелкните continue (продолжить)
14. На странице «Subject Alternate Name Extension for Users of This CA» (Причина изменения расширения имени для пользователей этого СА)…
a) Оставьте все настройки по умолчанию, как есть, щелкните continue (продолжить)
15. На странице «Specify a Location For The Certificate» (Укажите местонахождение сертификата)…
a) Вариант: Измените местонахождение связки ключей (Пожалуйста, запомните эту связку ключей)
b) Выберите опцию «On this machine, trust certificates signed by this CA» (На этой машине надежные сертификаты подписаны этим СА)
c) Щелкните Create (Создать)

2. Создание сертификата, подписанного созданным СА
Продолжайте с Keychain Access (Доступ к связке ключей)…

1. Перейдите к связке ключей, лежащей там, где Вы сохранили СА и отыщите свой личный ключ СА (всего будет три файла, с одним и тем же именем): сертификат, общедоступный (открытый) ключ и личный ключ)
2. Правой кнопкой мыши щелкните «Private Key» (Личный ключ) и щелкните «Create a certificate with xxxxx…» (Создать сертификат с xxxxx…)
3. На странице «Create your Certificate» (Создание Вашего сертификата)
a) Присвойте сертификату имя. Мне понравилось использовать имя хоста моего маршрутизатора (IE ubnt.local) (Запомните это имя)
b) Identity Type (Тип индивидуальности) = «Lead» (Лидер)
c) Certificate Type (Тип сертификата) = «SSL Server» (SSL-сервер)
d) Выберите опцию «Let me override defaults» (Разрешить мне обходить назначенное по умолчанию)
e) Щелкните continue (продолжить)
4. На странице «Certificate Information» (Информация сертификата)
a) Serial number (Серийный номер) = 1
b) Validity Period (days) (Срок действия, дней)  = 365 (Вы можете задать в этой строке такое число, какое Вам заблагорассудится, однако по окончании срока действия сертификата, Вам придется выпустить сертификат снова)
c) Щелкните continue (продолжить)
5. На второй странице «Create Information» (Создание информации):
a) Заполните поля, подходящие к Вашему случаю и перейдите на следующую страницу
6. На странице «Key Usage Extension» (Расширение использования ключа)…
a) Оставьте все настройки по умолчанию, как есть, щелкните continue (продолжить)
7. На странице «Extended Key Usage Extension» (Продление расширения использования ключа)…
a) Выберите опцию «SSL Server Authentication» (Аутентификация на SSL-сервере
b) Отмените опции всех остальных возможностей
8. На странице «Basic Constraints Extension» (Основные ограничения расширения)…
a) Оставьте все настройки по умолчанию, как есть, щелкните continue (продолжить)
9. На странице «Subject Alternate Name Extension» (Причина изменения расширения имени)…
a) очистить rfc822Name
b) очистить URL
c) dNSName = url/имя хоста Вашего пользовательского интерфейса gui (например, ubnt.local)
d) iPAddress = IP-адрес Вашего пользовательского интерфейса gui
10. На странице «Specify a Location For The Certificate» (Укажите местоположение сертификата)…
a) Вариант: Измените местонахождение связки ключей (Пожалуйста, запомните эту связку ключей)
b) Щелкните Create (Создать)

3. Экспорт сертификата и личного ключа.

1. Перейдите к связке ключей, лежащей там, где Вы сохранили СА и отыщите личный ключ и сертификат (всего будет три файла с одним и тем же именем: сертификат, общедоступный ключ и личный ключ)
2. Правой кнопкой мыши щелкните Certificate (Сертификат) и выберите export (экспорт)
a) Сохраните файл, используя Certificate File Format (Формат файла сертификата) (Запомните имя файла и местонахождение этого файла!)
3. Правой кнопкой мыши щелкните Private Key (Личный ключ) и выберите export (экспорт)
a) Сохраните файл, используя Personal Information Exchange (.p12) File Format(Формат файла для обмена личной информацией (.p12)) (Запомните имя файла и местонахождение этого файла!)

4. Подготовка файла сертификата
Я использовал для этого OpenSSL, хотя думаю, существуют и другие способы.
Далее Вам потребуется немного поработать с командной строкой.

1. Откройте окно терминала (Applications > Utilities > Terminal) (Программы — Утилиты — Терминал)
2. При необходимости: Измените каталог на папку, в которой лежат Ваши файлы сертификата и личного ключа

cd path_to_files

3. Конвертируйте файл сертификата в файл pem (замените имена файлов, как требуется)
4. openssl x509 -inform der -in certificate.cer -out certificate.pem
5. Конвертируйте файл личного ключа в файл pem (замените имена файлов, как требуется)
6. openssl pkcs12 -in privateKey.p12 -out privateKey.pem -nodes
7. Конкатенируйте вместе два файла (замените имена файлов, как требуется)
8. cat privateKey.pem certificate.pem > server.pem

5. Выгрузите файл сертификата в маршрутизатор
Продолжим работу с терминалом

1. Войдите по SSH на маршрутизатор

ssh router_ip_address -l your_user_name(когда будет запрошен пароль, введите его)

2. Вам необходимо подготовить папку на маршрутизаторе, так чтобы Вы были ее владельцем, либо получить соответствующие права. Я использовал мою домашнюю папку (соответствующим образом изменив имена файлов и папок)

cd /home
sudo chown your_user_name your_user_name

3. Откройте новое окно терминала (cmd+n)
4. В новом окне терминала скопируйте файл в маршрутизатор (замените имена файлов и папок, как требуется)
5. scp server.pem имя_Вашего_пользователя@ip_адрес_маршрутизатора:~/server.pem
(когда будет запрошен Ваш пароль, введите его)
6. В оригинальном окне терминала измените владельца файла

sudo chown www-data:www-data ~/server.pem

7. Как вариант: в оригинальном окне терминала сделайте резервную копию сертификата по умолчанию

sudo cp /etc/lighttpd/server.pem ~/server.pem.backup

8. В оригинальном окне терминала перепишите сертификат по умолчанию

sudo cp ~/server.pem /etc/lighttpd/server.pem

9. Задайте права для нового файла сертификата

sudo cp ~/server.pem /etc/lighttpd/server.pem

10. Перезапустите lighttpd

sudo /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf

11. Выполните тест!

Другие статьи по этой темеUniFi - Специальная настройка SSL в контроллере, использующая ассистент связки ключей (Mac OSX Keychain Assistant) и OpenSSL

 

Все авторские права и другие права интеллектуальной собственности на данные материалы являются собственностью Компании «Рутстор» (ROOTSTORE). При использовании данного материала ссылка на сайт rootstore.ru обязательна.

Авторизация
*
*
Регистрация
*
*
*
*

Политика в отношении обработки персональных данных

1. Общие положения
Настоящая политика обработки персональных данных составлена в соответствии с требованиями Федерального закона от 27.07.2006. №152-ФЗ «О персональных данных» и определяет порядок обработки персональных данных и меры по обеспечению безопасности персональных данных ООО «Сети» (далее – Оператор).
1.1. Оператор ставит своей важнейшей целью и условием осуществления своей деятельности соблюдение прав и свобод человека и гражданина при обработке его персональных данных, в том числе защиты прав на неприкосновенность частной жизни, личную и семейную тайну.
1.2. Настоящая политика Оператора в отношении обработки персональных данных (далее – Политика) применяется ко всей информации, которую Оператор может получить о посетителях веб-сайта https://rootstore.ru.

2. Основные понятия, используемые в Политике
2.1. Автоматизированная обработка персональных данных – обработка персональных данных с помощью средств вычислительной техники;
2.2. Блокирование персональных данных – временное прекращение обработки персональных данных (за исключением случаев, если обработка необходима для уточнения персональных данных);
2.3. Веб-сайт – совокупность графических и информационных материалов, а также программ для ЭВМ и баз данных, обеспечивающих их доступность в сети интернет по сетевому адресу https://rootstore.ru;
2.4. Информационная система персональных данных — совокупность содержащихся в базах данных персональных данных, и обеспечивающих их обработку информационных технологий и технических средств;
2.5. Обезличивание персональных данных — действия, в результате которых невозможно определить без использования дополнительной информации принадлежность персональных данных конкретному Пользователю или иному субъекту персональных данных;
2.6. Обработка персональных данных – любое действие (операция) или совокупность действий (операций), совершаемых с использованием средств автоматизации или без использования таких средств с персональными данными, включая сбор, запись, систематизацию, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передачу (распространение, предоставление, доступ), обезличивание, блокирование, удаление, уничтожение персональных данных;
2.7. Оператор – государственный орган, муниципальный орган, юридическое или физическое лицо, самостоятельно или совместно с другими лицами организующие и (или) осуществляющие обработку персональных данных, а также определяющие цели обработки персональных данных, состав персональных данных, подлежащих обработке, действия (операции), совершаемые с персональными данными;
2.8. Персональные данные – любая информация, относящаяся прямо или косвенно к определенному или определяемому Пользователю веб-сайта https://rootstore.ru;
2.9. Пользователь – любой посетитель веб-сайта https://rootstore.ru;
2.10. Предоставление персональных данных – действия, направленные на раскрытие персональных данных определенному лицу или определенному кругу лиц;
2.11. Распространение персональных данных – любые действия, направленные на раскрытие персональных данных неопределенному кругу лиц (передача персональных данных) или на ознакомление с персональными данными неограниченного круга лиц, в том числе обнародование персональных данных в средствах массовой информации, размещение в информационно-телекоммуникационных сетях или предоставление доступа к персональным данным каким-либо иным способом;
2.12. Трансграничная передача персональных данных – передача персональных данных на территорию иностранного государства органу власти иностранного государства, иностранному физическому или иностранному юридическому лицу;
2.13. Уничтожение персональных данных – любые действия, в результате которых персональные данные уничтожаются безвозвратно с невозможностью дальнейшего восстановления содержания персональных данных в информационной системе персональных данных и (или) уничтожаются материальные носители персональных данных.

3. Оператор может обрабатывать следующие персональные данные Пользователя
3.1. Фамилия, имя, отчество;
3.2. Электронный адрес;
3.3. Номера телефонов;
3.4. Также на сайте происходит сбор и обработка обезличенных данных о посетителях (в т.ч. файлов «cookie») с помощью сервисов интернет-статистики (Яндекс Метрика и Гугл Аналитика и других).
3.5. Вышеперечисленные данные далее по тексту Политики объединены общим понятием Персональные данные.

4. Цели обработки персональных данных
4.1. Цель обработки персональных данных Пользователя — информирование Пользователя посредством отправки электронных писем; предоставление доступа Пользователю к сервисам, информации и/или материалам, содержащимся на веб-сайте.
4.2. Также Оператор имеет право направлять Пользователю уведомления о новых продуктах и услугах, специальных предложениях и различных событиях. Пользователь всегда может отказаться от получения информационных сообщений, направив Оператору письмо на адрес электронной почты admin@rootstore.ru с пометкой «Отказ от уведомлений о новых продуктах и услугах и специальных предложениях».
4.3. Обезличенные данные Пользователей, собираемые с помощью сервисов интернет-статистики, служат для сбора информации о действиях Пользователей на сайте, улучшения качества сайта и его содержания.

5. Правовые основания обработки персональных данных
5.1. Оператор обрабатывает персональные данные Пользователя только в случае их заполнения и/или отправки Пользователем самостоятельно через специальные формы, расположенные на сайте https://rootstore.ru. Заполняя соответствующие формы и/или отправляя свои персональные данные Оператору, Пользователь выражает свое согласие с данной Политикой.
5.2. Оператор обрабатывает обезличенные данные о Пользователе в случае, если это разрешено в настройках браузера Пользователя (включено сохранение файлов «cookie» и использование технологии JavaScript).

6. Порядок сбора, хранения, передачи и других видов обработки персональных данных
Безопасность персональных данных, которые обрабатываются Оператором, обеспечивается путем реализации правовых, организационных и технических мер, необходимых для выполнения в полном объеме требований действующего законодательства в области защиты персональных данных.
6.1. Оператор обеспечивает сохранность персональных данных и принимает все возможные меры, исключающие доступ к персональным данным неуполномоченных лиц.
6.2. Персональные данные Пользователя никогда, ни при каких условиях не будут переданы третьим лицам, за исключением случаев, связанных с исполнением действующего законодательства.
6.3. В случае выявления неточностей в персональных данных, Пользователь может актуализировать их самостоятельно, путем направления Оператору уведомление на адрес электронной почты Оператора admin@rootstore.ru с пометкой «Актуализация персональных данных».
6.4. Срок обработки персональных данных является неограниченным. Пользователь может в любой момент отозвать свое согласие на обработку персональных данных, направив Оператору уведомление посредством электронной почты на электронный адрес Оператора admin@rootstore.ru с пометкой «Отзыв согласия на обработку персональных данных».

7. Трансграничная передача персональных данных
7.1. Оператор до начала осуществления трансграничной передачи персональных данных обязан убедиться в том, что иностранным государством, на территорию которого предполагается осуществлять передачу персональных данных, обеспечивается надежная защита прав субъектов персональных данных.
7.2. Трансграничная передача персональных данных на территории иностранных государств, не отвечающих вышеуказанным требованиям, может осуществляться только в случае наличия согласия в письменной форме субъекта персональных данных на трансграничную передачу его персональных данных и/или исполнения договора, стороной которого является субъект персональных данных.

8. Заключительные положения
8.1. Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты admin@rootstore.ru.
8.2. В данном документе будут отражены любые изменения политики обработки персональных данных Оператором. Политика действует бессрочно до замены ее новой версией.
8.3. Актуальная версия Политики в свободном доступе расположена в сети Интернет по адресу https://rootstore.ru/privacy/.

Генерация пароля