active directory etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
active directory etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Samba DC 4.9.5 Kurulumu

SAMBA DC, Windows Aktif Dizin'in oldukça önemli bir alternatifi olarak karşımıza çıkmaktadır. Bu konuda çok fazla detay bilgi olmasına rağmen bu yazıda temel seviyede bir SAMBA DC kurulumu yapacağız. Windows AD ile güven ilişkisi kurma yöntemi de son paragrafta gösterilecektir.

Öncelikle sistemi Ubuntu 18.04 Sunucu üzerinde yazdığımı belirtmem lazım. Statik bir IP belirledikten sonra aşağıdaki adımlara geçmenizde yarar var. Eğer Windows AD ile güven ilişkisi kuracaksanız ağ ayarlarına aynı DNS kaydını da eklemeniz gerekmektedir.

İlk olarak derleyerek güncel sürüm kullanımı uygulaması yapacağız. Öncelikle sistemimizi güncelleyip, bağımlılıkları yüklemeniz gerekmektedir.
apt install -y libreadline-dev git build-essential libattr1-dev libblkid-dev libpam0g-dev autoconf gdb
apt install -y python-dev python-dnspython libacl1-dev pkg-config libpopt-dev libldap2-dev libcups2-dev
apt install -y dnsutils acl attr libbsd-dev docbook-xsl libgnutls28-dev
apt install -y liblmdb-dev lmdb-utils libjansson-dev libgpgme11-dev libarchive-dev 
Daha sonra şuan için güncel 4.9.x sürümlerinden 4.9.5 indirilecektir.
cd /usr/src
get_samba4=https://download.samba.org/pub/samba/stable/samba-4.9.5.tar.gz
wget -c ${get_samba4}
tar xvfz $(basename ${get_samba4})
cd $(basename ${get_samba4}|sed "s/.tar.gz//")
Bu adımdan sonra kaynak kodu ikili sisteme çevrilecektir:
./configure --with-ads --with-shared-modules=idmap_ad --enable-debug --enable-selftest --with-systemd --prefix=/opt/samba4
make
make install
Ve servis dosyası hazırlanır:
echo '[Unit]
Description=Samba4 AD DC Daemon
After=syslog.target network.target

[Service]
Type=forking
PIDFile=/opt/samba4/var/run/samba.pid
LimitNOFILE=16384
EnvironmentFile=-/etc/sysconfig/samba4
ExecStart=/opt/samba4/sbin/samba $SAMBAOPTIONS
ExecReload=/usr/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target' > /etc/systemd/system/samba4.service
Komutların çalıştırılabilmesi için çalıştırılabilir ayarlanması gerekiyor:
echo 'export PATH=$PATH:/opt/samba4/bin:/opt/samba4/sbin' >> /etc/profile
echo 'export PATH=$PATH:/opt/samba4/bin:/opt/samba4/sbin' >> ~/.bashrc
source /etc/profile
Bu adımdan sonra SAMBA DC temel gereksinimleri kurulu olup etki alanı eklenmesi gerekliliği bulunmaktadır. 
1. Sıfırdan bir etki alanı eklemek için:
samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=SAMBA_INTERNAL --realm=ACIKLAB.NET --domain=ACIKLAB --adminpass=AcikLab01
systemctl daemon-reload
systemctl enable samba4.service
systemctl start samba4.service
2. Eğer var olan bir Windows AD sunucu ile güven ilişkisi kurulacaksa krb5-user paketi eklendikten sonra:

/etc/krb5.conf içinde aşağıdaki satırların olması:
[libdefaults]
    dns_lookup_realm = false
    dns_lookup_kdc = true
    default_realm = WIN.LAB
Yetkili kullanıcı için bilet alınır ve var olan domaine giriş yapılarak güven ilişkisi kurulur:
kinit administrator
samba-tool domain join win.lab DC -U"WIN\administrator" --dns-backend=SAMBA_INTERNAL

