Давайте шифруємо - Apache - OCSP зшиванням


11

Я хотів би включити зшивання OCSP на моєму сервері Apache. Я використовую:

  • Сервер: Apache / 2.4.7 на Ubuntu
  • Сертифікат: шифруємо

До файлу:

/etc/apache2/sites-available/default-ssl.conf

Я додав:

SSLUseStapling on

Потім я редагував:

/etc/apache2/mods-available/ssl.conf

додавання цього рядка:

SSLStaplingCache shmcb:/tmp/stapling_cache(128000)

Я прочитав, що цього буде достатньо для того, щоб увімкнути OCSP .

Я перевірив синтаксис за допомогою:

sudo apachectl -t

і все було нормально.

Однак після завантаження Apache не може запуститися.

EDIT1:

Після цього керівництва .

Всередині мого віртуального хост-файлу SSL:

/etc/apache2/sites-available/default-ssl.conf

Я додав ці рядки нижче моїх наборів SSLCertificateFile, SSLCertificateKeyFile:

SSLUseStapling on
SSLStaplingReturnResponderErrors off
SSLStaplingResponderTimeout 5

Потім я редагував цей файл:

/etc/apache2/mods-available/ssl.conf

додавання цього рядка:

SSLStaplingCache shmcb:${APACHE_RUN_DIR}/ssl_stapling_cache(128000)

Зараз я можу без проблем перезапустити Apache, однак, схоже, OCSP не працює, грунтуючись на:

openssl s_client -connect www.example.com:443 -servername www.example.com -status < /dev/null
OCSP response: no response sent

Що я роблю неправильно, це щось пов’язане з моїм сертифікатом Let Encrypt?


У вашому конфігурації, я думаю, він використовує анонімне відображення, тому ім'я файлу насправді не має значення. Помилка говорить про втрату пам’яті - чи можливо встановити обмеження ресурсів, яке не дозволяє захопити спільну пам’ять?
дероберт

@derobert прошу перевірити моє оновлення
NineCattoRules

3
Схоже, це повинно працювати - у мене працює аналогічний конфігурація, і вона працює (хоча моя інсталяція налаштована на сервер, а не лише один vhost). Я б запропонував змінити, LogLevelщоб побачити, чи можете ви отримати причину невдачі в Apache. Єдине очевидне, про що я можу придумати, - це якщо у вас є брандмауер, що обмежує вихідний трафік - він повинен пропустити запит OCSP.
дероберт

1
Ви спробували змінити LogLevel, щоб побачити, чи можете ви отримати повідомлення про помилку з Apache?
дероберт

1
Існує кілька рівнів журналу між попередженням та налагодженням . Я б спробував infoспочатку.
дероберт

Відповіді:


0

Я натрапив на це деякий час тому, але, здається, це виправили.

$ openssl s_client -connect berb.ec:443 -servername berb.ec -status < /dev/null 2>&1 | grep "OCSP Response Status"
OCSP Response Status: successful (0x0)

SSLLabs погоджується: 97,5% (я повинен увімкнути шифр для свого телефону LG)

редагувати : SSLLabs погоджується: 100% Виправлено 100%. Дурна підтримка телефону та кривих.

У моїй ситуації я використовував загальну лінію:

SSLCertificateFile /etc/letsencrypt/live/berb.ec/cert.pem

Я змінив файл fullchain.pem і все добре.

SSLCertificateFile /etc/letsencrypt/live/berb.ec/fullchain.pem

Крім того, ви можете додати рядок у файл VirtualHost

SSLCACertificateFile /etc/letsencrypt/live/berb.ec/chain.pem

Це мій повний /etc/apache2/conf-enabled/ssl.confфайл. Єдиними елементами SSL у файлі VirtualHost є SSLEngine, SSLCertificateFileі SSLCertificateKeyFile.

SSLProtocol             -all +TLSv1.2
SSLCipherSuite          ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384
SSLOpenSSLConfCmd       DHParameters    "/etc/apache2/dhparam4096.pem"
SSLOpenSSLConfCmd       ECDHParameters secp384r1
SSLOpenSSLConfCmd       Curves          secp521r1:secp384r1
SSLUseStapling          On
SSLStaplingCache        "shmcb:/logs/ssl_stapling(32768)"
SSLCompression off
SSLHonorCipherOrder on
Header always set X-Frame-Options SAMEORIGIN
Header always edit Set-Cookie (.*) "$1;HttpOnly;Secure"
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set X-Content-Type-Options nosniff
SSLOptions +StrictRequire

Я все ще працюю над OCSP Must Staple

EDIT1: Got OCSP Must Скоба працює. Це варіант у клієнті certbot:

certbot --must-staple --rsa-key-size 4096

0

Щоб відповісти на ваше запитання, я копіюю і вставляю деякі apache2.confпараметри мого сервера Apache, який забезпечує шифрування класу A на моїй сторінці за допомогою Let's Encrypt SSL сертифікатів:

#Required modules
LoadModule socache_shmcb_module /usr/lib/apache2/modules/mod_socache_shmcb.so
LoadModule ssl_module           /usr/lib/apache2/modules/mod_ssl.so

#SSL settings
SSLCipherSuite ECDHE:AES256-SHA:AES128-SHA:DES-CBC3-SHA:!RC4
SSLHonorCipherOrder on
SSLRandomSeed connect file:/dev/urandom 32
SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl(512000)
SSLSessionCacheTimeout 86400
SSLStaplingCache shmcb:${APACHE_RUN_DIR}/ocsp(128000)
SSLUseStapling on

Крім того, ви можете побачити цю відповідь для зміцнення SSLCipherSuite.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.