VPS'inizi sağlamlaştırın: 20 dakikada bitirebileceğiniz bir kontrol listesi
Bu kılavuz İngilizceden çevrilmiştir. Bağlantılı bazı sayfalar yalnızca İngilizce olarak mevcuttur.
Fırsatçı saldırıların ezici çoğunluğunu durduran somut adımlar.
Bir sunucuyu asla mükemmel derecede güvenli yapamazsınız. Ama yaklaşık yirmi dakikada onu çekici olmayan bir hedef haline getirebilirsiniz; bu da otomatik saldırıların neredeyse tamamını savuşturur.
1. Yalnızca anahtarla SSH
SSH anahtarları ve erişim yazısında ayrıntılı anlatılmıştır. Bu, tek başına en değerli adımdır. Parola kaba kuvvet saldırısı, açık internette en yaygın saldırı yöntemidir ve bu adım onu ortadan kaldırır.
PasswordAuthentication no
PermitRootLogin prohibit-password2. Varsayılan olarak reddeden bir güvenlik duvarı
Yalnızca gerçekten sunduklarınıza izin verin. Debian/Ubuntu'da:
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp # SSH — see the warning below
ufw allow 80,443/tcp # web
ufw enable
ufw status verboseRHEL ailesinde firewalld kullanın:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reloadUyarı: SSH oturumunuz açıkken güvenlik duvarını etkinleştirin ve bağlantıyı kesmeden önce SSH'a izin verildiğini doğrulayın. SSH bağlantı noktasını değiştirirseniz önce yeni bağlantı noktasına izin verin. Her zaman izinli olması gereken özel mesh arayüzümüz dahil ayrıntılar için bkz. Güvenlik duvarı temelleri.
3. Otomatik güvenlik güncellemeleri
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades # choose yes
# verify:
systemctl status unattended-upgrades --no-pagerRHEL ailesinde dnf-automatic aynı işi yapar. Otomatik güvenlik yamaları, bir güvenlik açığının yayımlanması ile istismar edilmesi arasındaki boşluğu kapatır — pratikte bu çoğu zaman saatlerdir.
4. Fail2ban
Tekrarlanan başarısız girişlerden sonra bir IP'yi engeller ve bitmeyen bir kaba kuvvet denemesini çıkmaz sokağa çevirir. Bkz. Fail2ban temelleri.
apt install -y fail2ban
systemctl enable --now fail2ban5. Kullanmadığınız şeyleri kapatın
Dinleyen her hizmet olası bir giriş noktasıdır.
ss -tulpn # what is listening, and who owns it
systemctl --type=service --state=running # what is runningİstemediğiniz her şeyi durdurun ve devre dışı bırakın. Minimal bir sunucu, güvenli bir sunucudur.
6. Hizmetleri ayrıcalıksız kullanıcılarla çalıştırın
Veritabanları, web uygulamaları ve işçiler asla root olarak çalışmamalıdır. Çoğu paket kendi hizmet kullanıcısını otomatik oluşturur; onu kullanın. Kendi unit dosyanızı yazıyorsanız User= ve Group= değerlerini açıkça belirleyin.
7. Sırları koruyun
Sırları asla git'e göndermeyin.
chmod 600ile ortam dosyaları kullanın.Parola veya anahtar içeren bir yapılandırma dosyasını asla herkesçe okunabilir yapmayın.
Tek bir ortak yönetici kimlik bilgisi yerine hizmet başına kimlik bilgilerini tercih edin.
8. Geri dönmenin bir yolu olsun
/panel/vps içindeki kurtarma konsolunun ihtiyaç duymadan önce çalıştığını doğrulayın.
Riskli değişikliklerden önce bir anlık görüntü alın — bkz. Yeniden boyutlandırma, anlık görüntü ve yeniden kurulum.
En az bir SSH anahtarını günlük kullandığınız dizüstü bilgisayarınızdan başka bir yerde saklayın.
9. İzleyin
Hiç bakmadığınız bir sunucuyu savunamazsınız. Bir izleme kontrolü ekleyin ve zaman zaman günlüklerinizi okuyun — nasıl yapılacağını Günlüklerinizi okuma gösterir.
İsteğe bağlı: saldırı tespiti
Daha değerli sunucular için CrowdSec (kitle kaynaklı engelleme, MIT lisansı) ve Wazuh (ana makine saldırı tespiti) gerçek derinlik katar. İkisi de uygulama barındırma kılavuzlarımızda belgelenmiştir.
İlgili okumalar