Çıktının sonunda aşağıdaki satırı görüyorsanız başarı ile sonuçlandırmış olacaksınız:
Joined domain WIN.LAB (SID S-1-5-21-469703510-2364959079-1506205053) as a DC


Etki Alanı Nedir?

Etki alanı, ekşisözlükteki ilk tanımı gibi Windows literatüründe domain'e karşılık gelmektedir. Bir çok kişinin bunu yalnızca bu şekilde bilmesi aslında temel olarak bir yanılgıdır. Bu yanılgının kaynağı dilimizde teknolojik alanlarda (özellikle internet alan adları şeklinde kullanılan) "domain" kelimesinin de kullanılmasından kaynaklanmaktadır. Oysa ki bilgisayar alanında tüm domain'lerin Türkçe karşılığı "Etki Alanı"'dır.

Windows kurulu bilgisayarlar 2 farklı ortamda bulunabilirler.Bu ortamlar ya Çalışma Grubu (workspace), ya da Etki Alanı (domain)'dır. Varsayılan olarak Windows kurulu bilgisayar çalışma grubu içerisinde bulunup bu modda iken aynı ağa bağlı diğer cihazları görebilip iletişim kurabilmesine rağmen neredeyse diğer kurumsal özelliklerin hiçbirisine sahip değildir. Windows kurulu bilgisayarın bir diğer ortamı ise Etki Alanı ortamıdır. Bu ortamda ise merkezi bir "sunucu"da bulunan kullanıcı, makine ve diğer bilgiler, aynı etki alanına sahip tüm bilgisayarları ayrı ayrı veya tümleşik olarak etkileyecek biçimde kurgulanabilmektedir.

Etki Alanı ile alakalı olmayarak Windows kurulu bilgisayarlarda varsayılan olarak "Security Accounts Manager" (SAM) isminde bir yapı bulunmaktadır. Bu yapı içerisinde bilgisayardaki yerel kullanıcı bilgileri tutulmaktadır. Bu bilgiler GNU/Linux sistemindeki /etc/passwd ve diğer temel dosyaların bulunduğu yapıyla kıyaslanabilir.

Fakat kurumsal ihtiyaçlardan dolayı tüm kullanıcıların merkezi bir sunucuda tutulup, her bir bilgisayarda ayrı ayrı tutulmaması gereği düşünülmüş ve Etki Alanı Denetçisi (Domain Controller) kavramı ortaya çıkmıştır.

Etki Alanı Denetçisi içerisinde bir çok yapıyı barındırmaktadır. Bu yapılardan en önemlisi kullanıcı bilgilerinin tutulduğu LDAP (Basit İndeks Erişim Protokolü) olarak görülebilir. LDAP bir protokol olup, bu protokolü kullanan bir çok sunucu uygulaması bulunmaktadır. Bu uygulamaları aşağıdaki gibi özetleyebiliriz:

  • OpenLDAP
  • 389 DS (RedHat tarafından kullanılmakta, FreeIPA tarafından tercih edilmekte)
  • LDB (SAMBA4 tarafından kullanılmakta)
  • OpenDS (Sun tarafından kullanılmakta)
  • IBM Directory Server (IBM tarafından kullanılmakta)
  • MS LDAP (MS Aktif Dizin tarafından kullanılmakta)
Bu yazıda anlaşılması gereken en önemli şey Dizin Sistemi (LDAP) ile Etki Alanı Denetçisi'nin aynı şey olmadığıdır. Etki alanı denetleyicisinde dizin sisteminin yanında genellikle DNS sunucu, NTP sunucu ve Kerberos gibi bir ticket sistemi de bulunmaktadır. Benim bildiğim ve aktif kullanılan en önemli 3 etki alanı denetçisi bulunmaktadır. (Univention Corporate Server, Zentyal ve RazDC gibi 3 farklı etki alanı denetçisi de bulunmaktadır)
  • MS Aktif Dizin
  • SAMBA4
  • FreeIPA
