Rehber

İlk 30 Dakika: VPS Sertleştirme Kontrol Listesi

Yeni bir VPS, IP aldıktan dakikalar içinde ilk SSH taramasını alır. İşte her yeni sunucuda çalıştırdığım kesin sıra — Debian 13 için kopyala-yapıştır hazır, sonunda bir kontrol listesi tablosuyla.

Varsayımlar: VPSRento dağıtımından taze bir Debian 13 imajı, root olarak SSH ile giriş yaptınız ve örnek IP 185.220.101.14 — kendinizinkiyle değiştirin. Toplam süre: yaklaşık yarım saat. Adımları sırayla yapın; 2. adım acele ederseniz sizi kilitleyebilir.

1. sudo kullanıcınızı oluşturun

Root olarak çalışmak, yazım hatalarının olaylara dönüşme şeklidir. Gerçek bir kullanıcı oluşturun, sudo verin ve her şeyi oradan yapın:

# create the user (you'll set a password — still useful for sudo)
adduser ops

# grant sudo
usermod -aG sudo ops

Bu noktadan sonraki her şey ops olarak çalışır, aksi belirtilmedikçe.

2. Yalnızca SSH anahtarları — şifre yok, root girişi yok

Şifre kimlik doğrulaması, internete açık bir sunucudaki en büyük deliktir. Botlar 22. porta gün boyu kimlik listeleriyle vurur. Anahtarlar tüm saldırı sınıfını gereksiz kılar. Kendi makinenizde:

# generate a keypair if you don't have one (ed25519, no passphrase tradeoff is yours)
ssh-keygen -t ed25519 -C "ops@atlas"

# push the public key to the server
ssh-copy-id [email protected]

Yeni bir terminalde anahtarla giriş yapabildiğinizi doğrulayın — terminal — — yapılandırmaya dokunmadan önce. Mevcut root oturumunu kaçış kapağınız olarak açık tutun. Ardından /etc/ssh/sshd_config dosyasını düz bir :

# /etc/ssh/sshd_config — the three lines that matter
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin prohibit-password
# validate the config, then reload (Debian 13 uses ssh.service)
sshd -t && systemctl reload ssh

prohibit-password yerine düzenleyin. Root için bilinçli olarak: root, iş istasyonunuzdan bir anahtarla hâlâ kimlik doğrulayabilir; bu, sağlayıcı konsol kurtarma için ara sıra yararlıdır — ancak hiçbir şifre, hiç kimse için, hiçbir yerden asla çalışmayacaktır. no sshd -T | grep -E 'passwordauthentication|permitrootlogin' ile doğrulayın..

3. Güvenlik duvarı: varsayılan reddet, yalnızca çalıştırdıklarını aç

Debian'ın ufw'si, nftables üzerinde ince ve mantıklı bir katmandır. Politika güvenliktir; kurallar yalnızca istisnalardır:

apt update && apt install -y ufw

ufw default deny incoming
ufw default allow outgoing

# SSH stays open — add this BEFORE enabling
ufw allow 22/tcp comment 'SSH'

# whatever your box actually serves, e.g.:
ufw allow 80/tcp comment 'HTTP'
ufw allow 443/tcp comment 'HTTPS'

ufw enable
ufw status verbose

Açtığınız her portun bir adı ve bir nedeni olmalı. Bir portun ne için olduğunu adlandıramıyorsanız, kural almaz.

4. fail2ban: botları yavaşlat

Şifre kimlik doğrulaması devre dışı bırakıldığında, kaba kuvvet zaten ölüdür — ancak fail2ban günlüklerinizi okunur tutar ve diğer her şeyi yoklayan tarayıcıları yasaklar:

apt install -y fail2ban
# /etc/fail2ban/jail.local
[sshd]
enabled  = true
port     = ssh
maxretry = 5
findtime = 10m
bantime  = 1h
systemctl enable --now fail2ban

# watch it work
fail2ban-client status sshd

5. Otomatik güvenlik güncellemeleri

