Linux Sunucu Güçlendirme Kontrol Listesi

15 dakikalık okuma - 8 Mayıs 2026

hero section cover
İçindekiler
  • Linux Sunucu Güçlendirme Kontrol Listesi
  • SSH'yi Kilitleyin
  • Güvenlik Duvarlarını ve Fail2Ban'ı Yapılandırma
  • Güncellemeleri Yama ve Otomatikleştirme
  • Dosya Sistemlerini ve İzinleri Sertleştirin
  • Zorunlu Erişim Kontrollerini Etkinleştirin
  • Denetim Günlüğü ve İzleme Kurun
  • Devam Eden Bakım
Paylaş

Bir Linux sunucusunu güçlendirmek için adım adım kontrol listesi. SSH, güvenlik duvarları, yama, dosya izinleri, SELinux/AppArmor ve denetim günlüğünü kapsar

Linux Sunucu Güçlendirme Kontrol Listesi

Varsayılan bir Linux kurulumu güvenli bir Linux kurulumu değildir. Açık kök SSH erişimi, zayıf güvenlik duvarları ve yamalanmamış yazılımlar gibi yanlış yapılandırmalar ihlallerin çoğunu oluşturmaktadır. Yeni sunucular çevrimiçi olduktan sonra dakikalar içinde otomatik taramalarla karşı karşıya kalır, bu nedenle sağlamlaştırma her şeyden önce yapılmalıdır.

Bu kontrol listesi temel adımları kapsar: SSH'yi kilitlemek, güvenlik duvarlarını yapılandırmak, yama yapmak, dosya izinlerini sıkılaştırmak, zorunlu erişim kontrollerini etkinleştirmek ve denetim günlüğünü ayarlamak.

SSH'yi Kilitleyin

SSH birincil erişim noktanızdır ve saldırganların ilk araştırdığı şeydir. Varsayılan yapılandırma (password auth, root login, port 22) otomatik tarayıcıların tam olarak aradığı şeydir.

RSA'dan daha iyi güvenlik ve performans sunan bir Ed25519 anahtar çifti oluşturun:

ssh-keygen -t ed25519

Anahtar tabanlı oturum açma çalıştığında, /etc/ssh/sshd_config dosyasını güncelleyin:

PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
AllowUsers yourname
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2

Varsayılan bağlantı noktasını 22'den daha az belirgin bir şeyle değiştirin. Bu kararlı bir saldırganı durdurmaz, ancak otomatik taramalardan gelen gürültüyü önemli ölçüde azaltır.

Mevcut oturumunuzu kapatmadan önce değişiklikleri her zaman ikinci bir terminalden test edin. Sözdizimi hatalarını kontrol etmek için sudo sshd -t komutunu çalıştırın, ardından aktif bağlantıları düşürmeden uygulamak için systemctl reload sshd komutunu çalıştırın.

İki Faktörlü Kimlik Doğrulama Ekleyin

2FA, bir saldırganın hem SSH anahtarınıza hem de cihazınıza fiziksel erişime ihtiyacı olduğu anlamına gelir. Google Authenticator PAM modülünü yükleyin:

sudo apt install libpam-google-authenticator   # Debian/Ubuntu
sudo dnf install google-authenticator           # RHEL/Fedora

Gizli bir anahtar ve kurtarma kodları oluşturmak için her kullanıcı için google-authenticator 'ı çalıştırın. Kurtarma kodlarını çevrimdışı olarak saklayın.

Bu satırı /etc/pam.d/sshd dosyasına ekleyin:

auth required pam_google_authenticator.so

Ardından /etc/ssh/sshd_config dosyasını güncelleyin:

KbdInteractiveAuthentication yes
UsePAM yes
AuthenticationMethods publickey,keyboard-interactive

Test sırasında aktif bir oturumu açık tutun. TOTP kodları doğru sistem saatine bağlıdır, bu nedenle NTP'nin çalıştığından emin olun.

Güvenlik Duvarlarını ve Fail2Ban'ı Yapılandırma

Sunucunuz bir ağ güvenlik duvarının arkasında bulunsa bile ana bilgisayar tabanlı bir güvenlik duvarı çalıştırın. Prensip basittir: gelen tüm trafiği varsayılan olarak reddedin, ardından yalnızca ihtiyacınız olana izin verin.

Ubuntu/Debian (UFW) için:

ufw default deny incoming
ufw default allow outgoing
ufw limit ssh
ufw enable

RHEL/Rocky/AlmaLinux (Firewalld) için:

firewall-cmd --set-default-zone=public
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Bunları /etc/sysctl.conf dosyasına ekleyerek çekirdek ağ yığınını güçlendirin:

net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1

Fail2Ban'ı yükleyin

