Score:1

อุโมงค์ HTTPS อย่างโปร่งใสโดยใช้ Squid พร้อมการกรอง SNI

ธง cn

ข้อกำหนดของฉันคือ:

  1. หนังสือมอบฉันทะควรโปร่งใส
  2. ฉันควรจะกรองเว็บไซต์ตามชื่อโดเมนได้
  3. ฉันทำ ไม่ ต้องการถอดรหัสทราฟฟิก ฉันกำลังมองหาโซลูชันที่ใช้ SNI sniffing - ไม่ต้องติดตั้งใบรับรองบนไคลเอนต์

มีคำตอบมากมายที่ลอยอยู่รอบๆ แต่คำตอบนั้นไม่ถูกต้อง (โดยอ้างว่าคุณต้องถอดรหัสทราฟฟิกจึงจะทำสิ่งนี้ได้) หรือไม่สมบูรณ์

Score:2
ธง cn

วิธีดำเนินการคือใช้คุณสมบัติ ssl peek ที่แนะนำใน Squid 3.5 ดู ที่นี่ สำหรับคำอธิบายโดยละเอียด โปรดทราบว่าคุณจะต้องคอมไพล์ด้วย --กับตะปุ่มตะป่ำ หรือ --ด้วย-openssl (ตรวจสอบ ปลาหมึก -v). distros บางอย่างปล่อยให้พวกเขาออกไป

กล่าวโดยย่อ การกำหนดค่าปลาหมึกที่เกี่ยวข้องมีลักษณะดังนี้

acl cancellist_ssl ssl::server_name google.com # ไม่ใช่ dstdomain
acl step1 ที่_step SslBump1
ssl_bump ดูขั้นตอนที่ 1
ssl_bump splice !denylist_ssl # อนุญาตทุกอย่างที่ไม่อยู่ในรายการปฏิเสธ
ssl_bump ยุติ # บล็อกทุกอย่างที่เหลือ
https_port 3129 สกัดกั้น ssl-bump cert=/etc/squid/dummy.pem

(นอกเหนือ: ฉันไม่แน่ใจว่าทำไมเราต้องดูเฉพาะขั้นตอนที่ 1 ไม่ใช่ขั้นตอนที่ 2 เนื่องจากขั้นตอนที่ 2 เกี่ยวข้องกับการรับใบรับรองเซิร์ฟเวอร์เท่านั้น เอกสารไม่ได้ระบุอย่างชัดเจนเลย การใช้ ssl_bump ดูทั้งหมด ตามที่พวกเขาแนะนำทำให้สิ่งนี้หยุดทำงานโดยสิ้นเชิง)

จากนั้นทำ redirect port 443 ถึง 3129 dance โดยใช้ iptables (หรือให้ Squid ฟังที่ 443 โดยตรงหากคุณต้องการ)

-A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3129

คุณสามารถใช้ใบรับรองใดก็ได้สำหรับหุ่นจำลอง เราไม่เคยใช้เลย (เพราะเราไม่ได้ถอดรหัสทราฟฟิก)

สิ่งนี้ได้ผล

opensl req -new -newkey rsa:4096 -sha256 -days 365 -nodes -x509 -keyout dummy.pem -out dummy.pem

แหล่งที่มา:

[1] https://unix.stackexchange.com/questions/613359/setting-up-squid-transparent-proxy-with-ssl-bumping-on-debian-10

[2] https://web.archive.org/web/20210128152111/https://www.cammckenzie.com/blog/index.php/2018/07/19/squid-https-interception-and-filtering-without-client- ใบรับรอง/

[3] https://wiki.squid-cache.org/Features/SslPeekAndSplice

Ginnungagap avatar
gu flag
"distros บางตัว" นั้นใกล้เคียงกับ "distros ส่วนใหญ่" จริง ๆ แล้วตัวที่ใช้ Debian นั้นละเว้นและ IIRC, RHEL และอนุพันธ์ก็เช่นกัน ซึ่งส่วนใหญ่ปล่อยให้ distros เฉพาะกลุ่มจัดหาให้ Alpine อาจจะเป็น distro ที่ได้รับความนิยมมากที่สุดโดยพิจารณาจากการใช้งานในคอนเทนเนอร์
xrisk avatar
cn flag
@Ginnungagap ฉันใช้ CentOS 7.9 และ Squid ของฉันมาพร้อมกับ openssl
Ginnungagap avatar
gu flag
อ่า จำไม่ผิด ขอบคุณสำหรับข้อมูลนะคะ :)
Rafael avatar
cn flag
อาจช่วยได้เช่นกัน https://docs.diladele.com/tutorials/transparent_proxy_debian/index.html

โพสต์คำตอบ

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