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.
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 yonetici2. 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_ADRESIArdı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 sshsshd -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 verbose5. 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 sshd6. 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-upgradesKontrol 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.