Linux Sunucu Güçlendirme Kontrol Listesi
15 dakikalık okuma - 8 Mayıs 2026

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 ed25519Anahtar 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 2Varsayı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/FedoraGizli 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.soArdından /etc/ssh/sshd_config dosyasını güncelleyin:
KbdInteractiveAuthentication yes
UsePAM yes
AuthenticationMethods publickey,keyboard-interactiveTest 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 enableRHEL/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 --reloadBunları /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 = 1Fail2Ban'ı 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 Protokol | Liman(lar) | Güvenli Alternatif |
|---|---|---|
| Telnet | 23 | SSH |
| RSH / Rlogin | 512, 513, 514 | SSH |
| FTP | 21 | SFTP / FTPS |
| TFTP | 69 | SFTP / SCP |
| NIS | Değişken | LDAP / 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/RockyArdı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 -lsKritik 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ünme | Montaj Seçenekleri | Amaç |
|---|---|---|
/tmp | nodev, nosuid, noexec | Dünyaya yazılabilir bir alanda kötü amaçlı yazılım yürütülmesini önler |
/var/tmp | nodev, nosuid, noexec | /tmp ile aynı korumalar |
/dev/shm | nodev, nosuid, noexec | Paylaşılan belleği güvence altına alır |
/home | nodev, nosuid | Setuid ikili dosyaları ve aygıt düğümlerini engeller |
/var/log | nodev, nosuid, noexec | Gü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-pluginsKritik dosyalar için dosya sistemi nöbetleri ekleyin:
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identityTüm kök düzey komut yürütmelerini izleyin:
-a always,exit -F arch=b64 -S execve -F euid=0 -k root_commandsKuralları 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:514SSH 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.

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

Sorularınız mı var veya özel bir çözüme mi ihtiyacınız var?
Esnek seçenekler
Küresel erişim
Anında dağıtım
Esnek seçenekler
Küresel erişim
Anında dağıtım