Tüm sistemler çalışıyor 6 offshore bölge No-KYC ödeme
Hands-on Saha kılavuzu

Yeni VPS'i sertleştirme: devreye alma sonrası ilk saat

Bir sunucu hiçbir zaman, önyüklendikten sonraki birkaç dakikada olduğu kadar açıkta olmaz. İmaj jeneriktir, root parolası bir provisioning sisteminden çıkmıştır, dağıtımla birlikte gelen her şey dinlemededir ve adres çoktan birinin tarama kuyruğuna girmiştir. Bu, herhangi bir işe yaramaya başlamadan önce her yeni kutuda uyguladığımız kontrol listesidir: dört kontrol, yaklaşık bir saatlik iş ve tek bir alışkanlık — üzerinden geldiğiniz oturumu asla kapatmayın — ki bu, $8.00/aydan başlayan bir offshore VPS'te her yerden daha fazla önem taşır, çünkü burada kimse kim olduğunuzu doğrulayıp sizi dışarıda bıraktığınız makineye geri alamaz.

2026-08-27 tarihinde güncellendi · 14 dk okuma · Filo operasyonları
Bu sayfada
  1. İlk saat isteğe bağlı değildir
  2. Küçük bir sunucuya gerçekte ne saldırır
  3. SSH: anahtarlar ve tam olarak tek bir kapı
  4. Varsayılan reddetme ve güvenlik duvarının kimsenin yapılandırmadığı yarısı
  5. Hatırlamanız gerekmeyen güncellemeler
  6. Hız sınırlama, fail2ban ve gürültü tabanı
  7. Buradaki asıl risk kendinizi dışarıda bırakmaktır
  8. Kutunun ne yaptığına bağlı olarak sırada ne var
  9. Adım adım
SP·01

İlk saat isteğe bağlı değildir

İnternetin IPv4 alanı, tamamını taramanın iyi finanse edilmiş bir yabancıya birkaç dakika, bir dizüstü bilgisayara ise birkaç saat alacağı kadar küçüktür. Barındırma aralıkları yayımlanır, kataloglanır ve sürekli olarak yeniden taranır; dolayısıyla yeni bir adres gizli değildir — zaten var olan bir listeye eklenen taze bir kayıttır. Pratikte, yeni önyüklenmiş bir kutuya yönelik ilk otomatik SSH giriş denemesi, siz daha hoş geldin e-postanızı okumayı bitirmeden gelir ve bunu, hepsi aynı birkaç yüz parolayı aynı birkaç kullanıcı adına karşı deneyen, birbiriyle ilgisiz kaynaklardan binlerce deneme daha izler. Bunların hiçbiri size yönelik değildir. Bu, interneti yanıt veriyor ve yanıt vermiyor diye ayıran bir makinedir ve hangi yığına düşeceğinizi belirleyen tek şey, ilk saatte yaptığınızdır.

İyi haber şu ki bu iş sıkıcı ve sonludur. Dört kontrol işin neredeyse tamamını yapar: parolalar yerine anahtarlarla kimlik doğrulamak, bilerek sunmadığınız her gelen portu reddetmek, güvenlik güncellemelerini sorulmadan uygulamak ve root olarak çalışmayı bırakmak. Her biri birkaç dakika sürer ve hiçbiri egzotik değildir. Bunu özellikle offshore, KYC'siz bir sunucu için yazmaya değer kılan şey, diğer uçtaki asimetridir — kurtarma yolu. Ana akım bir sağlayıcıda, kötü bir sshd_config bir destek talebi, bir kimlik kontrolü ve bir konsol oturumuyla sonuçlanır. Burada kontrol edilecek kayıtlı bir kimlik yoktur; bu, ürünün tüm meselesidir ve aynı zamanda dikkatsiz bir tuş vuruşunun size yirmi dakika değil, makinenin kendisine mal olmasının nedenidir. Aşağıdaki her adım bu düşünceyle yazılmıştır.

SP·02

Küçük bir sunucuya gerçekte ne saldırır

