Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bölüm
Güvenlik Linux

Linux Sunucularında Varsayılan Olarak Devre Dışı Bırakılan Nedir (Ve Neden Önemlidir)

Yeni bir Linux sunucusu sağladığınızda — ister bir VPS, ister bir dedicated server, ister bulut tabanlı bir sanal makine olsun — sistem kasıtlı olarak minimalist ve sertleştirilmiş bir ortama önyüklenir. Bu bir gözetim hatası veya eksik bir kurulum değildir. Bu, her büyük Linux dağıtımına gömülü kasıtlı bir tasarım felsefesidir.

Modern Linux sunucu yapıları, saldırı yüzeyini en aza indirmek, sistem kaynaklarını korumak ve yöneticilere altyapılarında neyin çalıştığı konusunda kesin kontrol vermek için gereksiz hizmetleri, protokolleri ve arayüzleri ortadan kaldırır. Varsayılan olarak devre dışı bırakılanları — ve neden — anlamak, herhangi bir sistem yöneticisi, DevOps mühendisi veya üretim iş yüklerini yöneten geliştirici için temel bilgidir.

Bu kılavuz, Linux sunucularında varsayılan olarak devre dışı bırakılan veya eksik olan en yaygın özellikleri ve hizmetleri analiz eder, her kararın arkasındaki güvenlik ve operasyonel mantığını açıklar ve kendi sisteminizde her ayarı doğrulamak için tam olarak nasıl yapacağınızı gösterir.

Neden "Varsayılan Olarak Devre Dışı" Bir Güvenlik Stratejisidir, Sınırlama Değil

Burada işe koşulan ilke genellikle "varsayılan olarak güvenli, seçime bağlı olarak genişletilebilir" olarak adlandırılır. Modern Linux dağıtımları, tam özellikli bir sistem göndererek yöneticilerin bunu kilitlemesine güvenmek yerine, kilitli bir sistem göndererek yöneticilerin yalnızca ihtiyaç duydukları şeyleri etkinleştirmesine güvenirler.

Bu yaklaşım, yanlış yapılandırmanın riskini doğrudan azaltır — sunucu ihlallerinin önde gelen nedenlerinden biri. Çalışmayan her hizmet, istismar edilemeyen bir hizmettir. Etkinleştirilmeyen her protokol, kesilemeyen bir protokoldür. Var olmayan her açık port, saldırganların araştıramayacağı bir giriş noktasıdır.

Bu bağlam kurulduktan sonra, her varsayılan kısıtlamayı ayrıntılı olarak inceleyelim.

1. Root SSH Girişi

Durum: Neredeyse tüm modern Linux sunucu dağıtımlarında varsayılan olarak devre dışı

SSH üzerinden doğrudan root girişi, çağdaş Linux sunucu yapılarında evrensel olarak devre dışıdır — ve çok iyi bir nedeni vardır. Uzaktan root erişimine izin vermek, tek bir felaket başarısızlık noktası oluşturur: bir tehlikeye atılan şifre, saldırgana tüm sistem üzerinde tam, sınırsız kontrol verir.

Doğru iş akışı, ayrıcalıklı olmayan bir kullanıcı olarak oturum açmak ve sudo veya su kullanarak ayrıcalıkları yalnızca gerektiğinde yükseltmektir. Bu, bir denetim izi oluşturur, kimlik bilgisi hırsızlığının etki alanını sınırlar ve ayrıcalıklı komutları yürütmeden önce kasıtlı bir eylem gerektirir.

Nasıl doğrulanır:

grep PermitRootLogin /etc/ssh/sshd_config

Düzgün şekilde sağlamlaştırılmış bir sunucuda beklenen çıktı:

PermitRootLogin no

PermitRootLogin yes veya PermitRootLogin prohibit-password görürseniz, SSH yapılandırmanızı hemen gözden geçirin ve kuruluşunuzun güvenlik politikasıyla uyumlu hale getirin.

En iyi uygulama:

Adanmış bir yönetici kullanıcı oluşturun, bunu sudo grubuna ekleyin ve herhangi bir herkese açık hizmeti dağıtmadan önce PermitRootLogin no ayarlandığından emin olun.

2. SSH’de Parola Kimlik Doğrulaması

Durum: Çoğu bulut tarafından sağlanan sunucularda varsayılan olarak devre dışı

