Günümüzde Linux sunucuları, işletmeler ve bireysel kullanıcılar için yaygın olarak kullanılan güçlü sistemlerdir. Ancak, bu sunucular siber tehditlere karşı korunmadığında ciddi güvenlik açıkları ortaya çıkabilir. Bu makalede, Linux sunucunuzu güvenli hale getirmek için uygulayabileceğiniz en iyi yöntemleri detaylı bir şekilde ele alacağız.
1. SSH Erişimini Güvence Altına Alın
SSH (Secure Shell), sunuculara uzaktan bağlanmak için kullanılan bir protokoldür. Ancak, kötü niyetli kişiler tarafından sıkça hedef alınır. SSH bağlantınızı daha güvenli hale getirmek için şu adımları uygulayabilirsiniz:- Root Erişimini Kapatın:
/etc/ssh/sshd_config
dosyasını düzenleyerekPermitRootLogin
no satırını ekleyin. Bu, doğrudan root hesabıyla giriş yapılmasını engeller. - Varsayılan SSH Portunu Değiştirin:
SSH’ın varsayılan portu olan 22’yi değiştirmek için aynı dosyadaPort 2222
gibi farklı bir port numarası belirleyin. - SSH Anahtar Doğrulamasını Kullanın:
Parola yerine SSH anahtar çiftleri kullanarak oturum açmak, kaba kuvvet (brute-force) saldırılarına karşı ek bir güvenlik katmanı sağlar.
2. Güçlü Bir Güvenlik Duvarı (Firewall) Yapılandırın
Güvenlik duvarı, yetkisiz erişimleri engelleyerek sunucunuzun güvenliğini artırır. En yaygın kullanılan güvenlik duvarı araçları şunlardır:- UFW (Uncomplicated Firewall) Kullanımı:
Bash:sudo apt install ufw sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 80/tcp # HTTP erişimi aç sudo ufw allow 443/tcp # HTTPS erişimi aç sudo ufw enable
- iptables ile Daha Detaylı Kurallar Tanımlayın:
Bash:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT sudo iptables -A INPUT -j DROP
3. DDoS Saldırılarına Karşı Önlem Alın
Dağıtılmış hizmet reddi (DDoS) saldırıları, sunucuların aşırı yüklenmesine ve hizmet kesintilerine yol açabilir. Bunu önlemek için:- Fail2Ban Kurulumu:
Fail2Ban, belirli başarısız giriş denemelerinden sonra IP adreslerini engelleyerek brute-force saldırılarını önler.
Bash:sudo apt install fail2ban sudo systemctl enable fail2ban
- Cloudflare veya Benzeri CDN Hizmetlerini Kullanın:
Cloudflare gibi servisler, gelen saldırıları filtreleyerek sunucunuza doğrudan ulaşmasını engelleyebilir.
4. Güncellemeleri Düzenli Olarak Yapın
Güncellenmeyen yazılımlar, siber saldırganların en çok hedef aldığı güvenlik açıklarını içerir. Sunucunuzun güncel kalmasını sağlamak için:- Otomatik Güncellemeleri Etkinleştirin:
Debian tabanlı sistemlerde aşağıdaki komutlarla güvenlik güncellemelerini etkinleştirebilirsiniz:
Bash:sudo apt update && sudo apt upgrade -y sudo apt install unattended-upgrades
- Kullanılmayan Paketleri ve Servisleri Kaldırın:
Sisteminizde gereksiz servisler çalışıyorsa bunları kaldırarak olası güvenlik açıklarını azaltabilirsiniz.
Bash:sudo apt autoremove sudo systemctl disable servis-adı
5. Güvenli Parola ve Yetkilendirme Kullanımı
Zayıf şifreler, yetkisiz erişimlerin en büyük nedenlerinden biridir. Bu yüzden:- Şifre Politikalarını Güçlendirin:
/etc/security/pwquality.conf
dosyasını düzenleyerek şifre uzunluğu ve karmaşıklık kurallarını belirleyin. - Çok Faktörlü Kimlik Doğrulama (MFA) Ekleyin:
SSH erişimi veya panel girişleri için Google Authenticator gibi MFA çözümleri kullanarak ek güvenlik sağlayabilirsiniz.
6. Sunucu Loglarını Düzenli Olarak Kontrol Edin
Sunucu günlükleri, olası tehditleri ve saldırı girişimlerini tespit etmenize yardımcı olur. Kullanabileceğiniz bazı log dosyaları:- Genel sistem logları:
/var/log/syslog
- Kimlik doğrulama girişimleri:
/var/log/auth.log
- Web sunucusu logları:
/var/log/nginx/access.log
veya/var/log/apache2/access.log
7. Root Yetkisini Sınırlayın ve Kullanıcı Haklarını Yönetin
- Sadece Yetkili Kullanıcılara Root Erişimi Verin:
Yeni bir kullanıcı ekleyerek root yetkisini sınırlayabilirsiniz:
Bash:sudo adduser yeni-kullanici sudo usermod -aG sudo yeni-kullanici
- Sudo Kullanımını Sınırlayın:
/etc/sudoers
dosyasını düzenleyerek yalnızca belirli komutların çalıştırılmasını sağlayabilirsiniz.