Günlüklerde iki çok farklı grup ortaya çıkar ve bunları ayırmakta fayda vardır, çünkü farklı şeylerle alt edilirler. Ezici çoğunluk ayrım gözetmeyen toplu taramadır: parola kabul eden SSH, 0.0.0.0'a bağlı veritabanları, varsayılan kimlik bilgilerine sahip yönetici panelleri, unutulmuş staging kopyaları, herkese açık bir exploit'i olan yaması yapılmamış web uygulamaları arayarak adres uzayını tarayan botlar. Bu grup sunucunuzun ne işe yaradığını umursamaz. Onunla akıl yürütülemez, asla durmaz ve bu rehberdeki kontrol listesiyle tamamen alt edilir — kontrol listesi zekice olduğu için değil, botlar onu atlamış makineleri aradığı ve bu tür makinelerin bol olduğu için.

İkinci grup hedeflidir — özellikle sizin kutunuzu isteyen biri — ve nadir, pahalıdır ve neredeyse hiçbir zaman SSH üzerinden içeri girmez. Devreye aldığınız uygulama, denetlemediğiniz bir bağımlılık, yeniden kullandığınız bir kimlik bilgisi ya da sunucuya hiç dokunmadan önce ele geçirilmiş bir dizüstü bilgisayar üzerinden gelir. Sertleştirmenin güvenlik duvarında bitmemesinin nedeni de budur: asıl sorular, hizmetinizin hangi kullanıcı olarak çalıştığı, dışarıya neye ulaşabildiği ve ne kadar hızlı yama uyguladığınız haline gelir. Planlarken bilmekte fayda var: VPS planlarımız KVM tam sanallaştırmadır, yani kendi çekirdeğinizi çalıştırırsınız ve nftables, ufw, namespaces, seccomp, özel sysctl gibi tüm araç kutusu gerçekten çalışır — bu, çekirdeğin başkasına ait olduğu konteyner tabanlı "VPS" ürünleri için geçerli değildir.

SP·03

SSH: anahtarlar ve tam olarak tek bir kapı

Genel bir SSH portunda parola kimlik doğrulaması, kiralık bir sunucudaki en büyük kendi kendine verilen zarardır ve onu kaldırmak bu rehberdeki en değerli beş dakikadır. Bir Ed25519 anahtar çifti oluşturun, ama kendi makinenizde — asla sunucuda değil, çünkü orada özel yarı, tam olarak korumaya çalıştığınız host'un üzerinde doğardı — bir parolayla koruyun ve bir agent'a yükleyin, böylece parola size giriş başına değil oturum başına tek bir istem maliyeti çıkarsın. Genel yarıyı yukarı kopyalayın, çalıştığını doğrulayın ve ancak o zaman parolaları kapatın. PasswordAuthentication no ve KbdInteractiveAuthentication no devredeyken, günlük binlerce tahmin bir risk olmaktan çıkıp sadece gürültüye dönüşür: tahmin edilecek bir parola yoktur, dolayısıyla deneme ilginç hale gelmeden başarısız olur.

Root kendi kararını hak eder. PermitRootLogin prohibit-password, acil durumlar için anahtar tabanlı root erişimini korur; PermitRootLogin no daha katıdır ve her oturumu sudo yetkili, isimli bir hesaptan geçmeye zorlar — birden fazla kişi kutuya dokunduğu anda istediğiniz de tam olarak budur. Bir paketin oluşturduğu başıboş bir hesabın asla bir giriş yolu olamaması için AllowUsers ekleyin. Daemon'u 22 numaralı porttan taşımak yapmaya değer, ama nedeni konusunda dürüst olun: bu bir güvenlik kontrolü değildir — adresinizi tarayan herkes yeni portu saniyeler içinde bulur — bu günlük hijyenidir ve otomatik gürültünün büyük çoğunluğunu ortadan kaldırarak auth.log'da kalan girdilerin gerçekten okumaya değer olmasını sağlar. Neyi değiştirirseniz değiştirin, yeniden yüklemeden önce sshd -t ile doğrulayın ve ikinci bir terminal başarıyla bağlanana kadar mevcut oturumunuzu açık tutun. Bu alışkanlık, bir yazım hatası ile kaybedilmiş bir sunucu arasındaki farktır.

