Exchange 2007 autodiscover servisi - 1
Autodiscovery servisi outlook 2007 client'lar için otomatik profile konfigürasyonu ve offline address book gibi client baglantilarinda ihtiyaç duyulan ek URL'leri saglayan servisin adidir. Bir windows servisi olarak çalismaz ancak Client Access Server (CAS) rolünün bir alt fonksiyonu olarak exchange 2007 ile birlikte gelir.
Exchange 2007 kuruldugunda self signed sertifika edinir. Bu nedenle autodiscover dis baglantida çalismaz ve exchange üzerinde ek konfigürasyona ihtiyaç duyulur. Iç networkten ise kurulum sonrasinda küçük eksiklikler ile de olsa genellikle çalisacaktir. Bunun nedeni sirket içi baglantilarda autodiscover erisiminin Service Connection Point (SCP) üzerinden yapilabilmesidir.
Dis baglantinin dogru biçimde çalisabilmesi için tipki Outlook Anywhere'de oldugu gibi sertifika hatasinin hiçbir sekilde bulunmamasi gerekir. Bu nedenle CAS server'lara dogru biçimde internal yada external CA 'den alinmis sertifikalar kurulmalidir. Sertifikalarin trusted bir publisher'dan saglanmasi, isminin dogru olmasi ve tarih araliginin geçerli olmasi zorunlu kurallardir. Bunlardan özellikle isimlendirme genellikle karsimiza çikan temel hata olarak kendini gösteriyor. Örnegin; contoso.com autodiscover servisini kullanmak istesin. Bu durumda contoso.com sertifikasinin en azindan contoso.com yada autodiscover.contoso.com adinida subject yada subject alternative name olarak içermesi gerekiyor.
Sertifikanin subject alternative name kisminin içermesi gereken / önerilen temel örnek isimler sunlardir;
webmail.contoso.com -----------> owa erisimi için gereken isim.
contoso.com -----> zorunlu degildir, autodiscover için kullanilabilir.
autodiscover.contoso.com -----> autodiscover servisi için gerekli ve zorunlu eger contoso.com adi yoksa...
smtp.contoso.com ----> zorunlu degil, eger Transport servisi farkli bir IP'den ve TLS tabanli hizmet verecekse (HUB transport özellikle ayni server'da hizmet veriyorsa ve TLS kullanilacaksa düsünülmeli)
pop.contoso.com ----> zorunlu degil, eger pop baglanti için özel bir CAS kullanilacaksa
imap.contoso.com ----> zorunlu degil, eger imap baglanti için özel bir CAS kullanilacaksa
casservername ----> zorunlu degil eklenebilir netbios name
casservername2 ----> zorunlu degil eklenebilir netbios name
casservername.contoso.local ---> Internal OAB vb. baglantilarda gereken iç isim
casservername2.contoso.local -----> Internal OAB vb. baglantilarda gereken iç isim
Not: Birçok sertifika saglayici 40 ismi tek bir sertifikada verebiliyor. Zaman içerisinde bu sertifikalari yenisini almadan update ederek yeni isim ekleyebiliyoruz. Eger isimlendirme çok karisik bir durum ortaya çikariyorsa veya bizim için problem oluyorsa (internal name registered degilse ve baska bir sahibi varsa ) " * " wildcard sertifikayida gözardi etmemeliyiz. Örnegin; *.contoso.com gibi tek bir isim isimizi görecektir.
Bu isimlerden özellikle autodiscover.contoso.com ismi üzerinde durmak gerekiyor. By default outlook 2007 açildiginda active directory üzerinden connection (SCP) saglayarak autodiscover URL bilgisini bulur..
Fakat sirket disinda yada active directory baglantisi olmayan / saglanamayan durumlarda outlook ikinci denemeyi autodiscover.contoso.com olarak yapacak ve böylece servis bilgilerini edinecektir. (autodiscover adi degistirilebilir) Bu durum asagidaki figür ile temsil ediliyor...
Outlook 2007 açildiginda asagidaki URL'leri sirasi ile deneyecektir...
https://contoso.com/autodiscover/autodiscover.xml
https://autodiscover.contoso.com/autodiscover/autodiscover.xml
Not: SCP exchange'e özel bir kavram degildir. Istenildiginde özel uygulamalar için SCP kayitlari olusturulabilir. Active directory'de ilgili server objesinde yeralir.
https://msdn.microsoft.com/en-us/library/ms677638(VS.85).aspx
Yukaridanda anlasildigi üzere https gerekli ve zorunlu, bu nedenle dorgu sertifikayi edinmeliyiz. Bunun için exchange client access server (CAS) üzerinde asagidaki adimlari atarak ise baslayabiliriz.
1- Ilk adimimiz sertifika istegini olusturmak olmalidir. Bunun için asagidaki islem yapilmali ve New-ExchangeCertificate komutu kullanilmalidir.
Bu islem ile local sertifika store'da ilgili istek olusur ve buna bagli bir dosyada diske yazilir. Ilgili istek dosyasi C:\certREQ.txt dosysidir. Yukaridaki komutta -domainname ile tüm adlar belirtilmelidir. PrivateKeyExportable true dsye belirtilmeli böylece sertifkanin server'lar arasinda export edilerek tasinabilmesine izin verilmelidir.Ayrica bazi uygulamalar (özelikle mobile) subjectname'de geçen adin public URL olmasini zorunlu tutarlar. Bu nedenle CN=webmail.corpnet.com kullanilmistir.
Yukaridaki komut sadece sertifika istegini olusturmamizi sagliyor, sertifika almis olmuyoruz.
2- Ikinci adim olarak bu dosyayi (c:\certREQ.txt) sertifika saglayicimiza göndererek sertifikamizi ediniyoruz. Asagida kendi sertifika sunucumuzdan sertifka edinme adimlarini yazmaya çalistim.
I. Ilgili istek dosyasini sertifika sunucumuza kopyaliyoruz.
II. https://CAserver/certsrv ile sertifka sunucumuza baglaniyoruz.
III. "Select a certificate" seçenegini kullanarak, "Advanced certificate request" 'i seçiyoruz.
IV. "Submit a certificate request..." seçilir.
V. Request file içerigi "Saved request" alanina kopyalanir ve "Web Server" sertifika template olarak seçilir.
VI. Submit butonuna tiklanarak sertifika istegi girilimis olunur.
VII. Sertifika save edilerek CAS server'lara tasinir.
Not: Yukaridaki islemler ile elde edilecek .P7B uzantili dosya istegin yapildigi makinaya import edildikten sonra private key exportable olarak görülecektir.
Not: Import islemi için enaz CAS,HUB yada UM rolü ilgili makinada yüklü olmalidir.
3- Ilgili sertifikayi exchange server'a kopyaladik ve sira import isine geldi. Bunun için asagidaki komut çalistirilir.
Import islemi sonrasinda private key'in exportable oldugu asagidaki sertifikanin anahtar resminden anlasilabilir.
4- Artik sira ilgili sertifikayi Enable etmeye geldi. Bunun için Enable-ExchangeCertificate komutunu kullanmaliyiz. Enable ile hangi servisler için ilgili sertifikanin etkin olacagini belirtebiliriz. Bunlar kisaca SMTP,IMAP,POP3,UM ve IIS olabilir.
Eger IIS için import ettiysek ilgili sertifika IIS içerisinden de görülebilicektir.
Tüm bu islemlerden sonra bir "IISRESET /noforce" yapmak faydali olacaktir.
Bir sonraki makalede gerekli url set degisikliklerine deginecegim.
Kubilay Ekici