none
Sql Server Profiler || Güvenlik ile ilgili RRS feed

  • Soru

  • Merhaba Arkadaşlar;

    Sql kullanan bir program yazdık diyelim.Yazmış olduğumuz bu programda çalıştırdığımız sorgu Sql Server Profilerda görünüyor.Benim istediğim bu sorguların Sql Server Profilerda görünmemesi.

    26 Haziran 2013 Çarşamba 07:00

Yanıtlar

  • Teknik olarak bunu yapmanız mümkün değil. SQL Profiler, DB üzerinde çalışan tüm komutları gösterir. Eğer sorgular çok özel ise araya başka bir katman koyup sorguları şifreleyebilirsiniz. DB tarafından kodlanmış sorguları decode eden bir prosedür hazırlayabilirsiniz.

    Başka bir yöntem olarak daima sistemi dinleyen bir programı yazılabilir. Bu program mevcut açık trace'leri gösteren fn_trace_getinfo() fonksiyonunu çağırıp default trace dışındakileri sp_trace_setstatus ile kapatabilirsiniz.

    sys.fn_trace_getinfo ( { trace_id | NULL | 0 | DEFAULT } )

    sp_trace_setstatus [ @traceid = ] trace_id , [ @status = ] status

    Not : Microsoft, bundan sonraki sürümlerde bu komutları kaldırmayı düşünüyor.


    Ahmet Kaymaz
    http://www.ahmetkaymaz.com
    C# VB.NET ASP.NET kitabı

    • Yanıt Olarak İşaretleyen eakin 26 Haziran 2013 Çarşamba 08:27
    26 Haziran 2013 Çarşamba 07:29

Tüm Yanıtlar

  • Teknik olarak bunu yapmanız mümkün değil. SQL Profiler, DB üzerinde çalışan tüm komutları gösterir. Eğer sorgular çok özel ise araya başka bir katman koyup sorguları şifreleyebilirsiniz. DB tarafından kodlanmış sorguları decode eden bir prosedür hazırlayabilirsiniz.

    Başka bir yöntem olarak daima sistemi dinleyen bir programı yazılabilir. Bu program mevcut açık trace'leri gösteren fn_trace_getinfo() fonksiyonunu çağırıp default trace dışındakileri sp_trace_setstatus ile kapatabilirsiniz.

    sys.fn_trace_getinfo ( { trace_id | NULL | 0 | DEFAULT } )

    sp_trace_setstatus [ @traceid = ] trace_id , [ @status = ] status

    Not : Microsoft, bundan sonraki sürümlerde bu komutları kaldırmayı düşünüyor.


    Ahmet Kaymaz
    http://www.ahmetkaymaz.com
    C# VB.NET ASP.NET kitabı

    • Yanıt Olarak İşaretleyen eakin 26 Haziran 2013 Çarşamba 08:27
    26 Haziran 2013 Çarşamba 07:29
  • Ahmet Hocamın da dediği gibi teknik olarak mümkün değildir. Sorguların gizlenmesini istiyorsan, funtion,view,proc vs yazıp encrypt yaparak kullanabilirsin, gerçi onlar da decrypt edilebilir. Ya da CLR ile bahsedilen katmanları yazabilirsin ama o da obfuscate edilebilir,bu konuda çok agresif olunmamalı bence.
    26 Haziran 2013 Çarşamba 07:47