Merhaba arkadaşlar, ben Cem Zengin.

LDAP entegrasyonu yaptığımızda kullanıcıların internete çıkarken bir captive portal ekranında kullanıcı adı ve şifre girmesi gerektiğini konuşmuştuk. Ancak modern kurumsal ağlarda bu durum kullanıcı deneyimini olumsuz etkiler. Kullanıcılar bilgisayarlarını açıp Windows oturumu açtıkları anda, arka planda otomatik olarak tanınmalı ve firewall kurallarından şifre sormadan geçebilmelidir.

Bunu sağlayan teknolojiye FSSO (Fortinet Single Sign-On) diyoruz. Bu yazıda, Active Directory sunucusuna herhangi bir agent yazılımı kurmadan, doğrudan WMI/WinSec üzerinden güvenlik günlüklerini okuyarak çalışan Agentless FSSO kurulumunu adım adım gerçekleştireceğiz.


1. Agentless FSSO Nasıl Çalışır?

Agentless FSSO (Sunucusuz FSSO) mekanizmasında:

  1. Kullanıcı kendi bilgisayarında Windows Domain oturumu açar.
  2. Domain Controller (DC) sunucusu üzerinde bir oturum açma (Logon) olayı gerçekleşir ve Windows Security Event Log tablosuna Event ID 4624 (veya Event ID 4768) kaydı düşer.
  3. FortiGate cihazı, DC sunucusuna belirli aralıklarla bağlanarak bu güvenlik loglarını sorgular (WMI veya Windows Event Log API üzerinden).
  4. FortiGate, loglardan hangi kullanıcının hangi IP adresini aldığını tespit eder ve bunu kendi belleğindeki IP-Kullanıcı eşleşme tablosuna yazar.
  5. Kullanıcı internete çıkmak istediğinde FortiGate IP’sine bakar, eşleşen kullanıcıyı bulur ve o kullanıcının AD üzerindeki yetki grubuna göre kuralı uygular.

2. Active Directory Tarafında Yetkilendirme İşlemleri

FortiGate’in Domain Controller günlüklerini okuyabilmesi için AD üzerinde özel yetkilere sahip bir kullanıcı oluşturmalıyız.

  1. Active Directory üzerinde fsso-user adında standart bir kullanıcı hesabı oluşturun.
  2. Bu kullanıcıyı aşağıdaki yerel AD gruplarına üye yapın:
    • Distributed COM Users
    • Event Log Readers
    • Not: Güvenlik günlüklerini okuyabilmesi ve WMI sorguları çekebilmesi için bu gruplar yeterlidir. Kullanıcıyı “Domain Admin” yapmak güvenlik riski oluşturacağından önerilmez.

3. Web Arayüzü (GUI) ile Agentless FSSO Yapılandırması

  1. Security Fabric > External Connectors sayfasına gidin.
  2. Create New seçeneğine tıklayın.
  3. User & Device bölümünden FSSO Agent on Windows AD konektörünü seçin.
  4. Parametreleri şu şekilde yapılandırın:
    • Name: AD-FSSO-Connector
    • Primary FSSO Agent: Burada Agentless kutucuğunu işaretleyin (Kritik adım!).
    • Server IP/Name: 192.168.10.10 (Domain Controller sunucu IP’niz)
    • Username: fsso-user@sirket.local
    • Password: Kullanıcının şifresi
  5. Sayfayı aşağı kaydırın ve LDAP Server kısmından daha önce tanımlamış olduğumuz LDAP sunucumuzu seçin (Kullanıcı gruplarını çekebilmek için gereklidir).
  6. OK butonuna tıklayarak konektörü kaydedin.
  7. Konektör listesinde durumun Yeşil (Bağlantı aktif) olduğunu doğrulayın.

4. CLI ile Agentless FSSO Yapılandırması

Tüm bu adımları komut satırından uygulamak için:

config user fsso-local
    edit "AD-FSSO-Connector"
        set server "192.168.10.10"
        set source-ip 0.0.0.0
        set port 445
        set username "fsso-user@sirket.local"
        set password "CokGucluFssoSifresi123"
        set ldap-server "Sirket-LDAP"
    next
end

5. FSSO Gruplarını ve Firewall Policy’lerini Tanımlama

FSSO entegrasyonu sağlandıktan sonra, FSSO üzerinden gelen grupları firewall tarafında tanımlayıp kurala eklemeliyiz.

Kullanıcı Grubu Oluşturma:

  1. User & Authentication > User Groups sayfasına gidin ve Create New deyin.
  2. Name: FSSO-Pazarlama-Grup
  3. Type: Fortinet Single Sign-On (FSSO) seçin.
  4. Members alanından AD üzerindeki pazarlama grubunu (örn: Pazarlama_Dept) seçip ekleyin.
  5. Kaydedin.

Firewall Kuralı Tanımlama:

  1. Policy & Objects > Firewall Policy sayfasına gidin.
  2. İnternet kuralınızı düzenleyin.
  3. Source: LAN_Subnet ve oluşturduğumuz FSSO-Pazarlama-Grup objesini ekleyin.
  4. Destination: all
  5. Service: ALL
  6. Action: ACCEPT
  7. NAT seçeneğini aktif ederek kaydedin.

Bu sayede sadece Pazarlama departmanı üyeleri Windows oturumu açtıklarında hiçbir şifre ekranı görmeden internete çıkabilecektir.


6. Sorun Giderme ve Durum Kontrolü (Troubleshooting)

IP-Kullanıcı eşleşmelerinin düzgün çalışıp çalışmadığını doğrulamak için şu CLI komutlarını kullanabilirsiniz:

  • FSSO Log-on Kullanıcı Listesini Görmek:
    diagnose debug authd fsso list
    

    Bu komut o anda FortiGate üzerinde aktif olan tüm FSSO oturumlarını (IP adresi, kullanıcı adı, bilgisayar adı ve üye olduğu AD grupları) tablo halinde listeler.

  • FSSO Servis Bağlantı Durumu:
    diagnose debug application fssod -1
    diagnose debug enable
    

    FSSO arka plan servisinin AD sunucudan logları çekip çekemediğini, kimlik doğrulama hatalarını canlı olarak izlemenizi sağlar.

Kurulum aşamasında karşılaştığınız WMI bağlantı hatalarını veya log okuma problemlerini yorumlar kısmından bana iletebilirsiniz. Bir sonraki teknik yazıda görüşmek üzere!