Neden Sunucu Güvenliği Bu Kadar Önemli?
Yeni bir Linux sunucusu kurduğunuzda, varsayılan yapılandırmalar genellikle güvenlik açısından optimize edilmemiş olur. İnternete açık bir sunucu, kurulumdan itibaren otomatik tarama botlarının hedefi haline gelir. Bu nedenle sunucunuzu aktif kullanıma almadan önce temel güvenlik adımlarını tamamlamanız hayati önem taşır.
1. Root Girişini Devre Dışı Bırakın
SSH üzerinden doğrudan root girişine izin vermek büyük bir güvenlik riskidir. Önce sudo yetkili bir kullanıcı oluşturun, ardından /etc/ssh/sshd_config dosyasında PermitRootLogin no ayarını yapın.
2. SSH Portunu Değiştirin
Varsayılan 22 numaralı SSH portunun değiştirilmesi, otomatik brute-force saldırılarının büyük bölümünü engeller. /etc/ssh/sshd_config dosyasında Port satırını düzenleyerek 22 yerine farklı bir port numarası belirleyin (örneğin 2222 ya da 5522).
3. SSH Anahtar Doğrulamasına Geçin
Parola yerine SSH anahtar çifti kullanmak, yetkisiz erişim riskini dramatik biçimde azaltır. Yerel makinenizde ssh-keygen ile anahtar çifti oluşturun ve public anahtarı sunucunuza kopyalayın:
ssh-copy-id -i ~/.ssh/id_rsa.pub kullanici@sunucu-ip
4. Güvenlik Duvarını Etkinleştirin
UFW (Ubuntu/Debian) veya firewalld (CentOS/AlmaLinux) kullanarak yalnızca ihtiyaç duyduğunuz portları açın:
- SSH için belirlediğiniz özel port
- HTTP (80) ve HTTPS (443)
- Kullandığınız kontrol paneli portları (örn. 2083, 2087)
5. Sistemi Güncel Tutun
Düzenli sistem güncellemeleri, bilinen güvenlik açıklarına karşı korunmanın en etkili yollarından biridir. Otomatik güvenlik güncellemelerini etkinleştirmenizi öneririz:
yum update -y # CentOS/AlmaLinux için
apt update && apt upgrade -y # Ubuntu/Debian için
6. Fail2Ban Kurun
Fail2Ban, belirli sayıda başarısız giriş denemesinin ardından IP adreslerini otomatik olarak engeller. SSH, FTP ve e-posta servislerine yönelik brute-force saldırılarına karşı etkili bir koruma sağlar.
7. Gereksiz Servisleri Kapatın
Sunucunuzda çalışan her servis potansiyel bir saldırı yüzeyidir. İhtiyaç duymadığınız servisleri tespit edip devre dışı bırakın:
systemctl list-units --type=service --state=running
8. SELinux veya AppArmor'ı Etkinleştirin
SELinux (CentOS/RHEL) ve AppArmor (Ubuntu/Debian), zorunlu erişim kontrolü politikaları uygulayarak saldırıların etkisini sınırlar. SELinux'u devre dışı bırakmak kolayca yapılabilen ama sık karşılaşılan tehlikeli bir hatadır.
9. Güçlü Parola Politikası Belirleyin
Tüm sistem hesapları için karmaşık ve uzun parolalar kullanın. PAM modülleri aracılığıyla minimum parola uzunluğu, büyük/küçük harf, sayı ve özel karakter gibi kurallar zorunlu hale getirilebilir.
10. Log Takibini ve Uyarılarını Ayarlayın
Sunucu loglarını düzenli incelemek, olası saldırıları erkenden fark etmenizi sağlar. Logwatch veya Graylog gibi araçlar log analizini kolaylaştırır. Kritik olaylar için e-posta uyarıları kurmanız önerilir.
Özet Kontrol Listesi
- Root SSH girişini devre dışı bırak
- SSH portunu değiştir
- SSH anahtar doğrulamasına geç
- Güvenlik duvarını yapılandır
- Sistemi güncel tut
- Fail2Ban kur
- Gereksiz servisleri kapat
- SELinux/AppArmor etkinleştir
- Güçlü parola politikası uygula
- Log takibi kur
Bu 10 adımı tamamladığınızda sunucunuz temel saldırı vektörlerine karşı önemli ölçüde korunmuş olacaktır. Güvenlik tek seferlik bir iş değil, sürekli bir süreçtir; bu nedenle düzenli denetimler yapmayı alışkanlık haline getirin.