sunucuhataları
teknik çözüm merkezi
Ara Giriş Yap Üye Ol
🏠 Ana Sayfa 📚 Kurulum Rehberleri
Kategoriler
🌐 Web Sunucuları 🐧 İşletim Sistemleri 📦 Sanallaştırma & VPS 🖥️ Kontrol Panelleri 🔒 SSL & Güvenlik 📝 CMS & Uygulamalar 🗄️ Veritabanı 📧 Mail Sunucusu 🗨️ Forum ℹ️ Hakkımızda 📧 İletişim
Giriş Yap Üye Ol
Ana Sayfa SSL & Güvenlik Linux Sunucu Güvenliği: 15 Temel Önlem
🔒 SSL & Güvenlik

Linux Sunucu Güvenliği: 15 Temel Önlem

Linux sunucu güvenliği için SSH anahtarı, Fail2Ban, firewall, otomatik güncelleme ve root login kapatma gibi 15 temel önlemi adım adım anlatıyoruz.

📅 3 Mayıs 2025 👁 10 görüntülenme ⏱ 5 dk okuma
𝕏 Paylaş
📋 İçindekiler göster/gizle

Linux Sunucu Güvenliği Neden Kritik?

İnternete açık bir Linux sunucusu, botlar ve kötü niyetli aktörler tarafından sürekli taranmaktadır. Güvenlik açıkları; veri hırsızlığına, fidye yazılımı saldırılarına, kriptomine botnet'lerine veya e-posta spam gönderimlerine yol açabilir. Aşağıdaki 15 adım, sunucunuzun güvenliğini önemli ölçüde artıracaktır.

1. SSH Anahtar Tabanlı Kimlik Doğrulama

Parola tabanlı SSH yerine kriptografik anahtar çifti kullanmak çok daha güvenlidir. Kaba kuvvet (brute force) saldırılarını pratik olarak imkansız kılar.

# Yerel makinenizde SSH anahtar çifti oluşturun
ssh-keygen -t ed25519 -C "sunucu@email.com"

# Public key'i sunucuya kopyalayın
ssh-copy-id -i ~/.ssh/id_ed25519.pub kullanici@SUNUCU_IP

# Ardından parola girişini devre dışı bırakın
sudo nano /etc/ssh/sshd_config
# PasswordAuthentication no
# PubkeyAuthentication yes
sudo systemctl restart sshd

2. SSH Portunu Değiştirme

Varsayılan 22 numaralı SSH portu sürekli taranır. Farklı bir port kullanmak otomatik saldırıların büyük çoğunluğunu önler.

sudo nano /etc/ssh/sshd_config
# Port 22  → Port 2222  (veya başka bir port)

# Firewall'da yeni portu açın
sudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp
sudo systemctl restart sshd

3. Root Login'i Kapatma

Root hesabına doğrudan SSH bağlantısı kesinlikle kapatılmalıdır. Önce sudo yetkili bir kullanıcı oluşturun:

adduser guvenli_kullanici
usermod -aG sudo guvenli_kullanici

# Root login'i kapat
sudo nano /etc/ssh/sshd_config
# PermitRootLogin no
sudo systemctl restart sshd

4. Fail2Ban Kurulumu

Fail2Ban, başarısız giriş denemelerini izleyerek belirli bir eşiği aşan IP adreslerini otomatik engeller.

sudo apt install fail2ban  # Ubuntu/Debian
sudo dnf install fail2ban  # AlmaLinux

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
[DEFAULT]
bantime  = 3600
findtime  = 600
maxretry = 5
ignoreip = 127.0.0.1/8 ::1 KENDI_IP_ADRESINIZ

[sshd]
enabled = true
port = 2222  # SSH portunuzu belirtin
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo fail2ban-client status sshd

5. UFW Firewall (Ubuntu) Yapılandırması

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp  # SSH
sudo ufw allow 80/tcp    # HTTP
sudo ufw allow 443/tcp   # HTTPS
sudo ufw enable
sudo ufw status verbose

6. Firewalld (AlmaLinux/RHEL) Yapılandırması

sudo systemctl enable firewalld
sudo systemctl start firewalld

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --remove-service=ssh  # 22 portunu kaldır
sudo firewall-cmd --reload

