RPC over HTTPS (Single Server)
Outlook un sunduğu avantajların her nerede olursanız olun kullanılabilir olması kimi zaman biraz problemli olur. Örneğin şirket dışından şirket Exchange Server ınıza Outlook kullanılarak ulaşılmasını dilerseniz şirket firewall u üzerinde çok karmaşık kurallara ihtiyacınız olacak. Öte yandan RPC için yazacağınız bu kurallar tehdide açık port sayınızı artıracaktır. Bu risklerin ortadan kaldırılması için sizin VPN üzerinden client makinalarınızı şirket netwrokune sokmanız ve bu sanal tünel içinden de RPC bağlantı sağlamanız gerekecekti. Microsoft HTTP protokolü üzerinden RPC kullanılmasını mümkün hale getirerek sistem yöneticilerini rahatlattı. Bu özellik için öncelik ile “Exchange 2003” yapımızın WEB üzerinden verdiği hizmetin SSL kullanılarak korunmasını sağlamalıyız. Bu hamle ile bağlantımızın güvenliğini artıracağız. Bunu yapabilmek için “Internet Information Services (IIS) Manager” konsolunu kullanarak Exchange virtual directory lerimizi içeren site üzerinde Properties dedikten sonra “Directory Security” tabını tıkladığımızda gelen menuden “Server Certificate” butonuna basarak Web Server Certificate sihirbazına ulaşabiliriz. Tabiî ki burada sizin şirket içi kullanım için daha evvelden bir CA (Certification Authority) kurduğunuzu varsayıyoruz. Sihirbazı takip ederek WEB server için CA tarafından bir sertifika hazırlanmasını sağlayacağız.
Sihirbazın sertifika bilgilerini sağlamak amaçlı bize sorduğu bilgileri doldururken daha da dikkatli olunması gereken “Common Name” penceresine dikkat çekmek istiyorum. Burada verdiğimiz isim şirket dışından mail sunucumuza ulaşmak için kullanılacak isim ile aynı olmalı. Aksi takdirde SSL ile yaptığımız bağlantıda sertifikadaki isim ile yazdığımız ismin uyuşmadığı bir uyarı ile belirtilecek.
Sertifika alındıktan sonra bir de sistemimizin SSL i mecbur koşmasını sağlamak için gene Secure Communications bölümünde Edit e basarak “Require secure channel (SSL)” seçilir. Ve isterseniz SSL ile beraber 128 bit encryption da mecbur tutulabilirsiniz.
Bu arada Form Based Authentication için de Exchange System Manager ı kullanarak Server ismimiz>Protocols>HTTP yolu takip edilerek Exchange Virtual Server üzerinde Properties denilerek “Enable Forms Based Authentication” seçeneği işaretlenir ve Compression seçeneklerinden uygun gördüğünüz Compression metodu da buradan belirleyerek FBA ile OWA kullanabilirsiniz.
Bu aşamadan sonra Exchange Server üzerinde Control Panel’ den Add or Remove Programs >Add / Remove Windows Components yolu ile Networking Services e ulaşarak RPC over HTTP yükleyebiliriz.
Bu yüklemeden sonra Exchange server System Manager kullanılarak RPC-HTTP (en az SP1 yüklü olmalı) tabında en alttaki seçenek olan RPC-HTTP back-end server seçilir. Bu seçimden sonra iki uyarı alacağız bunlardan ilki sistemimizden bir front-end server olmadığını söyler diğer uyarı ise gerekli port ayarlarını sistemin yapabileceğini dilersek bu port ayar işlemini iptal edebileceğimizi söyler. Biz iki uyarıyı da OK diyerek geçeceğiz.
Son olarak server üzerinde yapmamız gereken işlemlerden biri de RPC over HTTP yüklendikten sonra IIS içerisinde bulunan RPC virtual directory si üzerinde gelip Authentication Methods ayarlanmalıdır. Burada aşağıdaki resimde de göreceğiniz üzere burada Enable Anonymous Access işareti kaldırılarak sadece Basic Authentication seçili olmalıdır. Default Domain olarak da kendi domaininizi göstermelisiniz.
Geriye server tarafında yapılacak REGEDIT kullanarak port bilgilerimizi kayıt defterine girmek kaldı. Bunun için Regedit yazıp aşağıdaki lokasyonlara verilen bilgileri kendi sisteminize uygun hale getirdikten sonra girmek kalıyor.
Registery de aşağıdaki yolu bularak Valid Ports değerini aşağıdaki gibi değiştirmeniz gerekiyor. (Elbet Registery backuplanmalı)
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftRpcRpcProxy]
"ValidPorts"=Serverismi:593;ServerFQDN:593;Serverismi:6001-6002;ServerFQDN:6001-6002;Serverismi:6004;ServerFQDN:6004;Serverismi:593;ServerFQDN:593;Serverismi:6004;ServerFQDN:6004"
Örnek ;
W2003-3:593;W2003-3.deneme.com:593;W2003-3:6001-6002;W2003-3.deneme.com:6001-6002;W2003-3:6004;W2003-3.deneme.com:6004;W2003-3:593;W2003-3.deneme.com:593;W2003-3:6004;W2003-3.deneme.com:6004
Son değişiklik ise
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNTDSParameters] içinde
Yeni bir MultiString Value oluşturacağız. Bu yeni kayıdın adı NSPI interface protocol sequences olacak. Ve değer olarak da ncacn_http:6004 gireceğiz
Yukarıda anlatılanlar uygulandıktan sonra server tarafında yapılacak işlemleri bitirmiş olacağız. Ve server ın restart edilmesi gerekecek. Restart işleminden sonra client üzerindeki işlemlere başlayabiliriz. Client makinada olmazsa olmazlarımız Outlook 2003 kullanmamız ve tabii ki service pack paketinin yüklü olması şiddet ile tavsiye edilir. XP işletim sistemininde SP2’ li olması yaşanacak problemleri giderecektir.
Öncelik ile Client makine domain e üye olmayan bir makine olabileceğine göre web sayfamız için uyarladığımız SSL sertifikasını aldığımız CA ‘ye güvenmesini sağlamalıyız. Bunun için de client makinedan şirket CA sayfasına ulaşıp CA certificate i download edip import etmeliyiz. Yapacağımız işlem gayet basit olacak. URL olarak https://serveriFQDN/certsrv veya https://ServerIP/certsrv yazılarak CA ana sayfasına ulaşılır. Burada task olarak Download a CA certificate, certificate chain, or CRL seçilmeli ve yeni gelen sayfadan da Download CA Certificate seçilmelidir.
Download ettiğimiz sertifika üzerine çift tıklanmak sureti ile gelen import wizard ile Trusted Root Certification Authorities bölümüne yerleştirmeliyiz. Bu işlemden onra control panel içinde Posta (Mail ) isimli ikon bulunur. Bu ikon kullanılarak Outlook ayarımızı RPC over HTTPS ‘e uyumlu hale getirebiliriz.
Bu ikonun çalıştırılması ile karşımıza Outlook hesaplarının oluşturulduğu pencereye ulaşırız .Burada Microsoft Exchange Server seçilir ve Next (ileri) denir. Gelen pencerede Microsoft Exchange Server isimli boş alana Exchange sever FQDN i yazılır. Cache Mode (Önbelleğe Alınmış Exchange Modu kullan) seçili olmalıdır. Kullanıcı Adı için Outlook u kullanması gereken kullanıcıyı yazacağız ve Diğer Ayarlar butonunu tıklayacağız.
Burada da “Internet Explorer veya başka bir çevirici ile bağlan” seçilerek ve pencerenin en altında bulunan “Exchange posta kutuma HTTP’yi kullanarak “ işaretlenecek. Bu işlemden sonra “Exchange Proxy Ayarları” isimli buton tıklanarak gelen pencerede Server FQDN i girilecek. Hızlı ve Yavaş ağlarda HTTP yi kullanması için gerekli yerlere işaretlenerek Kimlik doğrulama metodu olarak da Basit Kimlik Doğrulaması seçildiğinde buradaki işlemimiz bitmiş olacak.
Bu yaptığımız işlemlerden sonra client makinedan Exchange server a bağlantı kurabilmeliyiz. Kurulan iletişimin istediğimiz metod ile olduğunu teyit etmek için command prompts ta Outlook /rpcdiag komutunu çalıştırabiliriz. Sonuç olarak aşağıdaki gibi bağlantının tipini HTTPS olarak görmelisiniz. (Test aşamasında Exchange server ile test yaptığınız client makina arasında eğer bir firewall bulunmuyorsa aşağıdaki sonuçları alamıyabilirsiniz. Test in başarılı bir sonuç vermesini isterseniz LAB ortamında ethernet interface üzerinde Microsoft un firewall özelliğini aktif ederek sadece 443 . porta (SSL) istisna oluşturup izin verin.)
Sonuç itibarı ile Outlook her açıldığında bize aşağıdaki gibi bir Authentication penceresi gelecek ve bizde DOMAINusername formatında kullanıcı bilgilerimizi bilgilerimizi gireceğiz ve HTTPS üzerinden Exchange Server ‘a bağlanacağız. Şu ana kadar anlattığımız bu ayarlar bize kullanıcılarımızın RPC bağlantısı yerine daha güvenli ve daha az riskli RPC over HTTPS i kullanmak içindi.
Exchange server üzerine başka bir yazıda görüşmek üzere.