Komutları üretim sunucusunda çalıştırmadan önce yedek alın ve mümkünse bir test ortamında deneyin. Yönetim erişiminizi (SSH, panel) kaybetmemek için ayar değişikliklerinde açık bir ikinci oturum bulundurun.
Bu rehberde ne yapacağız?
Bayi hosting sunucusu, birden fazla müşterinin sitesini aynı makinede barındırdığı için tek bir zayıf halka herkesi etkileyebilir. Bu rehberde sunucunuzu baştan sona gözden geçirip eksikleri kapatacağınız pratik bir bayi hosting güvenlik kontrol listesi uygulayacaksınız.
Rehber, VPS veya dedicated sunucuda bayi paketi satan hosting yöneticilerine yöneliktir. Tahmini süre, sunucunun mevcut durumuna göre 60-90 dakikadır. Her bölümü ayrı ayrı yapabilir, tamamlananları işaretleyerek ilerleyebilirsiniz.
Gereksinimler
- Debian/Ubuntu veya AlmaLinux/Rocky tabanlı bir sunucu ve sudo yetkisine sahip bir kullanıcı
- Sunucuya ikinci bir SSH oturumu ve mümkünse sağlayıcınızın konsol (KVM/VNC) erişimi
- Tam sunucu yedeği veya anlık görüntü (snapshot); değişikliklerden önce mutlaka alın
- Kontrol paneli kullanıyorsanız (cPanel/WHM, Plesk vb.) yönetici erişimi
Adım adım bayi hosting güvenlik kontrol listesi
1. Sistem ve paket güncellemelerini kontrol edin
Güvenlik yamaları en ucuz korumadır. Önce bekleyen güncellemelere bakın, ardından uygulayın. Çekirdek güncellemesi sonrası yeniden başlatma gerekebilir; bunu bakım penceresinde yapın.
# Debian/Ubuntu
sudo apt update && apt list --upgradable
sudo apt upgrade
# AlmaLinux/Rocky
sudo dnf check-update
sudo dnf upgrade2. SSH erişimini sertleştirin
Uyarı: SSH ayarını değiştirirken mevcut oturumunuzu kapatmayın ve ikinci bir oturumla test edin; aksi halde sunucu dışında kalabilirsiniz. Önce anahtar tabanlı girişin çalıştığından emin olun.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo nano /etc/ssh/sshd_configPermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3sudo sshd -t && sudo systemctl reload sshdDebian/Ubuntu üzerinde servis adı ssh olabilir; hata alırsanız sudo systemctl reload ssh deneyin. /etc/ssh/sshd_config.d/ altındaki dosyalar (örneğin bulut imajlarındaki parola girişini açan bir dosya) ana dosyadaki değerleri geçersiz kılabilir; etkin değeri doğrulama bölümündeki sshd -T ile kontrol edin. Panel kullanıyorsanız root girişini kapatmadan önce panelin yönetici erişimine nasıl izin verdiğini kontrol edin.
3. Güvenlik duvarını yalnızca gerekli portlara açın
Bayi sunucusunda genellikle SSH, HTTP/HTTPS ve e-posta portları gerekir. Önce SSH portuna izin verin, sonra etkinleştirin; sırayı bozarsanız bağlantınız kopar. SSH farklı bir portta çalışıyorsa 22 yerine o portu açın. Kontrol paneliniz kendi güvenlik duvarını yönetiyorsa ikinci bir duvar kurmayın, panelin aracını kullanın.
# Ubuntu (ufw)
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
# AlmaLinux/Rocky (firewalld)
sudo systemctl enable --now firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload4. Brute-force koruması ekleyin
Fail2ban tekrarlayan başarısız girişleri otomatik engeller. Debian/Ubuntu paketi sshd jail’ini varsayılan olarak açar; AlmaLinux/Rocky’de (EPEL) ise jail’i kendiniz etkinleştirmeniz gerekir. Ayarları jail.conf yerine jail.local dosyasına yazın; günlük dosyası olmayan (yalnızca journald kullanan) sistemlerde backend = systemd gerekir.
# Debian/Ubuntu
sudo apt install fail2ban
# AlmaLinux/Rocky
sudo dnf install epel-release
sudo dnf install fail2ban
sudo nano /etc/fail2ban/jail.local[sshd]
enabled = true
backend = systemd
maxretry = 5sudo systemctl enable --now fail2ban
sudo fail2ban-client status5. Hesap yalıtımını ve kaynak limitlerini gözden geçirin
Bir müşterinin ele geçirilen hesabı diğerlerine sıçramamalı. Kullandığınız platformun yalıtım özelliklerini (CageFS, Jailed Shell, PHP-FPM havuzları, kullanıcı başına PHP sürümü) etkinleştirin ve gereksiz paylaşımları kapatın. Ayrıntılar ürüne göre değiştiği için üreticinin belgesine bakın.
- Her hesap kendi sistem kullanıcısıyla çalışmalı
- Shell erişimi yalnızca ihtiyacı olan müşteriye verilmeli
- CPU, bellek ve süreç limitleri tanımlanmalı
6. Yedekleme düzenini doğrulayın
Yedeğin sunucunun dışında, ayrı bir konumda tutulması gerekir. Yedeklerinizi en az ayda bir geri yükleyerek test edin; geri yüklenemeyen yedek yedek sayılmaz.
7. Dinleyen servisleri ve açık portları denetleyin
Beklemediğiniz bir servis dışarıya açıksa kapatın veya yalnızca yerel arayüze bağlayın. Özellikle veritabanı portunun dışarıya açık olmaması gerekir.
sudo ss -tulpn8. Günlükleri ve uyarıları etkinleştirin
Başarısız girişler, disk doluluğu ve servis çökmeleri için bildirim kurun. Panelin kendi bildirim ayarlarını kullanın ve yönetici e-postasının çalıştığını bir test iletisiyle doğrulayın.
Doğrulama
Aşağıdaki komutlarla ayarların uygulandığını kontrol edin.
sudo sshd -T | grep -Ei 'permitrootlogin|passwordauthentication'
sudo fail2ban-client status sshd
sudo ss -tulpn
# Güvenlik duvarı kuralları
sudo ufw status verbose
sudo firewall-cmd --list-allBeklenen sonuç: root girişi ve parola girişi için no değeri, fail2ban için çalışan bir sshd jail’i ve yalnızca bilinen servislerin dinlediği bir port listesidir. Güvenlik duvarını ayrıca dışarıdan bir port tarayıcısıyla test edebilirsiniz.
Sık karşılaşılan sorunlar
- SSH ayarından sonra bağlanamıyorum: Yedek dosyayı geri alın (
sshd_config.bak) veya sağlayıcı konsolundan girin; her zamansshd -tile sözdizimini önceden doğrulayın. - Güvenlik duvarı panel servislerini kesti: Panelin kullandığı portları (yönetim paneli, e-posta) listeye ekleyin; panelin belgesindeki port listesine bakın.
- Fail2ban kendi IP’mi engelledi: Kendi sabit IP’nizi ignoreip listesine ekleyin.
- Güncelleme sonrası bir servis başlamıyor:
sudo journalctl -xeçıktısına bakın, yapılandırma dosyası uyumsuzluklarını düzeltin.
Güvenlik ve bakım notları
- Kontrol listesini en az üç ayda bir yeniden çalıştırın ve sonuçları not edin.
- Yönetici hesaplarında iki adımlı doğrulamayı zorunlu kılın.
- Yönetim panellerine mümkünse yalnızca belirli IP’lerden erişim verin.
- Kullanılmayan eski hesapları ve eklentileri kaldırın; yüzeyi küçük tutun.
- Çekirdek ve panel güncellemelerini takip edin, kritik yamaları gecikmeden uygulayın.
- Olay anında kullanılacak bir müdahale planını önceden yazılı hale getirin.
Sık sorulan sorular
Bayi hosting sunucusunda en öncelikli güvenlik adımı hangisidir?
Güncelleme düzeni ve yönetici erişiminin sertleştirilmesi (anahtarlı SSH, iki adımlı doğrulama) en yüksek getirili iki adımdır. Ardından hesap yalıtımı ve dışarıda tutulan yedekler gelir.
Güvenlik duvarını panel ile mi yoksa elle mi yönetmeliyim?
Kontrol paneliniz bir güvenlik duvarı aracı sunuyorsa onu kullanın; iki farklı aracın kural çakışması yaratması çok yaygındır. Panel yoksa ufw veya firewalld yeterlidir.
Bu kontrol listesini ne sıklıkla uygulamalıyım?
Kurulumda bir kez tam olarak, sonra üç ayda bir ve her büyük değişiklikten sonra kısa bir gözden geçirme yapmanız önerilir. Otomatik güncelleme ve izleme, aradaki boşlukları kapatır.
İlgili sözlük terimleri
Bu kategorideki diğer rehberler
- Bayi hosting için müşteri yedekleme politikası ve geri yükleme süreciBayi hosting müşterileri için yedekleme politikasını yazın: sıklık, saklama süresi, restic ile otomatik yedek, veritabanı dökümü ve müşteri talebiyle güvenli geri yükleme sürecini uygulayın.
- Bayi hostingde e-posta itibarı ve DMARC raporlarını okumaBayi hostingde e-posta itibarını SPF, DKIM ve DMARC ile koruyun; DMARC toplu raporlarını okuyup yetkisiz gönderimleri bulun ve politikayı none, quarantine, reject sırasıyla sıkılaştırın.
- Bayi hostingde abuse (kötüye kullanım) şikâyetlerini yönetme süreciBayi hostingde gelen abuse şikâyetlerini alma, sınıflandırma, kanıt toplama, müşteriye bildirme ve çözme sürecini; spam, phishing ve zararlı yazılım örnekleriyle adım adım uygulayın.
- Reseller hosting paket ve kaynak planlamaReseller hosting paketlerini aşırı satış riskini hesaplayarak planlayın: CPU, RAM, disk ve G/Ç limitlerini belirleyin, kaynak kullanımını izleyin ve eşik uyarıları kurun.