Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Hestiacp Sunucu Güvenliği — Sıkılaştırma Adımları ve Saldırı Önleme

Katılım
10 Ağustos 2026
Mesajlar
45
Rating - 0%
0   0   0
Rozetler
Tasarımcı Tasarımcı
Geliştirici Geliştirici
Yönetici Yönetici
Sistem Yöneticisi Sistem Yöneticisi
Sunucunu kurdun, sitelerini taşıdın, hızlandırdın. Şimdi hepsini korumaya alma zamanı.

Şunu net söyleyeyim: internete açtığın sunucu, açtığın andan itibaren taranmaya başlar. Bunu abartı sanma; yeni kurduğun bir VPS'in SSH loguna 24 saat sonra bak, binlerce başarısız giriş denemesi göreceksin. Bunlar sana özel saldırılar değil, sürekli dönen otomatik botlar. Kapıyı açık bırakırsan er ya da geç biri girer.

Bu rehberde HestiaCP sunucusunu adım adım sıkılaştıracağız. Örneklerde kullanıcı adı olarak oblifex kullanıyorum.



1. SSH erişimini kilitle

Saldırıların büyük çoğunluğu SSH'a şifre denemesiyle başlar. Şifreyi tamamen devre dışı bırakıp anahtar kullanacağız.

1.1 Önce kendine anahtar oluştur

Kendi bilgisayarında (sunucuda değil) çalıştır:

Kod:
ssh-keygen -t ed25519 -C "oblifex-yonetim"

Anahtarı sunucuya gönder:

Kod:
ssh-copy-id root@SUNUCU_IP

Şimdi test et. Yeni bir terminal aç ve şifre sormadan girebildiğini doğrula. Bunu doğrulamadan bir sonraki adıma sakın geçme, yoksa kendini sunucudan kilitlersin.

1.2 Sudo yetkili kullanıcı aç

Root ile doğrudan giriş yapmayı kapatacağız, önce alternatif bir kapı açalım:

Kod:
adduser yonetici
usermod -aG sudo yonetici
mkdir -p /home/yonetici/.ssh
cp /root/.ssh/authorized_keys /home/yonetici/.ssh/
chown -R yonetici:yonetici /home/yonetici/.ssh
chmod 700 /home/yonetici/.ssh
chmod 600 /home/yonetici/.ssh/authorized_keys

Yeni bir terminalden ssh yonetici@SUNUCU_IP ile giriş yapabildiğini ve sudo -i çalıştığını doğrula.

1.3 SSH ayarlarını sıkılaştır

Kod:
nano /etc/ssh/sshd_config

Şu değerleri ayarla:

Kod:
Port 2244
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
PermitEmptyPasswords no
X11Forwarding no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers yonetici

Port değiştirmeden önce firewall'da yeni portu aç, yoksa bağlantın kopar:

Kod:
v-add-firewall-rule ACCEPT 0.0.0.0/0 2244 TCP SSH-YENI
systemctl restart sshd

Mevcut oturumunu kapatma. Yeni bir terminalden ssh -p 2244 yonetici@SUNUCU_IP ile bağlanabildiğini doğrula, ancak ondan sonra eskisini kapat.

Her şey çalışıyorsa eski SSH kuralını kaldır:

Kod:
v-list-firewall
v-delete-firewall-rule KURAL_NUMARASI



2. Panel portunu değiştir ve koru

Varsayılan 8083 portu botların ilk baktığı yerdir.

Kod:
v-change-sys-port 2083
v-add-firewall-rule ACCEPT 0.0.0.0/0 2083 TCP HESTIA

Daha da güvenlisi: panele sadece kendi IP'nden erişim ver. Sabit IP'n varsa:

Kod:
v-add-firewall-rule ACCEPT SENIN_IP 2083 TCP HESTIA-OZEL

Sonra genel erişim kuralını sil. Artık paneli sadece sen açabilirsin.

Panel hesabına iki adımlı doğrulama ekle: panelde sağ üstten Edit Profile → Two-Factor Authentication bölümünden QR kodu Google Authenticator ile tara. Yedek kodları güvenli bir yere kaydet.



3. Firewall'u sadeleştir

Kapalı port, korunması gerekmeyen porttur. Mevcut kuralları listele:

Kod:
v-list-firewall

Kullanmadığın her servisin portunu kapat. Mail kullanmıyorsan 25, 465, 587, 110, 143, 993, 995 portlarını; DNS kullanmıyorsan 53'ü kapat.

Kural silme:

Kod:
v-delete-firewall-rule KURAL_NO

Açık kalması gereken minimum set genelde şudur:

PortServisKime açık
80, 443WebHerkese
2244SSHMümkünse sadece kendi IP'ne
2083PanelMümkünse sadece kendi IP'ne

Dışarıdan gerçekten kapalı mı, kontrol et:

Kod:
apt install -y nmap
nmap -Pn SUNUCU_IP



4. Fail2Ban'i güçlendir

HestiaCP Fail2Ban ile gelir ama varsayılan yasak süreleri kısadır.

Durumu gör:

Kod:
fail2ban-client status
fail2ban-client status hestia
fail2ban-client status sshd

Ayarları sertleştir:

Kod:
nano /etc/fail2ban/jail.local

[DEFAULT] Bölümüne:

Kod:
bantime = 86400
findtime = 600
maxretry = 3
ignoreip = 127.0.0.1/8 SENIN_SABIT_IP

