Sunucu Sertleştirme: Fail2Ban, UFW ve Pentest ile Saldırılara Karşı Koruma
VPS'inizi güvenli hale getirmek için Fail2Ban, UFW firewall, SSH sertleştirme, rate limiting ve yerleşik pentest scanner kullanımını anlatan kapsamlı güvenlik rehberi.
İnternete açtığınız bir VPS, kuruluşunun ilk saatinde taranmaya başlar. Bot’lar otomatik olarak 22 (SSH), 80 (HTTP), 443 (HTTPS), 3306 (MySQL) gibi portları tarar, varsayılan şifrelerle bağlanmayı dener. Log’unuza bakarsanız ilk gün binlerce başarısız login denemesi görürsünüz.
Bu rehberde VPS’inizi production-grade seviyede sertleştirmenin yöntemlerini, hangi önlemlerin neden kritik olduğunu ve VDS Panel’in bu katmanları nasıl otomatik kurduğunu anlatacağız.
Savunma katmanları
Güvenlik tek bir aracın değil, birden fazla katmanın bir araya gelmesiyle oluşur:
- Network katmanı, Firewall (UFW) ile gereksiz port’ları kapat
- Erişim katmanı, SSH key-only, Fail2Ban ile brute-force engelle
- Uygulama katmanı, Rate limit, CSP, HSTS, CORS sıkılaştırma
- Audit katmanı, Log, security audit trail, anomaly detection
- Pentest katmanı, Zafiyet taraması, gerçek saldırı simülasyonu
Tek bir katmanın bypass edilmesi sunucunuzun tamamen ele geçirilmesi anlamına gelmez.
Katman 1: UFW firewall
UFW (Uncomplicated Firewall), iptables’ın kullanıcı dostu yüzü. Varsayılan olarak tüm gelen bağlantıları reddeder, sadece izin verdiğiniz port’lar açılır.
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp # SSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw enable
Geriye kalan tüm port’lar (MySQL, PostgreSQL, Redis, panel iç servisleri) sadece localhost’tan erişilebilir. VDS Panel bu yapılandırmayı otomatik kurar.
PostgreSQL 5432 veya MySQL 3306 port’larını dış dünyaya açmayın. “Uzaktan bağlanmak için” gibi gerekçelerle açılır ve bot’lar anında brute-force yapmaya başlar. Uzaktan yönetim için SSH tunnel veya VPN kullanın.
Katman 2: SSH sertleştirme
Varsayılan SSH ayarları zayıf. Temel önlemler:
- 01Password login'i kapatın/etc/ssh/sshd_config içinde PasswordAuthentication no. Sadece SSH key ile giriş. Brute-force imkansız hale gelir.
- 02Root login'i kapatınPermitRootLogin no. Saldırgan hesap adını tahmin etmek zorunda kalır, sadece 'root' deneme şansı biter.
- 03Port'u değiştirin22 yerine 2222 gibi. Automated bot'lar 22'yi tarar, alternatif port'u kaçırır. Security through obscurity zayıf ama etkili bir gürültü azaltıcı.
- 04Ed25519 key kullanınRSA 2048 yerine Ed25519. Daha kısa, daha güvenli, daha hızlı. ssh-keygen -t ed25519 komutuyla üretilir.
- 05Fail2Ban devreye sokunBaşarısız giriş denemelerinde IP otomatik banlanır. Katman 3'e geçelim.
Katman 3: Fail2Ban
Fail2Ban log dosyalarını izler ve şüpheli paternleri tespit edince IP’yi geçici olarak banlar:
/var/log/auth.log→ SSH başarısız giriş/var/log/nginx/access.log→ HTTP 401/403/429 tekrarları- Özel uygulamanızın log’u → özel jail tanımları
Varsayılan davranış: 3 başarısız giriş denemesinde 10 dakika ban. Daha sık denerse ban süresi uzar.
# /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 3
findtime = 10m
bantime = 1h
[nginx-login]
enabled = true
filter = nginx-login
maxretry = 10
findtime = 10m
bantime = 6h
VDS Panel Fail2Ban’i özel jail’lerle otomatik yapılandırır: SSH, nginx auth, /api/auth/login, /api/verify endpoint’leri için dedike kurallar.
Katman 4: Uygulama güvenliği
OS seviyesi korumalar yetmez; uygulamanızda da:
Rate limiting
Her endpoint’e istek sınırı:
- Login endpoint: 10 istek / 15 dakika / IP
- Public API: 100 istek / dakika / IP
- Admin API: 500 istek / dakika / kullanıcı
Aşım durumunda 429 Too Many Requests dönülür. Panel nginx ve backend seviyesinde çift katmanlı rate limit uygular.
Güvenlik başlıkları
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Content-Security-Policy: default-src 'self'
Permissions-Policy: camera=(), microphone=(), geolocation=()
Bunlar XSS, clickjacking, MIME sniffing gibi yaygın saldırı vektörlerini kapatır. VDS Panel her domain için bu başlıkları varsayılan olarak gönderir.
JWT güvenliği
alg: nonesaldırısına karşı imza doğrulama sıkı- Token’lar 24 saatte expire
- Logout’ta token blacklist’e alınır
tokenVersionile zorla çıkış
Katman 5: Pentest scanner
Statik konfigürasyon taramalarına ek olarak, VDS Panel 140+ testlik bir pentest scanner içerir:
- SSL/TLS: zayıf cipher suite, heartbleed, expired cert
- HTTP headers: eksik HSTS, CSP, X-Frame-Options
- Auth: JWT alg=none, brute-force korumasız login
- SQL injection vektörleri
- XSS payload’ları (ham input kontrolü)
- Path traversal ve directory listing
- Known CVE’ler (yüklü paket versiyonlarına göre)
- Default credentials (admin/admin denemeleri)
- Open ports (beklenmeyen servis)
Scanner haftalık otomatik çalışır, bulduğu her zafiyet için:
- Panel event log’una düşer
- HTML rapor üretilir
- Kritik zafiyet varsa admin’e uyarı
Güvenlik audit log
Panel tüm kritik işlemleri kalıcı loglar:
- Login, logout, başarısız giriş
- Admin kullanıcı ekleme/silme
- Yeni proje oluşturma
- SSL sertifika yenileme
- Panel ayar değişikliği
Her kayıt IP, user-agent, zaman damgası içerir. Adli inceleme gerektiğinde tam zincir mevcuttur.
Otomatik güncelleme
Ubuntu unattended-upgrades paketiyle güvenlik güncellemeleri otomatik kurulur:
apt install unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades
VDS Panel kurulum sırasında bunu otomatik aktif eder. Kernel ve critical güvenlik yamaları panel çalışırken yüklenir, gerektiğinde otomatik reboot planlanır.
Sonuç
Sunucu güvenliği tek bir “silver bullet” ile sağlanmaz. Katman katman savunma, firewall, SSH sertleştirme, Fail2Ban, rate limiting, güvenlik başlıkları, audit log ve periyodik pentest, hep birlikte işe yarar.
VDS Panel bu katmanları manuel olarak kurmanız gereken saatleri dakikalara indirir. Fail2Ban jail’leri, UFW kuralları, nginx security headers, 140+ pentest testi; hepsi varsayılan olarak kurulur ve sürekli izlenir.
Güvenlik özellikleri hakkında detay için ana sayfaya veya iletişim formundan spesifik senaryonuz için danışma alabilirsiniz.
Bunlar da hoşuna gidebilir
Otomatik SSL Sertifikası: Let's Encrypt'in Panel Entegrasyonu
SSL sertifikası almak, yenilemek, birden fazla domain için yönetmek, hepsi manuel işler. VDS Panel, Let's Encrypt entegrasyonu ile bu süreci tamamen otomatikleştirir.
Okumaya başlaVPS Yedekleme Stratejisi ve Disaster Recovery: 3-2-1 Kuralı
Sunucunuzu felaket senaryolarında nasıl korursunuz? Otomatik şifreli yedekleme, 3-2-1 yedekleme kuralı, test ve restore süreçleri, RTO ve RPO hedefleri.
Okumaya başlaKendi sunucunuzda denemek ister misiniz?
İletişim formundan ulaşın, kullanım senaryonuza uygun lisans + kurulum planını birlikte hazırlayalım.