Birçok bulut platformunda ve yönetilen barındırma ortamında, SSH parola kimlik doğrulaması sağlama sırasında tamamen devre dışı bırakılır. SSH anahtar çiftleri, kabul edilen tek kimlik doğrulama mekanizmasıdır.

Bu önemli bir güvenlik iyileştirmesidir. Parola kimlik doğrulaması, brute-force saldırılarına, kimlik bilgisi doldurma saldırılarına ve sözlük saldırılarına karşı savunmasızdır. SSH anahtarları — özellikle bir parola korumalı olduğunda — mevcut teknoloji ile brute-force saldırısına karşı hesaplama açısından imkansızdır.

Geleneksel ISO tabanlı kurulumlar varsayılan olarak parola girişlerine izin verebilir, ancak en iyi uygulama, anahtar tabanlı kimlik doğrulama kurulduktan hemen sonra bunları devre dışı bırakmaktır.

Nasıl doğrulanır:

grep PasswordAuthentication /etc/ssh/sshd_config

Beklenen çıktı:

PasswordAuthentication no

Parola kimlik doğrulamasını devre dışı bırakma:

/etc/ssh/sshd_config dosyasını düzenleyin ve şunu ayarlayın:

PasswordAuthentication no
PubkeyAuthentication yes

Ardından SSH daemon’ı yeniden yükleyin:

# Ubuntu/Debian
sudo systemctl reload ssh

# RHEL/AlmaLinux/Rocky Linux
sudo systemctl reload sshd

> Uyarı: Parola kimlik doğrulamasını devre dışı bırakmadan önce SSH anahtarınızın çalıştığını her zaman doğrulayın, aksi takdirde sunucunun dışında kalma riskiniz vardır.

3. Eski ve Açık Metin Ağ Protokolleri

Durum: Modern sunucu derlemelerinde yok

Telnet, FTP, Rlogin ve Rsh gibi hizmetler modern Linux sunucu görüntülerine yüklenmez. Bu protokoller şifrelemenin bir öncelik olmadığı bir dönemde tasarlanmıştır. Kimlik bilgilerini, komutları ve verileri düz metin olarak iletirler — bu da onları istemci ile sunucu arasındaki herhangi bir ağ segmentinde bir paket sniffer ile önemsiz bir şekilde yakalanması kolay hale getirir.

Bu protokoller güvenli alternatifler tarafından yerini almıştır:

Eski ProtokolGüvenli Değiştirme
Telnet (port 23)SSH (port 22)
FTP (port 21)SFTP veya FTPS
Rlogin / RshSSH

Eski hizmetlerin çalışmadığını doğrulamak için:

ss -tulnp

Çıktıda 21 (FTP) veya 23 (Telnet) portları görünmüyorsa, bu hizmetler etkin değildir. Görünüyorlarsa, hemen araştırın ve belirli, haklı bir gereklilik olmadığı sürece bunları kaldırın veya devre dışı bırakın.

4. Graphical User Interfaces (GUI)

Durum: Sunucu sürümlerinde yüklü değil

Sunucu dağıtımları — Ubuntu Server, Debian, AlmaLinux, Rocky Linux ve CentOS Stream dahil — GNOME, KDE Plasma veya XFCE gibi grafik masaüstü ortamları ile birlikte gelmez. Bu kasıtlı ve iyi gerekçelendirilmiş bir seçimdir.

Bir GUI ortamı:

  • İş yüklerine ayrılması gereken önemli miktarda RAM ve CPU kaynağı tüketir
  • Her biri potansiyel bir güvenlik açığını temsil eden çok sayıda ek yazılım paketi sunar
  • SSH üzerinden komut satırı aracılığıyla gerçekleştirilen sunucu yönetimi için tamamen gereksizdir

Beklenti açıktır: sunucular CLI aracılığıyla yönetilir. Bir üretim sunucusunda grafik bir arayüz istediğinizi fark ederseniz, bu genellikle bir işlemin veya iş akışının yeniden değerlendirilmesi gerektiğinin bir göstergesidir.

> Not: VPS Control Panels — cPanel, Plesk veya DirectAdmin gibi — sunucuya tam bir masaüstü ortamı yüklenmesini gerektirmeden web tabanlı grafik yönetim arayüzleri sağlar.