Yamalanmamış CVE, yeniden başlatmadan daha büyük bir risktir. Debian'ın unattended-upgrades'ı güvenlik güncellemelerini kendi başına kurar:

apt install -y unattended-upgrades

# answer Yes to auto-install updates
dpkg-reconfigure -plow unattended-upgrades

/etc/apt/apt.conf.d/50unattended-upgrades içindeki varsayılan yapılandırma yalnızca güvenlik paketinden çeker — bir sunucuda istediğiniz şey budur: güvenlik düzeltmeleri otomatik, diğer her şey sizin seçiminizle.

6. Çalıştırmadıklarını kapat

Çalışan her hizmet, yamanız gereken saldırı yüzeyidir. Gerçekte neyin dinlediğini görün:

# who is listening, on what, as which process
ss -tulpn

# everything enabled at boot
systemctl list-unit-files --state=enabled

# example: you don't run a print server — nobody does
systemctl disable --now cups

Kural: bir dinleyicinin ne yaptığını söyleyemiyorsanız, yaşamasına izin vermeden önce öğrenin. Minimal bir VPSRento imajında sshd ve kendi uygulamanızın ötesinde çok az şey olmalı.

7. İsteğe bağlı ama önerilir: bir WireGuard yönetim düzlemi

SSH güvenliğinin en güçlü hali, internete hiç açık olmayan SSH'tır. Makinede WireGuard çalıştırın, SSH'ı yalnızca tünel içinde izin verin ve 22 numaralı port dünyadaki tüm tarayıcılardan kaybolur:

apt install -y wireguard

# /etc/wireguard/wg0.conf — minimal management tunnel
# [Interface] Address = 10.8.0.1/24, ListenPort = 51820

# open the tunnel, not the shell
ufw allow 51820/udp comment 'WireGuard'
ufw allow in on wg0 to any port 22 proto tcp comment 'SSH via WG'
ufw delete allow 22/tcp

systemctl enable --now wg-quick@wg0

Bundan sonra ssh [email protected] komutunu tünel üzerinden çalıştırırsınız ve genel IP yalnızca tek bir UDP portunda yanıt verir. WireGuard'ın tam kılavuzu — anahtarlar, eşler, istemci yapılandırmaları, telefon QR kodları — eşlik eden rehberde.

10 maddelik kontrol listesi

Her yeni dağıtımdan sonra ve eklediğiniz her hizmetten sonra bu tabloyu gözden geçirin:

#ÖğeNerede bulunurŞununla doğrula
1Root olmayan sudo kullanıcısı/etc/passwdid ops
2Yalnızca anahtar tabanlı SSH kimlik doğrulamasısshd_configsshd -T | grep passwordauth
3Root parola girişi devre dışısshd_configsshd -T | grep permitrootlogin
4Güvenlik duvarı varsayılan olarak gelen trafiği reddediyorufwufw status verbose
5Yalnızca adlandırılmış portlar açıkufwufw status numbered
6fail2ban sshd hapishanesi aktifjail.localfail2ban-client status sshd
7Güvenlik güncellemeleri otomatikaptsystemctl status unattended-upgrades
8Açıklanamayan dinleyici yokss -tulpn
9WireGuard üzerinden yönetim (isteğe bağlı)wg0.confwg show
10Sertleştirme sonrası anlık görüntüMüşteri alanı eklentisi, $1.99/ayHizmetler → VPS'iniz → anlık görüntüler

10. madde bir cümleyi hak ediyor: önce sertleştirin, sonra anlık görüntü alın, bu sırayla — temiz ve sertleştirilmiş bir makinenin anlık görüntüsü, gelecekteki her hatanız için geri alma noktanızdır. Günlük harici anlık görüntüler $1.99/ay eklentisidir ve müşteri alanında bulunur. Otuz dakikalık önlem, tek tıklıkla sigorta.

Temiz bir sunucu kurun ve kendiniz sıkılaştırın.

Debian 13 imajı, 55 saniyede tam root erişimi, 40'tan fazla kara listeye karşı kontrol edilmiş temiz IP. Fiyat $5.99/ay.

Türkçe