Yeni bir Linux sunucu ilk saatte nasıl güvenli hale getirilir
Yeni bir sunucu açıldığı anda internetten erişilebilir olur. Bu adımlar, başka bir şey kurmadan önce en yaygın açıkları kapatır. Komutlar Ubuntu ve Debian için verilmiştir; AlmaLinux, Rocky Linux ve diğer RHEL ailesi sistemler için notlar da vardır.
Kısa cevap
Sistemi güncelleyin, sudo yetkili kendi kullanıcınızı oluşturun ve SSH anahtarıyla giriş yapın; ardından SSH üzerinden şifreyle ve root ile girişi kapatın. Güvenlik duvarında yalnızca ihtiyacınız olan portlara izin verin, otomatik güvenlik güncellemelerini açın ve en az bir kez geri yüklediğiniz yedekler kurun.
- Önce tüm güncellemeleri kurun
- root olarak değil, sudo kullanıcısı olarak çalışın
- Şifre yerine SSH anahtarları
- Varsayılan olarak reddeden bir güvenlik duvarı
- Otomatik güvenlik güncellemeleri
- Test ettiğiniz yedekler
İlk saat kontrol listesi
Adımları bu sırayla uygulayın. Her biri aşağıda açıklanmıştır.
1. Sistemi güncelleyin
Bekleyen tüm güncellemeleri kurun ve çekirdek değiştiyse yeniden başlatın.
2. Bir sudo kullanıcısı oluşturun
Günlük işleri adı belli bir kullanıcıyla yapın, yönetim için sudo kullanın.
3. SSH anahtarınızı ekleyin
Bilgisayarınızda bir Ed25519 anahtarı oluşturun ve genel anahtarı sunucuya kopyalayın.
4. Şifreyle ve root ile girişi kapatın
Yalnızca SSH anahtarlarına izin verin ve doğrudan root girişini durdurun.
5. Güvenlik duvarını açın
Gelen trafiği varsayılan olarak reddedin; SSH'a ve çalıştırdığınız hizmetlere izin verin.
6. Otomatik güvenlik güncellemelerini açın
Sunucunun güvenlik düzeltmelerini kendi kendine kurmasına izin verin.
7. Saati ve hizmetleri kontrol edin
Saati eşitlenmiş tutun ve kullanmadığınız hizmetleri kapatın.
8. Yedek alın ve geri yüklemeyi test edin
Kopyaları sunucudan uzakta tutun ve geri yükleyebildiğinizi kanıtlayın.
1. Sistemi güncelleyin
Aşağıdaki komutlar sudo yetkisi olan bir kullanıcı varsayar; hâlâ root olarak oturum açtıysanız sudo kısmını yazmayın. Tamamen güncellenmiş bir sistemle başlayın. Ubuntu ve Debian'da:
sudo apt update
sudo apt full-upgradeAlmaLinux, Rocky Linux ve diğer RHEL ailesi sistemlerde sudo dnf upgrade komutunu çalıştırın. Çekirdek güncellendiyse yeniden başlatın.
2. sudo yetkili bir kullanıcı oluşturun
root olarak çalışmak her yazım hatasını sistem genelinde bir riske dönüştürür. Kendi kullanıcınızı oluşturun ve ona yönetici yetkisi verin:
adduser alex
usermod -aG sudo alexRHEL ailesi sistemlerde yönetici grubu wheel'dir: kullanıcıyı useradd -m alex ile oluşturun, passwd alex ile şifre belirleyin ve usermod -aG wheel alex komutunu çalıştırın.
3. SSH anahtarıyla giriş yapın
Kendi bilgisayarınızda bir anahtar çifti oluşturun ve genel anahtarı yeni kullanıcıya kopyalayın. Özel anahtar bilgisayarınızda kalır; onu bir parolayla koruyun.
ssh-keygen -t ed25519
ssh-copy-id [email protected]Başka bir şeyi değiştirmeden önce yeni bir terminal açın ve ssh [email protected] komutunun sizi anahtarla giriş yaptırdığını doğrulayın.
4. Şifreyle ve root ile girişi kapatın
SSH ayarlarınızı ayrı bir dosyaya yazın. OpenSSH her seçenek için okuduğu ilk değeri kullanır ve güncel Ubuntu, Debian ve RHEL ailesi sürümleri /etc/ssh/sshd_config.d/ içindeki dosyaları ana yapılandırmanın geri kalanından önce okur; bu yüzden adı sıralamada ilk gelen dosya geçerli olur:
sudo nano /etc/ssh/sshd_config.d/00-hardening.confPermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yesSözdizimini sudo sshd -t ile kontrol edin ve gerçekten geçerli olan ayarları sudo sshd -T ile listeleyin. Ardından hizmeti yeniden başlatın: Ubuntu ve Debian'da sudo systemctl restart ssh, RHEL ailesi sistemlerde sudo systemctl restart sshd. Mevcut oturumunuzu açık tutun ve ikinci bir terminalde yeni bir girişi test edin; böylece bir hata sizi dışarıda bırakamaz.
5. Güvenlik duvarını açın
Kendi bağlantınızı kesmemek için önce SSH'a izin verin, sonra güvenlik duvarını açın. Ubuntu'da UFW varsayılan olarak kuruludur; Debian'da sudo apt install ufw ile kurun.
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enableRHEL ailesi sistemlerde genellikle firewalld kullanılır ve varsayılan bölgesinde SSH'a izin verilir: bir hizmeti sudo firewall-cmd --permanent --add-service=https ile açın ve sudo firewall-cmd --reload ile uygulayın. Yalnızca gerçekten çalıştırdığınız hizmetlerin portlarını açın. SSH'ı başka bir porta taşımak kayıtlardaki gürültüyü azaltır ama tek başına koruma sağlamaz; koruyan şey anahtarlar ve güvenlik duvarıdır.
6. Otomatik güvenlik güncellemeleri
Ubuntu unattended-upgrades paketini varsayılan olarak kurar ve güvenlik güncellemelerini otomatik uygular; etkin olduğunu sudo dpkg-reconfigure -plow unattended-upgrades ile doğrulayın. Debian'da önce aynı paketi kurun. RHEL ailesi sistemlerde dnf-automatic paketini kurun, /etc/dnf/automatic.conf dosyasında apply_updates = yes ayarlayın ve sudo systemctl enable --now dnf-automatic.timer ile etkinleştirin. Yeni bir çekirdek gibi bazı güncellemeler yalnızca yeniden başlatmadan sonra devreye girer; bu yüzden düzenli bir bakım zamanı planlayın.
7. Saat, hizmetler ve tekrarlanan giriş denemeleri
Saati doğru tutun, çünkü kayıtlar, sertifikalar ve iki adımlı doğrulama kodları ona bağlıdır: timedatectl zaman eşitlemesinin etkin olup olmadığını gösterir. Ağı dinleyen hizmetleri sudo ss -tulpn ile listeleyin ve ihtiyacınız olmayanları devre dışı bırakın. Hâlâ şifre kabul eden hizmetlere yönelik şifre tahminlerini yavaşlatmak için Fail2ban gibi bir araç, tekrar tekrar başarısız olan adresleri engelleyebilir.
8. Geri yükleyebileceğiniz yedekler
Bir yedek ancak onu geri yüklediğinizde kanıtlanmış olur. 3-2-1 fikrini izleyin: verilerinizin iki farklı depolama türünde üç kopyası ve bunlardan birinin sunucudan uzakta olması. Paketiniz anlık görüntü sunuyorsa riskli değişikliklerden önce bir anlık görüntü alın, düzenli veritabanı dökümlerini ve dosya yedeklerini başka bir konuma planlayın ve çalıştığını kontrol etmek için birini bir test sistemine geri yükleyin.
Sık yapılan hatalar
Kendinizi dışarıda bırakmak
İlk oturumu kapatmadan önce her SSH veya güvenlik duvarı değişikliğini ikinci bir oturumda test edin.
Şifreyle girişi açık bırakmak
Otomatik betikler internetin her yerindeki sunuculara yaygın şifreleri dener.
Her şeyi root olarak çalıştırmak
Her uygulamaya yalnızca ihtiyaç duyduğu yetkilere sahip kendi kullanıcısını verin.
Test portlarını açık bırakmak
İşiniz bitince geçici portları ve yönetim panellerini kapatın ya da yalnızca kendi IP adresinize sınırlayın.
Güncellemeleri atlamak
Birçok saldırı, düzeltmesi zaten bulunan bilinen açıkları kullanır.
Test edilmemiş yedekler
Düzenli olarak geri yükleyin: geri yüklenemeyen bir yedek sizi korumaz.
Tam root erişimli Linux sunucular
-
Linux VPS Hosting
Linux VPS Hosting grants you more control and freedom with virtual private servers, particularly suited for Linux-based projects, offering excellent performance and customization.
Başlangıç fiyatı $3.33/ay -
Linux VDS Hosting
Linux VDS Hosting is scalable and high-performance, utilizing virtual dedicated servers to cater to your Linux-based projects.
Başlangıç fiyatı $23.76/ay -
Nested Dedicated Server Hosting
Nested Dedicated Servers provide dedicated server performance within a virtual environment, offering scalability and cost-efficiency.
Başlangıç fiyatı $43.89/ay -
America Dedicated Server Hosting
With Dedicated Server Hosting, you have exclusive access to a physical server, providing high performance and customization options.
Başlangıç fiyatı $90.00/ay
Diğer rehberler
VPS, VDS ve dedicated sunucu karşılaştırması
Her terimin anlamı, bir VPS'i ne zaman aştığınızı nasıl anlayacağınız ve fiziksel sunucunun ne zaman değdiği.
AyrıntılariOS CI için macOS sunucu seçimi
Xcode ve macOS sürümleri, Apple silicon, boyutlandırma, kod imzalama ve Apple'ın lisans kuralları.
AyrıntılarWeb sitesini kesintisiz taşıyın
Dosyalar, veritabanları, DNS, SSL ve e-posta için adım adım bir plan.
AyrıntılarYeni bir alan adı için DNS temelleri
Ad sunucuları, kayıtlar, TTL ve her alan adının ihtiyaç duyduğu e-posta kayıtları.
AyrıntılarVeri merkezi lokasyonu seçin
Mesafenin nasıl gecikmeye dönüştüğü, nasıl ölçüleceği ve veri kurallarının lokasyon için ne anlama geldiği.
AyrıntılarSıkça sorulan sorular
SSH portunu değiştirmeli miyim?
Kayıtlarınızdaki otomatik gürültüyü azaltır, ancak hedefli bir saldırganı durdurmaz. Sunucuyu yalnızca anahtarla kimlik doğrulama, kapatılmış root girişi ve güvenlik duvarı korur. Portu değiştirirseniz önce yeni porta güvenlik duvarında izin verin.
Yalnızca SSH ve bir web sunucusu çalışıyorsa güvenlik duvarı gerekir mi?
Evet. Varsayılan olarak reddeden bir güvenlik duvarı sizi daha sonra kurduğunuz veya unuttuğunuz hizmetlere karşı korur ve erişilebilen yerleri seçtiğiniz portlarla sınırlı tutar.
SSH'a iki adımlı doğrulama nasıl eklerim?
ed25519-sk gibi bir OpenSSH anahtar türüyle donanım güvenlik anahtarı ya da PAM için tek kullanımlık şifre modülü kullanın. Test edilmiş yedek bir giriş yolunu hazır tutun.
SSH anahtarımı kaybedersem ne olur?
Paketiniz sunuyorsa müşteri panelindeki sunucu konsolundan giriş yapın ya da destekle iletişime geçin. Ardından yeni bir genel anahtar ekleyin ve kaybettiğiniz anahtarı ~/.ssh/authorized_keys dosyasından silin.
Hangi Linux dağıtımını seçmeliyim?
Zaten bildiğiniz bir dağıtım ya da Ubuntu LTS, Debian veya AlmaLinux gibi uzun süreli destek sürümü. Sipariş formu her paket için sunulan imajları listeler.
Sipariş öncesi sorularınız mı var?
Bize mesaj gönderin, ekibimiz doğru hizmeti seçmenize yardımcı olsun.