Autodiscovery servisi outlook 2007 client'lar için otomatik profile konfigürasyonu ve offline address book gibi client bağlantılarında ihtiyaç duyulan ek URL'leri sağlayan servisin adıdır. Bir windows servisi olarak çalışmaz ancak Client Access Server (CAS) rolünün bir alt fonksiyonu olarak exchange 2007 ile birlikte gelir.

Exchange 2007 kurulduğunda self signed sertifika edinir. Bu nedenle autodiscover dış bağlantıda çalışmaz ve exchange üzerinde ek konfigürasyona ihtiyaç duyulur. İç networkten ise kurulum sonrasında küçük eksiklikler ile de olsa genellikle çalışacaktır. Bunun nedeni şirket içi bağlantılarda autodiscover erişiminin Service Connection Point (SCP) üzerinden yapılabilmesidir.

Dış bağlantının doğru biçimde çalışabilmesi için tıpkı Outlook Anywhere'de olduğu gibi sertifika hatasının hiçbir şekilde bulunmaması gerekir. Bu nedenle CAS server'lara doğru biçimde internal yada external CA 'den alınmış sertifikalar kurulmalıdır. Sertifikaların trusted bir publisher'dan sağlanması, isminin doğru olması ve tarih aralığının geçerli olması zorunlu kurallardır. Bunlardan özellikle isimlendirme genellikle karşımıza çıkan temel hata olarak kendini gösteriyor. Örneğin; contoso.com autodiscover servisini kullanmak istesin. Bu durumda contoso.com sertifikasının en azından contoso.com yada autodiscover.contoso.com adınıda subject yada subject alternative name olarak içermesi gerekiyor.

Sertifikanın subject alternative name kısmının içermesi gereken / önerilen temel örnek isimler şunlardır;

webmail.contoso.com -----------> owa erişimi için gereken isim.

contoso.com -----> zorunlu değildir, autodiscover için kullanılabilir.

autodiscover.contoso.com -----> autodiscover servisi için gerekli ve zorunlu eğer contoso.com adı yoksa...

smtp.contoso.com ----> zorunlu değil, eğer Transport servisi farklı bir IP'den ve TLS tabanlı hizmet verecekse (HUB transport özellikle aynı server'da hizmet veriyorsa ve TLS kullanılacaksa düşünülmeli)

pop.contoso.com ----> zorunlu değil, eğer pop bağlantı için özel bir CAS kullanılacaksa

imap.contoso.com ----> zorunlu değil, eğer imap bağlantı için özel bir CAS kullanılacaksa

casservername ----> zorunlu değil eklenebilir netbios name

casservername2 ----> zorunlu değil eklenebilir netbios name

casservername.contoso.local ---> Internal OAB vb. bağlantılarda gereken iç isim

casservername2.contoso.local -----> Internal OAB vb. bağlantılarda gereken iç isim

Not: Birçok sertifika sağlayıcı 40 ismi tek bir sertifikada verebiliyor. Zaman içerisinde bu sertifikaları yenisini almadan update ederek yeni isim ekleyebiliyoruz. Eğer isimlendirme çok karışık bir durum ortaya çıkarıyorsa veya bizim için problem oluyorsa (internal name registered değilse ve başka bir sahibi varsa ) " * " wildcard sertifikayıda gözardı etmemeliyiz.  Örneğin; *.contoso.com gibi tek bir isim işimizi görecektir.

Bu isimlerden özellikle autodiscover.contoso.com ismi üzerinde durmak gerekiyor. By default outlook 2007 açıldığında active directory üzerinden connection (SCP) sağlayarak autodiscover URL bilgisini bulur..

SCP

 

 

 

 

 

 

 

 

 

 

Fakat şirket dışında yada active directory bağlantısı olmayan / sağlanamayan durumlarda outlook ikinci denemeyi autodiscover.contoso.com olarak yapacak ve böylece servis bilgilerini edinecektir. (autodiscover adı değiştirilebilir) Bu durum aşağıdaki figür ile temsil ediliyor...

 autodiscover

 

 

 

 

 

 

 

 

 

 

