Bagikan melalui


IPV6_PROTECTION_LEVEL

Opsi soket IPV6_PROTECTION_LEVEL memungkinkan pengembang untuk menempatkan pembatasan akses pada soket IPv6. Pembatasan tersebut memungkinkan aplikasi yang berjalan pada LAN privat untuk secara sederhana dan kuat memperkuat dirinya terhadap serangan eksternal. Opsi soket IPV6_PROTECTION_LEVEL melebar atau mempersempit cakupan soket mendengarkan, memungkinkan akses tidak terbatas dari pengguna publik dan privat jika sesuai, atau membatasi akses hanya ke situs yang sama, sesuai kebutuhan.

IPV6_PROTECTION_LEVEL saat ini memiliki tiga tingkat perlindungan yang ditentukan.

Tingkat perlindungan Deskripsi
PROTECTION_LEVEL_UNRESTRICTED
Digunakan oleh aplikasi yang dirancang untuk beroperasi di internet, termasuk aplikasi yang memanfaatkan kemampuan traversal NAT IPv6 yang dibangun ke dalam Windows (Teredo, misalnya). Aplikasi ini dapat melewati firewall IPv4, sehingga aplikasi harus diperkeras terhadap serangan Internet yang diarahkan pada port yang dibuka.
PROTECTION_LEVEL_EDGERESTRICTED
Digunakan oleh aplikasi yang dirancang untuk beroperasi di internet. Pengaturan ini tidak mengizinkan traversal NAT menggunakan implementasi Windows Teredo. Aplikasi ini dapat melewati firewall IPv4, sehingga aplikasi harus diperkeras terhadap serangan Internet yang diarahkan pada port yang dibuka.
PROTECTION_LEVEL_RESTRICTED
Digunakan oleh aplikasi intranet yang tidak menerapkan skenario Internet. Aplikasi ini umumnya tidak diuji atau diperkeras terhadap serangan gaya Internet.
Pengaturan ini akan membatasi lalu lintas yang diterima hanya untuk tautan-lokal.

 

Contoh kode berikut menyediakan nilai yang ditentukan untuk masing-masing:

#define PROTECTION_LEVEL_UNRESTRICTED   10  /* for peer-to-peer apps */
#define PROTECTION_LEVEL_EDGERESTRICTED 20  /* Same as unrestricted, except for Teredo  */
#define PROTECTION_LEVEL_RESTRICTED     30  /* for Intranet apps     */

Nilai-nilai ini saling eksklusif, dan tidak dapat digabungkan dalam satu panggilan fungsisetsockopt. Nilai lain untuk opsi soket ini dicadangkan. Tingkat perlindungan ini hanya berlaku untuk koneksi masuk. Mengatur opsi soket ini tidak berpengaruh pada paket atau koneksi keluar.

Pada Windows 7 dan Windows Server 2008 R2, nilai default untuk IPV6_PROTECTION_LEVEL tidak ditentukan dan PROTECTION_LEVEL_DEFAULT didefinisikan ke -1, nilai ilegal untuk IPV6_PROTECTION_LEVEL.

Pada Windows Vista dan Windows Server 2008, nilai default untuk IPV6_PROTECTION_LEVEL PROTECTION_LEVEL_UNRESTRICTED dan PROTECTION_LEVEL_DEFAULT didefinisikan ke -1, nilai ilegal untuk IPV6_PROTECTION_LEVEL.

Pada Windows Server 2003 dan Windows XP, nilai default untuk IPV6_PROTECTION_LEVEL PROTECTION_LEVEL_EDGERESTRICTED dan PROTECTION_LEVEL_DEFAULT didefinisikan untuk PROTECTION_LEVEL_EDGERESTRICTED.

Nota

Opsi soket IPV6_PROTECTION_LEVEL harus diatur sebelum soket terikat. Jika tidak, paket yang diterima antaraikatandan panggilansetsockoptakan sesuai dengan PROTECTION_LEVEL_EDGERESTRICTED, dan dapat dikirimkan ke aplikasi.

 

Tabel berikut ini menjelaskan efek menerapkan setiap tingkat perlindungan ke soket mendengarkan.

Tingkat perlindungan

Lalu lintas masuk diizinkan

Situs yang sama

Eksternal

Traversal NAT (Teredo)

PROTECTION_LEVEL_RESTRICTED

Ya

Tidak

Tidak

PROTECTION_LEVEL_EDGERESTRICTED

Ya

Ya

Tidak

