В этой статье базы знаний я хотел бы показать вам, как вы можете использовать Raspberry Pi для установки сертификата Let's Encrypt на вашем USG.
Введение
Требования
Настроить
Продлить сертификат
Введение
Мы будем использовать сервер Apache и надстройку Let's Encrypt для Apache, работающего на Raspberry Pi, чтобы загрузить сертификат для определенного доменного имени. Мы также будем использовать Pi для обновления этого сертификата.
Мы экспортируем сертификат из Pi и импортируем его в USG.
Какая польза от сертификата?
С сертификатом вы избавитесь от предупреждений безопасности в своем браузере. Например, для HotSpot или SSL VPN.
Требования
- Вам нужно доменное имя (DN) (например, hotspot.hotel-mayer.de)
- Если у вас нет статического IP-адреса, вы также должны убедиться, что ваш DN обновлен,
вы можете использовать опцию DDNS в вашем USG: Configuration> Network> DDNS - Если вы используете свою универсальную группу безопасности в сценарии двойного NAT, необходимо убедиться, что HTTP и HTTPS перенаправляются на универсальную группу безопасности.
- Вам нужно знать, как правильно использовать NAT
- Вам понадобится Raspberry Pi и SD-карта для ОС
- ПК с установленным Tera Term или putty и WinSCP
- Вам нужно знать, как использовать SSH-терминал на USG.
- USG должен быть как минимум на FW версии 4.30.
Настроить
- Настройте Pi и Apache
- Port пересылка
- Создать и экспортировать сертификат
- Импортируйте сертификат в USG
- Правильно настройте перенаправление HTTP на HTTPS
1. Настройте Pi и Apache.
В этом сценарии нам нужна только ОС на основе командной строки для Pi (Raspbian Stretch Lite).
загрузите его с веб-сайта Raspberry Pi и установите, как описано в документации.
https://www.raspberrypi.org/downloads/raspbian/
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
1.1 Включение SSH и изменение пароля
Теперь вам нужно включить SSH. Поэтому вставьте SD-карту в свой компьютер и поместите пустой файл с именем «SSH» в корневую папку SD-карты.
После завершения установки подключите Pi к своей сети, запустите его и проверьте, можете ли вы связаться с ним через SSH (например, с помощью Putty или Tera Term).
User: pi
Password: raspberry
Рекомендация 1: измените пароль, как описано здесь:
https://www.raspberrypi.org/documentation/configuration/raspi-config.md
Рекомендация 2: убедитесь, что Pi всегда будет получать один и тот же IP-адрес.
USG Series - зарезервировать IP-адрес для устройства
1.2 Обновите Pi и установите Apache-Server
Теперь мы можем проверять и устанавливать обновления
sudo apt update && sudo apt upgrade --yes
Как только это будет сделано, мы можем установить сервер Apache
sudo apt install apache2 --yes
После завершения установки вы сможете увидеть веб-страницу Apache по умолчанию, перейдя по IP-адресу Raspberry.
Пришло время перезагрузить Pi
shutdown -r
А пока мы установим (временную) переадресацию порта на Pi
2. Port пересылка
Чтобы порты 80 и 443 были открыты для Интернета. Ниже вы узнаете, как сделать необходимые шаги.
2.1 Измените HTTPS-порт USG на, например, 8443
Теперь вы можете получить доступ к USG следующим образом: https://192.168.1.1:8443
2.2 Настройка переадресации портов для HTTP и HTTPS
Пожалуйста, проверьте, можете ли вы получить доступ к тестовой странице вашего Pi из Интернета.
3. Создайте и экспортируйте сертификат.
Прежде чем мы сможем получить сертификат Let's Encrypt, мы должны установить надстройку Let's encrypt для Apache. Это поможет сделать сертификацию вашего доменного имени.
sudo apt install certbot python-certbot-apache --yes
3.2 Создание первого сертификата
Теперь сгенерируем первый сертификат:
sudo certbot --apache
Вам необходимо пройти через форму и правильно ее заполнить. Вас спросят, хотите ли вы перенаправить его навсегда.
Сертификат будет запрошен и автоматически установлен на сервере Apache.
3.3 Экспорт сертификата загрузка сертификата
Теперь вы можете экспортировать сертификат с отметкой времени.
sudo openssl pkcs12 -export -out /tmp/myusg_"$(date +"%Y-%m-%d")".p12 -inkey /etc/letsencrypt/live/[your_domain]/privkey.pem -in /etc/letsencrypt/live/[your_domain]/cert.pem
Вам нужно ввести пароль. Убедитесь, что вы помните пароль, он также понадобится вам для импорта в USG.
Чтобы получить сертификат от Pi, нам нужно изменить права доступа для файла myusg_ [date] .p12.
sudo chmod 777 myusg[date].p12
Теперь вы можете получить файл с WinSCP из папки / tmp.
4. Импортируйте сертификат в USG.
4.1 Загрузите и импортируйте корневой и промежуточный сертификаты Let's Encrypt
Чтобы USG доверял сертификату, который мы экспортировали ранее, мы должны импортировать корневой и промежуточный сертификаты из Let's Encrypt:
https://letsencrypt.org/certificates/
Убедитесь, что сертификаты сохранены как pem-файл (например letsencryptauthorityx3.pem).
Теперь в универсальной группе безопасности перейдите в Конфигурация> Объекты> Сертификаты> Надежные сертификаты и импортируйте корневой и промежуточный сертификаты.
4.2 Импортируйте и активируйте свой сертификат
На USG перейдите в Configuration> Objects> Certificates> My Certificates и импортируйте сертификат (вы также должны ввести пароль).
В разделе «Сертификат сервера» выберите «Конфигурация»> «Система»> «WWW». Теперь вы можете выбрать импортированный сертификат.
5. Правильно настройте перенаправление с HTTP на HTTPS.
5.1 Деактивировать NAT для Pi
Чтобы снова освободить порты 80 и 443 для USG, вам необходимо отключить NAT для Pi. Перейдите в Configuration> Network> NAT и найдите и отключите правила, отвечающие за NAT. Не удаляйте правила, потому что они вам снова понадобятся позже.
5.2 Установите для порта HTTPS USG значение 443 и настройте перенаправление HTTP на HTTPS.
Перейдите в раздел «Конфигурация»> «Система»> «WWW» и снова установите для порта HTTPS значение 443. Убедитесь, что перенаправление HTTP включено.
5.3 Избавьтесь от IP-адреса
Теперь USG будет использовать импортированный сертификат. Остается «проблема» в том, что USG перенаправит HTTP на HTTPS следующим образом:
https://192.168.1.1/redirect.cgi?arip=[your_dyndns visible&original_url=http://[your_dyndns] ]/
Это, конечно, вызовет проблему с сертификатом. Чтобы окончательно избавиться от этого сообщения, вам нужно открыть сеанс SSH для вашей универсальной группы безопасности и ввести следующие команды:
Router> configure terminal
Router(config)# web-auth redirect-fqdn [your_domainname]
Router(config)# write
Router(config)# exit
Router> write
Теперь перенаправление будет выглядеть так:
https: // [your_domain] /redirect.cgi?arip= [your_domain] & original_url = http: // [your_domain] /
Поздравляем, теперь у вас есть сертификат Let's Encrypt, работающий на вашей универсальной группе безопасности.
Продлить сертификат
Сертификаты Let's Encrypt действительны в течение 90 дней. Это означает, что вам необходимо продлевать сертификат каждые три месяца.
1. Снова откройте порты HTTP и HTTPS для Pi.
а) снова поменяйте порты HTTPS из USG (пункт 2.1)
б) Повторно активируйте NAT для HTTP / HTTPS для Pi (пункт 2.2)
2. Подключитесь к Pi по SSH и обновите сертификат.
Откройте сеанс SSH для вашего Pi и введите эту команду
sudo certbot renew
Сертификат будет продлен еще на 90 дней.
3. Экспортируйте и импортируйте сертификат.
Теперь вам просто нужно выполнить шаги, указанные в пункте 3.3.
4. Обновите сертификат на USG.
Теперь вы переходите к шагу 4.2.
5. Поменять порты обратно
Выполните шаги в 5.1 и 5.2.
Поздравляем, вы обновили сертификат Let's Encrypt для своего универсального пользователя.
Заявление об ограничении ответственности: пожалуйста, поймите, что это всего лишь описание того, как иметь сертификат Let's Encrypt на вашем универсальном объединении безопасности. Если что-то не так с Raspberry Pi, пожалуйста, поймите, что мы не можем оказать вам поддержку по любой проблеме с Pi!
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:
Уважаемый покупатель, имейте в виду, что мы используем машинный перевод для публикации статей на вашем родном языке. Не весь текст можно перевести точно. Если есть вопросы или неточности относительно точности информации в переведенной версии, просмотрите исходную статью здесь: Исходная версия
Комментарии
0 комментариев
Войдите в службу, чтобы оставить комментарий.