มีวิธีใดที่จะร้องขอ HTTPS ในพร็อกซีเซิร์ฟเวอร์


12

เรากำลังใช้พร็อกซีเซิร์ฟเวอร์ Squid ในสภาพแวดล้อมของเราและเราต้องการแคชคำขอ HTTPS

มีวิธีการกำหนดค่า Squid หรือโดยทั่วไปพร็อกซีเซิร์ฟเวอร์เพื่อแคชคำขอ HTTPS หรือไม่?


นี่อาจเป็นเรื่องความปลอดภัยเซ
ทอมโอคอนเนอร์

1
เพื่อความชัดเจนคุณใช้ปลาหมึกต่อหน้าเซิร์ฟเวอร์ของคุณเองหรือคุณใช้มันระหว่างเวิร์กสเตชันกับอินเทอร์เน็ต
Zoredache

เพียงชี้แจง คุณต้องการแคชคำขอหรือคำตอบ?
Gqqnbig

คำตอบ:


12

มีวิธีที่จะทำ แต่เป็นพื้นฐานกับเหตุผลในการใช้ HTTPS

นี่คือวิธีที่คุณจะทำ

  1. สร้างใบรับรอง SSL ที่ลงชื่อด้วยตนเองสำหรับไซต์ที่คุณต้องการดักจับและแคชคำขอจาก
  2. ติดตั้งและเรียกใช้ stunnel บนพร็อกซีเซิร์ฟเวอร์ของคุณโดยบอกว่าใบรับรองที่ควรมีอยู่นั้นเป็นใบรับรองที่สร้างขึ้นในขั้นตอนที่ 1
  3. มีการ stunnel ส่งต่อการร้องขอถอดรหัสเพื่อปลาหมึก
  4. คุณอาจต้องมี stunnel ในอีกด้านหนึ่งหรือ openssl_client เพื่อเข้ารหัสการร้องขอไปยังเซิร์ฟเวอร์ upstream อีกครั้ง

คำเตือน:

  1. ผู้ใช้ของคุณจะเกลียดคุณ ทุกคำขอ SSL ไปยังไซต์นั้นจะมีหน้าต่างใบรับรองที่ไม่ถูกต้อง
  2. คุณกำลังเปิดเผยตัวเองกับคดีความที่อาจเกิดขึ้นสำหรับการทำสิ่งที่น่ารังเกียจ (IANAL)
  3. คุณจะสามารถรับใบรับรองที่ลงชื่อด้วยตนเองได้เท่านั้นเนื่องจากวิธีที่เว็บเชื่อใจ PKI สำหรับใบรับรอง SSL ควรทำงาน ไม่ต้องพูดอะไรเกี่ยวกับ CA ที่รูตที่ถูกบุกรุก

ฉันจะไม่ให้รายละเอียดที่แน่นอนเกี่ยวกับวิธีการทำเช่นนี้กับคุณเพราะก)ฉันคิดว่ามันผิดจรรยาบรรณและข)คุณควรเรียนรู้วิธีการทำเช่นนี้

ฉันขอแนะนำให้คุณศึกษาว่า stunnel และ man-in-the-middle attack ทำงานอย่างไร


คุณสามารถขอ Trustwave zdnet.com/เพื่อขายใบรับรองรูทให้กับคุณเพื่อให้คุณสามารถใช้โซลูชันนี้ได้โดยไม่ทำให้ผู้ใช้ของคุณยุ่งยาก : P
Rory

2
ที่จริงแล้วถ้าคุณอยู่ในโดเมนการสร้าง CA ของคุณเองจะทำได้ง่ายกว่าและปรับใช้ใบรับรองสาธารณะด้วยนโยบายกลุ่ม
Tom O'Connor

1
การเชื่อถือ SSC + MITM มีประโยชน์สำหรับการดีบักโปรโตคอล, แคช, การตรวจสอบแพ็คเก็ตลึกและการเซ็นเซอร์ / การบันทึก : / นอกจากเหตุผลเหล่านั้นไม่ดีนัก

6

เพียงเพื่ออธิบายว่าทำไมจึงไม่สามารถทำได้หากไม่มี MITM - พร็อกซีจะเห็นชื่อ DNS ของเซิร์ฟเวอร์ที่คุณต้องการเชื่อมต่อเมื่อใช้ HTTPS เข้ารหัส ไม่เห็น URL หรือส่วนหัวการตอบกลับใด ๆ ไม่สามารถกำหนดทรัพยากรส่วนบุคคลที่คุณกำลังเข้าถึงบนไซต์ไม่ว่าจะเป็นแคชหรือไม่หรือเวลาในการแก้ไขคืออะไร ทั้งหมดที่เห็นคือมีคนต้องการบางสิ่งจากเซิร์ฟเวอร์ระยะไกลโดยใช้ HTTPS

ซึ่งหมายความว่าการแคชไม่สามารถทำงานได้ในขณะที่พร็อกซีไม่ทราบว่าวัตถุใดที่แคชจะให้คุณหรือวิธีการรับพวกเขาในสถานที่แรก


5

ไม่มีมีไม่ได้ที่พวกเขาจะถูกเข้ารหัส ... การแก้ปัญหาจะเป็นสิ่งที่เหมือนมนุษย์ในกลางการใช้งาน แต่ที่จะเอาชนะทุกเหตุผลที่อยู่เบื้องหลังhttps


1
ไม่มีวิธีแก้ไขปัญหาเพื่อให้ได้สิ่งนี้หรือบังคับให้พร็อกซีเซิร์ฟเวอร์ถอดรหัสและแคชหรือไม่
Supratik

การแก้ปัญหาจะค่อนข้าง resempbles man-in-middleปรับใช้ แต่ที่จะเอาชนะเหตุผลทั้งหมดที่อยู่เบื้องหลัง https
yrk

5
ฉันไม่เห็นด้วยที่จะกำจัดเหตุผลทั้งหมดที่อยู่เบื้องหลัง https หากคุณทำที่บ้านและคุณเป็นเจ้าของพร็อกซีข้อมูลของคุณจะยังคงใช้ https ระหว่างพร็อกซีของคุณกับเว็บไซต์
brunoqc

@brunoqc เป็นงานของ VPN
yrk

1
หากการแคชเพย์โหลด https เป็นสิ่งสำคัญด้วยเหตุผลบางอย่างหรือการดีบักเซสชัน https, MITM จะมีประโยชน์มาก อันที่จริงแล้วนี่คือวิธีการทำงานของชาร์ลส์

1

Zeus (ปัจจุบันคือ Riverbed) ZTM Traffic Manager สามารถทำสิ่งนี้ได้เนื่องจากสามารถแปล http และ https ทราฟฟิกได้ทั้งวิธีและแคชเนื้อหาที่ไม่ได้เข้ารหัส - ใช้งานได้เราใช้มัน แต่แพงมาก ๆ


5
แต่มันก็ยังต้องการให้คุณติดตั้งใบรับรองหลักใหม่ในไคลเอนต์ใช่ไหม? และคุณยังต้องเชื่อถือพร็อกซี่ใช่ไหม
Phihag
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.