comez.dev
tr
~/article/hardening-a-linux-web-serverTüm yazılar

makale2 dk okuma31 görüntülenme

Linux web sunucusu sertleştirme: pratik bir baz çizgisi

Her yeni sunucuya, başka hiçbir şey kurulmadan önce uyguladığım kısa kontrol listesi.

Bu sayfada (7)
  1. 1. Önce yama, sonra otomasyon
  2. 2. SSH’i kilitleyin
  3. 3. Varsayılan reddeden güvenlik duvarı
  4. 4. Saldırı yüzeyini küçültün
  5. 5. Kaba kuvveti yavaşlatın
  6. 6. Siteleri birbirinden yalıtın
  7. 7. İzleyin, yedekleyin, geri yüklemeyi test edin

Yeni bir sunucu, genel bir IP adresi aldıktan dakikalar sonra taranmaya başlar. Temizlediğim ihlallerin çoğu akıllıca değildi: zayıf parolalar, güncellenmemiş yazılımlar ya da internete hiç açılmaması gereken servisler. Makineye başka bir şey kurmadan önce uyguladığım baz çizgisi bu.

1. Önce yama, sonra otomasyon

Her şeyi bir kez elle güncelleyin, ardından güvenlik güncellemelerini sistemin kendisine bırakın.

apt update && apt full-upgrade -y
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades

2. SSH’i kilitleyin

Yalnızca anahtarla giriş, doğrudan root girişi yok ve kısa bir kullanıcı izin listesi.

# /etc/ssh/sshd_config.d/10-hardening.conf
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
AllowUsers deploy

Yeniden yüklemeden önce her zaman sshd -t çalıştırın ve ikinci bir oturumla hâlâ girebildiğinizi doğrulayana kadar mevcut oturumu açık tutun.

3. Varsayılan reddeden güvenlik duvarı

Yalnızca adını koyabildiğiniz şeylere erişilebilmeli.

ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80,443/tcp
ufw enable

4. Saldırı yüzeyini küçültün

Dinleyenleri listeleyin, gerekçelendiremediğinizi kaldırın.

ss -tulpn
systemctl list-unit-files --state=enabled

Veritabanları ve önbellekler (MySQL, Redis, Memcached) 127.0.0.1 ya da özel ağda dinlemeli, asla genel arayüzde değil.

5. Kaba kuvveti yavaşlatın

sshd jail’i ile fail2ban yaygın durumu karşılar. Yasak süresini anlamlı tutun ve kendi adresinizi beyaz listeye alın.

6. Siteleri birbirinden yalıtın

Her siteye ayrı bir sistem kullanıcısı ve PHP-FPM havuzu verin; böylece bir uygulamanın ele geçirilmesi hepsinin ele geçirilmesine dönüşmez. exec, shell_exec ve proc_open gibi web uygulamalarının nadiren ihtiyaç duyduğu fonksiyonları kapatın.

7. İzleyin, yedekleyin, geri yüklemeyi test edin

Sertleştirme olay ihtimalini azaltır; izleme ve doğrulanmış yedekler olayın ne kadar kötü olacağını belirler. Başarısız servisler ile disk ve bellek baskısı için uyarı kurun ve en az bir yedek kopyanın sunucunun dışında durduğundan emin olun.

Genel

güncellendi
Yorumlar0

Henüz yorum yok. İlk yorumu siz yazın.

Yorum yaz

İlgili

Benzer bir iş üzerinde mi çalışıyorsunuz?
Mimariyi incelemekten teslimata kadar yardımcı olmaktan memnuniyet duyarım.

iletişim