Как отключить старые версии TLS (1.0 / 1.1) для Apache / Nginx в Ubuntu 18.04 или CentOS 7

Меня недавно спросили, как мы можем отключить старые версии TLS на сервере. Пользователь подавал заявку на соответствие PCI и хотел, чтобы на его машине работал только TLS 1.2, чтобы пройти проверку поставщика PCI.

1 симпатия

Вот небольшое пошаговое руководство о том, как настроить это на сервере CentOS.

Если вы используете сервер Apache, вам нужно будет настроить файл конфигурации Apache / httpd, чтобы отключить TLS 1.0 и 1.1.

Если на сервере не запущена панель управления, вы можете внести изменения вручную в файле конфигурации httpd. Расположение файла должно быть:

/etc/apache2/conf/httpd.conf

и здесь у вас может быть символическая ссылка:

/usr/local/apache/conf/httpd.conf

Вы можете открыть файл конфигурации httpd с помощью вашего любимого текстового редактора, поэтому вы можете использовать vi, vim или nano, это полностью от ваших предпочтений.

Вам нужно найти следующие строки:

SSLCipherSuite

SSLProtocol

Первая это SSL Cipher Suite, а вторая - для фактический протокол. Чтобы сделать активным только TLS 1.2, вы можете скопировать / вставить следующие строки:

SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

SSLProtocol TLSv1.2

Вы можете проверить доступные наборы шифров, используя эту ссылку:

Для TLS 1.3 вы можете использовать:

SSLCipherSuite TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

SSLProtocol TLSv1.2;

Теперь сервер настроен. Пришло время проверить наш конфигурационный сервер apache на наличие синтаксических ошибок:

sudo apache2 -t

Перезагрузите или перезапустите сервер apache:

sudo apache2 restart nginx

ИЛИ

sudo service apache2 restart