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.10 veya dc1.sirket.local
  • Domain Distinguished Name (DN): Örn: Domain adınız sirket.local ise 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ı

  1. User & Authentication > LDAP Servers sayfasına gidin.
  2. Create New butonuna tıklayın.
  3. 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ız 636 yapı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: Regular seç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
  4. 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.
  5. 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ı:

  1. User & Authentication > User Groups sayfasına gidin.
  2. Create New seçeneğine tıklayın.
  3. Name: FortiGate-Internet-Users (Firewall üzerinde görünecek grup adı)
  4. Type: Firewall
  5. Remote Groups tablosunda Add butonuna tıklayın.
  6. Açılan sağ panelde Remote Server alanından oluşturduğumuz Sirket-LDAP sunucusunu seçin.
  7. 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.
  8. 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.

  1. Policy & Objects > Firewall Policy sayfasına gidin.
  2. İnternete çıkış kuralınızı düzenleyin veya yeni bir kural oluşturun.
  3. Parametreleri ayarlayın:
    • Source: Buradaki all objesinin yanına (veya yerine) oluşturduğumuz FortiGate-Internet-Users kullanıcı grubunu ekleyin. (Source: LAN_Subnet AND FortiGate-Internet-Users)
    • Destination: all
    • Service: ALL
    • Action: ACCEPT
  4. 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 enable
    

    LDAP 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 disable yazın.

Bir sonraki makalede görüşmek üzere! Entegrasyon sırasında karşılaştığınız hataları yorumlar kısmından bana iletebilirsiniz.