Kendi IP'ni ignoreip listesine eklemeyi unutma, yoksa bir gün kendini yasaklarsın.

Kod:
systemctl restart fail2ban

Yanlışlıkla yasaklanan bir IP'yi çıkarmak için:

Kod:
fail2ban-client set sshd unbanip 1.2.3.4



5. Dosya izinleri ve PHP kısıtlamaları

Hacklenmelerin çoğu SSH'tan değil, sitedeki bir açıktan gelir. Yüklenen bir PHP shell'i sunucuda ne yapabileceğini sınırlamalıyız.

5.1 Tehlikeli PHP fonksiyonlarını kapat

Kod:
nano /etc/php/8.3/fpm/php.ini

Kod:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source
expose_php = Off
allow_url_include = Off
allow_url_fopen = Off

Uyarı: Bazı yazılımlar (özellikle yedekleme eklentileri ve görsel işleme kütüphaneleri) exec kullanır. Kapattıktan sonra sitelerini test et, bozulan varsa o fonksiyonu listeden çıkar.

Kod:
systemctl restart php8.3-fpm

5.2 Doğru dosya izinleri

Kod:
cd /home/oblifex/web/oblifex.com/public_html
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chown -R oblifex:oblifex .

Hiçbir zaman 777 kullanma. Bir klasör yazılamıyor diye 777 vermek, o klasörü sunucudaki herkese açmak demektir. Sorun neredeyse her zaman sahiplik ayarındadır, izinde değil.

5.3 Yükleme klasörlerinde PHP çalıştırmayı engelle

Saldırganın en sevdiği yöntem, resim yükleme alanına PHP dosyası yüklemektir. Domainin ek Nginx conf dosyasına ekle:

Kod:
location ~* /(uploads|internal_data|data|attachments)/.*\.php$ {
    deny all;
    return 403;
}

Kod:
nginx -t && systemctl reload nginx



6. Güncellemeleri otomatikleştir

En yaygın hack sebebi sıfır gün açığı değil, aylardır güncellenmeyen yazılımdır.

Güvenlik güncellemelerini otomatikleştir:

Kod:
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades

HestiaCP'yi güncelle:

Kod:
apt update && apt upgrade hestia

Panelde Server → Updates bölümünden otomatik güncellemeyi açabilirsin.

Site yazılımlarını (WordPress, XenForo, eklentiler) düzenli güncelle. Takvimine ayda bir hatırlatma koy.



7. Şüpheli aktivite tespiti

Son 24 saatte değişen dosyaları bul; hacklenme şüphesinde ilk bakacağın yer burasıdır:

Kod:
find /home/oblifex/web -type f -mtime -1 -name "*.php" -ls

Şüpheli kod kalıplarını ara:

Kod:
grep -rl --include="*.php" -E "eval\(base64_decode|gzinflate\(base64|str_rot13\(" /home/oblifex/web/

Başarısız panel girişlerini gör:

Kod:
grep "failed" /usr/local/hestia/log/auth.log | tail -30

Aktif oturumları kontrol et:

Kod:
who
last -20

Beklemediğin bir IP'den giriş görüyorsan hemen tüm şifreleri değiştir ve son yedeğe dön.

Rootkit taraması

Kod:
apt install -y rkhunter
rkhunter --update
rkhunter --check --skip-keypress



8. Hacklendiysen ne yapmalısın?

Panik yapıp dosyaları silmek en kötü yaklaşımdır. Sırayla:

  1. Sunucuyu kapatma, ağdan izole et. Firewall'da 80/443'ü geçici kapat, siteyi bakım moduna al.
  2. Mevcut hâlin kopyasını al. Kanıt ve inceleme için gerekir.
  3. Değişen dosyaları tespit et. Yukarıdaki find komutuyla giriş noktasını bul.
  4. Temiz bir yedeğe dön. Hangi tarihte bulaştığını bulmadan yedek seçme, virüslü yedeği geri yüklersin.
  5. Tüm şifreleri değiştir. Panel, SSH, FTP, veritabanı, site yönetici hesapları, mail.
  6. Açığı kapat. Aynı açık kapanmazsa üç gün içinde tekrar girerler.



Güvenlik kontrol listesi

  • SSH anahtar tabanlı, şifre girişi kapalı
  • Root ile doğrudan SSH girişi kapalı
  • SSH ve panel portu değiştirildi
  • Panelde iki adımlı doğrulama açık
  • Kullanılmayan portlar firewall'da kapalı
  • Fail2Ban aktif, yasak süresi uzun
  • Tehlikeli PHP fonksiyonları kapalı
  • Yükleme klasörlerinde PHP çalıştırma engelli
  • Hiçbir yerde 777 izin yok
  • Otomatik güvenlik güncellemeleri açık
  • Uzak sunucuya otomatik yedekleme çalışıyor ve test edildi

Bu listedeki her madde bir saldırı yolunu kapatıyor. Hepsini bir günde yapmak zorunda değilsin ama hepsini yap.

Takıldığınız yer olursa sorun, birlikte bakalım. Serinin devamında HestiaCP'de mail sunucusu kurulumu ve maillerin spam'e düşmemesi konusunu işleyeceğim.
 

Telegram kanalımız

Önemli konulardan ilk sen haberdar ol. Yeni konular anında Telegram kanalımıza düşüyor.

4 üye

Kanala katıl

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Geri