Yeni bir sunucu internete açıldığı andan itibaren otomatik tarama trafiği alır. İlk 15 dakikada yapacağınız beş işlem, saldırı yüzeyinin büyük bölümünü kapatır.
1. Sistemi güncelleyin
apt update && apt upgrade -y # Debian / Ubuntu
dnf upgrade -y # AlmaLinux / Rocky
Kurulum imajları çoğu zaman birkaç ay eskidir; ilk iş güncelleme olmalıdır.
2. Yönetici kullanıcı oluşturun ve root girişini kapatın
Doğrudan root ile bağlanmak, saldırganın yalnızca parolayı bulmasını gerektirir. Ayrı bir kullanıcı açın:
adduser yonetici
usermod -aG sudo yonetici # Debian/Ubuntu
usermod -aG wheel yonetici # RHEL türevleri
3. SSH'i anahtar tabanlı hâle getirin
Kendi bilgisayarınızda anahtar üretin ve sunucuya kopyalayın:
ssh-keygen -t ed25519 -C "yonetici@laptop"
ssh-copy-id yonetici@sunucu-ip
Anahtarla giriş yaptığınızı doğruladıktan sonra /etc/ssh/sshd_config dosyasını düzenleyin:
PermitRootLogin no
PasswordAuthentication no
Port 22022
Yeni ayarları uygulamadan önce ikinci bir SSH oturumu açık tutun. Yanlış yapılandırmada mevcut oturum sizi dışarıda bırakmaz ve düzeltme şansınız olur.
Servisi yeniden başlatın: systemctl restart sshd
4. Güvenlik duvarını açın
Yalnızca ihtiyaç duyduğunuz portlar açık olsun.
ufw default deny incoming
ufw default allow outgoing
ufw allow 22022/tcp
ufw allow 80,443/tcp
ufw enable
RHEL türevlerinde firewalld kullanılır:
firewall-cmd --permanent --add-port=22022/tcp
firewall-cmd --permanent --add-service=http --add-service=https
firewall-cmd --reload
SSH portunu eklemeden güvenlik duvarını açmayın — kendinizi kilitlersiniz.
5. Fail2ban kurun
Başarısız giriş denemelerini otomatik engeller:
apt install fail2ban -y
systemctl enable --now fail2ban
Varsayılan ayarlar SSH için yeterlidir. Web uygulaması girişleri için ek filtre tanımlayabilirsiniz.
Sonraki adımlar (ilk gün)
- Zaman senkronizasyonu:
timedatectl set-timezone Europe/Istanbulve NTP açık olsun. Log analizinde kritiktir. - Otomatik güvenlik güncellemeleri:
unattended-upgrades(Debian/Ubuntu) veyadnf-automatic. - Swap alanı: 2 GB altı RAM'e sahip sunucularda swap tanımlayın.
- Yedekleme: Anlık görüntü (snapshot) planlayın; ayrıca uygulama verisini sunucu dışına yedekleyin.
- İzleme: Disk, CPU ve bellek için eşik uyarıları kurun. Bkz. kaynak izleme rehberi.
- Log rotasyonu:
logrotateyapılandırmasını gözden geçirin; dolan disk en yaygın sunucu arızasıdır.
Yapmamanız gerekenler
- 777 izni vermek. Hiçbir sorunun çözümü 777 değildir.
- Güvenlik duvarını "geçici" kapatmak. Geçici kapatmalar kalıcı olur.
- Parolayı not defterinde tutmak. Parola yöneticisi kullanın.
- Tek bir kullanıcıyı herkesle paylaşmak. Her yönetici kendi hesabıyla bağlansın; log takibi ancak böyle anlamlı olur.
- Panelsiz sunucuda üretim yayınına geçmek. İzleme ve yedekleme kurulmadan canlıya çıkmayın.
Sunucu yönetimiyle uğraşmak istemiyorsanız yönetimli seçenekleri değerlendirin: cloud sunucu paketlerimizde kurulum ve temel yapılandırma desteği ücretsizdir.
