Практическое задание

Эта задача — шаг 14 курса «TLS и сертификаты»

TLS для сервиса метрик

средне~20 мин

Внутренняя страница метрик из /srv/metrics-site должна открываться только по HTTPS. Выпусти самоподписанный сертификат для metrics.internal: имя должно быть и в CN, и в SAN (DNS:metrics.internal), ключ и сертификат положи в /etc/ssl/metrics/. Настрой nginx отдавать этот сайт по HTTPS на порту 9443 с этим сертификатом.

Что потренируешь:
  • openssl req -x509
  • subjectAltName
  • self-signed
  • nginx ssl
  • https

Разбор темы

Самоподписанный сертификат подписан собственным ключом: доверия браузера у него нет, но канал шифруется полноценно — для внутренних сервисов и стендов этого хватает. Современные клиенты сверяют имя хоста не с CN, а с расширением SAN (Subject Alternative Name), поэтому имя кладут в оба места: openssl req -x509 выпускает ключ и сертификат одной командой, а -addext добавляет SAN. В nginx TLS включается параметром ssl у listen и двумя директивами с путями к сертификату и закрытому ключу; порт может быть любым — HTTPS не обязан жить на 443.

Что проверяется

  1. HTTPS на 9443 отдаёт страницу метрик
  2. CN сертификата — metrics.internal
  3. в SAN есть DNS:metrics.internal
  4. ключ и сертификат в /etc/ssl/metrics

Как это выглядит