Apa itu SNI?
Virtual host memungkinkan beberapa nama domain berbagi satu alamat IP, sehingga membantu mengatasi kekurangan alamat IPv4. Server meneruskan permintaan ke nama domain berbeda (virtual host) berdasarkan header host dalam permintaan klien.
Pendekatan ini menimbulkan masalah bagi server HTTPS yang meng-host beberapa nama domain pada satu alamat IP. Sebelum proses jabat tangan TLS selesai, server tidak mengetahui nama domain yang diminta oleh klien dan tidak dapat menyajikan sertifikat yang tepat untuk virtual host tujuan.
Server Name Indication (SNI) mengatasi masalah tersebut dengan mewajibkan klien menentukan nama domain tujuan selama proses jabat tangan TLS. Server kemudian memilih sertifikat yang sesuai untuk menyelesaikan jabat tangan dan membangun koneksi TLS.
SNI pertama kali diusulkan pada tahun 2004. Sebagian besar browser modern, server, dan alat pengujian saat ini mendukung SNI.
Mengapa Anti-DDoS Proxy dan Web Application Firewall mengharuskan client mendukung SNI?
Anti-DDoS Proxy dan Web Application Firewall (WAF) berfungsi sebagai reverse proxy untuk layanan HTTPS. Saat mengonfigurasi proteksi HTTPS, Anda harus mengunggah sertifikat dan kunci privat. Karena jumlah alamat IP yang tersedia untuk Anti-DDoS Proxy dan server WAF terbatas, kluster layanan tersebut meng-host beberapa nama domain pada server yang sama. Oleh karena itu, klien harus mendukung SNI agar dapat berinteraksi secara benar dengan Anti-DDoS Proxy dan WAF.
Solusi
Server-side
Konfigurasikan server Anda agar mendukung SNI.
Client-side
- Sarankan pengguna beralih ke browser modern, seperti Google Chrome atau Firefox.
- Jangan mengonfigurasi proteksi website Lapisan 7 di layanan Anti-DDoS Proxy. Sebagai gantinya, konfigurasikan proteksi website menggunakan penerusan port Lapisan 4. Catatan Proteksi port Lapisan 4 tidak melindungi dari serangan CC.
- Browser desktop yang didukung:
- Chrome 5 dan versi yang lebih baru
- Chrome 6 dan versi yang lebih baru
- Firefox 2 dan versi yang lebih baru
- Internet Explorer 7 dan versi yang lebih baru (hanya pada Windows Vista, Windows Server 2008, dan sistem operasi yang lebih baru; tidak ada versi Internet Explorer pada Windows XP yang mendukung SNI.)
- Konqueror 4.7 dan versi yang lebih baru
- Opera 8 dan versi yang lebih baru
- Safari 3.0 dan versi yang lebih baru (hanya pada Windows Vista, Windows Server 2008, dan versi yang lebih baru, atau pada Mac OS X 10.5.6 dan versi yang lebih baru.)
- Browser mobile yang didukung:
- Android 3.0 Honeycomb dan versi yang lebih baru
- iOS 4 dan versi yang lebih baru
- Windows Phone 7 dan versi yang lebih baru
- Server yang didukung:
- Apache 2.2.12 dan versi yang lebih baru
- Apache Traffic Server 3.2.0 dan versi yang lebih baru
- Cherokee
- HAProxy 1.5 dan versi yang lebih baru
- IIS 8.0 dan versi yang lebih baru
- Lighttpd 1.4.24 dan versi yang lebih baru
- LiteSpeed 4.1 dan versi yang lebih baru
- Nginx 0.5.32 dan versi yang lebih baru
- Alat command-line yang didukung:
- cURL 7.18.1 dan versi yang lebih baru
- wget 1.14 dan versi yang lebih baru
- Pustaka yang didukung:
- GNU TLS
- JSSE (Oracle Java) 7 dan versi yang lebih baru (hanya sebagai client)
- libcurl 7.18.1 dan versi yang lebih baru
- NSS 3.1.1 dan versi yang lebih baru
- OpenSSL 0.9.8j dan versi yang lebih baru
- OpenSSL 0.9.8f dan versi yang lebih baru (memerlukan konfigurasi flag)
- Qt 4.8 dan versi yang lebih baru