5. Geliştirme Araç Zincirleri ve Derleyiciler

Durum: Minimal sunucu görüntülerinde yüklü değil

gcc gibi derleyiciler ve make, cmake ve autoconf gibi derleme yardımcı programları, çoğu minimal Linux sunucu görüntüsünde kasıtlı olarak bulunmamaktadır. Bunun nedeni iki yönlüdür:

  1. Azaltılmış görüntü boyutu: Minimal görüntüler daha hızlı dağıtılır, yedeklenmesi daha kolaydır ve daha az kaynak tüketir.
  2. Güvenlik sertleştirmesi: Bir saldırgan sunucuya erişim sağlarsa, derleyicinin olmaması onları kötü amaçlı ikili dosyaları veya istismar kodunu doğrudan sistemde derlemekten alıkoyar. Bu, birçok saldırı zincirinde anlamlı bir engeldir.

Nasıl doğrulanır:

gcc --version

Araç zinciri yüklü değilse, şunu göreceksiniz:

-bash: gcc: command not found

Gerekirse nasıl yüklenir:

# Ubuntu/Debian
sudo apt update && sudo apt install build-essential

# RHEL/AlmaLinux/Rocky Linux
sudo dnf groupinstall "Development Tools"

Geliştirme araçlarını yalnızca derlemenin gerçek bir operasyonel gereksinim olduğu sunuculara (derleme sunucuları veya geliştirme ortamları gibi) yükleyin ve üretim uygulaması veya veritabanı sunucularına yüklemeyi önleyin.

6. ICMP (Ping Yanıtları)

Durum: İşletim sistemi düzeyinde varsayılan olarak etkindir; ağ/güvenlik duvarı düzeyinde sıklıkla kısıtlanır

Linux sunucuları varsayılan olarak işletim sistemi düzeyinde ICMP echo isteklerine (ping) yanıt verir. Ancak, birçok hosting sağlayıcısı ve bulut platformu ICMP’yi ağ güvenlik duvarı veya güvenlik grubu düzeyinde engeller, bu da sunucuları tamamen işlevsel olsalar bile ping’e ulaşılamaz hale getirir.

ICMP yanıtlarını bastırmak, bir sunucuyu ağ keşif taramaları sırasında daha az keşfedilebilir hale getirir. Ancak, bu aynı zamanda meşru izleme ve tanılamayı da karmaşıklaştırır — ping ve traceroute gibi araçlar düzgün çalışmak için ICMP’ye bağlıdır.

Test etme şekli:

ping your_server_ip

Gerekirse iptables kullanarak işletim sistemi düzeyinde ICMP’yi engelleme:

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

ICMP’yi engelleme kararı, izleme ve sorun giderme iş akışlarına yönelik operasyonel maliyete karşı marjinal güvenlik faydası tartılarak bilinçli bir şekilde alınmalıdır.

7. IPv6

Durum: Çoğu dağıtımda varsayılan olarak etkindir; sağlayıcı düzeyinde kısıtlanabilir

IPv6, Ubuntu, Debian, Fedora ve RHEL türevleri dahil olmak üzere modern Linux dağıtımlarında varsayılan olarak etkindir. Ancak, birçok barındırma sağlayıcısı, altyapıları bunu desteklemiyorsa IPv6’yı ağ düzeyinde devre dışı bırakır; bu, işletim sisteminin IPv6 için yapılandırılmış olabileceği ancak sunucunun yönlendirilebilir bir IPv6 adresine sahip olmayacağı anlamına gelir.

IPv6 adreslerini kontrol etme:

ip a | grep inet6

Yalnızca ::1 (geri döngü adresi) görünüyorsa, IPv6 işletim sisteminde etkinleştirilmiş olsa bile ağ düzeyinde yapılandırılmamıştır.

İş yükünüz IPv6 gerektirmiyorsa ve sağlayıcınız bunu sunmuyorsa, çekirdek düzeyinde aşağıdakini /etc/sysctl.conf öğesine ekleyerek devre dışı bırakabilirsiniz:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Ardından değişikliği uygulayın:

sudo sysctl -p

8. Gereksiz Sistem Hizmetleri ve Daemon’lar

Durum: Dağıtıma göre değişir; minimal kurulumlar çoğu gerekli olmayan hizmeti devre dışı bırakır

