, ,

Linux Sisteminizi Nasıl Güvenli Hale Getirirsiniz?


Linux, güvenilirliği ve esnekliği ile bilinen bir işletim sistemidir, ancak varsayılan ayarlarla bırakıldığında güvenlik açıklarına karşı savunmasız hale gelebilir. Bu makale, Linux sisteminizi daha güvenli hale getirmek için alabileceğiniz temel önlemleri kapsamaktadır. OpenSSH bağlantısını güçlendirmek, Grub bootloader’ı koruma altına almak ve parola politikalarını zorunlu kılmak gibi yöntemlerle sisteminizi saldırılara karşı daha dayanıklı hale getirebilirsiniz.

Unutmayın ki; güçlü bir güvenlik, bilinçli yapılandırma ile başlar.

  1. OpenSSH Bağlantısını Yapılandırma

OpenSSH, Linux sistemlerine uzak erişim için en yaygın kullanılan protokoldür. Ancak, kötü niyetli kişiler SSH üzerinden sisteme erişim sağlamaya çalışabilirler. Root kullanıcı girişini engellemek, SSH portunu değiştirmek ve belirli IP adreslerine erişim izni vermek, sisteminize yapılacak olası brute-force ve başka saldırıları önlemeye yardımcı olur. Ayrıca, oturum zaman aşımını ve giriş denemesi sınırlarını belirlemek, saldırganların sisteminize giriş yapmasını zorlaştırır ve güvenliği artırır.
Linux sisteminizin güvenliğini artırmanın ilk adımı, OpenSSH bağlantısını güvenli hale getirmektir. Aşağıdaki adımları takip ederek SSH bağlantınızı güçlendirebilirsiniz:

  • SSH config dosyasını düzenleyin:
    SSH yapılandırma dosyası olan /etc/ssh/sshd_config üzerinde değişiklikler yaparak güvenliği artırabilirsiniz.
cd /etc/ssh/sshd_config
  • Root kullanıcı girişini engelleyin:
    PermitRootLogin no ayarını aktif hale getirerek root kullanıcısının doğrudan SSH üzerinden giriş yapmasını engelleyin.
PermitRootLogin no   ## Root kullanıcısının doğrudan SSH üzerinden giriş yapmasını engeller.
  • SSH portunu değiştirin:
    Varsayılan 22 portunu farklı bir porta değiştirerek brute-force saldırılarını azaltabilirsiniz.

Örneğin: Port 3356

  • Belirli kullanıcıları izinli yapın:
    AllowUsers direktifi ile sadece belirli kullanıcıların SSH üzerinden giriş yapmasına izin verebilirsiniz.
AllowUsers kullanıcı_adı

Firewalld ile SSH erişimini filtreleyin:
Sadece belirli IP adreslerinin SSH erişimine izin verebilirsiniz.

firewall-cmd --permanent --zone=<zone> --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'

Diğer tüm IP adreslerinden gelen SSH bağlantılarını engellemek için:

firewall-cmd --permanent --zone=<zone> --add-rich-rule='rule family="ipv4" service name="ssh" drop'

Oturum güvenliğini artırın:
Aşağıdaki ayarları yapılandırarak SSH oturumlarının süresini ve giriş deneme limitlerini kontrol edin:

ClientAliveInterval 300   ## SSH oturumlarının zaman aşımına uğramadan önce 300 saniye beklemesini sağlar.
ClientAliveCountMax 0 ## Eğer ClientAliveInterval sırasında yanıt alınmazsa oturum kapatılır.
MaxAuthTries 2 ## Bir oturumda yapılabilecek maksimum giriş denemesi sayısı 2 ile sınırlıdır.
MaxStartUps 3 ## SSH oturum açma başlatma denemesi sayısını 3 ile sınırlıdır.
LoginGraceTime 20 ## Kullanıcıya giriş yapmak için 20 saniye süre tanır.

2. Grub Boot Loader’ı Yapılandırma

Grub, sistem açılışında kullanılan bootloader’dır ve fiziksel erişime sahip kişiler tarafından değiştirilip kötüye kullanılabilir. Grub şifre koruması eklemek, sisteminize fiziksel erişimi olan kötü niyetli kullanıcıların boot seçeneklerini değiştirmesini engeller. Bu, özellikle bir sunucunun ya da bilgisayarın fiziksel olarak güvensiz ortamlarda bulunduğu durumlarda kritik bir güvenlik önlemidir.

  • İlk Önce Gerekli paketi yükleyin daha sonra şifre hash’i oluşturun:
