FreeIPA(LDAP, DNS) – iDM(identity management) Kurulum ve Yapılandırması

FreeIPA Linux/Unix network ortamları için iDM(identity management) kimlik, kimlik doğrulama, DNS gibi servisleri barındıran bir merkez yönetim uygulamasıdır. Barındırdığı tüm servisleri management olarak web gui üzerinden basitçe yönetimini sağlar. Redhat iDM Ipa Server ın açık halidir diyebilirim. Barındırdığı servisler aşağıdaki gibidir.

389 Directory Server

MIT Kerberos

NTP

DNS

Dogtag (Certificate System)

Kuruluma geçmeden önce aşağıdaki komutu çalıştırın.

> yum update

Daha sonra “/etc/hosts” dosyasının içine gerekli bilgileri bir editör aracılığı ile yada aşağıdaki gibi benim girdiğim şekilde girin.

Daha sonra “/etc/hostname” kaynak dosyası içinden hostname inizi değiştirin. “hostname -f” komutu ile doğruluğunu kontol edebilirsiniz. Tekrar logout/login olduğunuzda TCentOS’u dc01 olarak göreceksiniz.

Şimdi ipa server paketlerini aşağıdaki komut ile yükleyelim. Komut bittikten sonra neler yaptığını rapor olarak ekrana basacaktır(Installed, Dependency Installed, Updated, Dependency Updated vs).

> yum install ipa-server bind-dyndb-ldap ipa-server-dns -y

Ardından DNS server olarak locali yapılandıralım. Bunu “/etc/resolv.conf ve /etc/sysconfig/network-scripts/ifcfg-(nic neyse artık)”

Selinux’u da yapılandırıp permissive moda çekelim yani pasif modda çalışsın yani log alsın fakat sisteme müdahelede bulunmasın. Fakat makina reboot olunca bilgiler kaybolur. Kaybolmaması için “cat /etc/selinux/config” dosyası içine SELINUX=permissive yazıp kaydedip çıkın.

Daha sonra aşağıdaki komutla İpa Server’ı yükleyelim ve aynı anda gerekli yapılandırmayı yapıp çalıştıralım.

> ipa-server-install –setup-dns

Aşağıda gördüğünüz üzere aynı anda yapılandırmaya başlıyoruz ve ilk olarak host name bilgisini istemektedir. Biz zaten başta sunucu hostname’ini yapılandırmıştık ve burda ENTER deyip geçiyoruz.

Daha sonra domain name bilgisi istemektedir. Biz senaryomuzda fatlan.local’u seçtiğimiz için zaten kendisi buldu ve burda da ENTER deyip devam ediyoruz.

Ardından realm name bilgisini istemektedir. Tekrar ENTER deyip devam ediyoruz.

Bu kısım önemli administrative user olan yani Directory Manager için şifre bilgileri girilmesi gerekmektedir. Bu kısımda password bilgisini girin.

Bu kısım da önemli çünkü bu seferde administrator’un GUI den yönetim için şifre bilgisini istemektedir. Burada login user “admin” dir. Buraya da belirlediğiniz şifreyi girin.

Daha DNS forwarders bilgisini istemektedir. Yani kendinde barındırmadığı kayıtlar için hangi DNS’e sorup çözdürmesi gerektiğini belirleyen kısımdır. Ben “no” diyorum, çünkü içerde GUI den de yapabilirim bu ayarları ama siz “yes” derseniz belirlediğiniz DNS server’ların ip bilgisini ardından girmeniz gerekmektedir.(örneğin, turktelekom dns yada google dns vs.)

Daha sonra reverse zone olup olmaması için sizden talimat beklemektedir. Ortam da mail server‘ınız varsa mutlaka yes ve ENTER demelisiniz. Reverse zone nun daha ayrıntılı araştırmalısınız. Konu uzamaması için burda “yes” deyip geçiyorum.

Daha sonra tüm girilen isteklerle yapılandırılsın mı diye soruyor, “yes” deyip kuruluma devam ediyoruz.

Ve kurulumumuz başarılı bir şekilde gerçekleşti ve burada çok önemli bir detay daha aşağıda görüldüğü üzere belirtilen portları açmanız şart diye bir uyarı veriyor. Bu işlemi de akabinde gerçekleştireceğiz.

Şimdi Firewalld’yi yapılandırıp aşağıdaki komutla, aşağıdaki portları açalım.

 

 

 

İlk önce şimdiki halini aşağıdaki komutla yapılandırılmamış halini görelim.

