Celil Uyanikoglu

Linux Ağ Güvenliği: Kapsamlı Koruma Rehberi

Celil Uyanikoglu Celil Uyanikoglu · 30 Nis 2026 · 6 dk okuma

Linux sunucular internete açıldığında sürekli saldırı altındadır. Brute force denemeleri, port taramaları, zararlı yazılım bulaştırma girişimleri her gün yaşanır. Kapsamlı bir ağ güvenliği stratejisi, tek bir önleme değil katmanlı savunmaya dayanır.

Katmanlı Güvenlik (Defense in Depth)

Tek bir güvenlik önlemi yeterli değildir. Saldırganlar bir katmanı geçse bile diğerleri devreye girmelidir.

Katmanlar:

  1. Güvenlik duvarı (ufw, nftables)
  2. SSH sertleştirme (anahtar tabanlı, root kapalı)
  3. Saldırı tespit ve önleme (Fail2Ban, IDS/IPS)
  4. Düzenli güncelleme ve yamalama
  5. Log izleme ve denetim

SSH Güvenliği

SSH, uzaktan erişimin temel yoludur ve saldırganların birincil hedefidir. Varsayılan ayarlarla bırakmayın.

Anahtar Tabanlı Kimlik Doğrulama

Parola yerine SSH anahtarı kullanmak en kritik adımdır. Brute force saldırılarını etkisiz kılar.

Anahtar oluşturma:

ssh-keygen -t ed25519 -C "[email protected]"

Sunucuya kopyalama:

ssh-copy-id kullanici@sunucu

SSH Daemon Sertleştirme

/etc/ssh/sshd_config dosyasında:

# Root girişini kapat PermitRootLogin no

# Parola ile girişi kapat PasswordAuthentication no

# Boş parola engelle PermitEmptyPasswords no

# Sadece belirli kullanıcılara izin AllowUsers admin deploy

# Protokol 2 (varsayılan, kontrol edin) Protocol 2

# Maksimum deneme MaxAuthTries 3

# Oturum zaman aşımı ClientAliveInterval 300 ClientAliveCountMax 2

# X11 forwarding kapat (gerekmiyorsa) X11Forwarding no

Değişiklik sonrası:

sudo sshd -t # Syntax kontrolü sudo systemctl restart sshd

Port Değişikliği

Varsayılan 22 portunu değiştirmek otomatik taramaları azaltır. Gerçek güvenlik sağlamaz ama log kirliliğini azaltır.

Port 2222

Fail2Ban

Fail2Ban, log dosyalarını izler ve başarısız giriş denemelerini tespit ederek IP'leri engeller. SSH brute force saldırılarına karşı etkilidir.

Kurulum

sudo apt install fail2ban sudo systemctl enable fail2ban

Yapılandırma

/etc/fail2ban/jail.local dosyası oluşturun:

[DEFAULT] bantime = 3600 findtime = 600 maxretry = 3 ignoreip = 127.0.0.1/8 192.168.1.0/24

