struktur RPC_SECURITY_QOS (rpcdce.h)
Struktur RPC_SECURITY_QOS menentukan pengaturan kualitas layanan keamanan pada handel pengikatan. Lihat Keterangan untuk ketersediaan versi pada edisi Windows.
Sintaks
typedef struct _RPC_SECURITY_QOS {
unsigned long Version;
unsigned long Capabilities;
unsigned long IdentityTracking;
unsigned long ImpersonationType;
} RPC_SECURITY_QOS, *PRPC_SECURITY_QOS;
Anggota
Version
Versi struktur RPC_SECURITY_QOS yang digunakan. Topik ini mendokumentasikan versi 1 dari struktur RPC_SECURITY_QOS . Lihat RPC_SECURITY_QOS_V2, RPC_SECURITY_QOS_V3, RPC_SECURITY_QOS_V4 , dan RPC_SECURITY_QOS_V5 untuk versi lain.
Capabilities
Layanan keamanan disediakan untuk aplikasi. Kemampuan adalah sekumpulan bendera yang dapat digabungkan menggunakan operator OR bitwise.
Nilai | Makna |
---|---|
|
Digunakan ketika tidak ada kemampuan khusus penyedia yang diperlukan. |
|
Menentukan bendera ini menyebabkan run time RPC meminta autentikasi timbal balik dari penyedia keamanan. Beberapa penyedia keamanan tidak mendukung autentikasi timbal balik. Jika penyedia keamanan tidak mendukung autentikasi timbal balik, atau identitas server tidak dapat dibuat, panggilan prosedur jarak jauh ke server tersebut gagal dengan kesalahan RPC_S_SEC_PKG_ERROR.
Catatan RPC bergantung pada SSP untuk menunjukkan opsi keamanan mana yang berhasil dinegosiasikan; RPC pada gilirannya gagal setiap panggilan yang laporan Penyedia Layanan Keamanan (SSP) tidak dapat menegosiasikan opsi. Namun, beberapa penyedia keamanan diketahui melaporkan keberhasilan negosiasi opsi bahkan ketika opsi tidak berhasil dinegosiasikan. Misalnya, NTLM akan melaporkan keberhasilan negosiasi autentikasi timbal balik karena alasan kompatibilitas mundur, meskipun tidak mendukung autentikasi timbal balik. Periksa dengan SSP tertentu yang digunakan untuk menentukan perilakunya sehubungan dengan opsi keamanan.
|
|
Saat ini tidak diimplementasikan. |
|
Menerima kredensial klien meskipun otoritas sertifikat (CA) tidak ada dalam daftar CA tepercaya server. Konstanta ini hanya digunakan oleh SCHANNEL SSP. |
|
Ketika ditentukan, bendera ini mengarahkan runtime RPC pada klien untuk mengabaikan kesalahan untuk membuat konteks keamanan yang mendukung delegasi. Biasanya, jika klien meminta delegasi dan sistem keamanan tidak dapat menetapkan konteks keamanan yang mendukung delegasi, kesalahan RPC_S_SEC_PKG_ERROR dikembalikan; ketika bendera ini ditentukan, tidak ada kesalahan yang dikembalikan.
Catatan Tidak didukung pada Windows XP dan edisi klien sebelumnya, tidak didukung pada Windows 2000 dan edisi server sebelumnya.
|
|
Bendera ini menentukan ke RPC bahwa server bersifat lokal untuk komputer yang melakukan panggilan RPC. Dalam situasi ini RPC menginstruksikan pemeta titik akhir untuk hanya mengambil titik akhir yang didaftarkan oleh prinsipal yang ditentukan dalam anggota ServerPrincName atau Sid (anggota ini tersedia dalam RPC_SECURITY_QOS_V3, RPC_SECURITY_QOS_V4, dan hanya RPC_SECURITY_QOS_V5 ). Lihat Keterangan untuk informasi selengkapnya.
Catatan Tidak didukung pada Windows XP dan edisi klien sebelumnya, tidak didukung pada Windows 2000 dan edisi server sebelumnya.
|
|
Jika diatur, runtime RPC menggunakan SChannel SSP untuk melakukan autentikasi berbasis smartcard tanpa menampilkan kotak dialog perintah PIN oleh penyedia layanan kriptografi (CSP).
Dalam panggilan ke RpcBindingSetAuthInfoEx, parameter AuthIdentity harus merupakan struktur SEC_WINNT_AUTH_IDENTITY yang anggotanya berisi yang berikut ini:
|
IdentityTracking
Mengatur mode pelacakan konteks. Harus diatur ke salah satu nilai yang diperlihatkan dalam tabel berikut ini.
Nilai | Makna |
---|---|
|
Konteks keamanan dibuat hanya sekali dan tidak pernah direvisi selama seluruh komunikasi, bahkan jika sisi klien mengubahnya. Ini adalah perilaku default jika RPC_SECURITY_QOS tidak ditentukan. |
|
Konteks direvisi setiap kali ModifiedId dalam token klien diubah. Semua protokol menggunakan ModifiedId (lihat catatan).
Windows 2000: Semua protokol jarak jauh (semua protokol selain ncalrpc) menggunakan AuthenticationID, juga dikenal sebagai LogonId, untuk melacak perubahan dalam identitas klien. Protokol ncalrpc menggunakan ModifiedId. |
ImpersonationType
Tingkat di mana proses server dapat meniru klien.
Nilai | Makna |
---|---|
|
Menggunakan tingkat peniruan default. |
|
Klien tidak memberikan informasi identifikasi ke server. Server tidak dapat meniru klien atau mengidentifikasi klien. Banyak server menolak panggilan dengan jenis peniruan ini.
Catatan Beberapa penyedia keamanan mungkin memperlakukan jenis peniruan ini setara dengan RPC_C_IMP_LEVEL_IMPERSONATE. Dari penyedia keamanan Windows, ini dilakukan oleh RPC_C_AUTHN_WINNT hanya ketika digunakan dengan urutan protokol selain ncalrpc. Ini juga dilakukan oleh RPC_C_AUTHN_GSS_NEGOTIATE, RPC_C_AUTHN_GSS_SCHANNEL dan RPC_C_AUTHN_GSS_KERBEROS.
|
|
Server dapat memperoleh identitas klien, dan meniru klien untuk melakukan pemeriksaan daftar Access Control (ACL), tetapi tidak dapat meniru klien. Lihat Tingkat Peniruan Untuk informasi selengkapnya.
Catatan Beberapa penyedia keamanan mungkin memperlakukan jenis peniruan ini setara dengan RPC_C_IMP_LEVEL_IMPERSONATE. Dari penyedia keamanan Windows, ini dilakukan oleh RPC_C_AUTHN_WINNT hanya ketika digunakan dengan urutan protokol selain ncalrpc. Ini juga dilakukan oleh RPC_C_AUTHN_GSS_NEGOTIATE, RPC_C_AUTHN_GSS_SCHANNEL dan RPC_C_AUTHN_GSS_KERBEROS.
|
|
Server dapat meniru konteks keamanan klien pada sistem lokalnya, tetapi tidak pada sistem jarak jauh. |
|
Server dapat meniru konteks keamanan klien saat bertindak atas nama klien. Server juga dapat melakukan panggilan keluar ke server lain saat bertindak atas nama klien. Server dapat menggunakan konteks keamanan klien pada komputer lain untuk mengakses sumber daya lokal dan jarak jauh sebagai klien. |
Keterangan
Daftar berikut menentukan ketersediaan versi QOS pada berbagai sistem operasi Windows:
- Versi 1: Windows 2000 dan yang lebih baru.
- Versi 2: Windows XP dengan Paket Layanan 1 (SP1) dan yang lebih baru.
- Versi 3: Windows Server 2003 dan yang lebih baru.
- Versi 4: Windows Vista dan yang lebih baru.
- Versi 5: Windows 8 dan yang lebih baru.
Fungsi keamanan sisi klien RpcBindingInqAuthInfoEx dan RpcBindingSetAuthInfo menggunakan struktur RPC_SECURITY_QOS untuk menanyakan, atau mengatur, kualitas keamanan layanan untuk handel pengikatan.
RPC mendukung petunjuk RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT. Petunjuk ini hanya digunakan ketika titik akhir dinamis dan autentikasi timbal balik digunakan. Selain itu, ini tidak didukung untuk urutan protokol ncadg_ . Jika bendera ini digunakan untuk urutan protokol ncadg_ , atau tanpa menggunakan autentikasi timbal balik, RPC_S_INVALID_ARG dikembalikan dari panggilan fungsi RpcBindingSetAuthInfoEx . Bendera ini dirancang untuk mencegah Penolakan Serangan Layanan. Menggunakan bendera ini memaksa Runtime RPC untuk meminta pemeta titik akhir hanya untuk titik akhir yang didaftarkan oleh prinsipal yang ditentukan dalam anggota ServerPrincName atau Sid . Ini mencegah penyerang pada komputer lokal mencoba menipu klien RPC Anda untuk terhubung ke titik akhir spoof yang telah terdaftar di pemeta titik akhir. Perhatikan bahwa karena serangan hanya lokal (seperti dari komputer server terminal dengan banyak pengguna), bendera juga hanya berfungsi untuk panggilan RPC yang dilakukan secara lokal.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Header | rpcdce.h (termasuk Rpc.h) |