bg-tutorials

Как установить SSL-сертификат ACME на pfSense

В этом руководстве Вы узнаете, как установить SSL-сертификат ACME на pfSense. Теперь брандмауэр поддерживает протокол ACME нативно, благодаря встроенному пакету, который позволяет Вам автоматизировать выпуск и обновление SSL-сертификатов.

pfsense ACME SSL

Этот процесс работает с коммерческими центрами сертификации (ЦС), которые поддерживают ACME + External Account Binding (EAB).


Прежде чем начать

Вам потребуется:

  • Брандмауэр pfSense 2.7 или Plus 23.x с доступом в Интернет.
  • Доступ к администрированию по SSH или WebGUI.
  • URL-адрес каталога ACME Вашего ЦС, идентификатор ключа EAB и ключ HMAC.
  • Публичный домен (например, vpn.example.com), который разрешается в IP-адрес Вашей глобальной сети pfSense.

Шаг 1: Установите пакет ACME

  1. Перейдите в раздел Система > Менеджер пакетов > Доступные пакеты.
  2. Поиск acme.
  3. Нажмите Установить, затем подтвердите.
  4. После установки Вы найдете новое меню на странице Услуги > Сертификаты ACME.

Шаг 2: Создайте ключ учетной записи ACME

  1. В меню pfSense перейдите в раздел Services > ACME Certificates > Account Keys.
  2. Нажмите + Добавить, чтобы создать новую учетную запись.
  3. Заполните эти поля в точности следующим образом:
    • Название — Дайте учетной записи простой идентификатор (например, Sectigo-EAB).
    • URL сервера ACME — Вставьте конечную точку каталога Вашего ЦС, например, https://acme.sectigo.com/v2/DV.
    • Адрес электронной почты — введите контактный адрес администратора, используемый в Вашем ЦС.
    • EAB Key ID и EAB HMAC Key — вставьте оба значения, предоставленные Вашим ЦС. (Эти поля появляются в графическом интерфейсе только в том случае, если Ваш ЦС требует привязки к внешнему аккаунту).
  4. Нажмите Создать новый ключ учетной записи, затем Зарегистрировать ключ учетной записи ACME.

Если поля EAB не видны в Вашей сборке pfSense, Вы можете зарегистрироваться обычным способом, а затем использовать внешний клиент ACME (например, acme.sh) для выпуска и импорта сертификатов вручную. Функционально оба пути работают с коммерческими УЦ, поддерживающими ACME + EAB.


Шаг 3: Добавьте новую запись о сертификате

  1. Перейдите в раздел Услуги > Сертификаты ACME > Сертификаты.
  2. Нажмите + Добавить и назовите запись (например, vpn-example).
  3. В разделе Ключи учетной записи выберите учетную запись, которую Вы создали ранее.
  4. В списке Domain SAN List добавьте свой домен (например, vpn.example.com).
  5. Для параметра Challenge Type выберите HTTP-01 (рекомендуется).
  6. В разделе Метод выберите локальную папку webroot или автономную, в зависимости от Вашей установки.
  7. Нажмите Сохранить и применить.

Шаг 4: Настройка HTTP валидации

ЦС должен связаться с Вашим устройством pfSense по порту 80, чтобы подтвердить владение доменом.

Если Вы уже используете порт 80 для другого сервиса, временно перенаправьте или переадресуйте его на внутренний webroot pfSense.

Убедитесь, что любое перенаправление HTTPS позволяет пути
http://vpn.example.com/.well-known/acme-challenge/ оставаться на обычном HTTP.

Если Вы находитесь за NAT или обратными прокси-серверами, используйте правило переадресации портов или виртуального сервера, чтобы обеспечить внешний доступ к этому пути проверки.


Шаг 5: Выдача сертификата

Вернувшись в раздел Services > ACME Certificates, нажмите кнопку Issue/Renew для Вашего сертификата.

Вы увидите живые журналы, показывающие каждый шаг:

  • Проверка учетной записи
  • Проверка домена
  • Выдача сертификатов

После завершения работы Ваш новый сертификат появится в разделе Система → Сертификаты.


Шаг 6: Примените сертификат

Используйте Ваш новый SSL-сертификат для любой службы на pfSense:

  • WebGUI: Система > Дополнительно > Доступ администратора > SSL-сертификат
  • OpenVPN / IPsec / HAProxy: выберите один и тот же сертификат в соответствующих раскрывающихся списках.
  • Нажмите Сохранить и применить изменения

Пакет ACME обрабатывает обновления автоматически. По умолчанию pfSense обновляет сертификаты за 30 дней до истечения срока действия.

Чтобы проверить или запустить вручную, перейдите в раздел Услуги > Сертификаты ACME > Выпуск/обновление.


Метод резервного копирования: Сгенерируйте сертификат извне и импортируйте его в pfSense

Если поток ACME Вашего коммерческого ЦС не регистрируется непосредственно в pfSense, Вы можете выпустить сертификат на другом сервере Linux или BSD и импортировать его вручную. Этот метод работает с любым ЦС, поддерживающим ACME + External Account Binding (EAB), и является наиболее надежным запасным вариантом для сложных или неподдерживаемых сред.

Шаг 1: Настройте ACME.sh

На любой машине Linux или BSD с доступом в Интернет установите клиент ACME:


curl https://get.acme.sh | sh
source ~/.bashrc

Это установит acme.sh в Вашу домашнюю директорию и подготовит его для использования с коммерческими конечными точками ACME.

Шаг 2: Зарегистрируйте учетную запись ACME в своем центре обслуживания клиентов

Используйте учетные данные с портала ACME Вашего ЦС, URL каталога, Key ID и ключ HMAC.

acme.sh --register-account \
  --server https://acme.yourca.com/v2/acme \
  --eab-kid YOUR_EAB_KID \
  --eab-hmac-key YOUR_EAB_HMAC_KEY \
  --accountemail [email protected]

Этот шаг аутентифицирует Вашу систему с помощью службы ACME центра сертификации. Вы выполняете его только один раз для каждой учетной записи.

Шаг 3: Запросите сертификат

Выпустите сертификат для Вашего домена pfSense (например, vpn.example.com).

acme.sh --issue \
  -d vpn.example.com \
  --server https://acme.yourca.com/v2/acme \
  --eab-kid YOUR_EAB_KID \
  --eab-hmac-key YOUR_EAB_HMAC_KEY \
  --standalone

Если Ваш ЦС или сеть требует проверки DNS, замените последнюю строку на --dns dns_cf (Используйте плагин DNS, соответствующий Вашему провайдеру).

По окончании сертификаты сохраняются: ~/.acme.sh/vpn.example.com/

Шаг 4: Найдите файлы

Внутри этой папки Вы увидите:

  • fullchain.cer — сертификат и промежуточная цепочка
  • vpn.example.com.key — закрытый ключ
  • ca.cer — корневой/промежуточный сертификат ЦС

Это файлы, которые Вы будете загружать в pfSense.

Шаг 5: Импортируйте сертификат в pfSense

Войдите в pfSense и перейдите в раздел Система > Сертификаты.

  1. Нажмите Добавить/Импорт.
  2. Вставьте содержимое Вашего сертификата (fullchain.cer) и закрытого ключа (vpn.example.com.key).
  3. По желанию добавьте цепочку CA (ca.cer).
  4. Нажмите Сохранить.

Теперь pfSense будет распознавать и хранить этот коммерческий сертификат как действительный.

Шаг 6: Применяйте и автоматизируйте

Теперь Вы можете использовать импортированный сертификат для:

  • Система > Дополнительно > Доступ администратора (WebGUI)
  • Серверы OpenVPN или IPsec
  • Пакеты HAProxy или Nginx

Для обновления автоматизируйте процесс, запланировав задание cron на внешнем хосте для обновления с помощью acme.sh, а затем повторно загрузите файлы в pfSense с помощью SCP или pfSense API.


Общие вопросы

Если Вы впервые настраиваете ACME с коммерческим CA, ознакомьтесь с ответами на самые частые вопросы:

Могу ли я использовать это с любым CA?

Вы можете использовать это с ЦС, который предоставляет URL ACME Directory и учетные данные EAB (например, Sectigo или DigiCert).

Какой порт требуется для проверки?

Только порт 80 (HTTP). Не перенаправляйте его на HTTPS до завершения проверки.

Почему моя валидация внезапно начала отказывать после того, как она работала раньше?

Если Ваша настройка ACME работала и вдруг дала сбой, это обычно вызвано изменением сети или DNS. Проверьте, не изменился ли IP-адрес Вашей глобальной сети или правило NAT, или не блокирует ли новая политика брандмауэра входящий HTTP (порт 80). Также убедитесь, что Ваш домен по-прежнему разрешается на тот же публичный IP. Проверка ACME зависит от внешней доступности. Даже одно перенаправление или заблокированный порт могут нарушить ее.

Могу ли я делиться учетными данными EAB на разных устройствах?

Это зависит от Вашего ЦС, некоторые требуют уникальных учетных данных для каждого домена или устройства.


Заключительные слова

С помощью этой настройки Вы можете установить на pfSense SSL-сертификат ACME от коммерческих ЦС, поддерживающих EAB, и полностью автоматизировать его жизненный цикл. Это стабильный способ корпоративного уровня, позволяющий обеспечить постоянное доверие к Вашим VPN, WebGUI и обратным прокси-серверам без ручного продления, разрыва цепочек или простоев, прерывающих работу критически важных служб.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Детальное изображение дракона в полете
Написано

Опытный автор контента, специализирующийся на SSL-сертификатах. Превращает сложные темы кибербезопасности в понятный, увлекательный контент. Вносите свой вклад в повышение уровня цифровой безопасности с помощью впечатляющих рассказов.