Score:0

คำถามเกี่ยวกับการกำหนดค่า NGINX หลังอัปเกรด TLSv1.2 TLSv1.3 ฯลฯ การกำหนดค่าพร็อกซี การรับ SSL_do_handshake() ล้มเหลว ล้มเหลว

ธง cn

ฉันเพิ่งอัปเกรดคอนเทนเนอร์ DOCKER ที่ใช้ NGINX เพื่อใช้ NGINX repo ที่ nginx.org แทนเวอร์ชัน Debian distro และเพื่อความปลอดภัย เรากำลังทำการปรับเปลี่ยนบางอย่างกับการกำหนดค่าเซิร์ฟเวอร์เกี่ยวกับ SSL/TLS เป็นต้น เมื่อฉันสแกนหนึ่งใน โดเมนเซิร์ฟเวอร์กับ Qualsys ? สแกนจริง ๆ แล้วได้รับ A แต่ล้มเหลวสำหรับเบราว์เซอร์รุ่นเก่าบางรุ่น เมื่อดูที่ไฟล์บันทึก ฉันเห็นข้อผิดพลาดส่วนใหญ่ดังนี้:

28/05/2022 02:41:14 [ข้อมูล] 24#24: *12871 SSL_do_handshake() ล้มเหลว (SSL: error:1417A0C1:รูทีน SSL:tls_post_process_client_hello:ไม่มีรหัสลับที่ใช้ร่วมกัน) ขณะจับมือ SSL, ไคลเอ็นต์: 192.168.1.1, เซิร์ฟเวอร์ : 0.0.0.0:443
28/05/2022 02:41:28 [ข้อมูล] 24#24: *12874 SSL_do_handshake() ล้มเหลว (SSL: error:14209102:SSL Routines:tls_early_post_process_client_hello:unsupported protocol) ขณะจับมือ SSL, ไคลเอ็นต์: 192.168.1.1, เซิร์ฟเวอร์: 0.0.0.0:443
28/05/2022 02:41:38 [ข้อมูล] 24#24: *12877 SSL_do_handshake() ล้มเหลว (SSL: error:142090C1:SSL Routines:tls_early_post_process_client_hello:no shared cipher) ขณะจับมือ SSL, ไคลเอ็นต์: 192.168.1.1, เซิร์ฟเวอร์ : 0.0.0.0:443
2022/05/28 02:41:39 [crit] 24#24: *12878 SSL_do_handshake() ล้มเหลว (SSL: error:141CF06C:รูทีน SSL:tls_parse_ctos_key_share:การแชร์คีย์ไม่ถูกต้อง) ขณะจับมือ SSL, ไคลเอ็นต์: 192.168.1.1, เซิร์ฟเวอร์ : 0.0.0.0:443
28/05/2022 02:41:43 [ข้อมูล] 24#24: *12869 การเชื่อมต่อเพียร์ปิดในการจับมือ SSL (104: การเชื่อมต่อถูกรีเซ็ตโดยเพียร์) ขณะจับมือ SSL ไคลเอนต์: 192.168.1.1 เซิร์ฟเวอร์: 0.0.0.0:443
28/05/2022 02:41:43 [ข้อมูล] 24#24: *12872 การเชื่อมต่อเพียร์แบบปิดในการจับมือ SSL (104: การเชื่อมต่อถูกรีเซ็ตโดยเพียร์) ขณะจับมือ SSL ไคลเอนต์: 192.168.1.1 เซิร์ฟเวอร์: 0.0.0.0:443

ในบล็อก HTTP ไม่ใช่ในบล็อกเซิร์ฟเวอร์ ฉันมีบางอย่างเช่นนี้ และฉันลองตั้งค่าที่แตกต่างกันเล็กน้อยสำหรับการเข้ารหัส ฯลฯ ฉันไม่ใช่ผู้เชี่ยวชาญ แต่ฉันคิดว่าข้อผิดพลาดเหล่านั้นค่อนข้างเกี่ยวข้องกับการกำหนดค่านั้น จริง ๆ แล้วฉันไม่เห็นข้อผิดพลาดใด ๆ บนเซิร์ฟเวอร์ dev ของฉัน แต่อยู่ในขั้นตอนการผลิต ณ จุดนี้ แต่ดูเหมือนว่าเซิร์ฟเวอร์จะยังคงทำงานอยู่ ยกเว้นข้อผิดพลาด 502 เมื่อสองสามวันก่อน

ssl_protocols TLSv1.2 TLSv1.3;
เปิด ssl_prefer_server_ciphers;
ssl_ciphers ECDH+AESGCM:ECDH+AES256-CBC:ECDH+AES128-CBC:DH+3DES:!ADH:!AECDH:!MD5:!kDHE; # !kDHE ปิดใช้งานการแลกเปลี่ยนคีย์ DHE
# ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

มีข้อผิดพลาดอื่นๆ อีกเล็กน้อยที่อาจเป็นเพียงคำเตือน เช่น

28/05/2022 13:43:36 [warn] 24#24: *13173 การตอบสนองอัปสตรีมถูกบัฟเฟอร์ไปยังไฟล์ชั่วคราว /var/cache/nginx/fastcgi_temp/4/00/0000000004 ขณะอ่านอัปสตรีม

เพียงแค่มองหาตัวชี้บางอย่างเกี่ยวกับวิธีการแก้ไขปัญหานั้น เวอร์ชัน NGINX คือ 1.22.0 ที่สร้างขึ้นโดยตรงจาก nginx.org

Steffen Ullrich avatar
se flag
การสแกนโดย Qualsys จะทำให้เกิดข้อผิดพลาดมากมายในไฟล์บันทึกโดยการออกแบบ เนื่องจากจะลองใช้การตั้งค่า TLS ฝั่งไคลเอ็นต์ที่แตกต่างกันเพื่อดูว่าทำสำเร็จหรือไม่ และด้วยเหตุนี้จึงได้ข้อมูลเกี่ยวกับเซิร์ฟเวอร์ ดังนั้นไม่ต้องกังวลกับข้อผิดพลาดในการจับมือทั้งหมด เว้นแต่ว่าสิ่งเหล่านี้จะอยู่ในบริบทของลูกค้าจริงซึ่งคุณต้องใช้งาน กล่าวอีกนัยหนึ่ง: ฉันไม่เห็นปัญหาการผลิตจริงที่นี่

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา