GüvenlikSon Güncelleme:

VDS Güvenliği: SSH Sertleştirme, UFW ve Fail2ban Rehberi

Hazır mısınız?

VDS Sunucu hizmetimizi hemen keşfedin.

VDS Paketlerini İncele

Neden İlk İş SSH Güvenliği?

İnternete açık her Linux sunucu, kurulduktan birkaç dakika sonra otomatik botlar tarafından taranmaya başlar. Bu botlar 22 numaralı SSH portuna binlerce kullanıcı adı ve parola kombinasyonu dener. Aşağıdaki adımlar bu saldırıların sunucunuza ulaşmasını büyük ölçüde engeller.

Komutlar Ubuntu 22.04 / 24.04 ve Debian 12 için geçerlidir. Tüm adımları root ya da sudo yetkili bir kullanıcıyla uygulayın.

Ayarları değiştirirken mevcut SSH oturumunuzu kapatmayın. Yeni ayarı ikinci bir terminalde test edin. Yine de erişiminizi kaybederseniz İnoxweb müşteri panelindeki web VNC konsolundan ağdan bağımsız olarak sunucuya bağlanıp ayarı geri alabilirsiniz.

1. Adım: Sudo Yetkili Ayrı Bir Kullanıcı Oluşturun

Günlük yönetimi root yerine kendi kullanıcınızla yapmak, hem hata riskini hem de saldırı yüzeyini azaltır.

adduser yonetici
usermod -aG sudo yonetici

2. Adım: SSH Anahtarıyla Giriş Yapın

Parola yerine anahtar çifti kullanmak, kaba kuvvet saldırılarını pratikte etkisiz kılar. Anahtarı kendi bilgisayarınızda oluşturup sunucuya kopyalayın:

# Kendi bilgisayarınızda
ssh-keygen -t ed25519 -C "yonetici@sirketiniz"
ssh-copy-id yonetici@SUNUCU_IP_ADRESI

Ardından ssh yonetici@SUNUCU_IP_ADRESI komutuyla parola sormadan giriş yapabildiğinizi doğrulayın.

3. Adım: Root Girişini ve Parola Doğrulamasını Kapatın

Ayarları ana yapılandırma dosyası yerine ayrı bir dosyaya yazmak, paket güncellemelerinde değişikliklerinizin korunmasını sağlar:

sudo tee /etc/ssh/sshd_config.d/99-guvenlik.conf > /dev/null <<EOF
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
MaxAuthTries 3
EOF

sudo sshd -t && sudo systemctl reload ssh

sshd -t komutu yapılandırmada hata varsa servisi yeniden yüklemeden önce uyarır. Port numarasını değiştirmek günlüklerdeki bot gürültüsünü azaltır, ancak tek başına bir güvenlik önlemi değildir. Ubuntu 24.04'te port değişikliğinden sonra sudo systemctl daemon-reload ve sudo systemctl restart ssh.socket komutlarını çalıştırmanız gerekir.

4. Adım: UFW ile Güvenlik Duvarını Etkinleştirin

UFW, iptables/nftables kurallarını basit komutlarla yönetmenizi sağlar. SSH iznini güvenlik duvarını açmadan önce eklediğinizden emin olun:

sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enable
sudo ufw status verbose
Docker kullanıyorsanız, yayınlanan konteyner portları UFW kurallarını atlayabilir. Bu durumu Docker ve Portainer rehberimizde nasıl önleyeceğinizi anlattık.

5. Adım: Fail2ban ile Tekrarlanan Denemeleri Engelleyin

Fail2ban, kısa sürede çok sayıda hatalı giriş deneyen IP adreslerini geçici olarak engeller. backend = systemd satırı, günlükleri journald üzerinden okuduğu için hem Ubuntu hem Debian 12'de sorunsuz çalışır:

sudo apt install -y fail2ban

sudo tee /etc/fail2ban/jail.local > /dev/null <<EOF
[sshd]
enabled  = true
backend  = systemd
maxretry = 5
findtime = 10m
bantime  = 1h
EOF

sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

6. Adım: Güvenlik Güncellemelerini Otomatikleştirin

Kritik güvenlik yamalarının siz sunucuya bağlanmadan kurulması için unattended-upgrades paketini etkinleştirin:

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

Kontrol Listesi

  • Sudo yetkili ayrı kullanıcı oluşturuldu
  • SSH anahtarıyla giriş test edildi
  • Root girişi ve parola doğrulaması kapatıldı
  • UFW yalnızca gerekli portlara izin veriyor
  • Fail2ban sshd kuralı aktif
  • Otomatik güvenlik güncellemeleri açık

Bu adımlar tüm İnoxweb sanal sunucu paketlerinde tam root yetkisiyle uygulanabilir; ağ katmanındaki DDoS koruması ise paketlere ücretsiz olarak dahildir.

Sıkça Sorulan Sorular

SSH portunu değiştirmek sunucuyu korumaya yeter mi?

Hayır. Port değişikliği yalnızca otomatik taramaları azaltır. Asıl koruma SSH anahtarıyla giriş, root girişinin kapatılması, güvenlik duvarı ve Fail2ban gibi katmanların birlikte kullanılmasıyla sağlanır.

Ayar yaparken sunucuya erişimimi kaybedersem ne yapmalıyım?

İnoxweb müşteri panelindeki web VNC konsolu ağ bağlantısından bağımsız çalışır. Konsoldan giriş yapıp hatalı SSH veya UFW ayarını geri alabilirsiniz.

Fail2ban kendi IP adresimi engellerse nasıl kaldırırım?

Konsoldan `sudo fail2ban-client set sshd unbanip IP_ADRESINIZ` komutunu çalıştırın. Sabit IP adresiniz varsa jail.local dosyasına `ignoreip` satırıyla ekleyerek bir daha engellenmesini önleyebilirsiniz.

İlgili İçerikler