
SSH (Secure Shell), uzak sunuculara güvenli bir şekilde erişmek için kullanılan en yaygın protokoldür. Ancak, yanlış yapılandırılmış bir SSH erişimi ciddi güvenlik açıklarına neden olabilir.
Bu makalede, SSH güvenliğini artırmak ve sunucu erişim kontrollerini daha güvenli hale getirmek için neler yapacağız onları ele alacağım.
⚠️ Not: Yeni portun güvenlik duvarında açık olduğundan emin olun:
🚀 Artık sadece SSH anahtarları ile giriş yapılabilir!
Artık SSH'ye 5 kez hatalı giriş yapan IP'ler 1 saat boyunca engellenecek!
1️⃣ SSH Güvenliğinin Önemi
- 📌 SSH saldırılarının yaygın türleri:
- Brute Force (Kaba Kuvvet) Saldırıları
- Man-in-the-Middle (Ortadaki Adam) Saldırıları
- Yetkisiz Erişim Girişimleri
- Güvenlik Açıkları Üzerinden Sızmalar
- 📌 SSH’nin Güvenli Olmaması Durumunda:
- Sunucuya yetkisiz erişim sağlanabilir.
- Veriler ele geçirilebilir veya değiştirilebilir.
- Sunucu, DDoS saldırılarında kullanılabilir.
2️⃣ SSH Güvenliği İçin En İyi Uygulamalar
1. Varsayılan SSH Portunu Değiştirme
- 📌 Neden?
- Saldırganlar genellikle varsayılan 22 numaralı portu hedef alır.
- Port değiştirerek saldırıların büyük çoğunluğunu önleyebilirsiniz.
- 📌 Nasıl Yapılır?
BASH
sudo nano /etc/ssh/sshd_config
- 🔹 Aşağıdaki satırı bulun ve değiştirin:
BASH
Port 2222 # 22 yerine farklı bir port seçin
- 🔹 SSH servisini yeniden başlatın:
BASH
sudo systemctl restart sshd
BASH
sudo ufw allow 2222/tcp
2. SSH Anahtar Tabanlı Kimlik Doğrulama Kullanımı
- 📌 Neden?
- Parola tabanlı kimlik doğrulama brute-force saldırılarına karşı savunmasızdır.
- SSH anahtarları daha güçlü ve güvenlidir. 🔑
- 📌 SSH Anahtarı Nasıl Oluşturulur?
BASH
ssh-keygen -t rsa -b 4096
- 🔹 Önerilen ayarlar: RSA 4096-bit veya Ed25519 kullanın.
- 📌 Anahtarı Sunucuya Kopyalama:
BASH
ssh-copy-id -i ~/.ssh/id_rsa.pub kullanıcı@sunucu_ip
- 🔹 Alternatif:
BASH
cat ~/.ssh/id_rsa.pub | ssh kullanıcı@sunucu_ip 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
- 📌 Sunucuda Parola ile Girişleri Devre Dışı Bırakma:
BASH
sudo nano /etc/ssh/sshd_config
- 🔹 Şu satırı bulun ve değiştirin:
BASH
PasswordAuthentication no
- 🔹 SSH’yi yeniden başlatın:
BASH
sudo systemctl restart sshd
3. SSH İçin Fail2Ban Kullanın (Brute Force Koruması)
- 📌 Fail2Ban, başarısız SSH girişimlerini algılar ve saldırgan IP’lerini geçici olarak engeller.
- 📌 Fail2Ban Kurulumu:
BASH
sudo apt install fail2ban -y
- 📌 SSH için koruma ayarları:
BASH
sudo nano /etc/fail2ban/jail.local
- 🔹 Aşağıdaki ayarları ekleyin:
INI
[sshd]
enabled = true
maxretry = 5
bantime = 3600
findtime = 600
- 🔹 Fail2Ban’i yeniden başlatın:
BASH
sudo systemctl restart fail2ban
4. Otomatik Zaman Aşımı (Timeout) Ayarı
- 📌 Hareketsiz oturumları kapatarak güvenliği artırabilirsiniz.
- 🔹 SSH Timeout Ayarı:
BASH
sudo nano /etc/ssh/sshd_config
- 🔹 Şu satırları ekleyin:
BASH
ClientAliveInterval 300
ClientAliveCountMax 2
- 🔹 SSH’yi yeniden başlatın:
BASH
sudo systemctl restart sshd
- 🔹 Artık SSH oturumları 10 dakika boyunca aktif olmazsa otomatik olarak kapanacaktır.
Özetle;
SSH güvenliğini sağlamak için:- ✔ Varsayılan SSH portunu değiştirin.
- ✔ Fail2Ban ile brute-force saldırılarını engelleyin.
- ✔ Hareketsiz oturumları otomatik olarak sonlandırın.
Benzer Yazılar

Linux Güvenliği
0 Yorumlar

Web Uygulaması Güvenliği - (OWASP Top 10)
0 Yorumlar

Sosyal Mühendislik Saldırıları
0 Yorumlar
Yorumlar ()
Henüz yorum yok. İlk yorum yapan sen ol!