PROTECTION_LEVEL_UNRESTRICTED

Ya

Ya

Ya

 

Dalam tabel di atas, kolom situs Sama adalah kombinasi dari berikut ini:

  • Menautkan alamat lokal
  • Alamat Lokal Situs
  • Alamat global yang diketahui milik situs yang sama (cocok dengan tabel awalan situs)

Pada Windows 7 dan Windows Server 2008 R2, nilai default untuk IPV6_PROTECTION_LEVEL tidak ditentukan. Jika tidak ada perangkat lunak firewall sadar edge-traversal yang diinstal di komputer lokal (firewall Windows dinonaktifkan atau beberapa firewall lain diinstal yang mengabaikan lalu lintas Teredo), Anda akan menerima lalu lintas Teredo hanya jika Anda mengatur opsi soket IPV6_PROTECTION_LEVEL ke PROTECTION_LEVEL_UNRESTRICTED. Namun, firewall Windows atau kebijakan firewall sadar edge-traversal dapat mengabaikan opsi ini berdasarkan pengaturan kebijakan untuk firewall. Dengan mengatur opsi soket ini ke PROTECTION_LEVEL_UNRESTRICTED, aplikasi mengkomunikasikan niat eksplisitnya untuk menerima lalu lintas tepi yang dilalui oleh firewall host yang diinstal pada komputer lokal. Jadi jika ada firewall host sadar edge-traversal yang diinstal, itu akan memiliki keputusan akhir untuk menerima paket. Secara default, tanpa set opsi soket apa pun:

  • o Jika firewall Windows diaktifkan (atau firewall host sadar edge-traversal lain diinstal) di komputer lokal, apa pun yang diberlakukan akan diamati. Firewall host sadar edge-traversal yang khas akan memblokir lalu lintas Teredo secara default. Oleh karena itu aplikasi akan mengamati default seolah-olah itu PROTECTION_LEVEL_EDGERESTRICTED.
  • o Jika firewall Windows tidak diaktifkan dan tidak ada firewall host sadar edge-traversal lainnya yang diinstal pada sistem lokal, defaultnya akan PROTECTION_LEVEL_EDGERESTRICTED.

Pada Windows Vista dan Windows Server 2008, nilai default untuk IPV6_PROTECTION_LEVEL adalah PROTECTION_LEVEL_UNRESTRICTED. Tetapi nilai efektif tergantung pada apakah firewall Windows diaktifkan. Firewall Windows sadar edge-traversal (sadar Teredo), tidak peduli nilai apa yang diatur untuk IPV6_PROTECTION_LEVEL dan mengabaikan jika IPV6_PROTECTION_LEVEL PROTECTION_LEVEL_UNRESTRICTED. Jadi nilai efektif tergantung pada kebijakan firewall. Ketika firewall Windows dinonaktifkan dan tidak ada firewall sadar edge-traversal lainnya yang diinstal pada komputer lokal, nilai default untuk IPV6_PROTECTION_LEVEL PROTECTION_LEVEL_UNRESTRICTED.

Pada Windows Server 2003 dan Windows XP, nilai default untuk IPV6_PROTECTION_LEVEL adalah PROTECTION_LEVEL_EDGERESTRICTED. Kecuali Anda telah mengatur opsi soket IPV6_PROTECTION_LEVEL ke PROTECTION_LEVEL_UNRESTRICTED, Anda tidak akan menerima lalu lintas Teredo apa pun.

Tergantung pada IPV6_PROTECTION_LEVEL, aplikasi yang memerlukan lalu lintas yang tidak diminta dari Internet mungkin tidak mampu menerima lalu lintas yang tidak diminta. Namun, persyaratan ini tidak diperlukan untuk menerima lalu lintas yang diminta melalui antarmuka Windows Teredo. Untuk detail selengkapnya tentang interaksi dengan Teredo, lihat Menerima Lalu Lintas Yang Diminta Melalui Teredo.

Saat paket atau koneksi masuk ditolak karena tingkat perlindungan yang ditetapkan, penolakan ditangani seolah-olah tidak ada aplikasi yang mendengarkan pada soket tersebut.

Nota

Opsi soket IPV6_PROTECTION_LEVEL tidak selalu menempatkan pembatasan akses pada soket IPv6 atau membatasi traversal NAT menggunakan beberapa metode selain Windows Teredo atau bahkan menggunakan implementasi lain Teredo oleh vendor lain.

 

getsockopt

Menerima Lalu Lintas Yang Diminta Melalui Teredo

setsockopt