Exchange Admin Auditing

Exchange 2010 öncesinde admin seviyesinde yapilan islemlere karsi kim, ne zaman, ne yapti sorularina cevap verecek bir fonksiyon bulunmuyordu (Admin seçiciligini yapacak  bir yol mevcut degil ve ancak tabiki tüm konfigürasyon degisiklikleri ve mailbox erisimleri degisik yollarla izlenebilir). Halbuki yapilan bir degisilik veya olusturulan bir nesne Exchange’in isleyisini beklenmedik bir sekilde olumsuz yönde etkileyebilir. Admin Auditing hissedilen bu eksiklige karsi sunulan bir yenilik oldu.

Admin Auditing Exchange 2010 SP1 ve sonrasinda varsayilan olarak etkin gelmektedir. Varsayilan ayarlarinda Get- , Search- ve Test- ile baslayan komutlar disinda kullanilan tüm komutlar
loglanir. Bu sekilde baslayan komutlar object’lerin degistirilmesi için degil, görüntülenmesi için kullanildiklari için loglama disinda birakilmislardir.

Admin yaptigi yönetimsel islemler sirasinda, islemlerin loglandigina dair hiçbir ibare görmez. Audit loglar search edildiginde yapilan degisiklikler raporlanir. Loglama arka planda bir cmdlet extension agent tarafindan yapilir ve tüm Exchange 2010 sunucularda çalisir. Exchange 2007’de bu agent bulunmadigi için mix bir ortamda 2007 management tools kullanilarak yapilan degisiklikler loglanmayacaktir.

Admin Auditing Log konfigürasyonu organizasyonel bir degisiklik oldugu için yapilan bir degisikligin tüm sunucularda etkin olmasi replikasyon süresine baglidir.

Asagidaki ekran görüntüsünde varsayilan AdminAuditLogConfig ayarlarini görebilirsiniz.

Sirketiniz için önem arzeden islemlerin loglanmasini öneririz. Simdi birlikte varsayilan ayarlari degistirerek loglama alanini daraltalim.

AdminAuditLogCmdlets: Kullanilan hangi cmdlet’lerin loglanacagini belirleyebildiginiz bir parametredir. Örnegin içerisinde “virtual directory” geçen tüm cmdlet’lerin loglanmasini istiyorsak ve ayni zamanda new-mailbox komutunun loglanmasini istiyorsak konfigürasyonu asagidaki gibi yapabiliriz.

AdminAuditLogParametres: AdminAuditLogCmdlets ile belirlediginiz cmdlet’lerin hangi parametreler ile birlikte çalistirildiginda loglama yapilacagini belirtir. Asagidaki örnegimizde New-Mailbox cmdlet’inin Database, FirstName, LastName parametrelerinin loglanacagini belirtmis oluyoruz.

 

AdminAuditLogAgeLimit:  Varsayilan olarak loglar 90 gün saklandiktan sonra silinir. AdminAuditLogAgeLimit parametresi ile bu süreyi gün, saat, dakika ve hatta saniye belirterek degistirebilirsiniz. Yazim format su sekilde olmalidir: dd.hh:mm:ss. Asagidaki komut ile süreyi 100 gün 12 saat 5 dakika ve 2 saniye olarak degistirmis olduk:

Set-AdminAuditLogConfig -AdminAuditLogAgeLimit 100.12:05:02

Bu parametre ile ilgili önemli bir uyari AgeLimit’i varsayilan degerden daha düsük bir degere çektiginizde belirttiginiz degerden eski olan loglar silinecektir.
Örnegin bu degeri 0 yaptiginizda o zamana kadar loglanmis tüm girdiler silinir. Bu sebeple kime bu degeri degistirme yetkisi verdiginize dikkat etmelisiniz.

 

TestCmdletLoggingEnabled: Makalemizin basinda Get-, Search- ve Test- ile baslayan cmdlet’lerin loglanmadigini belirtmistik. Bu parametre ile Test- ile baslayan cmdlet’lerin loglanmasini saglamis oluyoruz.

 

Set-AdminAuditLogConfig -TestCmdletLoggingEnabled $True

Audit loglarina nasil ulasabiliriz?

Farkli sekillerde erismek mümkün. Bunlar Search-AdminAuditLog veya New-AdminAuditLogSearch cmdlet’lerini kullanmak veya loglarin tutuldugu mailbox’a erismek olabilir.

SP1 sonrasi yapilan degisiklikle administrator auditing loglarinin tutuldugu gizli ve bu is için atanmis bir mailbox mevcut. Bu mailbox’a erisim ise sadece ECP üzerinden saglanabiliyor. Tüm organizasyona ait admin audit loglari sadece bu mailboxda tutulur ve bu mailbox’in yer aldigi database mount durumda degilken loglama mümkün olmaz.

Auditing’in ECP üzerindeki görüntüsü asagidaki gibidir. Buradan administrator audit loglarini xml formatinda export edip, sonuçlari belirlediginiz bir user’a maille gönderebilirsiniz.

 

 

Ikinci bir yöntem, Search-AdminAuditLog cmdlet’ini kullanarak kendi audit log analizlerinizi olusturmak. Bu komutla belirleyebileceginiz kriterler: Cmdlets, Parameters, EndDate, StartDate,
ObjectIDs, UserIDs
Bu kriterlerden ObjectIDs ile özellikle belirli bir nesne üzerindeki degisikliklerin raporunu isteyebilirsiniz. UserIDs ile ise belli bir admin’in yaptigi degisiklikleri raporlama sansimiz da var.

 

Asagidaki örnekte Administrator’in belirli tarihler arasinda yaptigi islemleri görebilirsiniz.

Asagidaki örnekte New-Mailbox komutunun kimler tarafindan ve hangi nesneler için çalistirildigini görebilirsiniz.

Son yöntemimiz, New-AdminAuditLogSearch cmdlet’i ile search isleminin yapilmasi. Search-AdminAuditLog cmdlet’inde kullanilan kriterler bu cmdlet için de geçerlidir, tek farki sonuçlari shell’de
göstermek yerine belirlediginiz kisiye mail olarak, XML formatinda gönderebilir (çünkü ilgili komut bir JOB olarak arka planda çalistirilir ve çiktisi islem bittikten sonar teslim edilir).

Asagidaki örnekte ise belirli tarihler arasinda çalistirilan New-Mailbox komutuna ait raporun sevgi@exchange2010.net adresine gönderimini saglayabilirsiniz.

 

Sevgi Sifyan