Yukarıda listelenen öğelerin ötesinde, minimal Linux sunucu kurulumları tipik olarak masaüstü veya tam özellikli yapılarda bulunan bir dizi hizmeti devre dışı bırakır veya atlar:

  • Bluetooth — sunucularda ilgisiz; yüklü değil
  • Avahi/mDNS — yerel ağ keşfi; sunucularda gereksiz ve potansiyel bir güvenlik sorunu
  • Cups (yazdırma) — sunucuda kullanım durumu yok
  • ModemManager — sunucu donanımında ilgisiz
  • NetworkManager — sunucularda genellikle systemd-networkd veya manuel netplan yapılandırması ile değiştirilir

Çalışan hizmetleri denetleme:

systemctl list-units --type=service --state=running

Bu listeyi düzenli olarak gözden geçirin ve o belirli sunucuda belgelenmiş bir amaca hizmet etmeyen herhangi bir hizmeti devre dışı bırakın.

Yeni Sağlanan Linux Sunucusu için Pratik Güvenlik Kontrol Listesi

Yeni bir sunucu sağladıktan sonra — ister paylaşımlı web hosting VPS’ye yükseltilmiş olsun ister yepyeni bir dedicated server — temel güvenlik durumunuzu doğrulamak için bu kontrol listesini gözden geçirin:

KontrolKomutBeklenen Sonuç
Root SSH girişigrep PermitRootLogin /etc/ssh/sshd_configno
Şifre kimlik doğrulamasıgrep PasswordAuthentication /etc/ssh/sshd_configno
Açık portlarss -tulnpYalnızca beklenen portlar görünür
GCC yüklügcc --versioncommand not found (gerekli olmadıkça)
Çalışan hizmetlersystemctl list-units --type=service --state=runningYalnızca gerekli hizmetler
IPv6 durumu`ip agrep inet6`Ortamınız için beklendiği gibi

Güvenlik Gereksinimleriniz İçin Doğru Hosting Ortamını Seçmek

Sunucunuzun varsayılan güvenlik duruşu, seçtiğiniz hosting ortamından da etkilenir. cPanel ile VPS, yönetilen bir web tabanlı arayüz sağlayarak yönetimi basitleştirirken temel Linux güvenlik modelini korur. Çıplak metal dedicated server, firmware’den uygulamaya kadar yığının her katmanı üzerinde tam kontrol sağlar.

SSL ile güvenli web uygulamaları çalıştıran takımlar için, sunucunuzu düzgün şekilde yapılandırılmış bir SSL certificate ile eşleştirmek, sunucu düzeyinde sertleştirmeye önemli bir tamamlayıcıdır — SSH anahtar kimlik doğrulaması sunucuya erişimi korurken verileri aktarım sırasında şifreler.

Sonuç

Hazır Linux sunucuları, kasıtlı olarak güvenli ve sade bir durumda sağlanır. Root SSH girişi devre dışıdır. Şifre kimlik doğrulaması kısıtlanmış veya ortadan kaldırılmıştır. Eski açık metin protokolleri yoktur. Temel görüntülere grafik ortam yüklenmez. Derleyiciler ve derleme araçları temel görüntülerden hariç tutulur.

Buna karşılık, ICMP yanıtları ve IPv6 gibi hizmetler işletim sistemi düzeyinde varsayılan olarak etkin kalır, ancak sağlayıcının altyapısı ve güvenlik duruşuna bağlı olarak ağ veya güvenlik duvarı katmanında sıklıkla kısıtlanır.

Bu “varsayılan olarak güvenli, seçim yoluyla genişletilebilir” felsefesi, yöneticilerin ortamları üzerinde tam kontrol sahibi olmalarını sağlar. Sunucu, amaçlanan rolü için açıkça gerekli olanı ortaya koymaktadır — başka hiçbir şey değil. Etkinleştirdiğiniz her hizmet, açtığınız her bağlantı noktası ve yüklediğiniz her paket, belgelenmiş bir gerekçeye sahip bilinçli bir karardır.

Bu disiplin, operasyonel güvenliğin temelini oluşturur. Bu, Linux sunucularının bir sınırlaması değildir. Bu, tam olarak onları dünya çapında üretim altyapısı için tercih edilen platform yapan şeydir.