Bagaimana cara kerja koneksi jaringan portal captive?


8

Akses internet di hotel, kafe bandara sering dipagari oleh captive portal yang memaksa Anda ke halaman web tertentu saat pertama kali digunakan, misalnya halaman pembayaran atau halaman tertentu untuk menerima persyaratan layanan atau halaman otentikasi / otorisasi. Anda melihat ini dengan koneksi nirkabel dan kabel.

Bagaimana cara kerjanya?


1
Agak seperti ini, tetapi tidak dilakukan untuk kejahatan. ex-parrot.com/~pete/upside-down-ternet.html
Zoredache

Jawaban:


14

Ini tentu saja berbeda di setiap vendor produk nirkabel, tetapi menurut pengalaman saya biasanya berfungsi seperti ini:

  1. Laptop Anda membuat koneksi nirkabel ke titik akses cerdas, yang mungkin terhubung ke stasiun manajemen terpusat.
  2. Permintaan web pertama Anda dicegat dan dibalas dengan Location:tajuk yang mengarahkan Anda ke halaman login / kebijakan (mis. Http://hotelwireless.net/login ). Ini mungkin hidup langsung pada titik akses cerdas, atau di stasiun manajemen pusat.
  3. Setelah Anda menyelesaikan autentikasi, alamat MAC Anda ditambahkan ke daftar klien yang diizinkan yang menyebabkan permintaan di masa mendatang dialihkan dengan benar ke Internet, atau sumber daya Intranet yang dapat diakses.

Berkenaan dengan apa yang menyebutnya, saya sering mendengarnya disebut sebagai "captive portal" atau "wireless access portal" paling sering.


2
Saya juga melihatnya menggunakan dns, jadi permintaan dns pertama akan diselesaikan ke halaman login / kebijakan.
Niko SP

1
Apakah Anda ingin mengaturnya? Ada beberapa distro linux yang cepat, mudah dan aman seperti pfSense yang dapat Anda gunakan dalam waktu kurang dari satu jam.
G Koe

2
Bagaimana cara kerja sisi klien? Windows 10, setelah mendapatkan koneksi wifi, akan meluncurkan browser default untuk masuk ke portal. Ponsel Android 5 akan meluncurkan Sign-in to Networkaplikasi (bukan browser default) yang pada dasarnya hanya menampilkan halaman portal itu. Apakah ada protokol baru yang terlibat? Apa spesifikasinya?
Pak Tua

Saya tahu ini adalah posting lama, tetapi bagaimana Anda mencegat juts dari permintaan web pertama (atau lebih tepatnya permintaan web sampai pengguna mengotentikasi dengan beberapa cara seperti mengklik tombol)?
Dominik

4

Pertama untuk mencapai pengalihan, Anda memerlukan autentikator inline (pengontrol akses). Dalam konteks topik Anda, Anda akan memerlukan pengontrol LAN nirkabel jika Anda memilih manajemen pusat AP. ATAU Anda juga dapat menempatkan jenis portal pengendali akses jaringan dengan fitur Wall Garden.

NAS memonitor lalu lintas yang memasuki downlink (sisi klien) melalui soket raw mode promiscuous dan ketika browser memulai lalu lintas untuk klien yang tidak diautentikasi terdeteksi, pengalihan HTTP diberikan sebagai respons. Jadi browser yang menerima akan diarahkan ke beranda CAPTIVE portal kami, yang dapat di-host inline pada autentikator atau out of box di beberapa server web eksternal.

Satu-satunya pekerjaan halaman ini adalah untuk memberikan pengguna UI untuk memasukkan kredensial. kredensial yang dimasukkan diteruskan kembali ke Daemon autentikator seperti cabai dalam kasus coova cabai, lebih lanjut kredensial ini diteruskan sebagai permintaan radius ke server RADIUS atau dapat diperiksa secara lokal. Setelah otentikasi berhasil, keadaan klien di authenticator ditandai resmi dan klien diberikan akses.

Bagaimana Redirection dicapai

Pendekatan yang paling banyak digunakan adalah untuk mencegat permintaan HTTP yang diprakarsai oleh pengguna dan kode 302 sebagai tanggapan terhadap klien. Pada cabai dilakukan melalui fungsi di bawah ini

http_redirect2() {

cat < <  EOF
HTTP/1.1 302 Redirect 

Location: $1

Set-Cookie: PORTAL_SESSIONID=$PORTAL_SESSIONID

Set-Cookie: COOVA_USERURL=$COOVA_USERURL

Connection: close

EOF
    exit

}

Pengalihan ini dapat dengan mudah dicapai antarmuka tun tap yang dikendalikan secara pragmatis ke antarmuka sisi klien yang memotong lalu lintas klien. Pengalihan lebih lanjut dapat dicapai melalui keracunan DNS juga tetapi kadang-kadang dapat menyebabkan masalah jika tanggapan di-cache di browser klien. Hal-hal lebih lanjut dapat dilakukan lebih spesifik sesuai dengan domain masalah. Saya dapat membantu Anda dengan itu jika Anda mau.


2

Ada deskripsi yang bagus tentang hal ini di https://www.arubanetworks.com/vrd/GuestAccessAppNote/wwhelp/wwhimpl/js/html/wwhelp.htm .

Inilah bagian dari itu:

Proses Otentikasi Portal Captive

Captive portal adalah otentikasi Layer 3, yang mengharuskan perangkat terhubung ke jaringan dan mendapatkan alamat IP dan informasi DNS terkait sebelum mengautentikasi melalui captive portal. Langkah-langkah berikut menjelaskan seluruh proses captive portal ketika ArubaOS asli digunakan untuk otentikasi portal captive:

1. Perangkat yang mengaitkan dengan SSID tamu diberi peran awal (peran tamu-masuk dalam contoh konfigurasi). Peran awal ini memungkinkan DHCP, sehingga pengguna mendapatkan alamat IP.

2. Pengguna membuka browser dan membuat permintaan HTTP (atau HTTPS) ke beberapa tujuan (misalnya, www.bbc.com).

3. Penyelesai dalam perangkat mengirimkan permintaan DNS untuk menyelesaikan www.bbc.com. Peran awal (peran tamu-masuk) mengizinkan layanan DNS, sehingga resolver dapat berkomunikasi dengan server DNS.

4. Server DNS membalas dengan alamat yang benar ke www.bbc.com.

5. Resolver memberi tahu browser alamat IP mana yang akan digunakan berdasarkan balasan DNS.

6. Browser memulai koneksi TCP ke port 80 dari alamat www.bbc.com.

7. Pengontrol memotong koneksi dan menipu handshake TCP awal dari proses HTTP. Pada saat ini, peramban klien mengira sedang berkomunikasi dengan server bbc.com.

8. Ketika browser mengirim permintaan HTTP GET untuk halaman web, controller menjawab dengan mengatakan bahwa bbc.com telah "dipindahkan sementara" ke.

9. Browser menutup koneksi.

10. Browser mencoba terhubung, tetapi pertama-tama perlu mengirim permintaan DNS untuk alamat tersebut.

11. Server DNS yang sebenarnya merespons bahwa ia tidak dapat menyelesaikan https://securelogin.arubanetworks.com , tetapi pengontrol menyadap yang membalas dan mengubah paket untuk mengatakan bahwa securelogin.arubanetworks.com berada di alamat IP pengontrol itu sendiri. Ingatlah bahwa sangat penting bahwa server DNS mengirim kembali balasan ke kueri. Hanya kemudian controller dapat menipu balasan dari server DNS. Mengirim permintaan DNS tanpa menerima balasan tidak cukup, karena tanpa balasan controller tidak akan pernah membantu klien menyelesaikan securelogin.arubanetworks.com.

12. Browser memulai koneksi HTTPS ke alamat controller, yang merespons dengan halaman login portal captive, di mana tamu mengotentikasi.

13. Setelah otentikasi berhasil, pengguna diberikan peran otentikasi posting (peran auth-guest dalam konfigurasi contoh). Ini adalah peran default dalam profil portal captive.

14. Setelah otentikasi, browser dialihkan ke bbc.com di alamat yang semula diselesaikan oleh DNS. Atau, jika halaman selamat datang dikonfigurasikan, browser diarahkan ke halaman selamat datang.

15. Untuk berhasil mengalihkan ke halaman web asli, controller mem-spoof balasan dari bbc.com untuk memberi tahu klien bahwa bbc.com telah "dipindahkan secara permanen" ke bbc.com. Langkah ini mengoreksi "relokasi sementara" yang terjadi sebagai bagian dari login portal captive.

16. Ini menyebabkan klien meminta kembali DNS untuk alamat www.bbc.com.

17. Browser mulai berkomunikasi dengan server bbc.com yang sebenarnya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.