> firewall-cmd –list-all

Şimdi portları aşağıdaki şekilde açalım.

> firewall-cmd –add-service={http,https,ssh,ntp,dns,freeipa-ldap,freeipa-ldaps,kerberos,kpasswd,ldap,ldaps,freeipa-replication} –permanent

Daha sonra işlemlerin geçerli olması için aşağıdaki komutu çalıştırın.

> firewall-cmd –reload

Daha sonra tekrar listelediğimizde, servisler açıldığını otomatikman kullandığı tüm portların açıldığını anlıyoruz.

Daha sonra reboot edin.

Şimdi GUI bağlanalım, ama öncesinde kullandığınız makinanın DNS bilgisini kurduğunuz sunucu yapın yada “/etc/hosts” dosyanıza “ip domain_name” bilgisini yazın. Ve sonuç başarılı.

Hemen aşağıdaki komutla versiyon bilgisine bakalım, hem repo’daki güncel versiyonu çözmüş oluruz. Versiyon bilgisi önemli çünkü makalenin devamı gelecek ve versiyonuna göre işleyiş gerçekleştireceğiz. 4.5 olduğunu gördük.

> İpa –version

Aşağıdaki komutlada çalışan tüm servislerin durumuna bakalım.

> ipactl status

Aşağıdaki komut servisleri durdurur.

> ipactl stop

Aşağıdaki komuttaservisleri başlatır. Bu şekilde de yönetim gerçekleştirebilirsiniz.

> ipactl start

Daha fazla ayrıntı : https://access.redhat.com/

BIND Servisi Sorgu Logları Nasıl Aktif-Pasif Edilir.

Bunun için kontrol etmemiz gereken değişken query logging parametresidir. Yani bu parametre On ise sorgu log’u düşüyor, Off ise düşmüyor.

İlk önce durumunu kontrol edelim. Bunun için çalıştıracağımız ilk komut rndc status komutudur. Ve bu komutu çalıştırıdığımızda aşağıdaki gibi query logging is OFF olduğunu görünüyoruz.

> rndc status

Aktif etmek için, yani log’ları alabilmek için rndc querylog komutunu çalıştırıyoruz.

> rndc querylog yada (rndc querylog ON)

Tekrar rndc status ile durum kontrolü yapalım ve aşağıdaki gibi ON olduğunu görelim.

> rndc status

Tail komutu ile de çıktıyı alıp teyit edelim.

> tail -f /var/log/messages

Burada tekrar OFF yapmak için rndc querylog yada (rndc querylog OFF)komutunu çalıştırabilirsiniz. Bu komutu her çalıştığında durumunu tersine çevirir. OFF ise ON, ON ise OFF yapar.

DNS Kayıtları – Bölüm 2

DNS Kayıtları (Domain Name System – Alan Adı Sistemi)

DNS nedir? – Bölüm 1

NS(Name Server) Kaydı = Sunucu ismi kaydıdır, yani name server’ı işaret eden kayıttır. DNS server’ı işaret eden kayıttır. Herhangi bir Domain Name(Alan Adı) için geçerli sunucuyu belirleyen kayıttır.

Örneğin ; godaddy.com’den alınmış bir alan adınız var, aşağıdaki screenshot’tan da anlaşılacağın gibi, alan adı yönetim kısmından Ad Sunucuları kısmına Name server adresleri belirliyorum. Diyorum ki bu alan adı için geçerli olacak DNS kayıtları belirlediğim NS’te ki DNS Server’dır. Ayrıca o DNS server’da domain için oluşturduğum kayıtlarda da NS kayıtları olacaktır ki godaddy.com tarafında isteğimize karşılık gelsin. Evet o sunucu benim gibisinden.

Domaini register ettiğim tafafta NS yönlendirmesi aşağıdaki gibi,

godns1

DNS kayıtları tarafında da karşılık gelecek NS bilgisi,

dnsnss

SOA(Start Of Authhority) kaydı = Zone’deki ilk başlangıç ve DNS server’ın zone’den sorumlu olduğunu gösteren kayıttır. Yetkili birincil DNS sunucunun parametlerini tutan kayıttır.

A(Address) kaydı = Herhangi bir Domain Name’yi bir ip(IPV4) yönlendiren kayıttır. AAAA is IPV6 karşılığıdır.