SP·04

Varsayılan reddetme ve güvenlik duvarının kimsenin yapılandırmadığı yarısı

Bir sunucudaki güvenlik duvarının tek bir işi vardır: "burada ne dinliyor?" sorusunun cevabını, bilerek yayımladığınız şeylerin listesine eşitlemek. Gelen trafiği varsayılan olarak reddedin, giden trafiğe izin verin, ardından her birine bir gerekçe iliştirerek portları teker teker açın. Tek bir kural bile yazmadan önce ss -tulpen çalıştırın ve zaten neyin bağlı olduğunu okuyun — varsayılan bir kurulum çoğu insanın beklediğinden daha fazlasını dinler ve 127.0.0.1 yerine 0.0.0.0'a bağlanan bir veritabanı ya da önbellek, küçük bir sunucunun birinin veri kümesinde son bulmasının klasik yoludur. Yerel hizmetleri önce loopback'e bağlayın; güvenlik duvarı ikinci hattınızdır, tek hattınız değil.

Sonra atlanan yarı gelir. Buradaki her plan, IPv4'ünün yanında bir /64 IPv6 bloğu ile gelir ve çoğu modern daemon her iki aileye de seve seve bağlanır. Kurallarınız yalnızca v4'ü kapsıyorsa, güvenlik duvarıyla korunduğuna inandığınız bir hizmete, adresi çözümleyen herkes v6 üzerinden ulaşabilir — bilinen bir barındırma önekinin IPv6 taraması ise tamamen rutindir. ufw her ikisini de gerçekten işler, ama yalnızca /etc/default/ufw'de IPV6=yes ayarlıysa; varsaymak yerine ufw status verbose ile doğrulayın. Docker da aynı şüpheyi hak eder: bir konteyner portunu -p ile yayımlamak, ufw'ninkinden önce değerlendirilen kendi iptables zincirine kurallar ekler, dolayısıyla korunduğunu düşündüğünüz bir konteyner çoğu zaman ardına kadar açıktır. Onu açıkça 127.0.0.1:port'a bağlayın ve önüne bir reverse proxy koyun. Her ne yapılandırırsanız yapılandırın, internette başka bir yerden test edin — yalnızca okunmuş bir kural, hiç test edilmemiş bir kuraldır.

SP·05

Hatırlamanız gerekmeyen güncellemeler

Çoğu küçük sunucunun gerçekte kaybedilme şekli, yaması yapılmamış yazılımdır ve bunun nedeni teknik değil insanidir: yama uygulamak, yapmanız gereken her şeyle yarışan bir angaryadır. Güvenlik kanalını otomatikleştirin, sorun ortadan kalksın. Debian ve Ubuntu'da unattended-upgrades, güvenlik güncellemelerini bir zamanlayıcıyla uygular ve yolunuzdan çekilir; onu mevcut her yükseltmeye değil, güvenlik cebine kapsamlandırın, böylece rutin bir özellik sürümü uygulamanızı sabahın üçünde asla yeniden başlatmasın. Bu, yönetilen bir platformdan çok, kendi kendinize yönettiğiniz bir offshore kutuda daha fazla önem taşır, çünkü onu sizin için kimse yamalamaz ve kritik bir CVE hakkında size e-posta gönderecek bir hesap yöneticisi yoktur — ulaşılacak kayıtlı bir e-posta adresi de yoktur.

