özgür dünya

Domain forest seviyesinin düşürülmesi

Özellikle SAMBA DC'nin Aktif Dizin ile güven ilişkisi kurabilmesi için Forest ve Domain seviyelerinin 2012R2 olması gerekmektedir. Bu seviyeler genellikle Windows sunucusunun sürümü olarak algılandığı ve arayüz üzerinden daha güncel sürümlerde eskiye yönelik geri çekim yapılamadığı için yanlış bir algı oluşmaktadır.

Microsoft'un kendi blog sayfasında da paylaştığı gibi Powershell komutları ile Forest ve Domain seviyesi düşürülebilmektedir. Bunun için sunucusunuzda aşağıdaki adımları yapmanız gerekmekte.

Öncelikle Windows 2016 ve üstü sürümlerde iseniz SAMBA 4.11.x ve üstü sürümler için 2012R2 şemasına geri çekmeniz gerekmektedir. Bunun için Windows sunucusuna domain admin yetkili bir hesapla giriş yapmanız gerekmektedir. Daha sonra Powershell uygulamasını Admin Haklarıyla açmanız gerekmekte. Sonraki adımda ise ilk olarak aşağıdaki komutu uygulayarak Powershell oturumunuzda ActiveDirectory modülünü import etmeniz gerekiyor:
Import-Module -Name ActiveDirectory 
Herhangi bir hata almazsanız modülün import edildiğini düşünebilirsiniz. Aşağıdaki komutlar ile Forest ve Domain seviyelerinizi ayrı ayrı görebilirsiniz:
(Get-ADForest).ForestMode 
(Get-ADForest).DomainMode
Daha sonra seviye düşürebilmek için aşağıdaki komutu uygulamanız gerekiyor. Bu işlemleri sırası ile yaparken size emin olup olmadığınızı soran bir diyalog çıkacak ve ona "Yes to All" için A diyerek enter'a basabilirsiniz:
Set-ADForestMode –Identity “DOMAINADI.COM” –ForestMode Windows2012R2Forest
Set-ADDomainMode –Identity “DOMAINADI.COM” –DomainMode Windows2012R2Domain
Aynı oturumda tekrar aşağıdaki komutlar ile seviyenin değiştiğini görebilirsiniz:
(Get-ADForest).ForestMode 
(Get-ADForest).DomainMode
Eğer Windows2012R2 olarak görüyorsanız Samba 4.11.x üstü samba etki alanı denetçisini kullanabilirsiniz.

Kaynak: https://blogs.technet.microsoft.com/canitpro/2016/01/20/step-by-step-downgrading-a-windows-server-domain-and-forest-functional-level/

Özel ağlar için ayrılmış IP aralıkları

Özellikle kapalı ağlarda kullanılmak üzere, karışıklığa neden olmaması açısından internet'te kullanılmayan IP aralıkları bulunmaktadır. Bu ağ aralıkları aşağıdaki gibi özetlenebilir:
10.0.0.0        -   10.255.255.255  (10/8 prefix)
172.16.0.0      -   172.31.255.255  (172.16/12 prefix)
192.168.0.0     -   192.168.255.255 (192.168/16 prefix)
Özet olarak bu aralıklarda IP adreslerini kullanarak kapalı ağınızda sırası ile 16.777.216, 1.048.576 ve 65.536 adet IP adresini kullanabilirsiniz.

Kaynak: https://tools.ietf.org/html/rfc1918

0'dan bir GNU/Linux Sistem Yöneticisi neleri bilmeli?

Fatih Kadir Akın'ın oldukça güzel hazırlamış olduğu "0'dan bir web developer neleri bilmeli" başlıklı yazıya GNU/Linux Sistem Yöneticisi bakış açısıyla başka bir girdi yapmak istedim. Umarım faydalanan birileri çıkacaktır. Fikir Kaynağı

