Merhaba arkadaşlar, ben Cem Zengin.
Kurumsal ağlarda kullanıcıların internet erişimlerini IP adreslerine göre değil, doğrudan Active Directory üzerindeki kullanıcı adı ve grup üyeliklerine göre filtrelemek standart bir güvenlik politikasıdır. FortiGate üzerinde bu entegrasyonu sağlamak için öncelikle Active Directory sunucumuz ile aradaki köprüyü kuracak olan LDAP (Lightweight Directory Access Protocol) yapılandırmasını yapmamız gerekir.
Bu yazıda, FortiGate üzerinde adım adım LDAP entegrasyonunu nasıl gerçekleştireceğimizi ve AD gruplarını firewall objesi olarak nasıl eşleştireceğimizi göreceğiz.
1. Active Directory LDAP Bilgilerinin Tespit Edilmesi
Yapılandırmaya başlamadan önce Active Directory sunucunuzdan şu bilgilere ihtiyacımız var:
- Domain Controller IP/FQDN: Örn:
192.168.10.10veyadc1.sirket.local - Domain Distinguished Name (DN): Örn: Domain adınız
sirket.localise DN formatı:dc=sirket,dc=local - LDAP Bind User (Yönetici / Sorgu Yetkili Kullanıcı): FortiGate’in AD üzerinde sorgulama yapabilmesi için yetkili bir kullanıcı hesabının DN bilgisi. Örn:
CN=ldapuser,OU=ServisHesaplari,DC=sirket,DC=local
2. Web Arayüzü (GUI) ile LDAP Tanımlaması
- User & Authentication > LDAP Servers sayfasına gidin.
- Create New butonuna tıklayın.
- Aşağıdaki parametreleri doldurun:
- Name:
Sirket-LDAP(Herhangi bir isim belirleyin) - Server IP/Name:
192.168.10.10(Domain Controller IP’si) - Port:
389(Varsayılan şifresiz LDAP portudur. Güvenli LDAPS kullanıyorsanız636yapıp sertifika eklemeniz gerekir) - Common Name Identifier:
sAMAccountName(Windows AD için standart kullanıcı adı alanı) - Distinguished Name:
dc=sirket,dc=local - Bind Type:
Regularseçin. - User DN:
CN=ldapuser,OU=ServisHesaplari,DC=sirket,DC=local(Sorgu kullanıcısının DN’i) - Password: Sorgu kullanıcısının şifresi
- Name:
- Tanımlamaları yaptıktan sonra ekranın sağ altındaki Test Connectivity (veya Test Bind) butonuna tıklayın. Durumun Successful (Başarılı) olduğunu görmelisiniz. Başarısız ise IP, port, User DN veya şifre bilgilerini kontrol edin.
- OK diyerek sunucuyu kaydedin.
3. CLI ile LDAP Sunucusu Tanımlama
Aynı işlemi komut satırından hızlıca yapmak için:
config user ldap
edit "Sirket-LDAP"
set server "192.168.10.10"
set cnid "sAMAccountName"
set dn "dc=sirket,dc=local"
set type regular
set username "CN=ldapuser,OU=ServisHesaplari,DC=sirket,DC=local"
set password "CokGucluSifre123"
next
end
4. LDAP Gruplarını FortiGate Üzerinde Eşleştirme (User Groups)
LDAP sunucumuzu tanımladıktan sonra, AD üzerindeki kullanıcı gruplarını FortiGate politikalarında (Firewall Policy) kullanabileceğimiz birer obje haline getirmeliyiz.
Web GUI Adımları:
- User & Authentication > User Groups sayfasına gidin.
- Create New seçeneğine tıklayın.
- Name:
FortiGate-Internet-Users(Firewall üzerinde görünecek grup adı) - Type:
Firewall - Remote Groups tablosunda Add butonuna tıklayın.
- Açılan sağ panelde Remote Server alanından oluşturduğumuz
Sirket-LDAPsunucusunu seçin. - Aşağıda listelenen AD ağacından internet erişimi vermek istediğimiz grubu arayın (Örn:
Internet_Users_Group) veya sağ tıklayıp Add Selected deyin. - OK diyerek grubu ekleyin ve ana pencerede OK tuşuna basarak grup objesini kaydedin.
CLI Komutları:
config user group
edit "FortiGate-Internet-Users"
set member "Sirket-LDAP"
config match
edit 1
set server-name "Sirket-LDAP"
set group-name "CN=Internet_Users_Group,OU=Gruplar,DC=sirket,DC=local"
next
end
next
end
5. LDAP Grubunu Firewall Politikasında (Policy) Kullanma
Artık oluşturduğumuz kullanıcı grubunu internete çıkış kuralında kaynak olarak tanımlayarak, kuralı kimlik doğrulamaya (Authentication) tabi tutabiliriz.
- Policy & Objects > Firewall Policy sayfasına gidin.
- İnternete çıkış kuralınızı düzenleyin veya yeni bir kural oluşturun.
- Parametreleri ayarlayın:
- Source: Buradaki
allobjesinin yanına (veya yerine) oluşturduğumuzFortiGate-Internet-Userskullanıcı grubunu ekleyin. (Source:LAN_SubnetANDFortiGate-Internet-Users) - Destination:
all - Service:
ALL - Action:
ACCEPT
- Source: Buradaki
- Kaydedin.
Bu yapılandırmadan sonra, kuraldan geçmek isteyen kullanıcıların karşısına FortiGate captive portal ekranı çıkacak ve AD kullanıcı adı şifrelerini girmelerini isteyecektir. (Not: Eğer captive portal yerine arka planda otomatik oturum açılmasını istiyorsanız, FSSO - Fortinet Single Sign-On entegrasyonu yapmanız gerekir. Bu konuyu da sonraki yazılarımızda detaylıca ele alacağız).
6. Sorun Giderme (Troubleshooting)
Eğer LDAP bağlantısı başarısız oluyorsa CLI üzerinden şu sorguları çalıştırarak hatanın kaynağını öğrenebilirsiniz:
- LDAP Sunucu Bağlantısını Test Etmek:
diagnose test authserver ldap Sirket-LDAP <kullanici_adi> <kullanici_sifresi>Bu komut girilen kullanıcının LDAP üzerinden doğrulanıp doğrulanamadığını ve hangi gruplara üye olduğunu döndürür.
- Canlı LDAP Trafik Loglarını İncelemek (Debug):
diagnose debug application ldap -1 diagnose debug enableLDAP sorgularının arka planda nasıl işlendiğini, AD sunucunun nasıl cevap verdiğini canlı olarak ekrana döker. İnceleme bittiğinde kapatmak için
diagnose debug disableyazın.
Bir sonraki makalede görüşmek üzere! Entegrasyon sırasında karşılaştığınız hataları yorumlar kısmından bana iletebilirsiniz.