Çekirdek güncellemelerinin etkili olması için bir yeniden başlatma gerekir, o yüzden yeniden başlatma politikanızı sonradan keşfetmek yerine bilerek belirleyin. needrestart, hangi hizmetlerin hâlâ silinmiş kütüphanelere karşı çalıştığını size söyler ve gecenin ilerleyen saatlerinde bir Unattended-Upgrade::Automatic-Reboot penceresi, durum tutmayan bir hizmet için gayet uygundur. Önemli bir etkileşim: tam disk şifreleme rehberimizi takip ettiyseniz ve root dosya sisteminiz şifreliyse, otomatik bir yeniden başlatma bir parola isteminde durur ve onu ağ üzerinden kilidini açana kadar orada kalır. Bu makinelerde ya otomatik yeniden başlatmaları kapalı tutun ya da uzaktan kilit açmanın test edildiğinden ve o pencere için uyanık olacağınızdan emin olun. Hangisini seçerseniz seçin, yazıya dökün — yalnızca kafanızda yaşayan bir politika, tatile çıktığınız an var olmaktan çıkar.

SP·06

Hız sınırlama, fail2ban ve gürültü tabanı

Parola kimlik doğrulaması kapatıldıktan sonra, SSH'a karşı kaba kuvvet saldırısı başarılı olamaz. fail2ban gibi araçların o noktadan sonra size ne kazandırdığı konusunda net olmakta fayda var: tahmine karşı bir savunma değil — bu zaten imkânsızdır — daha sakin bir günlük, boşa giden el sıkışmalara harcanan daha az CPU ve sırların hâlâ tahmin edilebilir olduğu katmanlarda gerçek bir kontrol. Onu önemli olan yerlere yöneltin: bir web uygulamasının giriş formu, bir posta sunucusunun SMTP AUTH'u, birinin numaralandırdığı bir yönetici yolu. ufw limit, hiç ek yazılım olmadan ucuz bir bağlantı hızı sınırı verir. Bir avuç çekirdek ayarı da aynı beş dakikaya değer — SYN cookie'ler açık, reverse-path filtreleme açık, ICMP broadcast yanıtları kapalı ve statik adresi olan bir sunucuda IPv6 router advertisement'ları yok sayılıyor.

Yine de host'un nerede durduğunu bilin. Bunların hiçbiri hacimsel bir saldırıya karşı ayakta kalmaz, çünkü bir trafik seli, CPU'yu zorlamadan çok önce ağ hattını doldurur: paketler nftables kurallarınıza ulaştığında, korumaya çalıştığınız bant genişliğini çoktan tüketmişlerdir. 1.5 Tbps'a kadar L3/L4 trafik temizleme bu yüzden filonun önünde yer alır ve ek ücretli bir seçenek olarak değil, her planda dahil olarak sunulur; meşru istekler gibi görünen uygulama katmanı sellerine karşı isteğe bağlı bir L7 kalkanıyla birlikte. Host güvenlik duvarınız hassasiyeti halleder; ağ ise hacmi. Birini diğerinin yerine koymaya çalışmak, insanların şaşkına döndüğü yerdir.

SP·07

Buradaki asıl risk kendinizi dışarıda bırakmaktır

Bu ilk saatte yanlış gidebilecek her şey arasında, ezici biçimde en olası sonuç bir sızma değildir. Uzun bir oturumun sonunda, bozuk bir sshd_config'i yeniden yükleyen ya da izin kuralında bir yazım hatası bulunan bir güvenlik duvarını etkinleştiren ve kapının arkanızdan kapandığını fark eden sizsinizdir. Ana akım bir sağlayıcıda bu can sıkıcı bir durumdur. Burada gerçek bir saygıyı hak eder, çünkü kayıt, sekiz kurtarma kodu ve döngünün hiçbir yerinde e-posta olmadan bir kullanıcı adı ve bir paroladan ibarettir — tam olarak sızdırılacak bir kimlik olmasın diye — ve kim olduğunuzu doğrulayamayan bir sağlayıcı, sizi sunucunuza geri de alamaz. Kimse sizin için kefil olamaz. Bu özellik, ürünün tasarlandığı gibi çalışmasıdır ve aşağıdaki güvenlik önlemlerinin öneri değil alışkanlık olmasının nedeni de budur.

