Linux Sunucu Güvenliği Neden Önemli?
Linux sunucular, web sitelerinin %80'inden fazlasını barındırır. Bu popülerlik, onları siber saldırganların hedefi haline getirir. Doğru güvenlik önlemleri almak, veri ihlallerini, hizmet kesintilerini ve itibar kaybını önler.
1. SSH Güvenliği
SSH Portunu Değiştirin
Varsayılan 22 portunu değiştirmek, otomatik taramaları azaltır:
sudo nano /etc/ssh/sshd_config # Port 22 satırını bulun ve değiştirin Port 2222 sudo systemctl restart sshd
Root Girişini Kapatın
PermitRootLogin no
SSH Key Kullanın
PasswordAuthentication no PubkeyAuthentication yes
🔐 Önemli: SSH key kullanmadan parola girişini kapatmayın! Kendinizi sunucunuzdan kilitleyebilirsiniz.
2. Firewall Yapılandırması
UFW (Ubuntu/Debian)
# UFW'yi etkinleştir sudo ufw enable # SSH portunu aç sudo ufw allow 2222/tcp # HTTP/HTTPS sudo ufw allow 80/tcp sudo ufw allow 443/tcp # Durumu kontrol et sudo ufw status
Firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
3. Fail2ban Kurulumu
Brute force saldırılarını engellemek için:
sudo apt install fail2ban sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo nano /etc/fail2ban/jail.local
Temel ayarlar:
[sshd] enabled = true port = 2222 maxretry = 3 bantime = 3600
4. Sistem Güncellemeleri
# Debian/Ubuntu sudo apt update && sudo apt upgrade -y # CentOS/RHEL sudo yum update -y # Otomatik güvenlik güncellemeleri sudo apt install unattended-upgrades
5. Gereksiz Servisleri Kapatın
# Çalışan servisleri listele systemctl list-units --type=service --state=running # Gereksiz servisi durdur ve devre dışı bırak sudo systemctl stop servis-adi sudo systemctl disable servis-adi
6. Dosya İzinleri
- Web dosyaları: 644 (dosya), 755 (klasör)
- Yapılandırma dosyaları: 600 veya 640
- Script dosyaları: 755 (çalıştırılabilir)
# Toplu izin düzeltme
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
7. Log İzleme
# Auth log (giriş denemeleri) sudo tail -f /var/log/auth.log # Apache/Nginx hata logları sudo tail -f /var/log/apache2/error.log sudo tail -f /var/log/nginx/error.log
8. Rootkit Taraması
# rkhunter kurulumu sudo apt install rkhunter # Tarama başlat sudo rkhunter --check # Veritabanını güncelle sudo rkhunter --update
9. Düzenli Yedekleme
# Basit yedekleme scripti tar -czvf backup-$(date +%Y%m%d).tar.gz /var/www/html mysqldump -u root -p veritabani > db-backup.sql
Sonuç
Linux sunucu güvenliği sürekli dikkat gerektiren bir süreçtir. Bu rehberdeki adımları uygulayarak sunucunuzun temel güvenliğini sağlayabilirsiniz. Managed VPS veya dedicated server kullanıyorsanız, BullHost teknik ekibi güvenlik yapılandırması konusunda size yardımcı olabilir.
