Yeni VPS ilk 10 dakika güvenlik ayarları nasıl yapılır
Yeni bir VPS hemen hedef olur. Bu 10 dakikalık rehberle kullanıcı oluşturun, SSH anahtarlarını ayarlayın, root girişini kapatın ve güvenlik duvarını etkinleştirin.
Sunucunuzun ne kadar güvenli olacağını ilk 10 dakika belirler
Yeni bir VPS güvenli değildir. Genel bir IP'ye sahip olduğu andan itibaren tarayıcılar oturum açmaya çalışır ve varsayılan imaj onlara büyük bir hedef sunar: root genellikle erişilebilir, parolalara genellikle izin verilir, güvenlik duvarı yoktur, hiçbir şey bir zamanlamaya göre yamalanmaz. İyi haber şu ki, tüm bunları kapatmak yaklaşık on dakika ve bir avuç komut alır. Bu, herhangi bir şey koymadan önce her yeni sunucuda çalıştırdığım işlem kitapçığıdır.
Adımlar birbirinin üzerine inşa edildiği için sırayla ilerleyin. Her birinin, ilerledikçe bağlantısı verilen kendi rehberi vardır; bu sayfa, onları birbirine bağlayan hızlı yoldur.
Dakika 1: Her şeyi güncelleyin
Sağlayıcınızın verdiği kimlik bilgileriyle root olarak oturum açın ve başka hiçbir şey yapmadan önce sistemi tamamen güncelleyin:
apt update && apt upgrade -yYama uygulanmamış bir sunucu en kolay hedeftir, bu yüzden bu ilk sırada gelir. İşlem tamamlandığında, sizin hatırlamanıza gerek kalmadan yamalı kalması için otomatik güvenlik güncellemelerini ayarlayın.
Dakika 2: sudo yetkili normal bir kullanıcı oluşturun
Root olarak çalışmaya devam etmeyin. Kendiniz için bir kullanıcı oluşturun ve sudo yetkisi verin:
adduser matt
usermod -aG sudo mattBu noktadan sonra bu kullanıcıyla oturum açın ve yönetici görevleri için sudo kullanın. Sürekli root olarak çalışmak, her hatanın ve her ihlalin sınırsız yetkiyle gerçekleşmesi anlamına gelir; ayrıcalıksız kullanıcı olarak çalışma uygulaması tam olarak bunu önlemek için vardır.
Dakika 4: SSH anahtarlarını kurma
Parolalar tahmin edilebilir; anahtarlar edilemez. Kendi dizüstü bilgisayarınızda, henüz bir anahtarınız yoksa bir tane oluşturun:
ssh-keygen -t ed25519Ardından genel yarıyı sunucuya kopyalayın:
ssh-copy-id matt@YOUR_SERVERssh-copy-id işlemi, yeni kullanıcı için parola girişinin açık olmasını gerektirir; zaten kapalıysa, root kullanıcısının ~/.ssh/authorized_keys dosyasını /home/matt/.ssh/authorized_keys içine (sahibi matt olacak şekilde) kopyalayın veya genel anahtarınızı bu dosyaya elle yapıştırın.
Bu adımın arkasındaki model, cihaz başına bir anahtar, anahtar girişini bozan izinler ve kayıp bir anahtarı iptal etme konuları SSH anahtar yönetimi temelleri bölümünde ele alınmıştır.
matt kullanıcısı olarak anahtarı kullanarak çıkış yapıp tekrar giriş yapın ve bir sonraki adıma geçmeden önce çalıştığını doğrulayın. Anahtarla giremeden SSH'ı kilitlemek, insanların kendilerini dışarıda bırakma şeklidir.
Dakika 6: root girişini ve parolaları kapatın
Anahtarınız çalıştığına göre, tarayıcıların dayandığı iki kapıyı kapatın. Paket güncellemelerinin üzerine yazmaması için bir drop-in dosyası kullanın. Dosyayı 00- olarak adlandırın ki, Ubuntu bulut imajlarının PasswordAuthentication yes ile birlikte sunduğu 50-cloud-init.conf dosyasından önce sıralansın; sshd okuduğu ilk değeri saklar, bu yüzden daha sonra sıralanan bir dosya sessizce kaybederdi:
sudo nano /etc/ssh/sshd_config.d/00-hardening.confPasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin noArdından SSH'ı yeniden yükleyin:
sudo systemctl restart sshSonra sshd'nin gerçekte kullandığı ayarları kontrol edin, böylece kaybeden bir drop-in sizi yanıltamaz:
sudo sshd -T | grep -Ei 'passwordauthentication|permitrootlogin'Parolalar kapalı ve root girişi kalkmışken, sunucunuza yönelik sürekli kaba kuvvet trafiği başarılı olamaz. İsteğe bağlı bir port değişikliği de dahil olmak üzere tam uygulama VPS'te SSH sağlamlaştırması bölümünde yer alır.
Dakika 8: Güvenlik duvarını etkinleştirin
Gelen tüm trafiği varsayılan olarak reddedin, ardından yalnızca ihtiyacınız olana izin verin. Etkinleştirmeden önce SSH'a izin verin, yoksa kendi bağlantınızı kesersiniz:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableWeb sitesi gibi gerçekten çalıştırdığınız her hizmet için allow kuralları ekleyin, örneğin 80/tcp ve 443/tcp. Hem IPv4 hem de IPv6'nın kapsandığını kontrol edin, çünkü yalnızca IPv4'ü filtreleyen bir güvenlik duvarı IPv6 tarafını tamamen açık bırakır. Tam adım adım kılavuz için Bir VPS'te Güvenlik Duvarları 101 bölümüne bakın.
Dakika 10: Tarayıcıları Fail2ban ile Yavaşlatın
Son olarak, bağlantı noktalarınızı tarayan adresleri uzaklaştırmak için Fail2ban'i ekleyin:
sudo apt install -y fail2banUbuntu 24.04'te varsayılan kurulum, ilk başlatmadan itibaren SSH'yi korur. Anahtarlar zaten zorunlu olduğundan, bu, asıl savunmanız olmaktan çok, günlük gürültüsünü azaltan ve tekrarlayan saldırganları engelleyen bir destek önlemidir.
Kontrol listeniz
Bu, işlem kılavuzudur. Her bir kontrolü işaretlemek ve sunucuyla birlikte saklayabileceğiniz, her adım için tam komutu içeren kişiselleştirilmiş bir liste oluşturmak için aşağıdaki üreticiyi kullanın:
Her yeni sunucu için bir kez üzerinden geçin ve tüm süreç kas hafızasına dönüşür. Şimdi harcanan on dakika, bir sunucunun ele geçirilmesini takip eden çok kötü bir öğleden sonrayı önler.
Temel unsurlar yerleştirildikten sonra, Ubuntu'da otomatik güvenlik güncellemeleri, siz tekrar oturum açmadan sunucuyu güncel tutar.
FAQ
Yeni bir VPS'te ilk olarak ne yapmalıyım?
Sistemi apt update && apt upgrade -y ile güncelleyin, ardından sudo yetkisine sahip normal bir kullanıcı oluşturun ve root olarak çalışmayı bırakın. Buradan sonra SSH anahtarlarını kurun, root girişini ve parola ile kimlik doğrulamayı devre dışı bırakın, varsayılanı reddet olan bir güvenlik duvarını etkinleştirin ve Fail2ban kurun. Bunları bu sırayla yapmak, her adımın kendinizi kilitlemeden güvenle atılabilmesini sağlar.
SSH'ı güçlendirirken kendimi kilitlemekten nasıl kaçınırım?
Parolaları veya root girişini devre dışı bırakmadan önce SSH anahtar girişinizi kurun ve test edin. Anahtar ile çıkış yapıp tekrar giriş yaparak çalıştığını doğrulayın ve ancak ondan sonra PasswordAuthentication ve PermitRootLogin ayarlarını kapatın. Güvenlik duvarını etkinleştirdiğinizde, ufw enable komutunu çalıştırmadan önce 22 numaralı bağlantı noktasına izin verin. Kilitlenirseniz, sağlayıcınızın web konsolu SSH olmadan tekrar giriş yapmanızı sağlar.
Küçük bir sunucuda gerçekten bunların hepsine ihtiyacım var mı?
Evet, çünkü tarayıcılar sunucunuzun ne kadar küçük olduğunu umursamaz. Her genel IP adresini aynı şekilde denerler. Tüm bu işlem listesi yaklaşık on dakika sürer ve kolay yolları ortadan kaldırır: root girişi yok, parola tahmini yok, sizin seçmediğiniz hiçbir şey açıkta değil ve bilinen hatalar otomatik olarak yamalanır.
En önemli tek adım hangisidir?
Root girişi devre dışı bırakılmış, yalnızca anahtarla SSH. Yeni bir VPS'e yapılan saldırıların çoğu root'a karşı otomatik parola tahminleridir ve her ikisini de kapatmak bu saldırı kategorisini tamamen imkansız hale getirir. Güvenlik duvarı ve Fail2ban daha sonra açıkta kalanları sınırlar ve geriye kalanları yavaşlatır.
Sunucunun gerçekten kilitlendiğini nasıl doğrularım?
Güvenmeden önce elle üç şeyi kontrol edin. sudo ss -tlnp komutunu çalıştırın ve unuttuğunuz bir 0.0.0.0 veya [::] hizmeti olmadan, yalnızca açmayı amaçladığınız bağlantı noktalarının genel bir adreste dinlediğini doğrulayın. sudo ufw status verbose komutunu çalıştırın ve varsayılan gelen politikasının deny olduğunu ve hem düz hem de (v6) kurallarının mevcut olduğunu doğrulayın. Ve her zaman ilk SSH oturumunu kapatmadan önce ikinci bir SSH oturumu açın, böylece SSH yapılandırmasındaki bir hata sizi sunucudan kilitleyemez. Üçü de doğru görünüyorsa, temel önlemler yerindedir.