Bunlardan dördü hiçbir şeye mal olmaz. SSH'a ya da güvenlik duvarına dokunmadan önce bir anlık görüntü alın, böylece kötü bir yeniden yükleme yeniden inşa değil bir geri alma olsun. Farklı bir cihazdan — bir telefon, bir iş dizüstü bilgisayarı, çevrimdışı bir yedek — ikinci bir genel anahtar kaydedin, çünkü tek diskteki tek bir anahtar, dökülen bir kahveyle hiç anahtarınız kalmamasının arasında yalnızca bir adımdır. İlkini kesebilecek herhangi bir şeyi değiştirirken ikinci bir terminali bağlı tutun ve eskisini bırakmadan önce yeni yapılandırmayı her zaman taze bir bağlantıdan test edin. Ve kurtarma merdiveninin nerede bittiğini kabul edin: anlık görüntüler aynı host üzerinde yaşar ve bir yedek değil bir geri alma kolaylığıdır, dolayısıyla gerçekten özleyeceğiniz her şey host dışı depolamaya aittir — günlük şifrelenmiş yedekler ek özelliği ya da başka bir yere gönderdiğiniz kendi istemci tarafında şifrelenmiş kopyalarınız. En kötü senaryonuz, tamamen kaybolmak değil, dakikalarla ölçülen bir yeniden devreye alma ve geri yükleme olmalıdır.

SP·08

Kutunun ne yaptığına bağlı olarak sırada ne var

Yukarıdaki kontrol listesi taban seviyedir ve her makine için aynıdır. Üzerine ne ekleneceği tamamen işin ne olduğuna bağlıdır. Herkese açık bir web sunucusu; TLS, onu sonlandıran bir reverse proxy, yetkisiz bir kullanıcı olarak çalışan uygulama ve loopback'te ya da tamamen başka bir kutuda bulunan bir veritabanı ister. Bir VPN uç noktası farklı bir şekildir — tek bir UDP portu, web yığını yok, hiç herkese açık hizmet yok — ve kendi WireGuard VPN'inizi kurmak rehberinde baştan sona ele alınır. Bir posta sunucusu üçü arasında en zorlu olanıdır ve her planın dahil ettiği adres üzerinde rDNS kontrolü gerektirir; offshore bir VPS'te postayı kendi barındırma rehberi teslim edilebilirlik yarısını kapsar. Bir Tor rölesi bilerek anonimliğin tam tersidir — yayımlanmış, ulaşılabilir bir hizmettir — ve bu ödünleşimler KYC'siz bir VPS'te röle çalıştırmak rehberinde ortaya konur. Durağan hâldeyken özel durum tutan her şey de şifrelenmelidir; bu, kendi arıza modlarına sahip ayrı bir kontroldür ve LUKS ve uzaktan kilit açma rehberinde ele alınır.

Sertleştirmenin daha büyük resimde nerede durduğuyla bitirmekte fayda var, çünkü bu, birbirinden bağımsız olarak başarısız olan üç katmandan yalnızca biridir. Sağlayıcının sizin hakkınızda bildikleri birincisidir ve burada bu neredeyse hiçbir şeydir: $30.00'den başlayan ön ödemeli bir kripto bakiyesiyle fonlanan bir kullanıcı adı, zincirde ne kart ne belge — barındırma için anonim ödeme yapma konusunun ta kendisi. Hangi hukukun uygulandığı ikincisidir; bu, sizin nerede olduğunuzdan değil, donanımın 6 bölgemizin hangisinde durduğundan belirlenir ve bölge bölge hangi offshore konumu seçmelisiniz? sayfasında ele alınır. Makinenin kendisinin neye izin verdiği ise üçüncüsüdür ve bu, yalnızca size aittir — hiçbir sağlayıcı bunu sizin için yapılandıramaz. $8.00/aydan başlayan bir VPS yaklaşık 15 min içinde çevrimiçi olur; bu da onu izleyen saatin, işin gerçek güvenliğinin karara bağlandığı yer olduğu anlamına gelir. Onu bilerek harcayın.

SP·09