Fail2Ban oturum açma girişimlerini izler ve tekrarlanan başarısızlıklardan sonra IP'leri yasaklar. Etc/fail2ban/jail.local dosyasını oluşturun ( jail.conf dosyasını doğrudan düzenlemeyin, güncellemeler üzerine yazacaktır) ve 10 dakika içinde üç başarısız denemeden sonra IP'leri bir saat süreyle yasaklayacak şekilde yapılandırın. Güvenlik duvarınız için doğru arka ucu ayarlayın(banaction = ufw veya banaction = nftables).

Hizmetleri Denetleyin ve Eski Protokolleri Kaldırın

Ss -tlnp ile nelerin dinlendiğini ve systemctl list-units --type=service --state=running ile nelerin çalıştığını kontrol edin. İhtiyacınız olmayan her şeyi devre dışı bırakın: Bluetooth, CUPS, avahi-daemon, rpcbind.

Verileri açık metin olarak ileten eski protokolleri kaldırın:

Eski ProtokolLiman(lar)Güvenli Alternatif
Telnet23SSH
RSH / Rlogin512, 513, 514SSH
FTP21SFTP / FTPS
TFTP69SFTP / SCP
NISDeğişkenLDAP / Kerberos

Debian/Ubuntu üzerinde: sudo apt-get --purge remove xinetd nis tftpd telnetd rsh-server. RHEL tabanlı sistemlerde: yum erase xinetd ypserv tftp-server telnet-server rsh-server. Kaldırma işlemini ss -tulpn ile doğrulayın.

Güncellemeleri Yama ve Otomatikleştirme

Sisteminizi güncellemek, bilinen güvenlik açıklarını kapatmanın en hızlı yoludur. Sağlamadan hemen sonra güncellemeleri çalıştırın:

apt update && apt upgrade -y      # Debian/Ubuntu
dnf update -y                      # RHEL/Rocky

Ardından güvenlik yamalarını otomatikleştirin. Debian/Ubuntu'da unattended-upgrades 'i kurun ve sadece güvenlik yamalarını uygulayacak şekilde yapılandırın. RHEL/Rocky'de dnf-automatic 'i yükleyin ve /etc/dnf/automatic.conf dosyasında upgrade_type = security olarak ayarlayın.

Güncelleme sonuçları için e-posta bildirimleri ayarlayın. Üretim sunucularında otomatik yeniden başlatmaları devre dışı bırakın(Automatic-Reboot = false), böylece yeniden başlatmalar planlı bakım pencereleri sırasında gerçekleşir. Yüksek zamanlı ortamlar için Canonical Livepatch (Ubuntu) veya kpatch (RHEL) ile canlı yama yapmayı düşünün.

Dosya Sistemlerini ve İzinleri Sertleştirin

Önce SUID ve SGID ikili dosyalarını denetleyin. Bu dosyalar yükseltilmiş ayrıcalıklarla çalışır ve istismar için başlıca hedeflerdir:

find / -xdev \( -perm -4000 -o -perm -2000 \) -type f -ls

Kritik dosyaların izinlerini sıkılaştırın: / etc/shadow 600, /etc/passwd 644, /etc/ssh/sshd_config 600 olmalıdır. Yeni dosyaların dünya tarafından okunabilir olmasını önlemek için /etc/profile dosyasında 027 'lik bir global umask ayarlayın.

Dünyaya yazılabilir dosyaları find / -xdev -type f -perm -0002 -ls ile bulun ve düzeltin. Dünyaya yazılabilir kalması gereken dizinler için ( /tmp gibi), yapışkan biti uygulayın: chmod 1777 /tmp.

Güvenli Bağlama Seçenekleri

Kritik bölümlerde neler olabileceğini kısıtlamak için /etc/fstab dosyasını düzenleyin:

BölünmeMontaj SeçenekleriAmaç
/tmpnodev, nosuid, noexecDünyaya yazılabilir bir alanda kötü amaçlı yazılım yürütülmesini önler
/var/tmpnodev, nosuid, noexec/tmp ile aynı korumalar
/dev/shmnodev, nosuid, noexecPaylaşılan belleği güvence altına alır
/homenodev, nosuidSetuid ikili dosyaları ve aygıt düğümlerini engeller
/var/lognodev, nosuid, noexecGünlük bütünlüğünü korur

Önyükleme sorunlarını önlemek için yeniden başlatmadan önce mount -o remount ile değişiklikleri test edin.

Zorunlu Erişim Kontrollerini Etkinleştirin

SELinux ve AppArmor, süreçlerin yapabileceklerine çekirdek düzeyinde kısıtlamalar ekler. Dağıtımınız hangisiyle birlikte geliyorsa onu kullanın: RHEL/CentOS/Fedora için SELinux, Ubuntu/Debian/SUSE için AppArmor. Bunlar arasında geçiş yapmak uyumluluk sorunlarına neden olur.