fatihaslan.tr. A 1.1.1.1 bir A kaydıdır. Ayrıca root kaydı olarakta nitelendirilir. Her domain için olması zorunlu kayıttır. Diğer belirlediğiniz A kayıtları bu root kayıt eklenerek istek gönderilir. Aşağıdaki gibi www için A kaydı oluşturulduğunda aslında www.fatihaslan.tr olarak tamamlanır.

www A 1.1.1.1 herhangi bir tarayıcıdan

yada

ftp A 1.1.1.1 kaydı girildiğinde, ftp.fatihaslan.tr gibi gibi…

dnsakydi

MX(Mail Exchanger) kaydı =  Herhangi bir alan adının mail trafiğini, söz konusu olan kullanıcı hesaplarının barındığı mail sunucusuna yönlediren kayıttır.

mail A 1.1.1.1

mail2 A 2.2.2.2

fatihaslan.tr MX 10 mail

fatihaslan.tr MX 20 mail2 gibi…

yada

fatihaslan.tr MX 0 spamgtwy.domain.com gibi gibi…

Burda 10 ve 20 değerleri Priority değeridir. Yani yapınızın yoğunluğuna yada yapısına göre oluşturduğunuz mail sunucunuzun cevap verme önceliğidir. Yani öncelik değeri manasına gelir.

CNAME(Canonical Name Record) kaydı = Birden fazla host name’i var olan bir A kaydına isim olarak yönlendirilebilen kayıttır. Karmaşık yapıdaki FQDN’leri daha sade ve şık olması açısından CNAME kullanılabilir.  Veya daha farklı olarak A kaydı var olan bir mailci.fatlan.com’a CNAME kullanarak mail.fatihaslan.tr’yi o servise yönlendirebilirsiniz.

Örneğin ; fatlan.tr A 2.2.2.2 var olan bir A kaydı.

aslan.fatih.tr CNAME fatlan.tr gibi… Yani bir ip adresi kullanmadan yönlendirme işlemidir.

cnamekt

PTR(Pointer record) kaydı = RDNS(Reverse) kaydı olarakta bilinen ters isim kaydıdır. ISP(İnternet Servis Sağlayıcı) servisleri tarafından girilen bir kayıttır. Bu kaydın kullanabilmesi için IP’nin sabit olması gerekmekte.

Örneğin ;  Herhangi bir ISP’den sabit bir IP aldınız ve bu IP’yi mail sunucusunda kullanacaksınız, o zaman sunucunun Host Name’i o IP’ye tanımlanmalıdır. Ve böylelikle sizin sunucunuzda PTR kaydını sorgulayarak gelen sunucular olursa iletişim başarılı bir şekilde gerçekleşecektir.

1.2.168.192.in-addr.arpa PTR mailim.fatih.tr gibi…

Ayrıca bu linki kontrol edebilirsiniz. https://ulakbim.tubitak.gov.tr/sites/images/Ulakbim/onur_b_ters_dns_kaydi.pdf

SPF(Sender Policy Framework), TXT kaydı = Sahip olduğunuz Alan Adı(Domain Name) için oluşturduğunuz mail sunucunuz için gönderme iznine sahip olduğunu gösteren kayıttır. TXT olarak DNS kayıtlarına eklenir ki sunucunuzun SPAM yapan bir sunucu olarak algılanmasının önüne geçen kayıttır. Bu kaydı çift tırnak içinde girmelisiniz.

v=spf1 a mx ip4:192.168.1.1 ~all

spf_txt

SRV (Service Locator) kaydı = Özel bir servisin hangi IP üzerinden verildiğini tutan kayıt olarak, bu kayıt ile o servise yönlendirme yapılabilir. Internel DNS kayıtlarında Active Directory bu kaydı kullanarak LDAP ve Kerberos servislerine ulaşır. Dışarda da kullanılan bir özel servis için yönlendirme yapılabilir.

Örneğin; (hizmet.protol) SRV (öncelik, ağırlık ve port) (hedef) sıralamasıyla aşağıdaki gibi kayıt girilir. Tabi öncesinde TTL istenilen gibi ayarlanmalıdır.

SRV istek kayıt tablosu…

srvistek

Başka bir SRV DNS kayıt girdisi…

srvkaydı

DKIM (DomainKeys Identified Mail) kaydı = Sunucu tarafından şifreleme sistemi kullanılarak gönderilen her emailin barkodlanması denebilir. Yahoo tarafından ilk olarak DomainKeys tasarlanmıştır. DKIM Türkçe karşılığı ile Alan adı anahtarıyla e-posta kimlik doğrulaması; phishing spoofing (sahtekarlık, kimlik hırsızlığı) gibi kötü niyetli aksiyonların ve email sahtekarlığının önüne geçmek için kullanılan domain adı ile emaili eşleştirme yöntemdir. Bu yöntemle kişi veya organizasyon emailin gerçekten kendisi tarafından gönderildiğini doğrulatır.