0'dan bir GNU/Linux Sistem Yöneticisi neleri bilmeli?
* İngilizce okuma?
* GNU/Linux nedir?
* Özgür yazılım ve açık kaynak yazılım nedir?
* Sahipli yazılım nedir?
* İşletim sistemi, Çekirdek ve dağıtım nedir?
* Sistem üzerindeki dizin yapısı nedir?
* Kabuk nedir?
* Masaüstü ortamı nedir?
* Uçbirim komutları nedir?
* Paket yöneticisi nedir?
* Sunucu nedir?
* İstemci nedir?
* Betik programlama dilleri nedir?
* Bash nedir?
* Python nedir?
* Ruby nedir?
* PHP nedir?
* IP nedir?
* Port nedir?
* TCP/IP nedir?
* Ağ yönetimi nedir?
* Sistem üzerinde açık olan portlar nedir?
* Sisteme giriş yapan trafik nedir?
* Sistemden çıkan trafik nedir?
* Güvenlik duvarı nedir?
* firewalld, ufw, nftables ve selinux nedir?
* İki cihaz arası socket bağlantısı kurmak nedir?
* SSH nedir?
* openssh nedir?
* DNS nedir?
* bind nedir?
* DHCP nedir?
* Soket bağlantısı kurmak nedir?
* Linux sistemlerde dosya düzenleme nedir?
* vi ve nano nedir?
* Yapılandırma dosyaları nedir?
* Sistem üzerindeki servisler nedir?
* Servislerin yönetilmesi nedir?
* systemctl nedir?
* Süreç ve süreçlerin yönetilmesi nedir?
* Kütük(log) kaydı nedir?
* Kütük kaydı düzenleme ve inceleme nedir?
* rsyslog nedir?
* elasticsearch, logstash ve kibana nedir?
* POSIX Kullanıcı yönetimi nedir?
* Merkezi kullanıcı yönetimi nedir?
* Dizin servisleri nedir?
* LDAP nedir?
* OpenLDAP nedir?
* SAMBA DC nedir?
* FreeIPA nedir?
* Kimlik yönetimi nedir?
* SSO nedir?
* Kerberos nedir?
* İzin sistemi nedir?
* chmod ve chown nedir?
* ACL nedir?
* getfacl ve setfacl nedir?
* Dosya paylaşım nedir?
* ftp nedir?
* samba ve nfs nedir?
* iSCSI ve GlusterFS nedir?
* Zamanlanmış görevler nedir?
* crontab nedir?
* Yedekleme nedir?
* rsync nedir?
* Yedekleme sunucusu nedir?
* bacula nedir?
* Vekil sunucusu nedir?
* Web teknolojileri nedir? (ayrı bir dala geçmekte)
* Basit bir web sunucu nedir?
* apache ve nginx nedir?
* Veritabanı nedir?
* sqlite nedir?
* mariadb ve postgresql nedir?
* mongodb nedir?
* Sertifika ve ssl nedir?
* Sertifika makamı nedir?
* openxpki ve dogtag nedir?
* VPN nedir?
* openvpn ve openconnect nedir?
* RADIUS nedir?
* freeradius nedir?
* Yük dengeleme ve kümeleme nedir?
* haproxy nedir?
* Sanallaştırma teknolojileri nedir?
* KVM nedir?
* Virtualbox, Proxmox ve Ovirt nedir?
* vagrant ve docker nedir?
* SNMP nedir?
* Zabbix nedir?
* Uzak yapılandırma yönetimi nedir?
* cockpit nedir?
* ansible, chef, saltstack ve puppet nedir?

Firefox ile Kerberos biletine erişmek

İnternet tarayıcısı üzerinde çalışan kimi uygulamalar SSO (tek oturum açma) işleminin uygulanabilmesi için mevcut işletim sisteminde açılmış olan oturumun biletinin kullanılmasına uygun şekilde "Kerberos" ile giriş yapmaktadır. Bu işlemin aktif olabilmesi için Firefox'ta aşağıdaki ayarların yapılması gerekmektedir. Eğer sistem "Windows Authentication veya NTLM" ile giriş yapıyorsa bu işlem geçerli olmayacaktır.

1. Firefox araç çubuğunda about:config sayfasına gidilir.
2. negotiate araması yapılır.
3. network.negotiate-auth.trusted-uris üzerine çift tıklayarak domain ismi girilir (örneğin ACIK.LAB)
4. Tamam'a tıklanır ve Firefox yeniden başlatılır.

Tüm bu işlemlerin geçerli olabilmesi için komut satırında klist komutu ile kerberos bileti alınıp alınmadığı kontrol edilmelidir.

Örnek bir kerberos bileti:
Ticket cache: FILE:/tmp/krb5cc_10537_h6SJDM
Default principal: aakkirman@ACIK.LAB
Valid starting       Expires              Service principal
17-05-2018 15:54:49  18-05-2018 01:54:49  krbtgt/ACIK.LAB
   renew until 18-05-2018 01:54:49

SNMP ile basit izleme

Amacımız bir bilgisayardaki temel bilgilere hızlıca erişmek ise SNMP'yi kullanabiliriz. Genellikle ağ cihazlarının durumlarının kontrolü için kullanılan bu protokol çeşitli "izleme" yöntemlerinde de altyapı olarak kullanılmakta. 

Öncelikle debian tabanlı sistemlerde aşağıdaki paketleri yükleyerek temel seviyede gerekliliğimizi sağlayabiliriz:
apt install -y snmpd snmp
Daha sonra "/etc/snmp/snmpd.conf" dosyamızın bir yedeğini aldıktan sonra ilgili dosyayı aşağıdaki gibi düzenleyebiliriz:
#  IPv4 ve IPv6'da 161 portu üzerinden UDP ile haberleşmekte
agentAddress udp:161,udp6:[::1]:161
#  İstenilen OID'ler
view   all  included   .1.3.6.1.2.1.1
view   all  included   .1.3.6.1.2.1.25.1
#rocommunity public  localhost
#  varsayılan yetki
 rocommunity parolatest  default    -V all
 rocommunity6 parolatest  default   -V all
sysLocation    aciklab
sysContact     alorak <ali@orhun.net>
 #   send SNMPv1  traps
 trapsink     localhost public
#   send SNMPv2c traps
 trap2sink    localhost public
Yapılandırma ayarları düzenledikten sonra servisi yeniden başlatabilirsiniz:
systemctl restart snmpd.service
Aynı bilgisayarda test etmek için:
snmpwalk -c parolatest -v2c -O e 127.0.0.1
Uzaktaki farklı bir bilgisayardan veri alabilmek için: ( snmp paketi yüklü olmalıdır)
snmpget -v 1 -c parolatest 192.168.1.176 .1.3.6.1.2.1.25.1.1.0