Penghalaan peribadi menentukan siapa yang mencapai pelayan; peraturan pengangkutan OAuth menentukan bagaimana setiap mesej bergerak. Pelayar, pelayan kebenaran, titik akhir token dan pelayan sumber boleh semuanya berada di belakang VPN yang sama dan masih bertukar mesej melalui ruas yang berbeza. Setiap ruas mempunyai keperluan pengangkutannya sendiri, dan VPN tidak melonggarkan satu pun daripadanya. Sempadan VPN dan sempadan protokol ialah dua garisan berbeza.

Keputusan lebih mudah jika anda berhenti bertanya sama ada rangkaian dipercayai dan mula bertanya pertukaran mana yang melintasi sempadan mana.

Tentukan mengikut ruas, bukan mengikut rangkaian

Tuliskan titik akhir secara berasingan: titik akhir kebenaran, titik akhir token, URI ubah hala, URL pelayan sumber, titik penamatan TLS dan get laluan VPN. Kemudian tandakan pihak mana yang memulakan setiap permintaan dan ke mana respons pergi.

VPN yang berakhir di get laluan menyulitkan segmen sehingga get laluan itu. Permintaan boleh berterusan sebagai HTTP biasa di belakangnya, dan ruas yang tinggal itu tidak menjadi HTTPS kerana segmen terdahulu telah disulitkan. Kesinambungan itulah ruas yang dipedulikan protokol. Menyulitkan lompatan pertama tidak menjadikan lompatan kedua selamat.

Pengangkutan juga membawa pemeriksaan identiti perkhidmatan. Pelayar mengesahkan sijil untuk URL aplikasi; VPN tidak melakukan pengesahan itu bagi pihak pelayar, dan tidak menjadikan titik akhir yang tidak disahkan boleh diterima. Sijil menamakan titik akhir yang klien fikir ia sedang memanggil. Terowong ke get laluan tidak menamakan semula titik akhir itu atau mengesahkannya.

Respons kebenaran dan URI ubah hala

Amalan terbaik keselamatan semasa OAuth melarang penghantaran respons kebenaran melalui sambungan tidak tersulit. Itu merangkumi ubah hala yang membawa kod kebenaran atau token kembali kepada klien, bukan hanya permintaan awal.

Panduan yang sama tidak membenarkan URI ubah hala HTTP, kecuali kes gelung balik klien asli yang dinyatakan. Nama hos dalaman tidak mencipta pengecualian baharu, dan nama DNS yang hanya diselesaikan di dalam VPN masih URL HTTP jika skema berkata demikian. Periksa skema dalam URI yang didaftarkan, bukan hanya nama hos.

Daftarkan URI ubah hala HTTPS yang tepat dengan pelayan kebenaran dan biarkan pengesahan sijil dihidupkan pada klien. Jalan pintas pembangunan yang menekan keperluan HTTPS menghasilkan aliran yang berkelakuan berbeza daripada konfigurasi pengeluaran yang sepatutnya dimodelkannya.

Titik akhir token dan permintaan token pembawa

Permintaan token membawa kelayakan atau kod yang boleh ditukar dengan akses. Menghantarnya melalui ruas tidak terlindung mendedahkan bahan yang akan dipercayai oleh pelayan sumber kemudian, walaupun rangkaian di sekelilingnya peribadi. Proksi yang boleh membaca permintaan juga boleh membaca kelayakan yang dibawanya.

Untuk permintaan sumber dengan token pembawa, RFC 6750 menganggap TLS wajib dilaksanakan dan digunakan bagi spesifikasi itu. Menyebut subnet pejabat sebagai dipercayai bukan pengecualian protokol umum yang diperlukan oleh penggunaan pembawa dalam teks biasa.

Gunakan URL titik akhir selamat yang didokumenkan untuk kedua-dua ruas. Jika pustaka enggan memanggil titik akhir token HTTP, keengganan itu ialah spesifikasi yang berfungsi, bukan pepijat konfigurasi untuk dielakkan. Catat URL itu dalam konfigurasi klien dan bukannya memperolehnya semasa runtime.

Di mana TLS berakhir dan apa yang tinggal

Jika TLS berakhir di bahagian hadapan yang dibenarkan, namakan bahagian hadapan itu dan semak laluan daripadanya ke aplikasi. Bahagian hadapan menjadi bertanggungjawab untuk pemajuan, kepercayaan dan kerahsiaan pada segmen yang tinggal, dan seni bina perkhidmatan yang disokong patut menerangkan susunan itu.

VPN di tempat lain pada laluan tidak menyelesaikan tanggungjawab itu. Ia juga tidak memberitahu anda sama ada URL aplikasi yang dilihat pelayar sepadan dengan sijil yang dikemukakan oleh bahagian hadapan.

Untuk penggunaan dalaman, catat titik penamatan dan identiti yang dikemukakannya. Bahagian hadapan yang menamatkan TLS dengan sijil untuk nama lain mencipta amaran pelayar yang sering ditindas oleh pengendali dan bukannya dibetulkan.

Pengecualian gelung balik asli itu sempit

Pengecualian ubah hala gelung balik berkaitan panggilan balik pada peranti pengguna sendiri, di mana klien dan pelayar berkongsi peranti itu. Susunan itu milik panggilan balik pada satu peranti, dan ia tidak memberi lesen untuk menyediakan pelayan kebenaran biasa atau API yang membawa token melalui HTTP kepada subnet pejabat.

Kekalkan pengecualian terhad kepada jenis klien dan panggilan balik yang diterangkannya. Menggunakannya pada aplikasi web, perkhidmatan dalaman yang dikongsi atau URI ubah hala pada hos lain mengubah penggunaan, bukan pengecualiannya.

Uji aliran sebenar pada setiap sempadan dan bandingkannya dengan jenis klien. Ubah hala yang berfungsi tidak mengatakan apa-apa tentang sama ada setiap ruas yang membawa token menggunakan perlindungan yang diperlukan, dan ikon VPN hijau tidak mengatakan apa-apa tentang skema permintaan seterusnya.

Artikel berkaitan