Gambaran Teknikal: Mencegah Kebocoran DNS Apabila Menghidupkan Antara Rangkaian
Untuk secara efektif menawarkan privasi dan keselamatan pengguna, aplikasi VPN mesti memastikan permintaan DNS pengguna tetap tersendiri untuk tempoh keseluruhan sambungan ke VPN. Aplikasi biasanya melakukan ini dengan menjamin bahawa semua permintaan DNS dihantar disulitkan melalui terowong VPN dan dikendalikan oleh pelayan DNS pembekal VPN.
Untuk mengekalkan jaminan ini, penting untuk memahami di mana senario kebocoran DNS mungkin berlaku. Memandangkan hanya senario mudah, seperti apabila sambungan rangkaian stabil, tidak mencukupi. Di dunia nyata, rangkaian sering tidak stabil, atau konfigurasi mereka boleh berubah, dan pada umumnya, ini adalah apabila kebocoran terjadi. Menyiasat senario rumit dengan itu merupakan bahagian penting dalam proses kejuruteraan aplikasi VPN kebocoran.
Di ExpressVPN, kami menghabiskan banyak masa dan usaha menyiasat senario kompleks di mana aplikasi VPN anda mungkin bocor. Di sepanjang artikel ini, kami membincangkan satu senario tertentu yang kami dapati di mana kebocoran DNS dapat terjadi. Kami akan menerangkan bagaimana dan mengapa kebocoran DNS berlaku dan memberi anda cara untuk menguji kebocoran diri anda.
Senario: Kebocoran DNS selepas beralih dalam antara muka rangkaian
Beralih antara antara muka rangkaian adalah senario biasa di mana kebocoran DNS adalah mungkin. Pertimbangkan contoh berikut:
- Anda berada di rumah dengan komputer riba anda dan disambungkan ke Wi-Fi
- Anda berhubung dengan aplikasi VPN anda
- Kadang kala anda memasangkan kabel Ethernet anda
Kebanyakan aplikasi VPN tidak akan mengesan perubahan konfigurasi rangkaian ini. Mereka akan terus memaklumkan kepada anda bahawa privasi dan keselamatan anda masih dilindungi 100%, namun realiti boleh sangat berbeza.
Di bawah selekoh, permintaan DNS anda boleh terus membocorkan kepada ISP atau pihak ketiga yang lain, dan anda mungkin tidak menyedari.
Pecahan Teknikal
Bila boleh ini benar-benar berlaku?
Mari ambil contoh Mac (jangan ambil perhatian, kebocoran ini juga berlaku dengan peranti Windows). Katakan anda mempunyai sambungan Wi-Fi dan Ethernet yang ada. Buka aplikasi “Keutamaan Sistem” dan navigasi ke “Rangkaian.” Anda akan melihat sesuatu seperti yang berikut:
Ini menunjukkan bahawa anda disambungkan ke kedua-dua Wi-Fi dan Ethernet, tetapi Ethernet adalah sambungan pilihan anda.
Katakan terus bahawa DNS anda dibiarkan ke alamat IP “tempatan”. Anda boleh menyemak ini dengan mengklik pada “Advanced” apabila sambungan Ethernet anda diserlahkan dan kemudian menavigasi ke “DNS.” Anda harus melihat sesuatu seperti ini:
Jika alamat IP di bawah “DNS Servers” adalah dalam bentuk 10.x.x.x, 192.168.x.x atau di antara 172.16.x.x dan 172.31.x.x, maka ia adalah alamat IP “tempatan”. Ini kemungkinan besar bahawa router anda bertindak sebagai pelayan DNS anda dan oleh itu, tanpa VPN, ISP anda dapat melihat semua permintaan DNS anda. Sekiranya anda mempunyai persediaan sedemikian, maka anda mungkin terdedah kepada kebocoran DNS ini.
Ambil perhatian bahawa walaupun pelayan DNS anda tidak mempunyai alamat IP tempatan, anda mungkin masih terdedah kepada kebocoran DNS. Dalam kes ini, permintaan DNS boleh melalui terowong VPN. Walau bagaimanapun, mereka tidak akan dialihkan ke pelayan DNS VPN tetapi kepada beberapa pelayan DNS lain, seperti ISP atau pembekal DNS pihak ketiga.
Bagaimana anda boleh menyemak sama ada anda bocor?
Kaedah yang paling mudah ialah menggunakan alat kebocoran DNS ExpressVPN dan lakukan perkara berikut:
- Pastikan kabel Ethernet anda dicabut
- Pastikan anda disambungkan ke rangkaian Wi-Fi
- Sambungkan dengan aplikasi VPN anda
- Gunakan penguji kebocoran DNS ExpressVPN atau penguji pihak ketiga
- Anda harus melihat hanya satu pelayan DNS yang tersenarai
- Jika anda menggunakan ExpressVPN, maka penguji kami juga akan memberitahu anda bahawa ia adalah pelayan yang diiktiraf kami
- Palamkan kabel Ethernet anda
- Muat semula halaman kebocoran DNS. Sekiranya anda bocor DNS, maka anda akan melihat senarai pelayan DNS yang berbeza
Anda juga boleh menyemak kebocoran DNS tanpa bergantung pada laman web kami dengan menggunakan tcpdump seperti berikut.
Pertama, cari antara muka rangkaian sepadan dengan sambungan Ethernet anda:
- Buka tetingkap Terminal
- Taip networksetup -listallhardwareports
- Cari garisan seperti “Port Perkakasan: Thunderbolt Ethernet,” mis.
- Antara muka rangkaian untuk sambungan Ethernet anda ditunjukkan di sebelah “Peranti.” Dalam contoh ini en4
Sekarang, mari lari ujian:
- Pastikan kabel Ethernet anda dicabut
- Sambungkan dengan aplikasi VPN anda melalui Wi-Fi
- Palamkan kabel Ethernet anda
- Buka tetingkap Terminal
- Ketik sudo tcpdump -i en4 port 53 dan masukkan kata laluan anda
- sudo memberikan tcpdump keistimewaan yang diperlukan untuk menangkap trafik rangkaian
- -i en4 memberitahu tcpdump untuk mendengar pada antara muka Ethernet
- Gantikan en4 dengan antara muka yang anda temukan di atas
- port 53 adalah port yang digunakan untuk trafik DNS dan dengan itu menunjukkan hanya permintaan DNS
- Jika anda melihat sebarang lalu lintas, maka anda mempunyai kebocoran DNS, contohnya.
- Buka tetingkap Terminal
- Taipkan scutil – orang
- Di bahagian atas output, anda harus melihat “resolver # 1” dengan senarai “nameserver”, contohnya.
- Alamat IP di sebelah setiap “nameserver” menunjukkan sistem yang akan digunakan untuk permintaan DNS
Apa yang sebenarnya berlaku di sini?
Sebab utama kebocoran ini adalah bagaimana sistem operasi menentukan pelayan DNS yang hendak digunakan. Pelayan DNS yang digunakan oleh sistem sentiasa yang dikaitkan dengan perkhidmatan rangkaian aktif keutamaan yang paling tinggi-ini sepadan dengan perkhidmatan hijau di bahagian atas senarai dalam gambar di atas.
Dengan Ethernet dilumpuhkan, pelayan yang akan menerima pertanyaan DNS anda adalah yang berkaitan dengan perkhidmatan Wi-Fi kerana ia kini merupakan perkhidmatan rangkaian keutamaan yang paling penting. Perkara yang sama berlaku ketika anda menyambung ke VPN. Untuk menghantar trafik DNS dengan betul ke pelayan DNS VPN, kebanyakan pembekal VPN menukar pelayan DNS pada antara muka keutamaan tertinggi ke pelayan DNS mereka sendiri. Dalam senario ini, ini bermakna mereka menukar pelayan DNS yang dikaitkan dengan perkhidmatan rangkaian Wi-Fi anda.
Apabila anda memasangkan kabel Ethernet anda, perkhidmatan rangkaian Ethernet melompat kembali ke bahagian atas senarai aktif kerana ia kini merupakan perkhidmatan rangkaian keutamaan tertinggi. Sistem pengendalian kemudian akan cuba menggunakan pelayan DNS yang dikaitkan dengan perkhidmatan tersebut untuk mencari DNS.
Banyak aplikasi VPN tidak akan dapat melihat masalah ini kerana rangkaian Wi-Fi anda masih berjalan dan berjalan-ia tidak pernah terganggu. Walau bagaimanapun, semasa mereka menghantar data anda yang disulitkan melalui rangkaian Wi-Fi, permintaan DNS anda akan dihantar tanpa disenarai dengan ISP anda.
Jika aplikasi VPN anda tidak melindungi terhadap senario ini, maka itu bermakna permintaan DNS anda akan bocor dari terowong ke ISP anda.
Memeriksa pelayan nama DNS di Terminal
Sebagai nota sampingan, anda boleh menyiasat tingkah laku pelayan DNS dengan perintah scutil. Untuk melihat apa pelayan DNS sistem menggunakan hanya:
Berminat untuk belajar lebih banyak? Mempunyai soalan atau komen?
Pasukan kejuruteraan kami ingin mendengar daripada anda-semata-mata menjatuhkan kami di [email protected].