Email gönderen kişi veya organizasyon, kendisi tarafından gönderilen her emaili dijital (kriptografik) olarak imzalar, böylelikle emailin kendisi tarafından gönderildiğini teyit eder. Bu imzanın doğrulanmasında Private ve Public olmak üzere 2 anahtar kullanılır. Private key gönderilen emaili imzalamak için kullanılır ve gizli olması gerekir. Public key sadece bu imzayı doğrulamak için kullanılacağı için açık olarak kullanılabilir.
Emaili gönderen sunucu tarafında bir Private key tanımlanır. Bu anahtar, her gönderilen email başlığına (Internet Headers) eklenir. Public key DNS sunucuya TXT kaydı olarak eklenir. Alıcıya gelen email deki DKIM imzası DNS kaydı ile kontrol edilir. Bu eşleşmenin sağlanması durumunda gönderen güvenli olarak sınıflandırılır.
dnsdkim
NOT : DNS KAYITLARININ DOĞRU ÇALIŞMASI YANİ KARŞILIK GELEN İP Yİ ÇÖZEBİLMESİ İÇİN; PANELDEN PANELE DEĞİŞİKLİK GÖSTEREBİLİR (Örnekler DirectAdmin üzerinden gösterilmiştir), GİRİLEN KAYDI SONLANDIRMA ANLAMINA GELEN ‘.’ nokta İŞERETİNİ KOYMAYI UNUTMAYIN.
Daha Sonrasında girilen DNS kayıtlarını localden ‘nslookup‘ komutu ile sorgulayabilirsiniz.
 dnssnlookup
Online olarakta;
http://www.intodns.com/ servislerini kullanabilirsiniz.

 

Extrenal DNS örnek kayıt girdileri,

edns

Internal DNS örnek kayıt girdileri,

idns

 

DNS nedir? – Bölüm 1

DNS (Domain Name System – Alan Adı Sistemi)

Bilindiği üzere bilgisayar sistemleri arka planda anlamlı numaraların birleşmesiyle oluşan değerlerle işlem yapar. Yani bit’lerden oluşan 0 ve 1 ile ve sadece toplama, çıkarma işlemlerini kullanarak sonuca ulaşır vs. çok fazla ayrıntıya girip kafa bulandırmayalım. Aynı şekilde bilgisayarlar ağ ve net ortamında da birbirleri arasında haberleşme sağlarken belli bir numara kalıbını kullanarak haberleşirler. Bu numara kalıbı herkesçe biline IP(Internet Protokol) adresleridir. Peki konumuzla olan alakası nedir? denecek olursa şöyle ki bizler tarayıcımız aracılığı ile biryere bağlanmak isterken adres kısmına; örneğin  www.duckduckgo.com gibi ibareler kullanırız, fakat bilgisayar arka planda o adrese karşılık gelen ip adresi ‘46.51.197.89’ ile bağlanır ve sayfayı karşımıza getirir. İşte bu işlemleri yapan arkadaş DNS’tir. Neden böyle bişeye ihtiyaç var derseniz tabi ki insan oğlunun sayılarla arası pek yoktur ve akılda tutulması, ezberlenmesi zordur. İşte bu yüzden bu işlemleri otomatik yapacak bir sistem geliştirilmek istenmiş ve DNS bu şekilde internetin babası olarak söylenen ARPANET tarafından ortaya çıkmıştır. Daha öncesinde, bilgisayarların bu kadar yaygın olmadığı zamanlarda HOSTS.TXT(Genelde C:\Windows\System32\drivers\etc) dosyası kullanılıyordu.

Adres-isim tanımlamalarını içeren HOSTS.TXT dosyası SRI tarafından SRI-NIC (Stanford Research Institute – Network Information Center) adında bir bilgisayar üzerinde tutulmaktaydı. Bu dosya her adrese bir isim karşılık gelecek şekilde düzenlenmişti. Arpanet üzerindeki yeni isim tanımlamaları ve değişiklikleri SRI’ya gönderilen e-postalar arcılığı ile yapılıyor ve HOSTS.TXT’in kopyası FTP(File Transfer Protocol) ile alınıyordu.

dns1

dns2

İsim Çözümleme ve Sırası

