Keamanan Alur Kerja
Windows Workflow Foundation (WF) terintegrasi dengan beberapa teknologi, seperti Microsoft SQL Server dan Windows Communication Foundation (WCF). Berinteraksi dengan teknologi ini dapat menimbulkan masalah keamanan dalam alur kerja Anda jika dilakukan dengan tidak benar.
Catatan
Alur kerja menjelaskan urutan eksekusi dan dependensi antara tugas pendek atau jangka panjang. Sebagai mekanisme eksekusi kode, hanya kode tepercaya yang harus dimuat dan dijalankan. Pengembang harus memastikan bahwa hanya alur kerja tepercaya yang digunakan dengan aplikasi menggunakan WF.
Masalah Keamanan Persistensi
Alur kerja yang menggunakan aktivitas Delay dan persistensi perlu diaktifkan kembali oleh layanan. Windows AppFabric menggunakan Workflow Management Service (WMS) untuk mengaktifkan kembali alur kerja dengan timer yang kedaluwarsa. WMS membuat WorkflowServiceHost untuk meng-host alur kerja yang diaktifkan kembali. Jika layanan WMS dihentikan, alur kerja yang bertahan tidak akan diaktifkan kembali jika timer-nya kedaluwarsa.
Akses ke pembuatan instans yang tahan lama harus dilindungi terhadap entitas jahat di luar domain aplikasi. Selain itu, pengembang harus memastikan bahwa kode berbahaya tidak dapat dijalankan dalam domain aplikasi yang sama dengan kode pembuatan instans yang tahan lama.
Pembuatan instans yang tahan lama tidak boleh dijalankan dengan izin yang ditingkatkan (Administrator).
Data yang diproses di luar domain aplikasi harus dilindungi.
Aplikasi yang memerlukan isolasi keamanan tidak boleh berbagi instans abstraksi skema yang sama. Aplikasi tersebut harus menggunakan penyedia penyimpanan yang berbeda, atau penyedia penyimpanan yang dikonfigurasi untuk menggunakan instantiasi penyimpanan yang berbeda.
Masalah Keamanan SQL Server
Jika sejumlah besar aktivitas turunan, lokasi, marka buku, ekstensi host, atau cakupan digunakan, atau jika marka buku dengan payload yang sangat besar digunakan, memori bisa habis, atau jumlah ruang database yang tidak semestinya bisa dialokasikan selama persistensi. Ini dapat dikurangi dengan menggunakan keamanan tingkat objek dan tingkat database.
Saat menggunakan SqlWorkflowInstanceStore, penyimpanan instans harus diamankan.
Data sensitif dalam penyimpanan instans harus dienkripsi. Untuk informasi selengkapnya, lihat Enkripsi SQL Server.
Karena string koneksi database sering disertakan dalam file konfigurasi, keamanan tingkat jendela (ACL) harus digunakan untuk memastikan bahwa file konfigurasi (biasanya Web.Config) aman, dan informasi masuk dan kata sandi tidak disertakan dalam string koneksi. Sebagai alternatif, autentikasi Windows harus digunakan antara database dan server web.
Pertimbangan untuk WorkflowServiceHost
Titik akhir Windows Communication Foundation (WCF) yang digunakan dalam alur kerja harus diamankan. Untuk informasi selengkapnya, lihat Ringkasan Keamanan WCF.
Otorisasi tingkat host dapat diimplementasikan dengan menggunakan ServiceAuthorizationManager. Untuk detailnya, lihat Cara: Membuat Pengelola Otorisasi Kustom untuk Layanan.
ServiceSecurityContext untuk pesan masuk juga tersedia dari dalam alur kerja dengan mengakses OperationContext.
CTP Paket Keamanan WF
Pratinjau teknologi komunitas (CTP) 1 Microsoft WF Security Pack adalah serangkaian aktivitas dan implementasinya berdasarkan Windows Workflow Foundation di .NET Framework 4 (WF 4) dan Windows Identity Foundation (WIF). Microsoft WF Security Pack CTP 1 berisi aktivitas dan perancangnya yang menggambarkan cara mudah mengaktifkan berbagai skenario terkait keamanan menggunakan alur kerja, termasuk:
Meniru identitas klien dalam alur kerja
Otorisasi dalam alur kerja, seperti PrincipalPermission dan validasi Klaim
Pesan yang diautentikasi menggunakan ClientCredentials yang ditentukan dalam alur kerja, seperti nama pengguna/kata sandi atau token yang diambil dari Layanan Token Keamanan (STS)
Mengalirkan token keamanan klien ke layanan back-end (delegasi berbasis klaim) menggunakan WS-Trust ActAs