Удаление определенного SSL-сертификата Ubuntu 24.04

Вопрос или проблема

Заменил мое действительное доменное имя на ‘domain’.

У меня запущен nextcloud на сервере 192.168.1.2, при открытии сайта nc.domain.eu и проверке сертификата:

Common Name (CN) nc.domain.eu Organization (O) Organizational Unit (OU)

Так что это работает.

Но когда я открываю adguard.domain.eu, он показывает:

Common Name (CN) collabora.domain.eu Organization (O) Organizational Unit (OU)

Collabora раньше работала на этой машине, но из-за проблем я удалил её, однако ‘сертификат’ все еще остается.

При выполнении:

openssl s_client -showcerts -connect 192.168.1.2:443

---
Server certificate
subject=CN = collabora.domain.eu
issuer=C = US, O = Let's Encrypt, CN = E6
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: ECDSA
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 3314 bytes and written 373 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 256 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

Как мне удалить этот сертификат из Ubuntu?

locate .pem | grep "\.pem$" | xargs -I{} openssl x509 -issuer -enddate -noout -in {}

Я использовал это, чтобы найти ‘collabora.domain.eu’ и нашел 2 результата:

не удалось прочитать сертификат из
/etc/letsencrypt/archive/collabora.domain.eu/privkey1.pem

директория содержит:

cert1.pem chain1.pem fullchain1.pem privkey1.pem

Не удалось прочитать сертификат из
/etc/letsencrypt/live/collabora.domain.eu/privkey.pem

директория содержит:

cert.pem chain.pem fullchain.pem privkey.pem README

Могу ли я просто удалить эти директории? и запустить:

update-ca-certificates

И я хочу добавить www.domain.eu и *.domain.eu на этот сервер. Я уже создал файлы на Nginx Proxy Manager. Могу ли я просто скопировать их? Если да, то куда?

Я также попробовал:

sudo certbot certificates
sudo certbot delete

выбрал ‘1’, который был ‘collabora.domain.eu’, и запустил

update-ca-certificates

но

openssl s_client -showcerts -connect 192.168.1.2:443

все еще показывает его.

Ответ или решение

Удаление сертификата SSL на сервере Ubuntu может оказаться необходимым, если неактуальные или неверные данные мешают корректной работе сайта. В рассматриваемом случае у вас возникла проблема с сертификатом, относящимся к ранее установленному сервису Collabora на сервере 192.168.1.2. Этот сертификат продолжает присутствовать и может вызвать проблемы, например, при доступе к другим ресурсам, как adguard.domain.eu.

Теория:

В общем случае, для управления SSL-сертификатами на сервере Ubuntu используется утилита Certbot. Она позволяет автоматизировать процесс создания, обновления и удаления сертификатов, выданных такими центрами сертификации, как Let’s Encrypt. Когда удаление сертификата через Certbot завершено, оставшиеся файлы в системе могут все еще создавать путаницу. Важно не только удалить записи из Certbot, но и гарантировать отсутствие последствий в конфигурации веб-сервера.

Пример:

В вашем случае возникли сложности из-за того, что старый сертификат, связанный с Collabora, не был корректно удалён и продолжает использоваться сервером.

  1. Удаление через Certbot:
    Вы предприняли шаги для удаления сертификата, используя Certbot.

    sudo certbot delete

    Выбрали сертификат для collabora.domain.eu и удалили его. Certbot также обновляет конфигурации для веб-сервера, такие как Apache или Nginx.

  2. Проверка остатков сертификатов:
    Старый сертификат всё ещё можно увидеть через команду openssl s_client, что может означать кеширование старых сертификатов или неверную конфигурацию веб-сервера.

    openssl s_client -showcerts -connect 192.168.1.2:443
  3. Проверка конфигурации:
    Возможно, конфигурация вашего веб-сервера не была обновлена. Убедитесь, что файлы конфигурации не ссылаются на старые сертификаты.

  4. Физическое удаление файлов:
    Несмотря на то, что Certbot удалил записи, файлы могли остаться. Проверьте директории, которые вы указали, например:

    /etc/letsencrypt/archive/collabora.domain.eu/
    /etc/letsencrypt/live/collabora.domain.eu/

    Удалите физически эти директории и их содержимое, если они больше не нужны.

sudo rm -rf /etc/letsencrypt/archive/collabora.domain.eu
sudo rm -rf /etc/letsencrypt/live/collabora.domain.eu

Применение:

  1. Конфигурация веб-сервера:
    Убедитесь, что ваш Nginx или Apache настроен правильно. Перезапустите веб-сервер после всех изменений.

    sudo systemctl restart nginx  # или apache2 в зависимости от установленного веб-сервера
  2. Добавление новых сертификатов:
    Для добавления сертификатов www.domain.eu и *.domain.eu, скопируйте созданные сертификаты с Nginx Proxy Manager в соответствующие директории.

    /etc/letsencrypt/live/www.domain.eu/
    /etc/letsencrypt/live/domain.eu/

    Обратите внимание на обновление конфигурации веб-сервера для использования новых сертификатов:

    server {
       listen 443 ssl;
       server_name www.domain.eu *.domain.eu;
       ssl_certificate /etc/letsencrypt/live/domain.eu/fullchain.pem;
       ssl_certificate_key /etc/letsencrypt/live/domain.eu/privkey.pem;
    }
  3. Перезапуск веб-сервера:
    После всех корректировок не забудьте перезапустить веб-сервер для активации изменений.

    sudo systemctl restart nginx  # или apache2
  4. Проверка установки:
    Повторно проверьте установку сертификатов командой OpenSSL. Это подтвердит, использует ли сервер правильный сертификат.

    openssl s_client -showcerts -connect www.domain.eu:443

Таким образом, процесс удаления и добавления сертификатов требует точности и внимательности к деталям, особенно в части конфигурации веб-сервера и управления файлами сертификатов. Убедитесь, что нет лишних или неиспользуемых ссылок на старые сертификаты, что поможет избежать проблем вместе с улучшением безопасности вашей системы.

Оцените материал
Добавить комментарий

Капча загружается...