Score:1

Nginx ไม่สามารถยอมรับ TLS handshake เมื่อไคลเอนต์ไม่ส่งส่วนขยาย TLS

ธง in

Nginx ได้รับการกำหนดค่าเป็นโหลดบาลานเซอร์และมีใบรับรองเซิร์ฟเวอร์ติดตั้งเพื่อยุติแฮนด์เชค TLS สำหรับการเชื่อมต่อ MQTT ใช้งานได้เมื่อส่วนขยาย TLS รวมอยู่ใน clientHello ในระหว่างการจับมือกัน แต่มีไคลเอนต์อื่นที่ใช้โค้ดเก่าที่ไม่ได้ส่งส่วนขยาย TLS ใด ๆ ใน clientHello ในกรณีนั้นฉันพบว่า Nginx จะส่งข้อผิดพลาดเหมือนใน

SSL_do_handshake() ล้มเหลว (SSL: error:14201044:SSL Routines:tls_choose_sigalg:internal error) ในขณะที่ SSL handshaking, ไคลเอ็นต์: x.x.x.107, เซิร์ฟเวอร์: 0.0.0.0:8883

นี่คือการจับภาพ Wireshark

ลูกค้าสวัสดีโดยไม่ต้องมีนามสกุล

สำหรับฉันแล้ว ดูเหมือนว่า Nginx คาดหวังว่าจะมีส่วนขยาย alorightms ที่เป็นลายเซ็นเป็นอย่างน้อย คำถามของฉันคือถ้าเป็นไปได้ สามารถกำหนดค่า Nginx ให้ยอมรับ TLS handshake เมื่อไคลเอนต์ไม่ได้ใช้ส่วนขยาย

การกำหนดค่าสตรีม Nginx อยู่ที่นี่ (แสดงเฉพาะที่เกี่ยวข้องกับ TLS):

โบรกเกอร์ต้นน้ำ{
    เซิร์ฟเวอร์ 127.0.0.1:18831;
    เซิร์ฟเวอร์ 127.0.0.1:18832;
    เซิร์ฟเวอร์ 127.0.0.1:18833;

    โซน tcp_mem 64k;
    แฮช $mqtt_client_id สอดคล้องกัน; 
}
เซิร์ฟเวอร์ {
    ฟัง 8883 ssl;  
    preread_buffer_size 1k;

    ssl_certificate /etc/nginx/certs/server.pem;
    ssl_certificate_key /etc/nginx/certs/server.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers สูง:!aNULL:!MD5;
    ssl_session_cache ที่ใช้ร่วมกัน: SSL:128m;  
    เปิด ssl_session_tickets;
    ssl_session_timeout 8 ชม.
    ปิด ssl_verify_client;
    ปิด ssl_prefer_server_ciphers;    
 
    โบรกเกอร์ proxy_pass;
    proxy_connect_timeout 5 วินาที;
    access_log /var/log/nginx/mqtt_access.log mqtt;
    error_log /var/log/nginx/mqtt_error.log ดีบัก;  
}

นี่คือการจับ wireshark เมื่อลูกค้าส่งส่วนขยายใน clientHello:

clienHello รวมส่วนขยาย

Z Wang avatar
in flag
ปรากฎว่าระดับความปลอดภัยเริ่มต้นของ openssl ห้ามคีย์ RSA น้อยกว่า 2048 บิตในรหัสลับ หลังจากปรับระดับความปลอดภัย ปัญหาจะได้รับการแก้ไข

โพสต์คำตอบ

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