У меня есть брандмауэр Juniper SSG5, версия: 6.3.0r19.0, который находится на динамическом IP. Мы используем сервис DDNS от dyndns. Услуга поддерживается устройством SSG.
Проблем заставить его работать только с http не возникло. Моя проблема возникает при переходе на https.
При использовании http я получаю от dyndns ответы «хорошо» и «nochg». Он отвечает только "no-init" при использовании https.
Более подробная информация находится ниже, я только что получил идеи, как заставить это работать. Мои знания о сертификатах и CA не очень обширны.
Я использовал эту статью в базе знаний в качестве основы для конфигурации:
Juniper KB, настройка DDNS на экране устройства ОС, http://kb.juniper.net/InfoCenter/index?page=content&id=KB4582
ПРИМЕЧАНИЕ. Указанный здесь сертификат, сертификат Geotrust, более не действителен. Как упоминалось здесь, http://forums.juniper.net/t5/ScreenOS-Firewalls-NOT-SRX/DynDNS-Certificate-Provider-Changed-ScreenOS-DDNS-Client-Broken/td-p/143914
Этот сертификат был заменен сертификатом DigiCert с 22 мая 2012 года. Я использовал FF для поиска и экспорта сертификатов перед их импортом на устройство SSG. Насколько я понимаю, цифровые датчики, используемые на members.dyndns.org/, исправлены, если я ошибаюсь,
DigiCert Global Root CA, with serial number:[08:3B:E0:56:90:42:46:B1:A1:75:6A:C9:59:91:C7:4A]
и
DigiCert SHA2 Secure Server CA with serial number: [01:FD:A3:EB:6E:CA:75:C8:88:43:8B:72:4B:CF:BC:91]
Я даже попытался загрузить их с домашней веб-страницы digicert и установить сертификаты, которые я загружаю там, а затем использовал серийные номера, чтобы проверить, идентичны ли сертификаты.
Возможно, стоит отметить, что после установки оба сертификата называются «DigiCert Global Root CA», но серийные номера и даты истечения срока действия соответствуют информации, полученной со страницы при нажатии на замок URL-адреса в FF. Когда используешь
openssl x509 -in DigiCertGlobalRootCA -text -noout
Похоже, что оба сертификата имеют CN = "DigiCert Global Root CA".
Я попытался установить им сначала корневой CA, а затем промежуточный, в обратном порядке, только Root, только промежуточный. Скачанные с DigiCert и сертификаты FF. В FF я пробовал с цепочкой и без нее. Я даже попытался добавить все DigiCerts, которые нашел в FF.
Несмотря на вышеуказанные усилия, я все равно получаю:
DDNS: Triggering update for 1
ddns: server members.dyndns.org resolved to 204.13.248.111
DDNS: connect error
socket creation failed
ddns: update failed, fail cnt 4, retry after 60 min
Используя этот пример от Dyndns, отсюда [извините, у меня нет представителя для дополнительных URL-адресов]: help.dyn.com/remote-access-api/perform-update/
Используя это, я могу обновить IP, используя https с FF.
имя пользователя: password@members.dyndns.org/nic/update? hostname = yourhostname & myip = ipaddress & wildcard = NOCHG & mx = NOCHG & backmx = NOCHG
Я также нашел эту статью в базе знаний Juniper и протестировал там команду,
Чтобы загрузить сертификат промежуточного ЦС в Netscreen Firewall
kb.juniper.net/InfoCenter/index?page=content&id=KB6779&actp=search&viewlocale=en_US&searchid=1237138980966
set pki x509 def cert-path full [Enter]
save [Enter]
Но единственное изменение, которое я вижу, это то, что если я устанавливаю промежуточный сертификат, то и промежуточный, и корень устанавливаются одновременно при установке промежуточного сертификата, но не помогают мне с моей проблемой.
Где-то я обнаружил, что, возможно, отключение alg на dns может помочь. Я пробовал это, но не вижу, что это имеет значение.
ПРИМЕЧАНИЕ, протоколы ntp и dns включены и работают. Сброс был выполнен после загрузки предполагаемых правильных сертификатов.
Я получил следующий ответ от сообщества Juniper.
Это известная проблема в версии 6.3r19. Я бы рекомендовал использовать 6.3r18.
Используя следующее руководство, я изменил версию с 6.3r19 на 6.3r18: http://kb.juniper.net/InfoCenter/index?page=content&id=KB13672
Заметка, перед переходом на более раннюю версию рекомендуется удалить сертификаты Digicert. Они как-то странно изменились после перехода на более раннюю версию. Я удалил их после перехода на более раннюю версию и переустановил их, и после этого я получил ответ «хорошая» форма dyndns.
Вот сообщение на можжевеловом форуме: http://forums.juniper.net/t5/ScreenOS-Firewalls-NOT-SRX/Juniper-SSG5-DDNS-https-socket-creation-failed/td-p/278154#M30368