Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Ubuntu Sunucuda SSH Güvenliğini Artırmanın 5 Kritik Adımı 🛡️

devster

Üye
Katılım
14 Mart 2026
Mesajlar
9
Ubuntu Sunucuda SSH Güvenliğini Artırmanın 5 Kritik Adımı 🛡️

Selam sistemciler! 🐧 Sunucu dünyasının kapısı olan SSH, aynı zamanda en çok hedef alınan servislerden biri. Bugün, terminalimizin tozunu alırken, Ubuntu sunucularımızı brute-force saldırılarına ve yetkisiz erişimlere karşı nasıl sağlamlaştırabileceğimizi konuşacağız. Bu adımlar, yeni kurduğunuz her sunucuda ilk yapmanız gerekenler listesinin başında geliyor.

1. Varsayılan SSH Portunu Değiştirin (Port Knocking'den Daha Basiti)
Varsayılan 22 numaralı port, otomatik tarama yapan botların ilk hedefi. Portu değiştirmek, gürültüyü ciddi oranda azaltır.

Bash:
sudo nano /etc/ssh/sshd_config

Açılan dosyada `#Port 22` satırını bulun, başındaki `#` işaretini kaldırın ve 22 yerine 1024-65535 arasında, başka bir servis tarafından kullanılmayan bir port numarası yazın (örneğin: 45678).

NGINX:
Port 45678

Değişikliği kaydedip çıkın ve SSH servisini yeniden başlatın. DİKKAT: Bu işlemi yaparken mevcut SSH bağlantınızı kapatmayın! Yeni bir terminal penceresinden yeni portla bağlanabildiğinizi test ettikten sonra eski bağlantıyı kapatın.

Bash:
sudo systemctl restart sshd

2. Kök (Root) Kullanıcı ile Doğrudan SSH Bağlantısını Engelleleyin
Root kullanıcı, saldırganların tahmin etmeye çalıştığı ilk isim. Doğrudan root ile bağlanmayı yasaklayıp, önce normal bir kullanıcı ile bağlanıp ardından `sudo` komutu ile yükseltmek çok daha güvenli.

Aynı config dosyasında şu satırı bulun veya ekleyin:

NGINX:
PermitRootLogin no

3. Parola ile Kimlik Doğrulamayı Kapatıp, SSH Anahtarlarına Geçin 🗝️
Bu, belki de yapabileceğiniz en güçlü güvenlik önlemi. Parolalar kaba kuvvet saldırılarına açıktır, ancak şifreli SSH anahtarları (key-pair) neredeyse kırılamaz.

Öncelikle, kendi bilgisayarınızda (istemcide) bir anahtar çifti oluşturun (Eğer yoksa):

Bash:
ssh-keygen -t ed25519 -C "email@orneksite.com"

Oluşturduğunuz public key'i (`id_ed25519.pub`) sunucunuza kopyalayın:

Bash:
ssh-copy-id -p 45678 kullanici_adiniz@sunucu_ip_adresi

Artık sunucudaki `~/.ssh/authorized_keys` dosyasında public anahtarınız var. Şimdi, sunucudaki SSH config dosyasında parola girişini tamamen kapatabiliriz:

NGINX:
PasswordAuthentication no
PubkeyAuthentication yes

Unutmayın: Private anahtarınızı (`id_ed25519`) asla paylaşmayın ve güvende tutun!

4. Fail2ban ile Otomatik Engelleme Mekanizması Kurun ⚙️
Tüm önlemleri alsanız bile, botlar yine de kapınızı yoklayacak. Fail2ban, belirli sayıda başarısız girişimden sonra, saldırganın IP adresini belli bir süreliğine güvenlik duvarında otomatik olarak engeller.

Fail2ban'ı kurun ve SSH için jail (hapsedilme) kuralını aktif edin:

Bash:
sudo apt update && sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

Dosyada `[sshd]` bölümünü bulun ve aşağıdaki gibi düzenleyin (eğer portu değiştirdiyseniz `port = ssh` satırını `port = 45678` olarak güncelleyin):

NGINX:
[sshd]
enabled = true
port = 45678
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600

Bu ayar, 3 başarısız denemeden sonra ilgili IP'yi 1 saat (3600 saniye) engeller.

Bash:
sudo systemctl restart fail2ban
sudo systemctl enable fail2ban

Durumu kontrol etmek için: `sudo fail2ban-client status sshd`

5. Yalnızca Güvenilir IP Aralıklarına İzin Verin (İsteğe Bağlı, Ama Çok Güçlü)
Eğer sunucunuza yalnızca belirli yerlerden (örneğin ofis IP'niz) erişmeniz gerekiyorsa, SSH erişimini sadece o IP'lere açabilirsiniz. Ubuntu'da bunun en kolay yolu `UFW` (Uncomplicated Firewall) kullanmaktır.

Önce UFW'yi kurup, yeni SSH portunuzu ve izin vermek istediğiniz IP'yi ekleyin:

Bash:
sudo apt install ufw -y
sudo ufw allow from 88.255.100.50 to any port 45678
sudo ufw enable

Uyarı: Bu kuralı eklemeden önce kendi IP'nizin doğru olduğundan ve bağlantınızın aktif olduğundan emin olun! Aksi takdirde kendinizi kilitleyebilirsiniz.

Tüm bu değişiklikleri yaptıktan sonra, son bir kez SSH servisini yeniden başlatmayı unutmayın ve yeni bir oturum açarak her şeyin çalıştığını test edin.

Bash:
sudo systemctl restart sshd

Bu 5 adım, sunucunuzun SSH katmanını bir kaleye dönüştürecek. Siz sunucularınızda ekstra hangi SSH güvenlik önlemlerini alıyorsunuz? Özellikle yüksek trafikli sistemlerde farklı taktikleriniz var mı? Yorumlarda deneyimlerinizi paylaşın! 👇
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri