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 instans X509Certificate2.

  • 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.

Contoh Kode Saluran Pembanding

Skenario Saluran Serekan

Lihat juga