Skip to main content

V9.2.1 Server Communication Security

Requirement:#

Verify that connections to and from the server use trusted TLS certificates. Where internally generated or self-signed certificates are used, the server must be configured to only trust specific internal CAs and specific self-signed certificates. All others should be rejected.

Explanation:#

Π’Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ опрСдСляСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… сСртификатов для установлСния бСзопасных соСдинСний ΠΈ прСдотвращСния возмоТности Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΡ… Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ сСбя Π·Π° сСрвСр ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Оно Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ управлСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ ΠΈΠ»ΠΈ самоподписанными сСртификатами для поддСрТания цСлостности ΠΈ подлинности ΠΊΠ°Π½Π°Π»ΠΎΠ² связи.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ микросСрвисами ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ самоподписанныС сСртификаты. Π‘Π΅Ρ€Π²Π΅Ρ€, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ микросСрвисы, настроСн Π½Π° Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ самоподписным сСртификатам, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ ΡƒΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡Π΅Π½Π½Ρ‹ΠΌ Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠΌ сСртификации ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π›ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ самоподписанныС сСртификаты ΠΎΡ‚Π²Π΅Ρ€Π³Π°ΡŽΡ‚ΡΡ, Π½Π΅ позволяя Π½Π΅Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ сСрвисам ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ связь.

Remediation:#

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ взаимодСйствии с сСрвСром прилоТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ сСртификаты TLS, ΡΠΎΠ±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ конфигурация для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΈΠ»ΠΈ самоподписанных сСртификатов ΠΈ ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΡΡŽΡ‚ΡΡ Π½Π΅Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ сСртификаты, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

1. Understand TLS Certificate Trust:

  • ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСртификатов TLS, ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ довСрия ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°ΠΌΠΈ сСртификации ("CA").

2. Review Certificate Setup:

  • ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ настройку сСртификатов TLS Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚ΠΈΠΏΡ‹ сСртификатов, эмитСнтов ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ довСрия.

3. Identify Internal Certificates:

  • Β ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΈΠ»ΠΈ самоподписанныС сСртификаты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

4. Establish Certificate Authority (CA) Policy:

  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ довСрия ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π°ΠΌ сСртификации ΠΈΠ»ΠΈ самоподписанным сСртификатам Π² вашСй ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

5. Implement Certificate Revocation Checks:

  • Β Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ провСряСт статус ΠΎΡ‚Π·Ρ‹Π²Π° сСртификата, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ использованиС ΠΎΡ‚ΠΎΠ·Π²Π°Π½Π½Ρ‹Ρ… сСртификатов.

6. Configuration and Remediation:

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСртификата TLS Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:

a. Review Certificate Trust Store:

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ сСртификатов Π½Π° сСрвСрС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ сСртификации ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ.
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ сСртификатов Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ сСртификации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ распознаны ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹.

b. Verify Internally Issued Certificates:

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ сСртификаты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, особСнно самоподписанныС ΠΈΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ сСртификаты.

  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· этих сСртификатов ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΈΠΌ слСдуСт Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ.

c. Implement Configuration Changes:

  • НастройтС сСрвСр Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ довСрял Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π°ΠΌ сСртификации ΠΈΠ»ΠΈ самоподписанным сСртификатам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ΅ довСрия вашСй ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

  • НастройтС сСрвСр Π½Π° ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π»ΡŽΠ±Ρ‹Ρ… сСртификатов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ явно Π½Π΅ Π΄ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚.

d. Certificate Validation Testing:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ срСдства тСстирования TLS для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСртификатов Π½Π° сСрвСрС.

  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ сСрвСр ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСртификаты ΠΎΡ‚ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ² сСртификации ΠΈΠ»ΠΈ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ самоподписанныС сСртификаты.

7. Certificate Management:

  • УстановитС процСсс управлСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°ΠΌΠΈ сСртификации ΠΈ самоподписанными сСртификатами:

a. Issuance and Renewal:

  • ВыпускайтС ΠΈ ΠΏΡ€ΠΎΠ΄Π»Π΅Π²Π°ΠΉΡ‚Π΅ сСртификаты ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости, соблюдая ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ довСрия.

b. Revocation:

  • Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΡ‚Π·Ρ‹Π²Π° сСртификатов ΠΏΡ€ΠΈ нСобходимости (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ).

c. Updates:Β 

  • РСгулярно ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ сСртификаты ΠΈ вСсти ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.

8. Monitoring and Incident Response:

  • НастройтС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ для обнаруТСния Π»ΡŽΠ±Ρ‹Ρ… нСсанкционированных ΠΈΠ»ΠΈ нСстандартных дСйствий с сСртификатами.

  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ ΠΏΠ»Π°Π½ рСагирования Π½Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Ρ‹, связанныС с сСртификатами.

9. Documentation and Training:

  • Π—Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ измСнСния, внСсСнныС Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ сСртификатов, ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ довСрия ΠΈ процСссы управлСния сСртификатами.

10. Regular Review and Updates:

  • ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈ пСрСсматривайтС ΠΈ обновляйтС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ сСртификатов ΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ довСрия, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΌΡΡ трСбованиям бСзопасности.

Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Cipher Suites ΠΈ настройки TLS connection on Web Server рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Generator CiphersΒ SuitesΒ &Β Tool for setting up IIS Cipher Suite.

How to check it: https://www.ssllabs.com/ssltest/analyze.html?d=example.com

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ, ΠΊΠ°ΠΊ Π² соотвСтствии с Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ V9.2.1 ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ использованиС Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… TLS-сСртификатов, ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ…, Ρ‚Π°ΠΊ ΠΈ самоподписанных, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ сСрвСру:

import requests
def send_request():
# Set up the external server URL
external_url = "https://external.example.com"
try:
# Send a request to the external server
response = requests.get(external_url)
# Check if the response is successful
if response.status_code == 200:
print("Response received:", response.text)
else:
print("Request failed with status code:", response.status_code)
except requests.exceptions.RequestException as e:
print("Request error:", e)
if __name__ == "__main__":
send_request()

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

  • Β  Β  Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° requests для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ GET-запроса Π½Π° внСшний сСрвСр.
  • Β  Β  Доступ ΠΊ URL-адрСсу внСшнСго сСрвСра осущСствляСтся ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ HTTPS, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ использованиС TLS.
  • Β  Β  ΠžΡ‚Π²Π΅Ρ‚ провСряСтся Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΡŒ ΠΈ выводится Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ.

Additional:#

https://cwe.mitre.org/data/definitions/295.html

https://cheatsheetseries.owasp.org/cheatsheets/Transport_Layer_Protection_Cheat_Sheet.html