Ana içeriğe atla

Linux tabanlı bir sistem kurulumu yaparken nelere dikkat etmeliyim

Linux tabanlı bir işletim sistemi kurulurken, ilerleyen zamanlarda sorun çıktığında çözülmesini kolaylaştırmak veya sorunun etkisini azaltmak için genel amaçlar için kurulumu yapılacak sistemlerde  dikkat etmemiz gerekenler;

1. lvm'siz  bir sistem düşünmemek gerekiyor(istisnalar hariç)

2. işletim sistemimiz btrf dosya sistemini destekliyorsa, root bölüm için btrfs kullanılmalı ve snapper aktif olacak şekilde ayarlanmalı.  Diger bölümler(home vs.) xfs olmalı.

3. boot bölümüne 1GB alan ayırın. Bu çok büyük gibi görünsede, bir kaç yıl sonra,
eski kernellerin otomatik temizlenmemesinden(genelde unutulur) dolayı, fazla değildir.
Şayet gönün birinde boot dolur ve güncellemede kernel güncellemesi yarım kalırsa, sistem yeniden başladığında başınız ağrıyabilir.

4.  /var, /var/log, /tmp ve home bölümleri  ayrı bir lv içinde tutulmalı.
     Bu şekilde kullanım, kontrol edilip temizlenmeyen günlük veya geçici dosyaların sistemi çalışamaz hale gelmesi olasılığını azaltır, en azından log dizini dolsa bile uygulamalarınız çalışır, sadece günlükler güncellenemez. 

ilave olarak arbt ve  kdump kullaniliyorsa, 

/var/spool/abrt/

/var/crash

bolumleri unutulmamali. abrt ve crash bölümlerini en az ram miktarı kadar yapılması gerekmektedir.

mail, squid gibi uygulamalar da

/var/spool  

dizini kullanir ve kullanilmakta olan disk bolumunu doldurabilirler.

Boyle bir olumsuzlugu onlemek icin spool ve/veya spol altındaki ilgili bölümü ayrı bir lv üzerine almak sistem sağlığı icin doğru olacaktir.

5. Volum grubun tamamın kullanıma verilmemeli, en azından %10 bir bölüm, beklenmedik ihtiyac ve durumlara karşı, boş tutulmalı.

6. Sistem ram kapasitesi yeterliyse, /tmp tmpfs olarak ram kullanacak şekilde ayarlanmalı.

7. sistem saatinin düzgünlüğünü sağlamak için ntp kullanılmalı (eski sistemlerde ntp, yeni sistemlerde chrony service ayarlanması )

8. root ile sisteme giriş önlenmeli, kullanıcıların root yetkisine ihtiyacı varsa, kendi kullanıcılarıyla giriş yaptıktan sonra sudo ile root yetkilerini kullanmaları

9. rhel 7 veya rhel 8 tabanli sistemlerde /var/log/journal dizini olusturulmali.

Varsayilan olarak journal/systemd loglari hafizada tutuluyor ve sistem yeniden baslatildiginda veya kapatildiginda loglara gule gule diyoruz.

journalctl ile gecmise yonelik loglari asagidaki gibi inceleyebiliriz.

 journalctl --since "2019-11-28 15:24" --until "2019-12-29 12:00"

Bu incelemeyi yapabilmemiz icin yukarida bahsettigimiz, /var/log/journal dizini olusturulmus ve sahiplik yetkileri duzgun ayarlanmis olmasi gerekiyor.

journaldir="/var/log/journal"
mkdir        ${journaldir}                                      
chown          root:systemd-journal ${journaldir}
chmod         2755                           ${journaldir}

Bu islemden sonra sistem yeniden baslatilma veya systemd-journald yeniden baslatilmali.

Alternatif  yöntem olarak; /etc/systemd/journald.conf  dosyasında storage modunu  persistent yapmaktır. Detaylı bilgiler için man journald.conf


10. Her ne kadar selinux kullanımı zor olsada, selinux kapatmamalı, selinux nasıl kullanacağımızı öğrenmemiz gerekir.

11. Sunucu, dış dünyaya direk açık ise, firewall + fail2ban kesinlikle ayarlanmalı, istekler firewalld/iptables/ipset gibi araçlar yardımıyla servise gelmeden sınırlandırılmalıdır.
      Sınırlandırma iyi görünmesede, sisteme aşırı yük gelmesi veya saldırı esnasında tamamen kullanılmaz olmasını önleyerek, sistemin çalışmasını devam ettirmesine yardımcı olacaktır.

12. ssh/sssd gibi önemli servislerin OOM killerdan korumak OOMScoreAdjust değerini -1000 yapmak. -1000 ölümsüz (immutable) anlamına geliyor.

# mkdir /etc/systemd/system/sshd.service.d
# vi /etc/systemd/system/sshd.service.d/100-OOMscore.conf
[Service]
OOMScoreAdjust=-1000
# systemctl daemon-reload
# systemctl restart sshd

 

13. Mümkünse swap için farklı bir disk kullanmak. Özellikle uygulamlardan kaynaklanan ram tüketiminde, sisteme müdahale edebilmemiz için swap ayrı bir disk olurması faydalıdır. Ne olursa olsun swap kullanım sorunu çözülmesi gereken bir nokta olduğunuda unutmayalım.

 

Yorumlar

Bu blogdaki popüler yayınlar

ttnet tilgin hg1332 modem(router) kablosuz özelliğini güçlendirmek

Bu gün ttnetin hediyesi olan tilgin yönlendiriciyle biraz oynayayım dedim Matkap, ve rg316-rp-sma kablo alıp cihazın kapağını tekrar açtım. Matkapla usb çıkışın yanına bir delik açarak kaployu taktım. Sonra elimdeki antenlerden ikiti tanesini takıp test ettim. . Bu iki antenin, gözle farkedilir derecede sinyalleri kuvvetlendirdiğini fark ettim.. Normalde bu cihaz ile evin iki en uc noktaları arasında haberleşme olmaz iken şimdi en kör iki uç arasında sorun olmadan kablosuz kullanılabildiğini gördüm. Arada 4 tane kuvvetli beton duvar mevcut. Deneme bitti, tilgin rafa kalktı yine. Her nekadar ben bu cihazı kaldırsamda, kullanmak zorunda olan arkadaşlar, bir kablo ve ikitane anten takarak her herde kullanabilirler. İyi eğlenceler.

yerel ssl ca sertifikasını güvenli sertifika olarak kabul etmek. (özet tekrar)

  openssl s_client  -connect akyuz.tech:443 -showcerts > /tmp/akyuz.tech.cacrt keytool -import -alias akyuz.tech  -keystore  /etc/pki/ca-trust/extracted/java/cacerts -file /tmp/akyuz.tech.cacrt /etc/pki/ca-trust/extracted/java/cacerts dosyası varsayılan java için varsayılan ca cert dosyasıdır.   cp -iv /tmp/akyuz.tech.cacrt /etc/pki/ca-trust/source/anchors/ update-ca-trust     DOMAIN=akyuz.tech openssl s_client -showcerts -connect ${DOMAIN}:443 </dev/null | sed -n -e '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p' > ${DOMAIN}.cert