Tor ผ่าน VPN: ใครเห็น IP ของคุณ และใครเห็นการใช้ Tor?
เมื่อใช้ Tor ผ่าน VPN รีเลย์ขาเข้าจะเห็นทางออก VPN ของคุณ และผู้ให้บริการของคุณจะเห็นรีเลย์ยาม ปรับลำดับกลับ ทั้งสองผู้สังเกตก็เปลี่ยน
คุณเชื่อมต่อไคลเอนต์ VPN รออุโมงค์ แล้วเปิด Tor Browser ให้สร้างวงจร ลำดับธรรมดาๆ นั้นเองที่กำหนดว่าใครเห็นอะไร ในลำดับนั้นรีเลย์ขาเข้าของ Tor จะทักทายที่อยู่ทางออก VPN ของคุณ และผู้ให้บริการ VPN ของคุณจะทักทายรีเลย์ยามสาธารณะ ทำกลับกันแล้วผู้สังเกตทั้งสองก็เปลี่ยน ทั้งสองลำดับควรค่าแก่การพิจารณา เพราะการตั้งค่าไคลเอนต์ทำลายลำดับที่ผู้คนเชื่อว่าเกิดขึ้นอย่างเงียบๆ และการตรวจสอบที่จับได้นั้นเหมือนกันในทั้งสองกรณี
เริ่มจากลำดับ ไม่ใช่ผลิตภัณฑ์
การจัดวางสองแบบถูกเรียกว่า «VPN กับ Tor» และแบบแรกเท่านั้นที่พบได้ทั่วไป ใน Tor ผ่าน VPN อุโมงค์ถูกยกขึ้นแล้วเมื่อ Tor เริ่มทำงาน กระบวนการ tor จึงส่งการเชื่อมต่อยามของตนเข้าไปในอุโมงค์เหมือนทราฟฟิกขาออกอื่นๆ ใน VPN ผ่าน Tor กลับกัน Tor ขึ้นก่อน และเซสชัน VPN เองเดินทางผ่านวงจรไปถึงผู้ให้บริการจากทางออก Tor
สิ่งที่เปลี่ยนระหว่างสองแบบคือที่อยู่ใดอยู่ที่ปลายไกลของข้อต่อชั้นนอกสุด ผู้สังเกตแต่ละรายเห็นเพียง hop ก่อนหน้า ไม่เคยเห็นเส้นทางทั้งหมด รีเลย์ยามเห็นว่าใครเชื่อมต่อเข้ามา และเซิร์ฟเวอร์ VPN เห็นว่าใครเชื่อมต่อเข้ามา Tor ไม่พาที่อยู่ทางอุโมงค์ภายในของคุณออกไป และไม่มีฟิลด์ใดในโปรโตคอลที่ทำเช่นนั้นได้
ในทั้งสองลำดับ เว็บปลายทางยังเห็นทางออก Tor และไม่มีลำดับใดเปลี่ยนสิ่งที่เว็บนั้นเรียนรู้จากการลงชื่อเข้าใช้ของคุณ ความแตกต่างจำกัดอยู่ที่สองขอบ
รีเลย์ขาเข้าของ Tor เห็นอะไร
ขาเข้า หรือยาม รับการเชื่อมต่อ TCP ธรรมดาบนพอร์ตรีเลย์และเริ่มการจับมือ TLS กับไคลเอนต์ ในการจัดวาง Tor-ผ่าน-VPN แหล่งของการเชื่อมต่อนั้นคือทางออก VPN ของคุณ ในการจัดวาง Tor-ก่อน แหล่งคือที่อยู่ที่เครื่องของคุณใช้เข้าถึงเครือข่าย Tor ซึ่งโดยปกติคือการเชื่อมต่อที่บ้านของคุณ
นั่นตอบครึ่งหนึ่งของคำถามเรื่อง IP แต่เฉพาะเมื่ออุโมงค์พาการเชื่อมต่อไปจริง กระบวนการ Tor ไปถึงยามด้วยซ็อกเก็ตของตัวเอง และซ็อกเก็ตนั้นไม่อยู่ภายใต้การตั้งค่าพร็อกซีของ Tor Browser เบราว์เซอร์พูดคุยกับกระบวนการ tor ที่มาพร้อมผ่าน SOCKS ที่พอร์ต 9150 แล้ว tor จึงเปิดการเชื่อมต่อของตัวเองโดยใช้ตารางเส้นทางของเคอร์เนล บรรทัด Socks5Proxy ใน torrc หรือทรานสปอร์ตไคลเอนต์เปลี่ยนเส้นทางนั้น ไม่มีอย่างอื่น
บน Linux คุณอ่านคำตอบจากเครื่องได้ ถามเคอร์เนลว่าจะใช้อินเทอร์เฟซใดสำหรับที่อยู่สาธารณะใดๆ แล้วดูที่อยู่ภายในของการเชื่อมต่อที่สร้างขึ้น:
ip route get 203.0.113.10
sudo ss -tnp | grep -i torถ้าเส้นทางบอก dev wg0 หรือ dev tun0 และที่อยู่ภายในของการเชื่อมต่อที่สร้างขึ้นคือที่อยู่ของอุโมงค์ แสดงว่า Tor อยู่ใน VPN ถ้าเส้นทางระบุอินเทอร์เฟซกายภาพของคุณ แสดงว่าอยู่นอก ไม่ว่าตัวบ่งชี้ของไคลเอนต์จะอ้างอย่างไร
ผู้ให้บริการ VPN ของคุณเห็นอะไรได้บ้าง
ผู้ให้บริการสิ้นสุดเซสชัน VPN ของคุณ จึงเห็นที่อยู่ที่คุณเชื่อมต่อ ที่อยู่รีเลย์ยามถูกเผยแพร่ในฉันทามติสาธารณะและพอร์ตเป็นที่รู้จักกันดี การจับคู่จึงเป็นการค้นหารายการ ไม่ใช่การตรวจสอบแพ็กเก็ตเชิงลึก ผู้ให้บริการไม่จำเป็นต้องทำลาย Tor เพื่อรู้ว่าเซสชันหนึ่งเป็น Tor
สิ่งที่มองไม่เห็นคือส่วนที่เหลือของวงจร รีเลย์กลางและทางออกถูกเลือกภายใน Tor และผู้ให้บริการจัดการเพียงข้อต่อถึงยาม เนื้อหาหน้าที่ยังอยู่ใน TLS ที่สิ้นสุดที่ทางออก และการแปลงชื่อสำหรับทราฟฟิก Tor ก็เกิดขึ้นที่ทางออกเช่นกัน จึงไม่มี คำถาม DNS ที่ผู้ให้บริการเพื่อเชื่อมโยงกับปลายทาง.
บริดจ์ที่มี obfs4 เปลี่ยนการค้นหา ไม่ใช่โครงสร้างเครือข่าย ที่อยู่บริดจ์ไม่มีในรายการรีเลย์สาธารณะและทราฟฟิกถูกปรับรูปร่างไม่ให้ดูเหมือน Tor ผู้ประกอบการที่เพียงเปรียบเทียบที่อยู่จึงไม่ติดธง เซสชันยังมาจากไคลเอนต์ VPN ของคุณ และผู้ให้บริการยังเห็นจุดปลายหนึ่งจุด ปริมาณหนึ่ง และตารางเวลาหนึ่ง
ความสามารถไม่ใช่นโยบายการเก็บรักษา
ผู้ประกอบการที่สังเกตการเชื่อมต่อได้ไม่ได้สัญญาว่าจะเก็บไว้ การบันทึกเป็นอีกการตัดสินใจหนึ่ง เขียนไว้ในนโยบาย จำกัดโดยเขตอำนาจ และตรวจสอบได้เฉพาะด้วยหลักฐานที่คุณไว้วางใจอยู่แล้ว ป้ายไม่มีบันทึกไม่เปลี่ยนบทบาทเครือข่ายที่อธิบายข้างต้น
ตัวตนของบัญชีมักสำคัญกว่าที่อยู่ทางออก หากคุณลงชื่อเข้าใช้ด้วยที่อยู่อีเมล หรือจ่ายด้วยบัตร ผู้ให้บริการสามารถผูกเซสชันกับคุณได้โดยไม่บันทึกปลายทางแม้แต่รายการเดียว การหมุน IP ทางออกไม่ได้แก้อะไรในเรื่องนั้น
ตรวจสอบความครอบคลุมก่อนเชื่อคำตอบใดๆ
คนส่วนใหญ่ที่เชื่อว่าตนรัน Tor ผ่าน VPN รันเพียงบางส่วน การแยกอุโมงค์ที่ยกเว้น Tor Browser สวิตช์ตัดการเชื่อมต่อที่ครอบเบราว์เซอร์แต่ไม่ครอบบริการ tor ยูนิตเริ่มระบบที่ทำงานก่อนอุโมงค์ขึ้น และเส้นทาง IPv6 ที่อ้อมอุโมงค์คือสี่ข้อปกติ
การอ่านหน้าจอสถานะของไคลเอนต์ไม่ได้ทดสอบข้อใดเลย การทดสอบที่ทำได้คือ ปล่อย Tor Browser ทำงานไว้ ดึงอุโมงค์ลง และดูว่าการเชื่อมต่อยามยังอยู่บนอินเทอร์เฟซกายภาพหรือไม่
ลำดับที่ผมตรวจ โดยหยุดที่ความล้มเหลวแรก:
ip route get 203.0.113.10คืนอุปกรณ์อุโมงค์ss -tnp | grep -i torแสดงการเชื่อมต่อยามพร้อมที่อยู่ภายในของอุโมงค์ip -6 routeไม่มีเส้นทางเริ่มต้นนอกอุโมงค์ หรือ IPv6 ถูกปิดในไคลเอนต์- การดึง VPN ลงทำให้การเชื่อมต่อ tor สิ้นสุดหรือเปลี่ยนเส้นทาง แทนที่จะปล่อยไว้บนข้อต่อกายภาพ
ลำดับใดเหมาะกับสิ่งที่คุณป้องกัน
ทั้งสองลำดับซ่อนบางอย่างและเปิดเผยบางอย่าง คำตอบจึงเป็นการเลือกเกี่ยวกับผู้สังเกตที่คุณสนใจ
| Observer | Tor over VPN | VPN over Tor |
|---|---|---|
| Your ISP or local network | Sees a VPN connection, not Tor | Sees a Tor guard connection |
| Your VPN provider | Sees Tor use, and your home address | Sees a Tor exit as the client, not your home address |
| Tor entry relay | Sees the VPN exit | Sees your home address |
| Destination website | Sees a Tor exit | Sees a Tor exit |
อ่านทีละคอลัมน์จนกว่าแถวจะตรงกับสิ่งที่คุณพยายามป้องกัน หากความกังวลคือเครือข่ายท้องถิ่นหรือ ISP ที่บันทึกหรือบล็อก Tor การใช้ Tor ผ่าน VPN จัดการเรื่องนั้น หากความกังวลคือผู้ประกอบการ VPN รู้ที่อยู่บ้านของคุณ VPN ผ่าน Tor จัดการเรื่องนั้น และจ่ายด้วยการเปิดเผยการใช้ Tor ต่อเครือข่ายของคุณเองและที่อยู่บ้านต่อยาม
ไม่มีการจัดวางใดทำให้ทั้งสองขอบมืดบอด การเพิ่มผู้สังเกตไม่ได้ลบอีกผู้หนึ่ง หมายเหตุของ Tor Project เรื่อง การรัน VPN กับ Tor กล่าวสิ่งเดียวกันจากอีกด้าน อุโมงค์เปลี่ยนว่าใครได้รับความไว้วางใจและมีเส้นทางล้มเหลวใดบ้าง จึงไม่ใช่การอัปเกรดที่เพิ่มได้โดยไม่ตัดสินใจว่าคุณต้องการซ่อนอะไร
ตัดสินใจเรื่องผู้สังเกตก่อน เลือกลำดับทีหลัง และตรวจสอบด้วย ip route get และ ss แทนตัวบ่งชี้ของไคลเอนต์ หากผู้สังเกตคือคนที่บังคับผู้ให้บริการ VPN ได้เอง ไม่มีลำดับใดแก้ได้