Adım adım

  1. 01

    Devreye alın, sonra her şeyden önce içeri girin

    Panelden devreye alın ve gerçekten güncel tutacağınız bir dağıtım seçin — güncel bir Debian ya da bir Ubuntu LTS, sıkıcı ama doğru cevaptır. Bir VPS yaklaşık 15 min içinde çevrimiçi olur ve root kimlik bilgileri panelinize düşer. Hemen bağlanın, sistemi tamamen güncelleyin ve sonraki günlüklerin okunabilir olması için bir hostname belirleyin. Bu adımların geri kalanı tamamlanana kadar bu kutuda başka hiçbir şey olmaz.

    ssh root@203.0.113.10
    apt update && apt full-upgrade -y
    hostnamectl set-hostname edge-01
    apt install -y ufw unattended-upgrades needrestart
  2. 02

    Root'tan uzaklaşın: isimli bir kullanıcı, bir anahtar ve sudo

    Anahtar çiftini dizüstü bilgisayarınızda oluşturun, asla sunucuda değil. Ardından kutuda isimli bir hesap oluşturun, genel yarıyı onun authorized_keys dosyasına koyun ve ona sudo verin. İkinci bir terminal açın ve şimdi, başka her şeyi değiştirmeden önce, SSH üzerinden root hâlâ bir yedek seçenek olarak çalışırken, o kullanıcı olarak giriş yapın.

    # on your own machine
    ssh-keygen -t ed25519 -C "laptop"
    ssh-copy-id -i ~/.ssh/id_ed25519.pub root@203.0.113.10
    
    # on the server
    adduser --disabled-password --gecos "" ops
    usermod -aG sudo ops
    install -d -m 700 -o ops -g ops /home/ops/.ssh
    cp /root/.ssh/authorized_keys /home/ops/.ssh/
    chown ops:ops /home/ops/.ssh/authorized_keys
    chmod 600 /home/ops/.ssh/authorized_keys
  3. 03

    SSH daemon'unu kilitleyin — ikinci bir terminal açıkken

    Değişiklikleri, hazır gelen yapılandırmayı düzenlemek yerine bir drop-in dosyasına yazın, böylece bir dağıtım yükseltmesi bunları asla sessizce eski haline döndürmesin. Yeniden yüklemeden önce sözdizimini sshd -t ile doğrulayın, yeniden yükleyin, ardından mevcut olan hâlâ hayattayken bunu yepyeni bir bağlantıdan kanıtlayın. Yeni bağlantı başarısız olursa, onu geri almak için hâlâ çalışan bir oturumunuz olur. Bir dağıtım tuzağı: Ubuntu 24.04'te daemon soket üzerinden etkinleştirilir, dolayısıyla sshd_config'deki Port yok sayılır — bunun yerine portu systemctl edit ssh.socket ile ayarlayın, ya da soket birimini devre dışı bırakın.

    cat > /etc/ssh/sshd_config.d/10-hardening.conf <<'EOF'
    Port 2222
    PermitRootLogin prohibit-password
    PasswordAuthentication no
    KbdInteractiveAuthentication no
    AllowUsers ops
    X11Forwarding no
    MaxAuthTries 3
    LoginGraceTime 20
    EOF
    sshd -t && systemctl reload ssh
    # new terminal, do not close the old one:
    ssh -p 2222 ops@203.0.113.10
  4. 04

    Güvenlik duvarını her iki IP ailesinde de varsayılan olarak reddedin

    IPv6'nın ufw'de etkin olduğunu doğrulayın, ardından gelen her şeyi reddedin ve yalnızca bilerek sunduğunuz portları açın — güvenlik duvarını etkinleştirmeden önce izin verilmesi gereken yeni SSH portu dahil. Buradayken gerçekte neyin dinlediğini kontrol edin ve yerel olması gereken her şeyi loopback'e taşıyın.

    grep IPV6 /etc/default/ufw          # must read IPV6=yes
    ufw default deny incoming
    ufw default allow outgoing
    ufw limit 2222/tcp
    ufw allow 80,443/tcp
    ufw enable
    ufw status verbose
    ss -tulpen                           # anything on 0.0.0.0 or :: ?
  5. 05

    Gözetimsiz güvenlik güncellemelerini açın

    Yalnızca güvenlik kanalını etkinleştirin, böylece yamalar bir özellik yükseltmesi uygulamanızı habersizce yeniden başlatmadan devreye girsin. Yeniden başlatma politikasına açıkça karar verin — ve root dosya sistemi şifreliyse ve elle kilit açma gerektiriyorsa otomatik yeniden başlatmaları kapalı bırakın.

    dpkg-reconfigure -plow unattended-upgrades
    cat > /etc/apt/apt.conf.d/51-local <<'EOF'
    Unattended-Upgrade::Automatic-Reboot "false";
    Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
    EOF
    unattended-upgrade --dry-run --debug | tail -20
  6. 06

    Gürültüyü azaltın ve çekirdek ayarlarını sıkılaştırın

    Bir sırrın hâlâ tahmin edilebildiği katmanlar için fail2ban ekleyin ve statik adresli, herkese açık bir sunucuda basitçe doğru olan bir avuç sysctl değerini ayarlayın. Bu ucuzdur ve günlükleri okumaya değer kılar.

    apt install -y fail2ban
    cat > /etc/sysctl.d/99-harden.conf <<'EOF'
    net.ipv4.tcp_syncookies = 1
    net.ipv4.conf.all.rp_filter = 1
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    net.ipv4.conf.all.accept_redirects = 0
    net.ipv6.conf.all.accept_ra = 0
    kernel.kptr_restrict = 2
    EOF
    sysctl --system
  7. 07

    Dışarıdan doğrulayın, sonra kılavuzu yazın

    Kutunun içinden görünüme değil, internetten görünüme güvenin. Eski SSH portunun kaybolduğunu, beklenmedik hiçbir şeyin yanıt vermediğini ve yalnızca anahtarla girişin gerçekten zorunlu kılındığını doğrulayın. Ardından en kötü gününüzde ihtiyaç duyacağınız üç bilgiyi yazıya dökün: ikinci anahtarınızın nerede durduğu, hangi anlık görüntüyü aldığınız ve host dışı yedeğin nerede olduğu.

    # from another machine
    ssh -p 22 ops@203.0.113.10          # must time out or be refused
    ssh -p 2222 -o PreferredAuthentications=password ops@203.0.113.10
    # expected: Permission denied (publickey)
    ssh -p 2222 ops@203.0.113.10 'sudo ufw status verbose; uptime'