DNS sistemlerinde harhangi bir nesnenin Hostname’ine karşılık gelecek ip adresi olması gereklidir. FQDN(Full Qualified Domain Name) ise bir alan adının tamamını ifade eder. Örneğin; duckduckgo.com bir domain name iken, www.duckduckgo.com FQDN’dir. Ayrıca fatlan.com bir domain’i ifade ederken forum.fatlan.com’daki forum subdomain(alt domain)’i ifade eder. Örneğin duckduckgo’nun ip adresini aşağıdaki komutu çalıştırarak öğrenelim.

>ping duckduckgo.com

dns3

İsim çözümleme sırası ise;

  1. Client resolver Cache- DNS cache
  2. Host dosyası
  3. DNS
  4. NetBIOS Name Cache
  5. WINS
  6. Broadcast
  7. Lmhosts dosyası

Malum DNS çözümlemeleri için bir trafik oluşur ve bu işlem vakit alabilir. Buna çözüm olarakta cache’leme olayını geliştirmişler. Girilen siteler yada HOST dosyasına eklenen veriler daha hızlı erişim için cache’lenir. Tabi bu belli bir süreye bağlanmıştır yoksa kullanılan linklerdeki son değişiklikler gözlemlenemez. Bu süreye TTL(Time To Live-Yaşam Süresi) denir. Bu süreyi DNS tarafında düzenleyebilirsiniz.

dnsttl

Aşağıdaki CMD çıktısındada bu değeri görebilirsiniz. Client resolver Cache- DNS cache’lerini görmek için komut satırından aşağıdaki komutu kullanabilirsiniz. Ben HOST dosyasına kayıt ekliyorum onuda görebileceğim.

dns4

>ipconfig /displaydns

dns5

Client resolver Cache- DNS cache’lerini temizlemek için ise,

>ipconfig /flushdns komutlarını kullanabilirsiniz.

Fakat Command Promt’u Admin modunda çalıştırmazsanız komutları çalıştırırken ‘The requested operation requires elevation’ uyarısı alabilirsiniz.

NetBIOS ; Network Basic Input/Output System için bir kısaltmadır. Bir yerel ağ üzerinde bilgisayarların birbirleri ile iletişim kurmasını sağlayan ve  isim çözümlesini gerçekleştiren bir API‘dir.

WINS(Windows Internet Name Service) ; Hizmetinin başlıca amacı bilgisayarların NetBIOS isimlerini IP adreslerine çevirmektir.

Broadcast ; Ağlar arası iletişimde gönderilen bilgi paketinin tüm cihazlar tarafından alınmasına verilen bir isimlendirmedir. Yani giden paket özel bir adrese değil tüm adreslere gönderilir. Bazen tüm ağ cihazlarına bağırma diye de tabirini duyabilirsiniz. Daha sonrasında bağırma işleminin ardından paket istemci tarafından kabul edilerek işlem yapılır. Bu şekilde bir çözümleme sistemidir. Tabi ilk bakışta ağ performansını yorması ve karmaşıklığı aklınıza gelebilir.

LMHOSTS (LAN Manager Hosts) ; WINS servisi gibi isim çözümlemede kullanılan gene HOSTS dosyasının path’inde bulunan bir veritabanı sistemidir.

DNS Kayıtları – Bölüm 2

Dns değiştirme – Windows 10

Sağ ve en alttaki bilgisayar işaretinin üzerinde sağ click yaptıktan sonra Open Network and Sharing Center tıklayın.

dn1

 

Dış dünya ile bağlantınızı(internet) sağlayan interface(NIC) üzerine bir kere tıklayın.

dn2

 

Aşağıdaki gibi çıkan ekranda Properties sekmesini tıklayın.

dn3

 

IPv4 seçili durumdayken tekrar Properties sekmesini tıklayın.

dn4

 

DNS server addresses kısmına girmek istediğiniz DNS adreslerini girdikten sonra OK,OK ve Close tıklayıp çıkın.

dn5

 

Daha sonrasında tarayıcıdaki cache’leri ve DNS cache’leri temizleyin, ardından kaldığınız yerden devam edebilirsiniz.

 

Not: DNS server ayarlarınız otomatik modda iken kullandığınız servis sağlayıcınızın varsayılan DNS sunucusu ayarlarını otomatik olarak almış olursunuz. Örneğin TTNET kullanıcısı iseniz TTNET Dns Adresleri 195.175.39.39 ve 195.175.39.40 üzerinden isim çözümleme işlemi yapacaktır.