Giriş
Linux sistemlerin güvenliği, hem bireysel kullanıcılar hem de kurumsal yapılar için kritik öneme sahiptir. Bu rehberde, Linux sunucularınızı veya sistemlerinizi daha güvenli hale getirmek için uygulayabileceğiniz temel sertleştirme adımları açıklanacaktır. Unutmayın ki güvenlik sürekli bir süreçtir.
1. Sistem Güncellemelerini Düzenli Yapın
Güvenlik açıklarının çoğu, eski veya yama uygulanmamış yazılımlardan kaynaklanır. Sisteminizin ve yüklü paketlerinizin daima güncel olduğundan emin olun.
(Debian/Ubuntu tabanlı sistemler için)
(CentOS/RHEL tabanlı sistemler için)
2. Güçlü Parolalar ve SSH Anahtarları Kullanın
Tüm kullanıcı hesapları için karmaşık ve tahmin edilemez parolalar kullanın. Parola politikalarını (uzunluk, karakter türleri) zorunlu kılın. SSH ile uzaktan erişimde parola yerine anahtar tabanlı kimlik doğrulamayı tercih edin.
(SSH anahtarı oluşturma)
(Anahtarı sunucuya kopyalama)
3. Gereksiz Servisleri Kapatın
Sisteminizde çalışmayan veya ihtiyacınız olmayan tüm servisleri devre dışı bırakın. Her açık port veya çalışan servis, potansiyel bir güvenlik açığıdır. Hangi servislerin çalıştığını görmek için:
Bir servisi devre dışı bırakmak ve durdurmak için:
4. Güvenlik Duvarı (Firewall) Kullanın
İzin verilmeyen bağlantıları engellemek için bir güvenlik duvarı yapılandırın (örn: UFW, firewalld, iptables). Sadece gerekli portlara ve IP adreslerine izin verin.
(UFW örnekleri)
5. SELinux veya AppArmor'ı Etkinleştirin
Bu zorunlu erişim kontrolü (MAC) sistemleri, uygulamaların ve kullanıcıların sistem kaynaklarına erişimini kısıtlar ve potansiyel saldırıların etkisini azaltır.
(SELinux durumunu kontrol et)
(AppArmor durumunu kontrol et)
6. SSH Güvenliğini Artırın
SSH ile sunucu erişimi en yaygın yöntemlerden biridir ve bu nedenle özel dikkat gerektirir.
Bu değişiklikler genellikle
dosyasında yapılır:
Değişikliklerden sonra SSH servisini yeniden başlatmayı unutmayın:
7. Kullanıcı ve Grup İzinlerini Yönetin
Dosya ve dizin izinlerini doğru bir şekilde ayarlayın. Minimum ayrıcalık ilkesini uygulayın; yani, kullanıcılar ve uygulamalar yalnızca işlerini yapmak için ihtiyaç duydukları izinlere sahip olmalıdır.
(Sahibi okuma/yazma, grup/diğerleri sadece okuma izni)
(Dosyanın sahibi ve grubunu değiştirme)
8. Log Kayıtlarını Takip Edin
Sistem loglarını düzenli olarak kontrol edin. Anormal aktiviteleri, başarısız giriş denemelerini veya şüpheli işlemleri tespit etmek için log analizi araçları kullanın.
(Sistem loglarını gerçek zamanlı takip et)
(Kimlik doğrulama loglarını takip et)
9. Yedekleme Stratejisi Oluşturun
Herhangi bir felaket durumunda (veri kaybı, siber saldırı) verilerinizi kurtarmak için düzenli ve otomatik yedeklemeler yapın. Yedeklerin güvenli, izole bir yerde saklandığından ve geri yüklenebilir olduğundan emin olun.
Sonuç
Bu adımlar, Linux sistemlerinizin güvenliğini önemli ölçüde artırmanıza yardımcı olacaktır. Ancak unutmayın, siber güvenlik sürekli bir adaptasyon ve gelişim gerektiren bir alandır. Yeni tehditlere karşı sisteminizi güncel tutmaya ve güvenlik kontrollerini düzenli olarak gözden geçirmeye devam edin.
Linux sistemlerin güvenliği, hem bireysel kullanıcılar hem de kurumsal yapılar için kritik öneme sahiptir. Bu rehberde, Linux sunucularınızı veya sistemlerinizi daha güvenli hale getirmek için uygulayabileceğiniz temel sertleştirme adımları açıklanacaktır. Unutmayın ki güvenlik sürekli bir süreçtir.
1. Sistem Güncellemelerini Düzenli Yapın
Güvenlik açıklarının çoğu, eski veya yama uygulanmamış yazılımlardan kaynaklanır. Sisteminizin ve yüklü paketlerinizin daima güncel olduğundan emin olun.
Kod:
sudo apt update && sudo apt upgrade
Kod:
sudo yum update
2. Güçlü Parolalar ve SSH Anahtarları Kullanın
Tüm kullanıcı hesapları için karmaşık ve tahmin edilemez parolalar kullanın. Parola politikalarını (uzunluk, karakter türleri) zorunlu kılın. SSH ile uzaktan erişimde parola yerine anahtar tabanlı kimlik doğrulamayı tercih edin.
Kod:
ssh-keygen
Kod:
ssh-copy-id kullanıcı@sunucu_ip
3. Gereksiz Servisleri Kapatın
Sisteminizde çalışmayan veya ihtiyacınız olmayan tüm servisleri devre dışı bırakın. Her açık port veya çalışan servis, potansiyel bir güvenlik açığıdır. Hangi servislerin çalıştığını görmek için:
Kod:
sudo systemctl list-units --type=service --state=running
Bir servisi devre dışı bırakmak ve durdurmak için:
Kod:
sudo systemctl disable servis_adi
Kod:
sudo systemctl stop servis_adi
4. Güvenlik Duvarı (Firewall) Kullanın
İzin verilmeyen bağlantıları engellemek için bir güvenlik duvarı yapılandırın (örn: UFW, firewalld, iptables). Sadece gerekli portlara ve IP adreslerine izin verin.
Kod:
sudo ufw enable
Kod:
sudo ufw allow ssh
Kod:
sudo ufw allow http
5. SELinux veya AppArmor'ı Etkinleştirin
Bu zorunlu erişim kontrolü (MAC) sistemleri, uygulamaların ve kullanıcıların sistem kaynaklarına erişimini kısıtlar ve potansiyel saldırıların etkisini azaltır.
Kod:
sestatus
Kod:
aa-status
6. SSH Güvenliğini Artırın
SSH ile sunucu erişimi en yaygın yöntemlerden biridir ve bu nedenle özel dikkat gerektirir.
- SSH portunu değiştirin (varsayılan 22'den farklı bir porta).
- Root kullanıcısı ile doğrudan SSH bağlantısını yasaklayın.
- Parola ile kimlik doğrulamayı devre dışı bırakın (SSH anahtarları zorunlu olsun).
Bu değişiklikler genellikle
Kod:
/etc/ssh/sshd_config
Kod:
Port 2222
PermitRootLogin no
PasswordAuthentication no
Değişikliklerden sonra SSH servisini yeniden başlatmayı unutmayın:
Kod:
sudo systemctl restart ssh
7. Kullanıcı ve Grup İzinlerini Yönetin
Dosya ve dizin izinlerini doğru bir şekilde ayarlayın. Minimum ayrıcalık ilkesini uygulayın; yani, kullanıcılar ve uygulamalar yalnızca işlerini yapmak için ihtiyaç duydukları izinlere sahip olmalıdır.
Kod:
chmod 644 dosya.txt
Kod:
chown kullanıcı:grup dosya.txt
8. Log Kayıtlarını Takip Edin
Sistem loglarını düzenli olarak kontrol edin. Anormal aktiviteleri, başarısız giriş denemelerini veya şüpheli işlemleri tespit etmek için log analizi araçları kullanın.
Kod:
journalctl -f
Kod:
tail -f /var/log/auth.log
9. Yedekleme Stratejisi Oluşturun
Herhangi bir felaket durumunda (veri kaybı, siber saldırı) verilerinizi kurtarmak için düzenli ve otomatik yedeklemeler yapın. Yedeklerin güvenli, izole bir yerde saklandığından ve geri yüklenebilir olduğundan emin olun.
Sonuç
Bu adımlar, Linux sistemlerinizin güvenliğini önemli ölçüde artırmanıza yardımcı olacaktır. Ancak unutmayın, siber güvenlik sürekli bir adaptasyon ve gelişim gerektiren bir alandır. Yeni tehditlere karşı sisteminizi güncel tutmaya ve güvenlik kontrollerini düzenli olarak gözden geçirmeye devam edin.