dnf install grub2-pc-modules
grub2-mkpasswd-pbkdf2 ## Grub için şifre hash'i oluşturur.

Grub yapılandırma dosyasını düzenleyin:
/etc/grub.d/40_custom dosyasını düzenleyerek superuser ve şifreyi ekleyin:

set superusers="root"
password_pbkdf2 root <oluşturulan şifre>

Grub yapılandırma dosyasını güncelleyin ve sistemi baştan başlatın:

grub2-mkconfig -o /boot/grub2/grub.cfg  ## Yapılandırmaları günceller ve yeni ayarları uygulamak için grub.cfg dosyasını oluşturur.
reboot

3. Parola Politikalarının Yapılandırması

Güçlü parola politikaları, sisteme yetkisiz erişimi engellemenin temel yollarından biridir. Parolaların belirli bir karmaşıklıkta olması, kullanıcıların tahmin edilmesi kolay parolalar kullanmalarını engeller. Ayrıca, parola süresi dolmadan uyarı göndermek ve parola değiştirme sıklığı belirlemek, kullanıcıların güvenli parolalar kullanmalarını ve düzenli olarak güncellemelerini sağlar. Bu önlemler, sisteminize yapılan saldırılara karşı güvenlik katmanı ekler ve iç tehditleri azaltır.

  • Yeni kullanıcılar için:
    /etc/login.defs dosyasındaki ayarları yapılandırarak parola politikasını belirleyebilirsiniz:
PASS_MAX_DAYS 90   ## Parola maksimum 90 gün boyunca geçerli olur. Kullanıcı 90 gün sonra parolasını değiştirmek zorundadır.
PASS_MIN_DAYS 7 ## Kullanıcı parolasını değiştirdikten sonra, yeniden değiştirebilmesi için en az 7 gün beklemesi gerekir.
PASS_MIN_LEN 8 ## Parolanın minimum uzunluğu 8 karakter olmalıdır. Güvenliği artırmak için daha uzun bir parola önerilir.
PASS_WARN_AGE 14 ## Parola süresi dolmadan 14 gün önce kullanıcıya uyarı mesajı gönderilir. Bu, kullanıcıya yeni bir parola belirlemek için zaman tanır.

Mevcut kullanıcılar için:
Aşağıdaki komutlarla mevcut kullanıcıların parola politikalarını uygulayın:

sudo chage -M 90 -m 7 -W 14 kullanıcı_adı
chage -l kullanıcı_adı

Gelişmiş parola zorlaması için PAM modülünü kullanın:
/etc/pam.d/system-auth dosyasına şu ayarları ekleyin:

Bu, Linux sistemlerinde kullanılan pam_pwquality.so modülünün parola kalitesini Yapılandırılmasına yardımcı olur.

password requisite pam_pwquality.so retry=3 minlen=8 difok=3 ucredit=-1 dcredit=-1 ocredit=-1

Genel Yapı

  • Modül Türü: requisite

Bu modül başarısız olursa, doğrulama süreci hemen durur ve başarısızlık geri döner.

  • Modül Yolu: pam_pwquality.so

Parola kalitesi gereksinimlerini uygulayan PAM (Pluggable Authentication Module) modülüdür.

  • Seçenekler:

retry=3

Kullanıcıya geçerli bir parola girmek için 3 deneme hakkı tanınır. Başarısız olunursa parola değiştirme veya oluşturma işlemi devam etmez.

minlen=8

Parolanın minimum uzunluğu 8 karakter olmalıdır. Bu uzunluk, paroladaki tüm karakterleri (harf, rakam, semboller) içerir.

difok=3

Yeni parola, eski paroladan en az 3 farklı karakter içermelidir. Bu, eski parolaya çok benzer parolaların kullanılmasını engeller.

ucredit=-1

Parola en az bir büyük harf içermelidir. (Negatif değerler, bu özelliğin zorunlu olduğunu belirtir.)

dcredit=-1

Parola en az bir rakam (sayı) içermelidir.

ocredit=-1

Parola en az bir özel karakter (örneğin, @#!) içermelidir.

Netice itibariyle, Linux sisteminizin güvenliğini artırmak için alacağınız basit ama etkili önlemler, potansiyel tehditlere karşı güçlü bir savunma oluşturur. Düzenli olarak güvenlik ayarlarınızı gözden geçirmek ve en iyi uygulamaları takip etmek, sisteminizi korumada önemli bir adımdır.


Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts