İçeriğe geç
Rehber

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.

Bir bakışta

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
Kontrol listesi

İ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-upgrade

AlmaLinux, 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 alex

RHEL 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.conf
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes

Sö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 enable

RHEL 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.

Bunlardan kaçının

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ılar

iOS 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ılar

Web sitesini kesintisiz taşıyın

Dosyalar, veritabanları, DNS, SSL ve e-posta için adım adım bir plan.

Ayrıntılar

Yeni 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ılar

Veri 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ılar
SSS

Sı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.

Şifre Oluştur

Lütfen onaylayın