TürkiyeVPS

Linux Sunucu Güvenliği: Yeni VPS'te Yapılması Gereken 10 Adım

Sunucunuz internete açıldığı andan itibaren otomatik botlar tarafından taranmaya başlar. Yeni bir Linux VPS'i güvenli hâle getirmek için ilk gün yapmanız gereken 10 temel adımı sırayla anlatıyoruz.

3 dk okuma

Yeni bir VPS açtığınızda sunucunuzun IP adresi internette herkese görünür hâle gelir. Birkaç dakika içinde, dünyanın dört bir yanındaki otomatik botlar zayıf şifre aramak için SSH girişini denemeye başlar. Bu kişisel değildir; botlar her IP'yi tarar. İyi haber şu ki birkaç basit adımla saldırıların neredeyse tamamını boşa çıkarabilirsiniz.

Aşağıdaki komutlar Ubuntu ve Debian içindir. Komutları root olarak çalıştırdığınızı varsayıyoruz.

1. Sistemi güncelleyin

Güvenlik açıklarının büyük bölümü güncellemelerle kapatılır.

apt update && apt upgrade -y

2. Güçlü bir şifre belirleyin

En az 16 karakterli, harf, rakam ve sembol içeren bir şifre kullanın. Şifre yöneticisi kullanmak işinizi kolaylaştırır.

passwd

3. Günlük işler için ayrı bir kullanıcı oluşturun

Her işi root ile yapmak yerine, yönetici yetkisi olan bir kullanıcı açın:

adduser ahmet
usermod -aG sudo ahmet

4. SSH anahtarıyla girişe geçin

Şifre tahmin edilebilir; SSH anahtarı pratikte tahmin edilemez. Anahtar oluşturmayı SSH rehberimizde adım adım anlattık.

5. Şifreyle ve root ile SSH girişini kapatın

Anahtarla girişin çalıştığından emin olduktan sonra /etc/ssh/sshd_config dosyasında şu satırları ayarlayın:

PermitRootLogin no
PasswordAuthentication no

Ardından servisi yeniden başlatın:

systemctl restart ssh

Bu adımdan önce yeni bir terminal penceresinde anahtarla giriş yapabildiğinizi test edin. Aksi hâlde kendinizi sunucunun dışında bırakabilirsiniz.

6. Güvenlik duvarını açın (UFW)

Yalnızca ihtiyacınız olan portlara izin verin:

apt install ufw -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

ufw status komutuyla kuralları görebilirsiniz.

7. Fail2ban ile kaba kuvvet saldırılarını engelleyin

Fail2ban, art arda hatalı giriş deneyen IP adreslerini otomatik olarak bir süreliğine engeller:

apt install fail2ban -y
systemctl enable --now fail2ban

8. Otomatik güvenlik güncellemelerini açın

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

9. Gereksiz servisleri kapatın

Kullanmadığınız her servis, saldırganlar için bir kapıdır. Dışarıya açık portları görmek için:

ss -tulpn

İhtiyacınız olmayan bir servisi systemctl disable --now SERVISADI ile kapatın. Veritabanınızı (MySQL, PostgreSQL, Redis) mümkünse yalnızca 127.0.0.1 üzerinden dinlemeye ayarlayın.

10. Düzenli yedek alın

Hiçbir güvenlik önlemi yüzde yüz değildir. Asıl sigortanız yedektir. Önemli dosyalarınızı ve veritabanınızı düzenli olarak sunucu dışında bir yere yedekleyin ve yedekten geri dönmeyi en az bir kez deneyin.

Bonus: Web siteniz için

  • Sitenizi mutlaka HTTPS ile yayınlayın.
  • WordPress gibi sistemleri ve eklentileri güncel tutun.
  • Kullanılmayan eklenti ve temaları silin.

Sık Sorulan Sorular

Sunucuma saldırı yapıldığını nasıl anlarım?

/var/log/auth.log dosyasında başarısız giriş denemelerini görebilirsiniz. Beklenmedik yüksek CPU kullanımı, tanımadığınız işlemler veya yeni kullanıcılar da şüpheli işaretlerdir.

Güvenlik duvarını açınca kendimi kilitler miyim?

ufw enable komutundan önce ufw allow OpenSSH kuralını eklerseniz SSH bağlantınız kesilmez. Yine de bir sorun olursa müşteri panelindeki konsoldan sunucunuza erişebilirsiniz.

Antivirüs kurmam gerekir mi?

Linux sunucularda asıl risk virüsten çok zayıf şifre, güncellenmemiş yazılım ve açık bırakılmış servislerdir. Yukarıdaki adımlar çok daha etkilidir.

Bu adımlar paylaşımlı hosting için de gerekli mi?

Hayır. Paylaşımlı hostingte sunucu güvenliğini sağlayıcı üstlenir. Sizin sorumluluğunuz güçlü şifre kullanmak ve sitenizin yazılımını güncel tutmaktır.