SP·10 — SSS

Hızlı yanıtlar

SSH'ı 22 numaralı porttan taşımak sunucuyu gerçekten daha güvenli yapar mı?

Anlamlı bir biçimde değil ve bunu açıkça söylemekte fayda var — adresinizi tarayan herkes yeni portu saniyeler içinde bulur, dolayısıyla sizi hedef alan hiç kimseyi durdurmaz. Gerçekten sağladığı şey günlük hijyenidir: otomatik giriş denemelerinin ezici çoğunluğu yalnızca 22'yi çalar, dolayısıyla oradan taşınmak gürültüyü çarpıcı biçimde azaltır ve gerçekten okuyabileceğiniz bir auth.log bırakır. Bunu bu nedenle, yalnızca anahtarla kimlik doğrulama zorunlu kılındıktan sonra yapın, asla onun yerine değil.

Parola ile giriş devre dışı bırakıldıktan sonra fail2ban'e hâlâ ihtiyacım var mı?

SSH'ın kendisi için değil. PasswordAuthentication no ile kaba kuvvetle denenecek hiçbir şey yoktur ve kaç kez tekrarlanırsa tekrarlansın her deneme ilk pakette başarısız olur. Tahmin edilebilir bir sırrın hâlâ var olduğu bir katman yukarıda gerçekten faydalı kalır: bir web uygulamasının giriş formu, bir posta sunucusundaki SMTP AUTH, numaralandırılan bir yönetici yolu. Onu, sizinle bir ele geçirilme arasında duran şey olarak değil, uygulama katmanı için ve günlükleri okunaklı tutmak için bir araç olarak görün.

