Let's Encrypt - Apache - zszywanie OCSP

11

Chciałbym włączyć zszywanie OCSP na moim serwerze Apache. Używam:

Do pliku:

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

Dodałem:

SSLUseStapling on

Następnie zredagowałem:

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

dodając ten wiersz:

SSLStaplingCache shmcb:/tmp/stapling_cache(128000)

Przeczytałem, że to wystarczy, aby umożliwić zszywanie OCSP .

Sprawdziłem składnię za pomocą:

sudo apachectl -t

i było OK.

Jednak po ponownym załadowaniu Apache nie może się uruchomić.

EDYCJA 1:

Postępując zgodnie z tym przewodnikiem .

Wewnątrz mojego wirtualnego hosta SSL:

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

Dodałem te linie poniżej moich zestawów SSLCertificateFile, SSLCertificateKeyFile:

SSLUseStapling on
SSLStaplingReturnResponderErrors off
SSLStaplingResponderTimeout 5

Następnie edytowałem ten plik:

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

dodając ten wiersz:

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

Teraz mogę ponownie uruchomić Apache bez problemów, jednak wydaje się, że OCSP nie działa, w oparciu o:

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

Co robię źle, czy jest to coś związanego z moim certyfikatem Let's Encrypt?

NineCattoRules
źródło
W twojej konfiguracji oczekuję, że używa anonimowego mapowania, więc nazwa pliku nie ma znaczenia. Błąd mówi, że zabrakło mu pamięci - czy to możliwe, że masz ustawiony limit zasobów, który uniemożliwia przechwycenie pamięci współdzielonej?
derobert
@derobert proszę sprawdzić moją aktualizację
NineCattoRules
3
Wygląda na to, że powinien działać - mam podobną konfigurację i działa (chociaż moja konfiguracja stapingu obejmuje cały serwer, a nie tylko jednego hosta). Sugeruję zmianę, LogLevelaby sprawdzić, czy możesz znaleźć przyczynę niepowodzenia Apache. Jedyny oczywisty, jaki mogę wymyślić, to posiadanie zapory ogniowej ograniczającej ruch wychodzący - musi przepuścić żądanie OCSP.
derobert
1
Czy próbowałeś zmienić LogLevel, aby zobaczyć, czy możesz uzyskać komunikat o błędzie z Apache?
derobert
1
Istnieje kilka poziomów dziennika między ostrzeżeniem a debugowaniem . Spróbowałbym infopierwszy.
derobert

Odpowiedzi:

0

Wpadłem na to jakiś czas temu, ale wydaje mi się, że to naprawiłem.

$ 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 zgadza się: 97,5% (muszę włączyć szyfr dla mojego telefonu LG)

edycja : SSLLabs zgadza się: 100% Naprawiono 100%. Głupie wsparcie dla telefonu i krzywej.

W mojej sytuacji korzystałem ze wspólnej linii:

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

Zmieniłem na plik fullchain.pem i wszystko jest w porządku.

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

Alternatywnie możesz dodać linię do pliku VirtualHost

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

To jest mój pełny /etc/apache2/conf-enabled/ssl.confplik. Jedynymi elementami SSL w pliku VirtualHost są SSLEngine, SSLCertificateFilei 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

Nadal pracuję nad OCSP Must Staple

Edit1: Got OCSP Must Zszywanie roboczego. Jest to opcja w kliencie certbot:

certbot --must-staple --rsa-key-size 4096
Peter Berbec
źródło
0

Aby odpowiedzieć na twoje pytanie, kopiuję i wklejam niektóre apache2.confustawienia mojego serwera Apache, który zapewnia szyfrowanie klasy A na mojej stronie za pomocą certyfikatów 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

Dodatkowo możesz zobaczyć tę odpowiedź na wzmocnienie SSLCipherSuite.

nkomputery
źródło