Exchange 2010 ile getirilen yeni bir özellikten bahsetmek istiyorum.
Bir şekilde bozulan (corrupt olmuş mantıksal veya fiziksel veri ) bir kullanıcı mailbox’ı, bağlı olduğu mailboxdatabase’i ve üzerinde ki tüm kullanıcı mailbox’larını etkileyen – bozabilen bir potansiyele sahiptir. Bu mailbox’ın diğer adı Poisoned Mailbox yani zehirli mailbox’dır.
Mailbox Quarantine Nedir ?
Mailbox Quarantine, Exchange Server 2010 ile bizlere kazandırılmış, Information Store alanında bulunan bir özelliktir. Registry değerlerine dayanarak; mailbox bozulmaları sırasında belirli periyodlar dahilinde potansiyel risk durumunu saptayarak Mailbox Database’ini korumaya alan bir davranış sergiler. Mailbox corruption durumu algılandıktan sonra bu duruma neden olan mailbox saptanır ve belirli bir süre için bu mailbox (2-3 saat ) karantinaya alınır, yani kullanılamaz duruma gelir. 2-3 saat sonra serbest bırakılır. Corrupt olan mailbox, karantinaya alındıktan sonra kullanıcının mail alışverişi kesilir.
Mailbox Quarantine Ne Zaman Olur ?
Outlook çalışırken mailbox’ın crash olması durumunda.
Mailbox’da çalışmakta olan en az 4 işlemin ( rule, archive, deleting, searcing, indexing, etc, etc ) uzun zaman ilerlememesi, kilitlenmesi durumunda.
Mailbox Quarantine Nasıl Çalışır ?
Crash olma potansiyeline sahip mailbox yukarıda ki nedenlere göre saptanır, burada kıstas mailbox’ın 2 saat içerisinde en az 3 kez bir tehdit olarak hissedilmesidir. Bu durum hissedildikten sonra Mailbox Quarantine,Exchange sunucusunda bir registry key oluşturur;
HKLM\SYSTEM\CCS\Services\MSexchangeIS\Servername\Private-dbguid\Quarantined Mailboxes\ {MailboxGUID}
Bu registry key, aşağıda ki registry değerlerine sahip olacaktır;
-
CrashCount – Mailbox’ın kaç kez crash olduğu.
-
LastCrashTime – Mailbox’ın en son ne zaman crash olduğu.
Her crash olan mailbox için registry de bir değer oluşturulur.
Yukarıda da dediğim gibi 2 saat içerisinde en az 3 kez bir tehdit olarak hissedilen mailbox’lar karantinaya alınır. Varsayılan değerler bunlardır. Ancak bu değerler fiziksel olarak registry de tutulmaz ancak aşağıda ki registry key altında bu değerler oluşturulup değiştirilebilir.
Aşağıda ki registry key altında ki değerler oluşturularak varsayılan değer değiştirilebilir.
HKLM\SYSTEM\CCS\Services\MSexchangeIS\ParameterSystem\Servername\Private-dbguid\Quarantined Mailboxes
-
MailboxQuarantineCrashThreshold – Bir mailbox’da kaç tehdit algılanırsa (crash olma durumu) MailboxQuarantine’nın devreye girmesi. (sayı cinsinden)
-
MailboxQuarantineDurationInseconds – Crash olmuş ve Mailbox Quarantine’ya alınmış mailbox’ın kaç saniye karantina da kalacağı. (saniye cinsinden)
Yine dediğim gibi yukarıda ki 2 registry değeri normalde yoktur ancak varsayılan davranışı değiştirimeye gerek duyulursa oluşturulabilir.
Arka planda, bu registry key’ler içerisinde yer alan karantinaya alınmış mailboxlar için bir process her 2 saatte bir(bu varsayılan değer değiştirilemez) çalışır mailbox database’leri kontrol eder. Eğer 2 saat içerisinde bir tehdit algılanmıyorsa bu registry key otomatik olarak silinir ve mailbox, karantinadan çıkar. Bu değer ellede silinebilir.
Client’lar (Outlook) Karantinaya Alınmış Mailbox’larına Erişmeye Çalışırsa Ne Olur ?
1. Information Store, MapiExceptionMailboxQuarantined hatasını mail gönderen client’lara dönecektir.
2. Karantinaya alınmış bir mailbox için Outlook çalıştıran kullanıcı aşağıda ki hata ile karşılaşır;
3. Karantinaya alınmış bir mailbox OWA açılırsa aşağıda ki hata ekranı ile karşılaşılır;
Böyle bir durumda mailbox’ara erişim sadece MFCMAPI aracı ile yapılabilir. Exchange process’leri, içerik indexlemesi, ve mailbox asistanları dahi mailbox’a erişemez, hiçbir işlem yapamaz.
Başka bir örnek vermek gerekirse, karantinaya alınmış bir mailbox başka bir database e taşınmaya çalışılırsa aşağıda ki ekran ile karşılaşılır;
Karantinaya Alınan Mailbox’ı Serbest Bırakma Nasıl Yapılır ?
Mailbox Quarantine içerisinde bulunan posta kutusu için aşağıda ki karantina kayıt defteri anahtarını silerek sıfırlamak / serbest bırakmak mümkündür:
HKLM\SYSTEM\CCS\Services\MSexchangeIS\Servername\Private-dbguid\Quarantined Mailboxes\ {Mailbox guid}.
İlgili mailbox guid değeri, registry’den silindikten sonra mailbox ın hemen serbest bırakması için, mailbox’ın bağlı bulunduğu mailbox database dismount edilir ve sonra tekrar mount edilir.
Sorun Giderme / Olay Günlüğü ( Event Viewer )
Bir mailbox, karantinaya alındıktan sonra Exchange sunucusunda Event Viewer’da aşağıda ki hata iletisi yazılır
The following event will be logged when a mailbox is automatically quarantined:
Log Name: Application
Source: MSExchangeIS
Event ID: 10018
Task Category: General
Level: Error
Description: The mailbox for user /o=COZUMPARK/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=bugrakeskin has been quarantined. Access to this mailbox will be restricted to administrative logons for the next 6 hours.
The following event will be logged when a mailbox is automatically removed from the quarantine:
Log Name: Application
Source: MSExchangeIS
Event ID: 10019
Task Category: General
Level: Error
Description: The quarantine of the mailbox for user /o=COZUMPARK/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=bugrakeskin has expired. Access to the mailbox has been restored.
Shell Komutu
Exchange Management Shell’i kullanarak aşağıda ki komutla da karantinaya alınmış mailbox’ları görebiliriz;
{bugra}Get-MailboxStatistics -Identity bugrakeskin | FL Isquarantined{bugra}
Isquarantined : True
Performance Monitor
Exchange Toolbox içerisinde ki EXTRA kullanarak da mailbox karantina kullanıcı sayıları görülebilir.
Trace kısmına girerek Components to Trace altından Store u seçip sağdan tags olarak tagQuarantineMailboxseçiyoruz.
Kaynak;
En Yeni Yorumlar