Kendimi VPS'imin dışında bıraktım — destek beni yeniden içeri alabilir mi?

Hayır — ve bu, gevşetebileceğimiz bir politikadan değil, tasarımın bir sonucudur. Buradaki hesaplar, döngünün hiçbir yerinde e-posta, isim ya da belge olmadan bir parola ve sekiz kurtarma koduna sahip bir kullanıcı adından ibarettir — dolayısıyla doğrulanacak bir kimlik ve bir makinenin sizin olduğunu kanıtlayabilecek bant dışı bir kanal yoktur. Bunun yerine kendinizi önceden koruyun: SSH'a ya da güvenlik duvarına dokunmadan önce bir anlık görüntü alın, authorized_keys'de farklı bir cihazdan ikinci bir anahtar bulundurun, onu taşıyan oturumu değiştirirken çalışan bir oturumu asla kapatmayın ve yeniden devreye alma ve geri yüklemenin her zaman bir seçenek olması için host dışı yedekler tutun.

Sunucu güvenlik duvarı yeterli mi, yoksa DDoS korumasına ihtiyacım var mı?

Farklı sorunları çözerler. Bir host güvenlik duvarı hassasiyettir — hangi hizmetlerin var olduğuna karar verir — ama hacme karşı hiçbir işe yaramaz, çünkü bir trafik seli, paketler kurallarınıza hiç ulaşmadan çok önce ağ bağlantısını doyurur. 1.5 Tbps'a kadar L3/L4 trafik temizlemenin yukarı akışta yer alması ve ek satış olarak değil her planda dahil olarak sunulmasının nedeni de budur; sıradan istekler gibi görünerek gelen uygulama katmanı sellerine karşı isteğe bağlı bir L7 kalkanıyla birlikte. Host güvenlik duvarını doğruluk için yapılandırın ve bant genişliğini ağın emmesine izin verin.

Sertleştirilmiş bir kutu için hangi işletim sistemini seçmeliyim?

Gerçekten güncel tutacağınız olan. Güncel bir Debian stable ya da bir Ubuntu LTS pragmatik varsayılandır: uzun destek pencereleri, öngörülebilir bir takvimde gelen güvenlik güncellemeleri ve bu rehberdeki her aracın paketlenmiş ve test edilmiş olması. Hepsi, AlmaLinux, Rocky, Fedora, Alpine, Arch, FreeBSD ve Windows Server ile birlikte devreye alma sırasında mevcuttur. VPS planları KVM tam sanallaştırma olduğundan kendi çekirdeğinizi çalıştırırsınız, dolayısıyla burada hiçbir şey platform tarafından sınırlanmaz — seçim, bizim izin verdiğimiz şeyle değil, sizin güncelleme alışkanlıklarınızla ilgilidir.

Root hesabını tamamen devre dışı bırakmalı mıyım?

SSH üzerinden root girişini devre dışı bırakın — evet, sudo yetkili isimli bir hesabın çalıştığı kanıtlandıktan sonra. Hesabın kendisini silmek ya da kilitlemek, bazı kurtarma yollarını ve birkaç paketi bozan, farklı ve daha agresif bir hamledir; ve uzaktan root olarak kimse kimlik doğrulayamadığında zaten pek bir şey kazandırmaz. Makul orta yol, siz hâlâ inşa ederken PermitRootLogin prohibit-password, sudo yoluna güvendiğinizde ise PermitRootLogin no'dur — ve gelecekteki hiçbir hesabın planlanmamış bir kapıya dönüşmemesi için bir AllowUsers satırı.

Pratiğe dökün

VPS 15 min içinde çevrimiçi, özel sunucu 2–12 h içinde teslim edilir. $30.00'den kripto ile yükleyin — kimlik bağlı değil.

VPS dağıt