7. Otomatik Güvenlik Güncellemeleri

# Ubuntu/Debian
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
# "Yes" seçeneğini seçin

# AlmaLinux
sudo dnf install dnf-automatic
sudo nano /etc/dnf/automatic.conf
# apply_updates = yes
sudo systemctl enable --now dnf-automatic.timer

8. Gereksiz Servisleri Kapatma

# Çalışan servisleri listele
sudo systemctl list-units --type=service --state=running

# Gereksiz servisleri kapat
sudo systemctl disable --now avahi-daemon
sudo systemctl disable --now cups
sudo systemctl disable --now bluetooth

9. SSH İki Faktörlü Doğrulama (2FA)

sudo apt install libpam-google-authenticator

# Kullanıcı olarak çalıştırın
google-authenticator
# Y seçeneklerini onaylayın ve QR kodu telefona tarayın

sudo nano /etc/pam.d/sshd
# Şu satırı ekleyin:
# auth required pam_google_authenticator.so

sudo nano /etc/ssh/sshd_config
# ChallengeResponseAuthentication yes
# AuthenticationMethods publickey,keyboard-interactive
sudo systemctl restart sshd

10. Lynis ile Güvenlik Denetimi

sudo apt install lynis  # veya dnf install lynis
sudo lynis audit system
# Rapor: /var/log/lynis.log

11. rkhunter ve chkrootkit

sudo apt install rkhunter chkrootkit
sudo rkhunter --update
sudo rkhunter --check

sudo chkrootkit

12. /tmp Dizinini noexec ile Bağlama

sudo nano /etc/fstab
# Şu satırı düzenleyin:
# tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev 0 0
sudo mount -o remount /tmp

13. Sistem Loglarını İzleme

# Başarısız SSH girişlerini görüntüle
sudo grep "Failed password" /var/log/auth.log

# Son giriş denemeleri
sudo lastb | head -20

# Canlı log izleme
sudo journalctl -f -u sshd

14. ModSecurity WAF (Apache/Nginx)

# Apache için ModSecurity
sudo apt install libapache2-mod-security2
sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
sudo nano /etc/modsecurity/modsecurity.conf
# SecRuleEngine DetectionOnly → SecRuleEngine On

# OWASP Core Rule Set
sudo apt install modsecurity-crs
sudo systemctl restart apache2

15. Kernel Parametrelerini Sertleştirme

sudo nano /etc/sysctl.d/99-security.conf
# IP spoofing koruması
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# ICMP yönlendirme reddi
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0

# SYN flood koruması
net.ipv4.tcp_syncookies = 1

# Ping yanıtını kapat
net.ipv4.icmp_echo_ignore_broadcasts = 1

# IP yönlendirmeyi kapat (router değilseniz)
net.ipv4.ip_forward = 0
sudo sysctl -p /etc/sysctl.d/99-security.conf

Özet Güvenlik Kontrol Listesi

  • SSH anahtar doğrulaması aktif, parola girişi kapalı
  • SSH varsayılan 22 portu değiştirildi
  • Root SSH girişi kapalı
  • Fail2Ban kurulu ve aktif
  • Firewall (UFW/firewalld) yapılandırıldı
  • Otomatik güvenlik güncellemeleri aktif
  • Gereksiz servisler kapatıldı
  • SSH 2FA aktif
  • Lynis denetimi yapıldı ve öneriler uygulandı
  • Sistem logları izleniyor

Sonuç

Sunucu güvenliği tek seferlik bir işlem değil, sürekli bir süreçtir. Bu 15 adımı uygulamak, sunucunuzun güvenliğini temel düzeyde sağlam hale getirir. Ancak düzenli log incelemesi, güvenlik güncellemelerinin takibi ve periyodik denetimler de güvenlik rutinizin parçası olmalıdır.

🤔 Bu kurulumda sorun mu yaşıyorsunuz?

Hata mesajınızı kopyalayıp foruma konu açın. Topluluğumuz size özel durumunuza göre yardımcı olacaktır.

🗨️ Foruma Katıl & Yardım Al

Yorumlar

Henüz yorum yok. İlk yorumu siz yapın!

Yorum Yap

Yorumunuz onaylandıktan sonra yayınlanır.