Skip to main content

V9.2.4 Server Communication Security

Requirement:#

Verify that proper certification revocation, such as Online Certificate Status Protocol (OCSP) Stapling, is enabled and configured.

Explanation:#

Π’Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π½Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ бСзопасности взаимодСйствия сСрвСров ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΎΡ‚Π·Ρ‹Π²Π° сСртификатов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Online Certificate Status Protocol (OCSP) Stapling. ΠžΡ‚Π·Ρ‹Π² сСртификата - это процСсс признания Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ сСртификата Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π΄ΠΎ истСчСния срока Π΅Π³ΠΎ дСйствия, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ, истСчСния срока дСйствия ΠΈΠ»ΠΈ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ. OCSP Stapling - это ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΉ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ статуса ΠΎΡ‚Π·Ρ‹Π²Π° сСртификата.

Remediation:#

Enabling Online Certificate Status Protocol (OCSP) Stapling in an AWS Load Balancer

  • Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² консоль управлСния AWS Management Console.
  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ слуТбС Amazon EC2.
  • Π’ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ "Load Balancers".
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ OCSP Stapling.
  • На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ "Listeners" Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ listener, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ сСртификат SSL/TLS.
  • На экранС "Edit Listener" ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠ· Π΄ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° "Advanced".
  • Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ "Enable OCSP stapling".
  • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ измСнСния.

1. Enabling OCSP Stapling in Nginx:

Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Nginx (nginx.conf ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сайта) Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Π² Π±Π»ΠΎΠΊ server:

# OCSP stapling
ssl_stapling on;
ssl_stapling_verify on;

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ пСрСзапуститС Nginx для примСнСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

2. Enabling OCSP Stapling in Apache:

Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Apache (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ httpd.conf ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ хоста) Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Π² Π±Π»ΠΎΠΊ VirtualHost:

SSLUseStapling On
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off

ПослС внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ пСрСзапуститС ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Apache для примСнСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

3. Enabling OCSP Stapling in Apache Tomcat:

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ OCSP Stapling Π² Apache Tomcat происходит нСсколько ΠΈΠ½Π°Ρ‡Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Tomcat Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ OCSP stapling Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Однако Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Java (JVM).

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π² catalina.sh, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ OCSP stapling:

CATALINA_OPTS="$CATALINA_OPTS -Djava.security.properties=/path/to/your/java.security.config"
jdk.tls.ocsp.enable=true

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ java.security.config ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ:

jdk.tls.ocsp.enable=true

ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ Tomcat для примСнСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ /path/to/your/java.security.config Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ java.security.config.

4. Test and Verify:

ПослС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ OCSP Stapling Π² любом ΠΈΠ· этих сСрвСров Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ https://www.ssllabs.com/ssltest/analyze.html?d=example.com

Additional:#