SELinux: Getenforce ile durumu kontrol edin. Hiçbir şeyi bozmadan iş yükü davranışını yakalamak için en az iki hafta boyunca izinli modda(setenforce 0) başlatın. İhlalleri ausearch -m avc -ts recent ile izleyin. Blokları teşhis etmek için audit2why ve politika modülleri oluşturmak için audit2allow -M [module_name] kullanın. Günlükler temizlendikten sonra, setenforce 1 ile zorlamaya geçin, ardından /etc/selinux/config içinde kalıcı hale getirin.

AppArmor: aa-status ile aktif profilleri kontrol edin. Yönetim komutları için apparmor-utils yükleyin. Profilleri aa-complain ile şikayet modunda başlatın, ardından emin olduğunuzda aa-enforce ile enforce moduna geçin. Özel uygulamalar için profiller oluşturmak için aa-genprof kullanın.

Denetim Günlüğü ve İzleme Kurun

Günlük kaydı olmadan, olaylar hiçbir iz bırakmaz. Auditd'yi yükleyin:

sudo apt-get install auditd audispd-plugins

Kritik dosyalar için dosya sistemi nöbetleri ekleyin:

-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity

Tüm kök düzey komut yürütmelerini izleyin:

-a always,exit -F arch=b64 -S execve -F euid=0 -k root_commands

Kuralları augenrules --load ile yükleyin ve yapılandırmayı kurcalamaya karşı korumalı hale getirmek için kural dosyanızın sonuna -e 2 ekleyin (değişiklikler yeniden başlatma gerektirir).

AIDE ile Dosya Bütünlüğü İzleme

AIDE, mevcut durumu bilinen iyi bir taban çizgisiyle karşılaştırarak yetkisiz dosya değişikliklerini algılar. Yükleyin, veritabanını aideinit ile başlatın ve elde edilen dosyayı /var/lib/aide/aide.db.gz adresine taşıyın. Aide --check 'i çalıştırmak ve sonuçları yöneticilere e-posta ile göndermek için günlük bir cron işi ayarlayın.

Günlükleri Merkezileştirin

Kök erişimi olan bir saldırgan bunları silerse yerel günlükler işe yaramaz. TLS şifrelemeli rsyslog kullanarak günlükleri gerçek zamanlı olarak uzak bir sunucuya iletin. Etc/rsyslog.conf dosyasına ekleyin:

*.* @@remote-host:514

SSH yapılandırmanızda LogLevel VERBOSE 'u ayarlayın, böylece günlükler her başarılı oturum açma için anahtar parmak izlerini içerir. Birden fazla sunucuyu yöneten üretim ortamları için Wazuh veya OSSEC gibi araçlar, merkezi günlük analizi ile ana bilgisayar tabanlı saldırı tespiti sağlar.

Devam Eden Bakım

Güçlendirme tek seferlik bir iş değildir. Yapılandırmalar kayar, yeni güvenlik açıkları ortaya çıkar ve personel değişiklikleri geride öksüz hesaplar bırakır.

Haftalık: Fail2Ban günlüklerini inceleyin, başarısız güncellemeleri kontrol edin, yedekleri doğrulayın.

Aylık: Kullanıcı hesaplarını ve izinlerini denetleyin, çalışan hizmetleri gözden geçirin, Lynis veya OpenSCAP ile tam bir tarama yapın.

Üç ayda bir: Kimlik bilgilerini değiştirin, güvenlik duvarı kurallarını güncelleyin, felaket kurtarmayı test edin.

Filonuzda tutarlı yapılandırmalar uygulamak ve denetimler arasında kaymayı önlemek için dev-sec.io sertleştirme rolleri ile Ansible gibi kod olarak altyapı araçlarını kullanın.

FDC'nin özel sunucuları size tam kök erişimi ve güvenlik yığınınız üzerinde tam kontrol sağlar. Her katmanı kontrol ettiğiniz bir platform üzerine inşa etmek için özel sunucu seçeneklerini keşfedin.

background image
Sunucunuz büyümenizi engelliyor mu?

Yavaş dağıtımlardan veya bant genişliği sınırlarından bıktınız mı? FDC Sunucuları anında tahsis edilmiş güç, küresel erişim ve her ölçek için oluşturulmuş esnek planlar sunar.

Şimdi yükseltin

Blog

Bu hafta öne çıkanlar

Daha fazla makale
Linux Sunucu Güçlendirme Kontrol Listesi

Linux Sunucu Güçlendirme Kontrol Listesi

Bir Linux sunucusunu güçlendirmek için adım adım kontrol listesi. SSH, güvenlik duvarları, yama, dosya izinleri, SELinux/AppArmor ve denetim günlüğünü kapsar

15 dakikalık okuma - 8 Mayıs 2026

iperf3 Eğitimi: Linux ve Windows'ta Ağ Hızını Test Edin

10 dakikalık okuma - 7 Mayıs 2026

Daha fazla makale
background image

Sorularınız mı var veya özel bir çözüme mi ihtiyacınız var?

icon

Esnek seçenekler

icon

Küresel erişim

icon

Anında dağıtım

icon

Esnek seçenekler

icon

Küresel erişim

icon

Anında dağıtım