[ OK ]Kernel başlatılıyor...
~/im/blog
Beni İşe Alın

Konuşalım

Çözülmesi gereken bir altyapı probleminiz mi var veya projeniz için desteğe mi ihtiyacınız var? Yeni projeler için bana ulaşabilirsiniz.

İletişime geç

Bağlantılar

Beni sosyal medyada ve profesyonel ağlarda bulun.

© 2026 Irfan Miral. Tüm hakları saklıdır.Geliştiren:Irfan Miral
Gizlilik PolitikasıŞartlar & Koşullar
Ana SayfaHizmetlerHakkımda/ÖzgeçmişBlogİletişimAraçlar
2026-06-10• 5 dk okuma süresi

Yeni Bir VPS'te İlk Bir Saat: Sunucu Güvenliği Kontrol Listem

Security Server Security Linux Administration VPS

Reklam

Yeni bir VPS ayağa kalktığında, bu kontrol listesinden geçene kadar üzerine hiçbir şey kurulmaz. Tüm işlemler bir saatten kısa sürer ve yeni bir IP adresi internette görünür görünmez saldıran otomatik tarayıcıların ve botların önünü anında keser. Bunların hiçbiri çok gizli veya egzotik yöntemler değil; asıl farkı yaratan o sıkıcı, temel güvenlik adımlarıdır.

1. Parola ile girişi hemen kapatın

İlk root girişinden sonra yaptığım ilk şey, sudo yetkisine sahip root olmayan bir kullanıcı oluşturmak, SSH açık anahtarımı kopyalamak ve anahtar tabanlı girişin çalıştığını test etmektir. Bunu başka hiçbir şeye dokunmadan önce, ikinci bir terminal ekranında yaparım.

adduser deploy
usermod -aG sudo deploy
rsync --archive --chown=deploy:deploy ~/.ssh /home/deploy

Giriş yapabildiğimi doğruladıktan sonra, /etc/ssh/sshd_config dosyasında şu üç değişikliği yaparım:

PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3

systemctl restart sshd komutunu çalıştırın. Bu noktadan itibaren sunucuya girmenin tek yolu sizin makinenizde bulunan özel anahtardır (private key). Kaba kuvvet (brute-force) veya oltalama (phishing) ile ele geçirilebilecek bir parola kalmamıştır.

2. "Varsayılan olarak reddet" kuralıyla Firewall

Sıradaki adım UFW (veya duruma göre CSF). Güvenlik duvarını, gelen tüm trafiği varsayılan olarak reddedecek şekilde ayarlarım ve yalnızca sunucunun gerçekten ihtiyaç duyduğu portları açarım:

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

Veritabanı portları, kontrol panelleri veya admin arayüzleri yalnızca gerçekten ihtiyaç duyulduğunda açılır. Açıldıklarında ise tüm dünyaya açık bırakılmazlar, belirli bir IP adresine veya VPN aralığına sınırlandırılırlar. Böyle basit bir güvenlik duvarı kuralı bile, daha önce hakkında yazdığım CyberPanel solucanını anında durdurabilirdi. Orada güvenlik açığı barındıran admin portu her yerden erişilebiliyordu.

3. Gürültüyü kesmek için Fail2ban

SSH girişini sadece anahtara indirgeseniz bile, IP bloklarını tarayan botların başarısız giriş denemeleri yüzünden loglarınız dolup taşar. Fail2ban sizi hedefe yönelik, sofistike bir saldırıdan kurtarmaz ancak arka arkaya birkaç başarısız deneme yapan IP'leri engelleyerek o gereksiz "gürültüyü" inanılmaz derecede azaltır:

apt install fail2ban
systemctl enable --now fail2ban

Başlangıç için varsayılan sshd kuralı (jail) yeterlidir. Eğer sunucu Nginx veya WordPress giriş formu gibi dışarıya açık bir servis çalıştırıyorsa, onlar için de kurallar eklerim. Aynı IP'den gelen üst üste /wp-login.php istekleri de SSH taramaları kadar hızlı bir şekilde engellenir.

4. Otomatik güvenlik güncellemeleri

Kendi kendini yamamayan bir sunucu eninde sonunda bilinen bir açığı barındıran bir kernel veya OpenSSL sürümüyle çalışmaya mahkumdur. unattended-upgrades paketi güvenlik yamalarını otomatik olarak halleder.

apt install unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgrades

Gerçekten çalışıp çalışmadığını, sadece kurulu halde yatmadığını teyit etmek için arada sırada /var/log/unattended-upgrades/ dizinini kontrol ederim.

Çekilmesi gereken temel çizgi

Bunların hiçbiri ileri seviye değil. Olay da tam olarak bu. Sunucuya uygulama kodunun zerresi bile bulaşmadan önce her sunucunun oturması gereken temel çizgi budur. Bugüne kadar hacklendiğini gördüğüm sunucular neredeyse hiçbir zaman zero-day açıkları yüzünden düşmedi; varsayılan parolalar, dışarıya açık bırakılmış admin portları veya aylardır yama yüzü görmemiş kernel'lar yüzünden ele geçirildiler. Burada harcayacağınız bir saat, ileride yaşayacağınız felaket gibi bir günü engeller.

Reklam

Yardıma mı ihtiyacınız var?

Eğer Sunucu Yönetimi ve Bakımı işini sizin yerinize birinin halletmesini tercih ederseniz, benim asıl işim tam olarak bu.

İletişime Geç
ÖncekiGerçekten Önem Taşıyan DNS KayıtlarıSonraki Sertifikaları Bir Daha Düşünmemek İçin Let's Encrypt Otomasyonu