Bunlardan ilki ve en çok kullanılanı MS Aktif Dizin olarak söyleyebiliriz. MS Aktif Dizin'in doğal olarak MS Windows'a tam desteği var. GNU/Linux sistemler için ise SAMBA ve Winbind aracılığı ile neredeyse tüm dağıtımlarda kullanılan bir entegrasyonu bulunmaktadır. MS Aktif Dizin'in 2008 sürümünden ilham alınarak benzer şekilde açık kaynak kodlu olarak yayımlanan SAMBA4 de bir etki alanı denetçisidir. Burada belirtmemiz gerekir ki SAMBA, 4 sürümünden önce yalnızca istemciyi "etki alanı"'na dahil etmek için kullanılan bir servis iken SAMBA4 ile birlikte Etki Alanı Denetçisi modu da kullanılabilir olmuştur. Böylelikle MS AD gibi bir etki alanı denetçisi özelliğine sahip olmuştur. Bu özelliği ile MS Windows cihazların da etki alanına bağlanabilmesini sağlayabilmektedir. Yeni geliştirilen özellikle MS Aktif Dizin'in başka bir özelliği olan GPO(Grup İlkesi Nesnesi)'ların kullanılmasına da izin verebilmektedir. Fakat belirtilmesi gerekir ki Server 2008 sonrasındaki özelliklerde problemler bulunabilmektedir.

İlk iki etki alanı denetçisinden bahsettikten sonra Linux üzerinde kullanılabilen bir diğer etki alanı denetçisinden bahsedeceğim. FreeIPA, RedHat tarafından ve topluluk tarafından desteklenen bir etki alanı denetçisidir. İsminin IPA'sının açılımı: Identity (Kimlik), Policy (Politika) ve Audit (Denetim)'dir. Kendi hakkında sayfasında belirtildiği gibi kimlik derken "makine, kullanıcı, sanal makineler, gruplar, kimlik doğrulama bilgileri" kastedilmektedir. Politika derken makine bazlı erişim kontrol işlemleri kastedilmektedir. Denetim kısmı ise ertelendiği belirtilmektedir. Daha sonraki yazılarda bu konularda daha detaylı bilgiler vereceğim.

Etki Alanı Denetçilerinin yönetim arayüzlerinden bahsetmemiz gerekirse. MS Aktif Dizin'i MS Sunucu sürümünde veya "Uzak Sunucu Yönetim Araçları"nda yer alan "Kullanıcılar ve Bilgisayarlar" uygulamasından yönetilebilmektedir. Bir cümlede belirttiğimiz GPO ve başka işler için ayrı araçlar bulunmaktadır. Ayrıca ilgili sunucuyu yönetebilmek için üçüncü parti ücretli farklı araçlar bulunmaktadır. Bunlardan kullandığım iki tanesi için: ManageEngine'in ADManager Plus ve LDAPSoft AD Admin.Daha fazla AD yönetim araçları da ilgili adreste bulabilirsiniz.

SAMBA4 Etki Alanı denetçisinin kontrolü için de yukarıda belirtilen AD araçlarını hatta Microsoft'un kendi aracını bile kullanabilirsiniz. Bunlara ek olarak webmin modülleri ve github üzerinde farklı projelerde belirtilmiş uygulamaları kullanabilirsiniz. Bunlardaki temel özellik LDAP okuyucu ve düzenleyici olduğu için şema dizilimi belli olduktan sonra oldukça rahat kullanılmaktadır. Ki zaten SAMBA4 ve MS AD'nin LDAP dizilimi birbirine çok fazla benzemektedir.

FreeIPA hakkında daha sonra daha detaylı bilgiler vereceğim fakat LDAP yönetim araçlarına ek olarak kendi FreeIPA arayüzünden de yönetebilmektesiniz.