Mengamankan Aplikasi Saluran Peer
Seperti pengikatan lain di bawah WinFX, NetPeerTcpBinding
memiliki keamanan yang diaktifkan secara default dan menawarkan keamanan berbasis transportasi dan pesan (atau keduanya). Topik ini membahas kedua jenis keamanan ini. Jenis keamanan ditentukan oleh tag mode keamanan dalam spesifikasi pengikatan (SecurityMode
).
Keamanan Berbasis Transportasi
Saluran Serekan mendukung dua jenis mandat autentikasi untuk mengamankan transportasi, yang keduanya memerlukan pengaturan properti ClientCredentialSettings.Peer
pada ChannelFactory
terkait:
Kata sandi. Klien menggunakan pengetahuan tentang kata sandi rahasia untuk mengautentikasi koneksi. Ketika jenis mandat ini digunakan,
ClientCredentialSettings.Peer.MeshPassword
harus membawa kata sandi yang valid dan secara opsional membawa instansX509Certificate2
.Sertifikat. Autentikasi aplikasi tertentu digunakan. Ketika jenis mandat ini digunakan, Anda harus menggunakan implementasi konkret X509CertificateValidator di
ClientCredentialSettings.Peer.PeerAuthentication
.
Keamanan Message-Based
Dengan menggunakan keamanan pesan, aplikasi dapat menandatangani pesan keluar sehingga semua pihak penerima dapat memverifikasi pesan dikirim oleh pihak tepercaya dan bahwa pesan tersebut tidak diubah. Saat ini, Saluran Serekan hanya mendukung penandatanganan pesan mandat X.509.
Praktik Terbaik
- Bagian ini membahas praktik terbaik untuk mengamankan aplikasi Saluran Serekan.
Mengaktifkan Keamanan dengan Aplikasi Saluran Serekan
Karena sifat terdistribusi dari protokol Saluran Serekan, sulit untuk menerapkan keanggotaan jala, kerahasiaan, dan privasi dalam jala yang tidak aman. Penting juga untuk diingat untuk mengamankan komunikasi antara klien dan layanan resolver. Di bawah Protokol Resolusi Nama Serekan (PNRP), gunakan nama aman untuk menghindari spoofing dan serangan umum lainnya. Amankan layanan resolver kustom dengan mengaktifkan keamanan pada klien koneksi yang digunakan untuk menghubungi layanan resolver, termasuk keamanan berbasis pesan dan transportasi.
Menggunakan Model Keamanan Terkuat yang Mungkin
Misalnya, jika setiap anggota jala perlu diidentifikasi secara individual, gunakan model autentikasi berbasis sertifikat. Jika tidak memungkinkan, gunakan autentikasi berbasis kata sandi dengan mengikuti rekomendasi saat ini untuk menjaga keamanannya. Ini termasuk berbagi kata sandi hanya dengan pihak tepercaya, mengirimkan kata sandi menggunakan media yang aman, sering mengubah kata sandi, dan memastikan bahwa kata sandi kuat (panjangnya setidaknya delapan karakter, termasuk setidaknya satu huruf besar dan kecil, angka, dan karakter khusus).
Jangan Pernah Terima Sertifikat yang Ditandatangi Sendiri
Jangan pernah menerima mandat sertifikat berdasarkan nama subjek. Perhatikan bahwa siapa pun dapat membuat sertifikat, dan siapa pun dapat memilih nama yang Anda validasi. Untuk menghindari kemungkinan spoofing, validasi sertifikat berdasarkan penerbitan mandat otoritas (baik penerbit tepercaya atau otoritas sertifikasi akar).
Menggunakan Autentikasi Pesan
Gunakan autentikasi pesan untuk memverifikasi bahwa pesan berasal dari sumber tepercaya dan tidak ada yang mengubah pesan selama transmisi. Tanpa autentikasi pesan, mudah bagi klien jahat untuk memalsukan atau mengubah pesan dalam jala.