*** ОБНОВЛЕНИЕ: Ubiquiti признала эту проблему и выпустила обновления прошивки. Пожалуйста, проверьте посты с релизами для получения обновления для вашей модели. Если обновления пока нет или вы не можете сейчас установить прошивку, можно применить соответствующее исправление ниже, а обновить прошивку позже. Это исправление для некоторых устройств UniFi, работающих на старых версиях OpenSSL, которое связано с недавно истёкшим корневым сертификатом DST, используемым Let's Encrypt для перекрёстной подписи их сертификатов. USG / EdgeRouter
*** ОБНОВЛЕНИЕ: Эта проблема официально исправлена на USG в прошивке версии 4.4.56: В новой прошивке версия OpenSSL осталась прежней (1.0.1t от 3 мая 2016, вероятно, из-за зависимостей), но значительно обновили хранилище корневых сертификатов, удалив истёкший DST root CA сертификат и добавив новый ISRG CA root сертификат.
*** Оставляю эти заметки и команды здесь для справки по USG и для использования на EdgeRouter *** Это исправление протестировано на USG и USG Pro (сохраняется после пересоздания конфигурации и перезагрузок) и необходимо для работы HTTPS-соединений, таких как обновления сигнатур IDS/IPS. Также сообщается, что оно работает и на EdgeRouter. Вам нужно удалить истёкший DST root сертификат из конфигурации, скачать текущий корневой сертификат ISRG X1 и пересобрать файл корневых сертификатов.
Подключитесь к USG по SSH и выполните следующие команды:
sudo -i
sed -i 's|^mozilla\/DST_Root_CA_X3\.crt|!mozilla/DST_Root_CA_X3.crt|' /etc/ca-certificates.conf
curl -sk -o /usr/local/share/ca-certificates/ISRG_Root_X1.crt
update-ca-certificates --fresh
Проверьте результат, посмотрев в папке с сертификатами и в файле с корневыми сертификатами, чтобы там был только сертификат "ISRG Root". Если увидите "DST Root", возможно, придется вручную отредактировать файл /etc/ca-certificates.conf, добавив "!" перед строкой с "DST Root", чтобы отключить его. После этого снова выполните update-ca-certificates --fresh для пересборки файлов.
Для проверки папки с сертификатами и файла с корневыми сертификатами выполните:
ls /etc/ssl/certs/DST_Root*.pem /etc/ssl/certs/ISRG_Root*.pem 2>/dev/null
awk -v cmd='openssl x509 -noout -subject' '/BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep -E 'DST Root|ISRG Root'
Проверьте, что HTTPS-соединение с сервером, например сервером обновлений сигнатур IPS, работает — команда должна вернуть "ok":
openssl s_client -showcerts -connect ips1.unifi-ai.com:443
...
Verify return code: 0 (ok)
Также можно вручную запустить обновление сигнатур IDS/IPS на USG командой:
/opt/unifi/ips/bin/getsig.sh
UDM
*** ОБНОВЛЕНИЕ: Официально исправлено в прошивке 1.10.4:
В новой прошивке версия OpenSSL осталась прежней (вероятно, из-за зависимостей), но из хранилища и файла с корневыми сертификатами удалён истёкший DST root CA.
*** Оставляю эти заметки и команды для справки ***
В UDM и UDM Pro с прошивкой 1.10.0 версия OpenSSL, встроенная в UbiOS (OpenSSL 1.0.2o от 27 марта 2018), старее, чем в UniFiOS (OpenSSL 1.1.0l от 10 сентября 2019), который работает в контейнере. Таким образом, HTTPS-соединения из контейнера работают, а HTTPS-соединения из UbiOS могут не работать.
Для решения удалите символическую ссылку на истёкший DST root сертификат и пересоберите общий файл корневых сертификатов:
rm /etc/ssl/certs/DST_Root_CA_X3.pem
cat /etc/ssl/certs/*.pem > /etc/ssl/certs/ca-certificates.crt
Вручную обновить сигнатуры IDS/IPS на UDM можно командой:
/usr/share/ubios-udapi-server/ips/bin/getsig.sh
UAP
Для старых UAP могут также быть проблемы с HTTPS-соединениями. Сначала убедитесь, что у вас последняя версия прошивки для вашей модели, в которой должен быть текущий корневой сертификат ISRG X1. Если HTTPS-соединения всё ещё не работают, нужно переименовать истёкший DST root сертификат. Подключитесь по SSH к UAP и выполните:
mv /etc/ssl/certs/DST_Root_CA_X3.crt /etc/ssl/certs/DST_Root_CA_X3.old
Эти команды также опубликованы на GitHub:
Корневые сертификаты CA для известных HTTPS-ресурсов
fw-update.ubnt.com
Известные сервисы: прошивка
Корневые сертификаты: Amazon Root CA 1 и Starfield Services Root Certificate Authority - G2
Статус: не влияет на модели
ips1.unifi-ai.com или assets.unifi-ai.com
Известные сервисы: сигнатуры IDS/IPS
Корневые сертификаты: ISRG Root X1 и DST Root CA X3
Статус: влияет на USG и UDM
*** ОБНОВЛЕНИЕ: Эта проблема официально исправлена на USG в прошивке версии 4.4.56: В новой прошивке версия OpenSSL осталась прежней (1.0.1t от 3 мая 2016, вероятно, из-за зависимостей), но значительно обновили хранилище корневых сертификатов, удалив истёкший DST root CA сертификат и добавив новый ISRG CA root сертификат.
*** Оставляю эти заметки и команды здесь для справки по USG и для использования на EdgeRouter *** Это исправление протестировано на USG и USG Pro (сохраняется после пересоздания конфигурации и перезагрузок) и необходимо для работы HTTPS-соединений, таких как обновления сигнатур IDS/IPS. Также сообщается, что оно работает и на EdgeRouter. Вам нужно удалить истёкший DST root сертификат из конфигурации, скачать текущий корневой сертификат ISRG X1 и пересобрать файл корневых сертификатов.
Подключитесь к USG по SSH и выполните следующие команды:
sudo -i
sed -i 's|^mozilla\/DST_Root_CA_X3\.crt|!mozilla/DST_Root_CA_X3.crt|' /etc/ca-certificates.conf
curl -sk -o /usr/local/share/ca-certificates/ISRG_Root_X1.crt
update-ca-certificates --fresh
Проверьте результат, посмотрев в папке с сертификатами и в файле с корневыми сертификатами, чтобы там был только сертификат "ISRG Root". Если увидите "DST Root", возможно, придется вручную отредактировать файл /etc/ca-certificates.conf, добавив "!" перед строкой с "DST Root", чтобы отключить его. После этого снова выполните update-ca-certificates --fresh для пересборки файлов.
Для проверки папки с сертификатами и файла с корневыми сертификатами выполните:
ls /etc/ssl/certs/DST_Root*.pem /etc/ssl/certs/ISRG_Root*.pem 2>/dev/null
awk -v cmd='openssl x509 -noout -subject' '/BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep -E 'DST Root|ISRG Root'
Проверьте, что HTTPS-соединение с сервером, например сервером обновлений сигнатур IPS, работает — команда должна вернуть "ok":
openssl s_client -showcerts -connect ips1.unifi-ai.com:443
...
Verify return code: 0 (ok)
Также можно вручную запустить обновление сигнатур IDS/IPS на USG командой:
/opt/unifi/ips/bin/getsig.sh
UDM
*** ОБНОВЛЕНИЕ: Официально исправлено в прошивке 1.10.4:
В новой прошивке версия OpenSSL осталась прежней (вероятно, из-за зависимостей), но из хранилища и файла с корневыми сертификатами удалён истёкший DST root CA.
*** Оставляю эти заметки и команды для справки ***
В UDM и UDM Pro с прошивкой 1.10.0 версия OpenSSL, встроенная в UbiOS (OpenSSL 1.0.2o от 27 марта 2018), старее, чем в UniFiOS (OpenSSL 1.1.0l от 10 сентября 2019), который работает в контейнере. Таким образом, HTTPS-соединения из контейнера работают, а HTTPS-соединения из UbiOS могут не работать.
Для решения удалите символическую ссылку на истёкший DST root сертификат и пересоберите общий файл корневых сертификатов:
rm /etc/ssl/certs/DST_Root_CA_X3.pem
cat /etc/ssl/certs/*.pem > /etc/ssl/certs/ca-certificates.crt
Вручную обновить сигнатуры IDS/IPS на UDM можно командой:
/usr/share/ubios-udapi-server/ips/bin/getsig.sh
UAP
Для старых UAP могут также быть проблемы с HTTPS-соединениями. Сначала убедитесь, что у вас последняя версия прошивки для вашей модели, в которой должен быть текущий корневой сертификат ISRG X1. Если HTTPS-соединения всё ещё не работают, нужно переименовать истёкший DST root сертификат. Подключитесь по SSH к UAP и выполните:
mv /etc/ssl/certs/DST_Root_CA_X3.crt /etc/ssl/certs/DST_Root_CA_X3.old
Эти команды также опубликованы на GitHub:
Корневые сертификаты CA для известных HTTPS-ресурсов
fw-update.ubnt.com
Известные сервисы: прошивка
Корневые сертификаты: Amazon Root CA 1 и Starfield Services Root Certificate Authority - G2
Статус: не влияет на модели
ips1.unifi-ai.com или assets.unifi-ai.com
Известные сервисы: сигнатуры IDS/IPS
Корневые сертификаты: ISRG Root X1 и DST Root CA X3
Статус: влияет на USG и UDM
