Herkese merhaba, bugünkü makalemizde bir lab ortamında ADFS kurulumunu ve ardından bu kuruluma Multi factor authentication methodu kullanımını third party bir yazılım olan SecureMFA-OTP ile anlatmaya çalışacağım. Bu yazılım sayesinde Adfs, RDS, mail ve windows işletim sistemlerini Multi Factor Authentication metodunu kullanarak açabilirsiniz.
Bu yazımızda ADFS üzerinden anlatacağız. Secure MFA- OTP ücret ve kullanımı açısında çok verimli olduğu için diğer thirtparty yazılımlara tercih ederim sizinde kullanmanızı ya da bir demo ortamında test etmenizi tavsiye ederim.
Özellikle on-prem exchange kullanan şirketlerin kullanmasında fayda görüyorum, zaten şirket on-prem exchange önünde başka bir proxy kullanmıyorsa BTK bir şekilde sizden bunu isteyecektir. 😊 Kendi güvenliğiniz içinde önemli bir konu…
ADFS üzerinde MFA yapılandıracağımız için öncelikle Active Directory Federation Service kurulumundan başlayacağız.
Sistem Gereksinimleri;
- ADFS kurulumu için Domain ortamında çalışan bir server
- SAN veya wildcard SSL sertifikası
- SecureMFA-OTP Script komutları
- SQL Express ve Management Studio
- Tüm işlemler tamamlandıktan sonra mobil cihazınıza kuracağınız Google, Microsoft veya Symantec VIP token anahtar programları
Öncelikle domaine aldığımız sunucu üzerinde Server Manager arayüzünü açıp Active Directory Federation Services sekmesine onay vererek kurulumu başlatıyoruz.
Kurulum tamamlandığında Server Manager üzerinde wizard kurulum için uyarı verecektir oradaki linke tıklayıp devam ediyoruz. Aşağıda resimde görüldüğü üzere yeni bir ADFS kurulumu için Create butonunu seçip devam ediyoruz.
Bir sonraki adımda domain admin kullanıcısını seçip devam edebilirsiniz.
Ben bu demo üzerinde boşta olan bir domain ismini ve ona bağlı bir wilcard SSL sertifikasını kullanacağım. Sertifikanın *.pfx uzantılı dosyasını bilgisayarıma kopyalayıp aşağıdaki resimde görüldüğü gibi sertifika kısmına import ediyorum ardından sertifikanın şifresini giriyorum.
Bir alt menüde yapmamız gereken işlemde ise federe edeceğiniz sunucunun ismini yazmak olacak. Ör: sts.domain.com, adfs.domain.com, fs.domain.com gibi… Bir sonraki alt menüde ise Şirket ismini yazabilirsiniz.
Bu işlem bittikten sonra bir adfs servis hesabı oluşturmamız gerekiyor. Bunun için aşağıdaki powerhell komutunu kullanabilir ya da isteğe bağlı olarak domain kullanıcısıyla devam edebilirsiniz.
New-ADServiceAccount -Name sadik -DnsHostName adfs.btbulten.com -ServicePrincipalNames http/adfs.btbulten.com
Daha sonra create database butonuyla devam ediyorum ve Active Directory Federation Services kurulumunu bitiriyorum. Kurulum bittikten sonra sunucuyu yeniden başlatmanızda fayda var.
Kurulum tamamlandıktan sonra adfs login ekranını aşağıdaki linkten test ettiğinizde resimde göründüğü gibi bir hata mesajı alabilirsiniz.
https://adfs.btbulten.com/adfs/ls/IdpInitiatedSignon
Eğğer böyle bir hata mesajı alıyorsanız bu hatayı gidermek için öncelikle powershell ekranını yönetici olarak açıp, aşağıda yazan powershell komutunu girin.
Set-AdfsProperties -EnableIdpInitiatedSignonPage $true
ADFS login ekranını test ettiğinizde hatanın giderilmiş olması gerekmektedir.
ADFS kurulumu bittikten sonra bir Web Application Proxy (WAP) sunucusu kurabilir ve exchange owa , ecp gibi loginlerinizi bu proxy sunucusu üzerinden yönlendirebilirsiniz. Biz Multi Factor Authentication işlemi yapacağımızdan bu bölümü geçiyorum ve bir başka makaleye bırakıyorum.
SecureMFA-OTP kurulumuna geçmeden önce SQL Express indirip kurulum yapın ve instance name SQLExpress kalsın. Ardınan mixed mode kurulumda bir “sa” kullanıcısı için bir şifre belirleyin.
Bir sonraki aşamada aşağıdaki powershell komutunu kullanarak SecureMFA-OTP yi yükleyin. Powershell in yönetici modda açıldığından emin olun.
Install-Module -Name SecureMFA_OTP -Repository PSGallery -Scope AllUsers
A
Kurulum tamamlandıktan sonra Secure MFA token özelliğini ADFS üzerine eklememiz gerekmektedir. Bunun için aşağıdaki powershell komutunu kullanabilirsiniz. (Powershell in yönetici modda açıldığından emin olun. )
Install-SecureMfaOtpProvider
Kurulum bittiğinde aşağıdaki gibi bir powershell çıktısı ile karşılaşacaksınız.
Başlat butonuna basıp administrative tools a girip oradan ADFS Management arayüzünü açın ve sonra Authentication Method kısmını edit ettiğinizde “Time Based OTP Authentication” görebiliyorsanız kurulum başarı ile tamamlanmış demektir.
Dikkat edilmesi gereken bir husus ise Primary Method kısmında “Allow additional authentication providers as primary” sekmesini etkinleştirmek olacak. Bunu yaparsanız hem yeni login ekranını göreceksiniz hem de “Time Based OTP Authentication” özelliğinin ADFS login ekranına gelmesini sağlamış olacaksınız. Bu butonu aktifleştirdikten sonra tekrar edit butonuna basin ve aşağıdaki resimde görüldüğü gibi Time Based OTP Authentication methodlarını hem extranet de hem de intranette seçin.
ADFS login ekranını tekrar test ettiğinizde login ekranın değiştiğini ve Domain şifrenizi girdikten sonra 2. Bit doğrulama istediğini göreceksiniz.
Buraya kadar yaptığımız işlemlerde sadece Authentication method eklemiş olduk. Şimdi gelelim bu methodun yapılandırılmasına;
Öncelikle C:\Program Files\WindowsPowerShell\Modules\SecureMFA_OTP\2.0.0.6 dosyasına giriyoruz.
Ardından “SecureMfaOtpProvider.json” dosyasını notepad yardımı ile açıyoruz. Içindeki bilgileri kendi bilgilerimizle değiştiriyoruz. Company, sqlintegrationsecurity kısmını aşağıdaki resimde görüldüğü gibi değiştiriyoruz. Ardından hemen altında bulunan sql kullanıcı adı ve password leri kendi verdiğimiz sql “sa” kullanıcısı ile değiştiriyoruz. Son olarak kaydedip kapatıyoruz.
Şimdi SQL içerisinde bir database ve bu databasein altında tablolar oluşturup. Authentication Method ile bağlamamız gerekiyor. Bunun için;
SQL_Create _Database_SecureMfaOTP.txt dosyasını açıp içerisindeki kodları SQL üzerinde çalıştırmamız gerekmektedir.
SQL Database ismi ”SecureMfaOtp” olarak oluşturup ardından tabloları eklemek için SQL queryi çalıştırıyorum. Bu aşamadan sonra “USE [SecureMfaOtp]” yazıp execute ile çalıştırın.
Daha sonra sırayla diğer tabloların scriptlerini query ye ekleyip çalıştırın. Tabloların oluştuğundan emin olduktan sonra ADFS servislerini yeniden başlatın.
Bütün bu işlemler tamamlandıktan sonra ADFS test login sayfamızı açtığımızda aşağıdaki gibi bir 2. Doğrulama ile karşılaşacağız. Mobil cihazımıza Google , Microsoft veya Symantec token kurduğumuzda karekodu taratıp giriş yapabiliriz. Bir sonraki makalemizde görüşmek üzere umarım faydalı olmuştur.