Ringkasan
Pembaruan keamanan yang dijelaskan dalam buletin keamanan Microsoft MS10-070 membuat perubahan pada mekanisme enkripsi default di ASP.NET melakukan validasi (penandatanganan) selain enkripsi. Artikel ini menjelaskan opsi konfigurasi untuk kembali ke perilaku lama untuk enkripsi di ASP.NET.
Untuk informasi selengkapnya tentang pembaruan keamanan ini, kunjungi situs web berikut:
http://www.microsoft.com/technet/security/bulletin/ms10-070.mspx
Informasi Selengkapnya
ASP.NET memungkinkan pengguna untuk mengenkripsi atau memvalidasi data secara opsional melalui konfigurasi di bagian MachineKey. Pembaruan keamanan yang ditangani oleh pembaruan keamanan MS10-070 mengubah perilaku default enkripsi di ASP.NET untuk melakukan validasi selain enkripsi meskipun hanya enkripsi yang diminta.
Setelah Anda menginstal pembaruan keamanan yang dijelaskan dalam buletin keamanan MS10-070, operasi berikut akan dilakukan saat enkripsi disiapkan untuk ASP.NET:
- Selama enkripsi data, tanda tangan HMAC dihasilkan untuk data terenkripsi dan ditambahkan ke data tersebut.
- Selama dekripsi data, tanda tangan HMAC divalidasi sebelum data didekripsi.
Kunci berikut dalam pengaturan aplikasi ASP.NET (appSettings) mengontrol perilaku penandatanganan selain enkripsi.
| Kunci | Tipe | Nilai Default | Versi on.NET yang didukung |
|---|---|---|---|
| aspnet:UseLegacyEncryption | Boolean | False | Microsoft .NET Framework 2.0 Paket Layanan 1 Microsoft .NET Framework 2.0 Paket Layanan 2 Microsoft .NET Framework 3.5 Microsoft .NET Framework 3.5 Paket Layanan 1 Microsoft .NET Framework 4.0 |
| aspnet:UseLegacyMachineKeyEncryption | Boolean | False | Microsoft .NET Framework 4.0 |
| aspnet:ScriptResourceAllowNonJsFiles | Boolean | False | Microsoft .NET Framework 3.5 Paket Layanan 1 Microsoft .NET Framework 4.0 |
Deskripsi aspnet:UseLegacyEncryption appSetting
Pengaturan aplikasi ini menentukan apakah enkripsi juga akan melakukan validasi dengan kunci HMAC meskipun bagian validasi di bagian machineKey pada konfigurasi ASP.NET tidak dikonfigurasi untuk validasi tanda tangan HMAC.
| aspnet:UseLegacyEncryption | Deskripsi |
|---|---|
| Salah (default) | Pengaturan ini mengonfigurasi ASP.NET untuk melakukan validasi tanda tangan HMAC saat ASP.NET dikonfigurasi untuk menggunakan enkripsi. Hal ini akan terjadi bahkan jika validasi di machineKey tidak dikonfigurasi untuk ditandatangani menggunakan kunci HMAC. |
| True | Pengaturan ini mengonfigurasi ASP.NET untuk tidak melakukan validasi tanda tangan HMAC saat dikonfigurasi untuk menggunakan enkripsi dan bukan penandatanganan HMAC melalui validasi di machineKey. Catatan Pengaturan ini dapat memungkinkan klien berbahaya untuk mendekripsi, memalsukan, atau mengubah data terenkripsi. |
Untuk mengonfigurasi pengaturan ini, tambahkan konfigurasi berikut di komputer atau aplikasi Anda web.config file:
<configuration>
...
<appSettings>
...
<add key="aspnet:UseLegacyEncryption" value="false" />
</appSettings>
</configuration>
Deskripsi aspnet:UseLegacyMachineKeyEncryption appSetting
Pengaturan aplikasi ini menentukan apakah enkripsi melalui kelas System.Web.Security.MachineKey juga akan melakukan validasi dengan kunci HMAC meskipun argumen MachineKeyProtection yang disediakan tidak menentukan bahwa validasi harus dilakukan.
| aspnet:UseLegacyMachineKeyEncryption | Deskripsi |
|---|---|
| Salah (default) | Pengaturan ini mengonfigurasi ASP.NET untuk melakukan validasi tanda tangan HMAC melalui kelas MachineKey saat ASP.NET dikonfigurasi untuk menggunakan enkripsi. Hal ini akan terjadi meskipun argumen MachineKeyProtection yang diberikan tidak menentukan bahwa validasi harus dilakukan. |
| True | Pengaturan ini mengonfigurasi ASP.NET untuk tidak melakukan validasi tanda tangan HMAC melalui kelas MachineKey saat dikonfigurasi untuk menggunakan enkripsi dan bukan penandatanganan HMAC melalui argumen MachineKeyProtection yang disediakan. Catatan Pengaturan ini dapat memungkinkan klien berbahaya untuk mendekripsi, memalsukan, atau mengubah data terenkripsi. |
Untuk mengonfigurasi pengaturan ini, tambahkan konfigurasi berikut di komputer atau aplikasi Anda web.config file:
<configuration>
...
<appSettings>
...
<add key="aspnet:UseLegacyMachineKeyEncryption" value="false" />
</appSettings>
</configuration>
Deskripsi aspnet:ScriptResourceAllowNonJsFiles appSetting
Pengaturan aplikasi ini menentukan apakah penangan ScriptResource.axd di ASP.NET akan menyajikan file non-JavaScript (ekstensi .js). ScriptResource.axd adalah penanganan ASP.NET yang mengembalikan file sumber JavaScript ke komponen AJAX di halaman web ASP.NET.
| aspnet:ScriptResourceAllowNonJsFiles | Deskripsi |
|---|---|
| Salah (default) | Pengaturan ini mengonfigurasi ASP.NET untuk hanya melayani file statis yang memiliki ekstensi .js (JavaScript) melalui handler ScriptResource.axd. |
| True | Pengaturan ini mengonfigurasi ASP.NET untuk menyajikan file statis apa pun yang dapat diakses aplikasi ASP.NET melalui penanganan ScriptResource.axd. Catatan Pengaturan ini memungkinkan file apa pun dalam aplikasi ASP.NET Anda disajikan melalui handler. Jika file tersebut berisi data sensitif atau rahasia, pengaturan ini berpotensi membocorkan informasi sensitif ke klien. |
Untuk mengonfigurasi pengaturan ini, tambahkan konfigurasi berikut di komputer atau aplikasi Anda web.config file:
<configuration>
...
<appSettings>
...
<add key="aspnet:ScriptResourceAllowNonJsFiles" value="false" />
</appSettings>
</configuration>
Referensi
Untuk informasi selengkapnya tentang bagian MachineKey, kunjungi situs web Microsoft berikut:
http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx
Untuk informasi selengkapnya tentang kelas System.Web.Security.MachineKey, kunjungi situs web Microsoft berikut:
http://msdn.microsoft.com/en-us/library/system.web.security.machinekey.aspx Untuk informasi selengkapnya tentang cara menggunakan pengaturan aplikasi (appSettings), klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
815786 Cara menyimpan dan mengambil informasi kustom dari file konfigurasi aplikasi menggunakan Visual C#
313405 Cara menyimpan dan mengambil informasi kustom dari file konfigurasi aplikasi menggunakan Visual Basic .NET atau Visual Basic 2005
Untuk informasi selengkapnya tentang konfigurasi ASP.Net, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
INFO 307626: Gambaran Umum Konfigurasi ASP.NET