Outlook 2007 açıldığında aşağıdaki URL'leri sırası ile deneyecektir...

https://contoso.com/autodiscover/autodiscover.xml

https://autodiscover.contoso.com/autodiscover/autodiscover.xml

Not: SCP exchange'e özel bir kavram değildir. İstenildiğinde özel uygulamalar için SCP kayıtları oluşturulabilir. Active directory'de ilgili server objesinde yeralır.

http://msdn.microsoft.com/en-us/library/ms677638(VS.85).aspx

Yukarıdanda anlaşıldığı üzere https gerekli ve zorunlu, bu nedenle dorğu sertifikayı edinmeliyiz. Bunun için exchange client access server (CAS) üzerinde aşağıdaki adımları atarak işe başlayabiliriz.

 1- İlk adımımız sertifika isteğini oluşturmak olmalıdır. Bunun için aşağıdaki işlem yapılmalı ve New-ExchangeCertificate komutu kullanılmalıdır.

new-exchangecertificate 

 

 

 

 

 

Bu işlem ile local sertifika store'da ilgili istek oluşur ve buna bağlı bir dosyada diske yazılır. İlgili istek dosyası C:\certREQ.txt dosysıdır. Yukarıdaki komutta -domainname ile tüm adlar belirtilmelidir. PrivateKeyExportable true dşye belirtilmeli böylece sertifkanın server'lar arasında export edilerek taşınabilmesine izin verilmelidir.Ayrıca bazı uygulamalar (özelikle mobile) subjectname'de geçen adın public URL olmasını zorunlu tutarlar. Bu nedenle CN=webmail.corpnet.com kullanılmıştır.

Yukarıdaki komut sadece sertifika isteğini oluşturmamızı sağlıyor, sertifika almış olmuyoruz.

2- İkinci adım olarak bu dosyayı (c:\certREQ.txt) sertifika sağlayıcımıza göndererek sertifikamızı ediniyoruz. Aşağıda kendi sertifika sunucumuzdan sertifka edinme adımlarını yazmaya çalıştım.

I. İlgili istek dosyasını sertifika sunucumuza kopyalıyoruz.

II. http://CAserver/certsrv ile sertifka sunucumuza bağlanıyoruz.

III. "Select a certificate" seçeneğini kullanarak, "Advanced certificate request" 'i seçiyoruz.

IV. "Submit a certificate request..." seçilir.

V. Request file içeriği "Saved request" alanına kopyalanır ve "Web Server" sertifika template olarak seçilir.

VI. Submit butonuna tıklanarak sertifika isteği girilimiş olunur.

VII. Sertifika save edilerek CAS server'lara taşınır.

Not: Yukarıdaki işlemler ile elde edilecek .P7B uzantılı dosya isteğin yapıldığı makinaya import edildikten sonra private key exportable olarak görülecektir.

Not: Import işlemi için enaz CAS,HUB yada UM rolü ilgili makinada yüklü olmalıdır.

3- İlgili sertifikayı exchange server'a kopyaladık ve sıra import işine geldi. Bunun için aşağıdaki komut çalıştırılır.

Import-ExchangeCertificate

 

 

 

 

 Import işlemi sonrasında private key'in exportable olduğu aşağıdaki sertifikanın anahtar resminden anlaşılabilir.

Sertifika store

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4- Artık sıra ilgili sertifikayı Enable etmeye geldi. Bunun için Enable-ExchangeCertificate komutunu kullanmalıyız. Enable ile hangi servisler için ilgili sertifikanın etkin olacağını belirtebiliriz. Bunlar kısaca SMTP,IMAP,POP3,UM ve IIS olabilir.

Enable-ExchangeCertificate

 

 

Eğer IIS için import ettiysek ilgili sertifika IIS içerisinden de görülebilicektir.

 Default Web Site ve Sertifikası

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tüm bu işlemlerden sonra bir "IISRESET /noforce" yapmak faydalı olacaktır.

Bir sonraki makalede gerekli url set değişikliklerine değineceğim.

Kubilay Ekici