Ssl tunnel

From OnnoWiki
Jump to navigation Jump to search

Misalnya anda ingin mengakses sebuah server / port yang di batasi / di halangi oleh aplikasi di komputer anda atau di jaringan anda. Padahal anda terhubung ke jaringan. Pertanyaannya,

  • Bagaimana mengatasi batasan ini?
  • Mungkinkah kita melakukan sambungan secara aman?

SSL Tunnel (stunnel) memungkinkan kita untuk mengatasi hal ini


Apakah SSL Tunneling?

Mainimage.png

SSL tunneling dilakukan saat aplikasi client Internal request object web menggunakan HTTPS pada port 8080 melalui server proxy.

Contoh - ketika kita melalui shopping online. Sambungan Internet ke situs e-commerce yang dituju di tunnel oleh kita melalui proxy server. Kata kunci disini adalah "melalui". Client berkomunikasi ke web server target secara langsung setelah sambungan awal berhasil di lakukan oleh proxy server, jadi komunikasi dilakukan dalam SSL tunnel setelah negosiasi SSL dilakukan.

Bagaimana cara kerjanya?

Image2.png

Client melakukan tunneling request:

CONNECT server-host-name:port HTTP/1.1 (or HTTP/1.0).
CONNECT www.example.com:443 HTTP/1.1

Host: www.example.com:443

Nomor port optional dan biasanya 443. Aplikasi client akan secara automatis mengirimkan CONNECT request ke proxy server terlebih dahulu untuk setiap HTTPS request jika forward proxy di konfigurasi di browser.


Langkah Detail

  • RFC 2616 memproses CONNECT sebagai cara untuk membuat simple tunnel. Ada lebih banyak tentang hal itu di RFC 2817, meskipun sebagian besar yang dibahas di RFC 2817 (upgrade ke TLS untuk sambungan non-proxy HTTP) jarang digunakan.
  • proxy menerima sambungan di port 8080, menerima request, dan connect ke server tujuan di port yang diminta oleh client.
  • proxy membalas client bahwa connection established dengan respons 200 OK .
  • Setelah ini, connection antara client dan proxy server tetap dibuka. proxy server me-relay semua client-proxy connection ke dan dari proxy-backend. client upgrade (proxy-backend) connection yang aktif ke SSL/TLS connection, dengan menginisiasi TLS handshake di channel.Karea sekarang semua di relay ke backend server, itu akan seperti TLS exchange dilakukan secara langsung dengan www.example.com:443. proxy server tidak memainkan peran sama sekali di handshake. TLS handshake terjadi secara effektif antara client dan backend server.
  • Setelah secure handshake selesai, proxy mengirim dan menerima data yang di encrypt untuk bisa di decrypt oleh client atau di server tujuan.
  • Jika client atau server tujuan request untuk menutup port-nya, maka proxy server akan menutup ke dua sambungan (port 443 dan 8080) dan kembali ke aktifitas normalnya.

Pranala Menarik