Tiga alamat saling terbelit dalam setiap pelan IoT melalui VPN, dan ia bukan jenis keputusan yang sama. Satu ialah bagaimana pengendali jauh menemui titik akhir terowong, satu lagi ialah bagaimana tapak membuktikan bahawa ia memang tapak itu, dan satu lagi ialah di mana perkhidmatan sensor sebenarnya mendengar. Jawab semuanya dalam urutan itu dan reka bentuk hampir keluar sendiri. Jawab semuanya sebagai satu soalan dan anda akan memberikan alamat awam kepada peranti yang tidak pernah memerlukannya. Sensor di belakang terowong tapak keluar boleh dicapai oleh pengendali yang dibenarkan tanpa satu pun peraturan masuk yang menunjuk ke sensor.

Mula dengan siapa yang memulakan

Siapa yang mendail menentukan hampir segala-galanya selepas itu. Apabila tapak mendail ke hab, tapak tidak memerlukan kebolehcapaian masuk, dan hab memerlukan nama atau alamat yang boleh diselesaikan oleh tapak. Pilihan tunggal itu menghapuskan sebahagian besar perdebatan pengalamatan awam statik sebelum ia bermula.

Ketiga-tiga peranan kemudian terpisah dengan bersih, dan jadual di bawah ialah bentuk keputusan yang paling pendek.

DecisionWhat you are actually choosingUsual default
Hub endpointHow the tunnel service is publishedA DNS name, no inbound rule toward the site
Site peerHow the site proves its identity and which prefixes it carriesOne key pair or certificate per site, prefix in the tunnel config
Sensor serviceHow the application is addressed inside the siteA stable private address from the site plan

Setiap baris mempunyai pemilik yang berbeza, dan itulah perkara sebenar. Hab milik sesiapa yang mengendalikan perkhidmatan VPN, rakan tapak milik pasukan rangkaian, dan alamat sensor milik sesiapa yang memiliki peranti itu.

Alamat hab ialah bootstrap, bukan destinasi

Nama yang menyelesaikan kepada alamat awam yang diselenggara sudah cukup untuk hab. Rekod DNS boleh mengikut titik akhir apabila ia berpindah, tanpa menyunting setiap konfigurasi tapak secara manual. Apa yang DNS tidak lakukan ialah mencipta kebolehcapaian atau menyegarkan klien yang menyimpan jawapan lama dalam cache, dan itu masalah berasingan dengan pembetulan berasingan.

Jika anda mengendalikan terowong tapak-ke-tapak tanpa hab, logik yang sama terpakai dalam bentuk lain: satu pihak memerlukan titik akhir yang boleh dicapai, atau kedua-dua pihak mendail pihak ketiga. Seseorang masih perlu memiliki alamat itu dan pembaharuannya.

Rakan tapak ialah identiti dengan awalan yang dilampirkan

Rakan ialah identiti dahulu dan awalan kemudian. Dalam istilah WireGuard, rakan memegang pasangan kunci dan entri AllowedIPs hab mengikat kunci itu kepada awalan tapak. Dalam istilah IKEv2, sijil atau kunci yang dikongsi terlebih dahulu mengenal pasti tapak dan pemilih trafiknya menyatakan apa yang boleh dibawanya. Menukar hanya satu separuh memecahkan susunan, sebab itu perubahan alamat tidak boleh sekali-kali dianggap sebagai perubahan identiti.

Pegang pemilikan kunci atau sijil di tapak dan bukan di pengendali hab, supaya pertukaran pembekal tidak menjadi pertukaran identiti.

Awalan ialah bahagian yang orang lupa rancang. Hab mesti mengaitkan subrang sensor dengan rakan yang betul, dan klien pengendali memerlukan laluan ke sana; laluan yang hanya wujud pada klien menghantar trafik ke terowong yang menggugurkannya secara senyap. Tulis awalan dalam rekod tapak di sebelah cap jari kunci, supaya get laluan pengganti tidak boleh muncul dengan liputan berbeza tanpa disedari.

Alamat sensor milik aplikasi

Alamat persendirian daripada pelan tapak sudah memadai, dan apa yang diperlukannya ialah kestabilan dan bukan kebolehcapaian awam: tempahan DHCP, peruntukan statik atau nama dalam zon tapak itu sendiri. Jika peranti tidak boleh dinomborkan semula, terjemahan pada get laluan tapak ialah jawapan yang sah selagi terjemahan itu didokumenkan dan trafik balasan mengikutinya.

Satu lagi tabiat yang wajar dikekalkan: jangan sekali-kali tampal alamat hab awam ke dalam medan hop seterusnya pada hos sensor. VPN memasang laluannya sendiri, dan ketetanggaan Ethernet biasa dengan titik akhir awam ialah fiksyen yang menghasilkan konfigurasi yang kelihatan meyakinkan.

Balasan ialah separuh yang terlepas pandang. Peranti mesti menghantar jawapannya kembali ke arah terowong, sama ada melalui laluan ke klien pengendali atau melalui get laluan yang sama yang menterjemah permintaan itu. Sensor dengan get laluan lalai yang salah menerima permintaan dan menjawab ke dalam kekosongan, dan nota pengusulan menjelaskan mengapa ketibaan dan penghalaan balasan ialah dua keperluan dan bukan satu.

Putuskan, kemudian tulis sempadan

Tulis sempadan akses sebelum sesiapa menyambung. Hadkan get laluan kepada segmen IoT dan kepada perkhidmatan tertentu yang diperlukan pengendali, kerana laluan yang berfungsi cenderung menjadi akses umum secara tidak sengaja. Pegang pemantauan baca-sahaja dan kuasa konfigurasi sebagai peranan berasingan dengan identiti berasingan, dan namakan orang yang membuang akses apabila kontrak tamat.

Kelulusan milik pemilik rangkaian, dan berada dalam DMZ bukan dasar akses.

Ujian selepas penggunaan membosankan dan muktamad: satu permintaan di dalam awalan yang dibenarkan berjaya, pembilang yang meningkat pada get laluan, dan satu percubaan sengaja di luar awalan yang gagal.

Artikel berkaitan