Администрирование
Расширенные настройки
Веб-сервер
4мин
в статье представлены примеры параметров настройки веб серверов apache2 и nginx , как наиболее часто используемые для установок пассворка apache2 файл виртуального хоста apache2 \<virtualhost 443> servername example ru sslengine on sslcertificatefile /etc/ssl/passwork/fullchain pem sslcertificatekeyfile /etc/ssl/passwork/privkey pem sslcertificatechainfile /etc/ssl/passwork/chain pem # если fullchain не содержит полный путь sslciphersuite "ecdhe ecdsa aes256 gcm sha384\ ecdhe rsa aes256 gcm sha384 ecdhe ecdsa chacha20 poly1305\ ecdhe rsa chacha20 poly1305 ecdhe ecdsa aes128 gcm sha256\ ecdhe rsa aes128 gcm sha256" sslprotocol all sslv2 sslv3 tlsv1 tlsv1 1 sslhonorcipherorder on documentroot /var/www/public \<directory /var/www/public> options indexes +followsymlinks allowoverride all require all granted \</directory> \<filesmatch \\ php$> \# deb \#sethandler "proxy\ unix /run/php/php8 3 fpm sock|fcgi //localhost/" \# rpm \#sethandler "proxy\ unix /run/php fpm/www sock|fcgi //localhost/" \</filesmatch> \</virtualhost> часть файла конфигурации модуля ssl для apache2 sslusestapling on sslstaplingrespondertimeout 5 sslstaplingreturnrespondererrors off sslstaplingcache shmcb /var/run/apache2/stapling cache(128000) sslciphersuite — определить список допустимых шифров, включает только современные и стойкие алгоритмы sslprotocol all sslv2 sslv3 tlsv1 tlsv1 1 — включить только современные и безопасные версии протокола tls (tls 1 2 и 1 3); отключает уязвимые и устаревшие (sslv2, sslv3, tls 1 0/1 1) sslhonorcipherorder on — приоритизирует список шифров, заданный сервером (а не клиентом), позволяет контролировать используемые алгоритмы sslsessioncache shmcb /var/run/apache2/ssl scache(512000) — включить кэширование tls сессий с использованием shmcb (shared memory cache), что ускоряет повторные соединения объём кэша 512 kb sslsessioncachetimeout 300 — задать срок хранения tls сессий в кэше (в секундах) ssl stapling (ocsp stapling) — механизм, при котором сервер сам запрашивает статус tls сертификата у удостоверяющего центра (ca) и прикладывает его к tls сессии это ускоряет подключение и снижает нагрузку на ca, улучшая конфиденциальность клиента используйте ocsp stapling только если ваш сервер пассворк может обращаться к публичным dns серверам sslusestapling on — включить поддержку ocsp stapling сервер сам прикладывает статус tls сертификата от ca к соединению, повышая производительность и приватность sslstaplingrespondertimeout 5 — максимальное время ожидания ответа от ocsp сервера (ca) если за 5 секунд нет ответа, запрос считается неудачным sslstaplingreturnrespondererrors off — если ocsp сервер не отвечает, не отправлять ошибку клиенту cоединение всё равно разрешается (повышает устойчивость в нестабильных сетях) sslstaplingcache shmcb /var/run/apache2/stapling cache(128000) — кэш ocsp ответов в общей памяти, объёмом 128 kb это снижает частоту обращений к ca sslsessiontickets off — по умолчанию тикеты включены, так как это позволяет ускорить установление tls соединений за счёт повторного использования параметров предыдущих сессий, снижая нагрузку на сервер отключение будет действовать только на подключения, использующие tls 1 2 для tls 1 3 управление выполняется openssl и apache2 не может отключить их использование nginx часть файла настройки сайта nginx listen 443 ssl default server; 	 ssl certificate /server/ssl/fullchain pem; 	 ssl certificate key /server/ssl/privkey pem; 	 ssl protocols tlsv1 2 tlsv1 3; 	 ssl ciphers 'ecdhe ecdsa aes256 gcm sha384\ ecdhe rsa aes256 gcm sha384 ecdhe ecdsa chacha20 poly1305\ ecdhe rsa chacha20 poly1305 ecdhe ecdsa aes128 gcm sha256\ ecdhe rsa aes128 gcm sha256'; 	 ssl prefer server ciphers on; 	 ssl session cache shared\ ssl 50m; 	 ssl session timeout 1d; 	 ssl stapling on; ssl stapling verify on; resolver 77 88 8 8 185 222 222 222 valid=300s; resolver timeout 5s; ssl protocols tlsv1 2 tlsv1 3; — ограничить допустимые версии tls только безопасные отключить устаревшие и уязвимые ssl/tls протоколы (tls 1 0/1 1) ssl ciphers — определить список допустимых шифров включает только современные и стойкие алгоритмы ssl prefer server ciphers on; — указывать использовать приоритет шифров сервера (а не клиента), повышает контроль над безопасностью соединения ssl session cache shared\ ssl 50m; — включить кэширование tls сессий между соединениями на 50 мб, ускоряет повторные подключения и снижает нагрузку ssl session timeout 1d; — задать срок жизни сессий в кэше клиент может повторно использовать tls сессию в течение суток, если кэш не очищен ssl stapling (ocsp stapling) — механизм, при котором сервер сам запрашивает статус tls сертификата у удостоверяющего центра (ca) и прикладывает его к tls сессии это ускоряет подключение и снижает нагрузку на ca, улучшая конфиденциальность клиента использовать ocsp stapling только если пассворк может обращаться к публичным dns серверам ssl stapling on; — включить ocsp stapling сервер сам предоставляет свежий статус сертификата, ускоряя проверку и улучшая приватность клиента ssl stapling verify on; — обязывает сервер проверять подлинность ответа ocsp у корневого ca, чтобы не отдавать недействительный или подделанный статус resolver 77 88 8 8 185 222 222 222 valid=300s; — указывать dns серверы для резолвинга (например, для ocsp); кэшируется на 5 минут в примере использованы яндекс dns и dns sb resolver timeout 5s; — максимальное время ожидания ответа от dns если не ответит за 5 секунд, запрос считается неудачным ssl session tickets off ; — отключить сессионные тикеты tls по умолчанию тикеты включены, так как это позволяет ускорить установление tls соединений за счёт повторного использования параметров предыдущих сессий, снижая нагрузку на сервер отключение имеет смысл только при одновременном выполнении всех следующих условий приложение работает на нескольких серверах; используется один wildcard сертификат на всех инстансах; серверы распределены по разным дата центрам, и отсутствует централизованное управление tls сессионными ключами