[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 86400

Ayarlar:

  • maxretry: Kaç denemede ban
  • findtime: Bu süre içinde (saniye)
  • bantime: Ne kadar süre ban (saniye)

Durum kontrolü:

sudo fail2ban-client status sudo fail2ban-client status sshd

Banlı IP'leri görme:

sudo fail2ban-client get sshd banned

IP'yi serbest bırakma:

sudo fail2ban-client set sshd unbanip 10.0.0.5

Diğer Servisler İçin Fail2Ban

Apache için:

[apache-auth] enabled = true port = http,https logpath = /var/log/apache2/error.log maxretry = 5

Nginx için:

[nginx-http-auth] enabled = true port = http,https logpath = /var/log/nginx/error.log maxretry = 5

Güvenlik Duvarı

Gereksiz portları kapatın, sadece ihtiyaç duyulan servislere izin verin.

ufw ile Temel Kurulum

# Varsayılanları ayarla sudo ufw default deny incoming sudo ufw default allow outgoing

# SSH (port değiştirdiyseniz onu açın) sudo ufw allow ssh

# Web servisleri sudo ufw allow 80/tcp sudo ufw allow 443/tcp

# Etkinleştir sudo ufw enable

IP Kısıtlaması

SSH'yi sadece belirli IP'lerden:

sudo ufw allow from 192.168.1.0/24 to any port 22

Rate Limiting

sudo ufw limit ssh

Port Tarama Tespiti

psad (Port Scan Attack Detector):

sudo apt install psad

iptables loglarını izleyerek port taramalarını tespit eder ve engeller.

Saldırı Tespit Sistemleri (IDS)

IDS, ağ trafiğini izleyerek saldırı kalıplarını tespit eder.

Snort

Cisco tarafından geliştirilen, imza tabanlı IDS/IPS.

sudo apt install snort

Tek thread çalışır. Küçük-orta ölçekli ağlar için uygundur.

Suricata

Snort'un modern alternatifi. Çoklu thread desteği ile yüksek trafikli ağlarda daha iyi performans.

sudo apt install suricata sudo systemctl enable suricata

Kural güncelleme:

sudo suricata-update

Suricata hem IDS hem IPS modunda çalışabilir.

Hangisini Seçmeli?

Snort: Olgun, geniş topluluk, bol kaynak. Suricata: Yüksek performans, modern mimari.

Yüksek trafikli ortamlarda Suricata tercih edilir.

Önemli Not: Şifreli trafik (HTTPS) IDS tarafından incelenemez.

Antivirüs: ClamAV

Linux'ta virüs riski düşük olsa da mail sunucuları ve dosya paylaşımında antivirüs önemlidir.

Kurulum

sudo apt install clamav clamav-daemon sudo freshclam # Veritabanı güncelle

Tarama

sudo clamscan -r /home sudo clamscan -r -i /var/www # Sadece enfekte dosyaları göster

Otomatik Tarama

Cron ile günlük tarama:

0 3   * /usr/bin/clamscan -r /home --log=/var/log/clamav/daily.log

Rootkit Tespiti

rkhunter

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

chkrootkit

sudo apt install chkrootkit sudo chkrootkit

Düzenli olarak çalıştırın ve sonuçları inceleyin.

Log İzleme

Loglar saldırı belirtilerini gösterir. Düzenli inceleme şarttır.

Önemli Loglar

/var/log/auth.log: Kimlik doğrulama, SSH girişleri /var/log/syslog: Genel sistem logları /var/log/fail2ban.log: Fail2Ban aktivitesi /var/log/ufw.log: Güvenlik duvarı logları

Logwatch

Günlük log özeti e-posta ile gönderir:

sudo apt install logwatch sudo logwatch --detail High --mailto [email protected]

OSSEC

Host tabanlı saldırı tespit sistemi. Log analizi, dosya bütünlüğü kontrolü, rootkit tespiti yapar.

Dosya Bütünlüğü İzleme

AIDE (Advanced Intrusion Detection Environment)

Dosya değişikliklerini tespit eder.

sudo apt install aide sudo aideinit

Veritabanı oluşturulduktan sonra periyodik kontrol:

sudo aide --check

Kritik dosyalarda beklenmeyen değişiklikler saldırı belirtisi olabilir.

Güncelleme Politikası

Güvenlik yamalarını zamanında uygulayın.

Otomatik güvenlik güncellemeleri:

sudo apt install unattended-upgrades sudo dpkg-reconfigure unattended-upgrades

Güvenlik Kontrol Listesi

  • [ ] SSH anahtar tabanlı kimlik doğrulama
  • [ ] SSH root girişi kapalı
  • [ ] Parola ile giriş kapalı
  • [ ] Fail2Ban aktif ve yapılandırılmış
  • [ ] Güvenlik duvarı aktif, gereksiz portlar kapalı
  • [ ] Otomatik güvenlik güncellemeleri açık
  • [ ] Loglar düzenli izleniyor
  • [ ] Rootkit taraması periyodik yapılıyor
  • [ ] Dosya bütünlüğü izleniyor

Sonuç

Linux ağ güvenliği tek bir araçla sağlanmaz. SSH sertleştirme, Fail2Ban, güvenlik duvarı, IDS ve log izleme birlikte çalışmalıdır.

Anahtar tabanlı SSH kimlik doğrulama ve Fail2Ban ilk adımlardır. Güvenlik duvarını yapılandırın, gereksiz portları kapatın. Logları düzenli inceleyin.

Güvenlik sürekli bir süreçtir. Sistemleri güncel tutun, yeni tehditleri takip edin, güvenlik denetimlerini periyodik yapın.

0 Yorum

Yorum Yaz