İçeriğe atla
Bizi takip edin:
BT ALTYAPISI VE İŞ SÜREKLİLİĞİ STANDARDI
FELAKET KURTARMA KOCAELİ & GEBZE SANAYİ BÖLGESİ

Linux Kurumsal Sunucu Güvenliği ve Hardening Rehberi

HEDEF SAHA & SEKTÖR Talaşlı İmalat, Otomotiv & Makine Sanayi
MİMARİ & STANDART 3-2-1 Yedekleme · Şifreli Depolama
TEMEL İŞ KAZANIMI Süreç Hızı ve Sıfır Manuel Hata
DOĞRULANMIŞ HAP BİLGİ & ÇÖZÜM (TL;DR)

Kurumsal Linux sunucu güvenliği (Debian, Ubuntu, Rocky Linux): SSH sıkılaştırma, UFW/iptables firewall, Fail2ban ve CIS Benchmark uygulama kılavuzu. İnceleyin.

Hızlı Özet (TL;DR)

Linux işletim sistemleri (Debian, Ubuntu Server LTS, Rocky Linux, AlmaLinux ve Red Hat Enterprise Linux - RHEL), yüksek kararlılıkları, düşük kaynak tüketimleri ve açık kaynak mimarileri nedeniyle dünya genelindeki kurumsal web sunucularının, PostgreSQL/MySQL veritabanlarının, Docker/Kubernetes konteyner kümelerinin ve özel ERP/üretim yazılımlarının omurgasını oluşturur. Ancak “Linux’a virüs bulaşmaz, Linux doğuştan güvenlidir” düşüncesi siber güvenlikteki en tehlikeli şehir efsanelerinden biridir. Varsayılan ayarlarla (Out-of-the-Box) kurulan ve doğrudan ağa açılan bir Linux sunucusu, saniyeler içinde otomatik SSH kaba kuvvet (Brute-Force) botnetlerinin, kripto para madenciliği (Cryptojacking) yazılımlarının ve yetki yükseltme (Privilege Escalation) istismarlarının hedefi olur. Linux Sunucu Sıkılaştırma (Server Hardening), CIS (Center for Internet Security) Benchmark standartları doğrultusunda saldırı yüzeyinin asgariye indirilmesi ve savunma derinliğinin (Defense-in-Depth) inşa edilmesi sürecidir.

Varsayılan (Default) Linux Kurulumu Neden Güvenli Değildir?

Linux dağıtımları, sistem yöneticilerinin kurulum sırasında sorun yaşamaması için “Maksimum Uyumluluk” prensibiyle paketlenir. Bu nedenle ilk kurulumda root kullanıcısıyla parola tabanlı SSH girişi açık olabilir, gereksiz ağ servisleri (RPC, Avahi, CUPS) dinleme modunda bekleyebilir, paylaşımlı bellek (/dev/shm) ve geçici dizinler (/tmp) üzerinden çalıştırılabilir ikili (Binary/Script) dosyaların yürütülmesine izin verilir.

Saldırganlar bir kurumsal ağa sızdıklarında veya internete açık bir Linux web/uygulama sunucusunda zafiyet bulduklarında ilk olarak /tmp dizinine bir arka kapı (Reverse Shell) veya Linux Fidye Yazılımı (ESXiArgs, LockBit-Linux, RansomEXX) indirip çalıştırırlar. Ardından çekirdek (Kernel) zafiyetlerini veya yanlış yapılandırılmış SUID bitlerini kullanarak root yetkisine yükselir ve veritabanı ile yedekleri şifrelerler.

CIS Benchmark Seviyelerine Göre Linux Sıkılaştırma Matrisi

Kurumsal bir Linux sunucusuna uygulanacak güvenlik kontrollerinin derinliği, sunucunun rolüne ve uyumluluk gereksinimlerine göre aşağıdaki tabloda yer alan katmanlarla belirlenir:

Güvenlik KatmanıVarsayılan (Ham) Kurulum DurumuKurumsal Hardening Standardı (CIS Level 1 & Level 2)Önlenen Saldırı Vektörü
SSH Erişim Mimarisi (/etc/ssh/sshd_config)Port 22 açık, Parola ile giriş aktif, PermitRootLogin yes.Özel Port, Ed25519/RSA-4096 Anahtar Zorunluluğu, PasswordAuthentication no, PermitRootLogin no, AllowUsers kısıtı.SSH Kaba Kuvvet (Brute-Force), Kimlik Bilgisi Doldurma ve Yetkisiz Root Oturumu.
Yerel Güvenlik Duvarı ve IPSufw veya firewalld pasif; tüm portlar dışarıdan erişime açık.Default Deny (Varsayılan Engelle) politikası; sadece gerekli uygulama portları açık + Fail2ban / CrowdSec aktif.Port taramaları, servis istismarları ve dağıtık parola deneme saldırıları.
Dosya Sistemi ve Bölümleme (fstab)Tüm sistem tek bir / (Root) disk bölümünde; /tmp üzerinde kod çalıştırma serbest./tmp, /var/tmp, /dev/shm, /home ayrı bölümlerde; nodev, nosuid, noexec bayraklarıyla bağlı.Web shell üzerinden /tmp dizinine zararlı script/madenci indirip çalıştırma (RCE).
Zorunlu Erişim Kontrolü (MAC)SELinux permissive/disabled veya AppArmor profilleri devre dışı.SELinux Enforcing (RHEL/Rocky) veya AppArmor Enforce (Ubuntu/Debian) modunda aktif.Ele geçirilen bir web/veritabanı servisinin kendi klasörü dışındaki sistem dosyalarını okuması.
Çekirdek (Kernel) Ağ Parametreleri (sysctl)ICMP yönlendirmeleri açık, SYN Cookies ve ASLR kısmi, IP yönlendirme esnek.net.ipv4.tcp_syncookies=1, accept_redirects=0, rp_filter=1, kernel.randomize_va_space=2, fs.suid_dumpable=0.TCP SYN Flood (DoS), MITM ICMP sahteciliği, IP Spoofing ve Bellek Taşması (Buffer Overflow).
Denetim ve İzlenebilirlik (auditd)Sadece temel syslog/journald kayıtları; dosya ve komut takibi yok.auditd servisi aktif; /etc/passwd, /etc/shadow, sudoers değişiklikleri ve tüm execve root komutları loglanır.Saldırganın izlerini silmesi, gizli kullanıcı eklemesi ve fark edilmeden içeride kalması.

6 Adımda Uygulamalı Linux Kurumsal Sıkılaştırma Rehberi

1. SSH Servisinin Zırhlandırılması ve Anahtar Tabanlı Kimlik Doğrulama

Linux sunuculara uzaktan yönetimin kapısı olan OpenSSH servisi (/etc/ssh/sshd_config) ilk sıkılaştırılması gereken noktadır. Parola tabanlı kimlik doğrulama tamamen kapatılmalı ve yalnızca Ed25519 (ssh-keygen -t ed25519 -a 100) kriptografik anahtar çiftleriyle (veya kurumsal SSH Sertifika Otoritesi + TOTP MFA ile) bağlantıya izin verilmelidir:

  • PermitRootLogin no: Doğrudan root girişi kapatılır; yöneticiler kendi standart hesaplarıyla bağlanıp sudo ile yetki yükseltir (böylece hangi yöneticinin giriş yaptığı loglanır).
  • PasswordAuthentication no ve KbdInteractiveAuthentication no: Şifre denemeleri kökten devre dışı bırakılır.
  • MaxAuthTries 3, LoginGraceTime 30 ve ClientAliveInterval 300: Boşta kalan oturumlar otomatik sonlandırılır.
  • Değişiklik sonrası sshd -t ile sözdizimi doğrulanarak servis yeniden başlatılır.

2. Ağ Güvenlik Duvarı (UFW / Firewalld / nftables) ve Mikro-Segmentasyon

Sunucu bir kurumsal güvenlik duvarı arkasında çalışıyor olsa dahi, iç ağdan gelebilecek yanal hareket (Lateral Movement) saldırılarına karşı kendi yerel güvenlik duvarını (Host-Based Firewall) çalıştırmalıdır. Gelen (Inbound) tüm trafik varsayılan olarak reddedilmeli (DROP), yalnızca hizmet verilen portlara (Örn. Web sunucusu için TCP 80/443) ve sadece yetkili yönetim VLAN’ından gelen SSH bağlantılarına izin verilmelidir. Veritabanı portu (PostgreSQL 5432 veya MySQL 3306) asla 0.0.0.0/0 (tüm dünyaya) dinlemeye açılmamalı; yalnızca 127.0.0.1 veya uygulama sunucusunun yerel IP adresine bağlanmalıdır.

3. Fail2ban / CrowdSec ile Kaba Kuvvet ve Anomali Engelleme

İnternete açık servislerde (SSH, Nginx/Apache, Postfix, Webmin/Cockpit) arka arkaya hatalı giriş denemesi yapan veya web sunucusunda .env, wp-admin, phpmyadmin gibi zafiyet taraması yürüten IP adresleri Fail2ban veya CrowdSec ajanlarıyla gerçek zamanlı izlenir. Örneğin 5 dakika içinde 3 kez hatalı deneme yapan bir IP adresi, nftables/iptables çekirdek seviyesinde otomatik olarak 24 saat boyunca kara listeye (Ban/Drop) alınır.

4. Dosya Sistemi Güvenliği, /tmp İzolasyonu ve SUID Temizliği

Saldırganların en sevdiği yöntem, herkesin yazma yetkisi olan (chmod 1777) /tmp, /var/tmp ve /dev/shm dizinlerine zararlı ikili dosya yükleyip çalıştırmaktır. /etc/fstab dosyasında bu bölümler defaults,nodev,nosuid,noexec parametreleriyle bağlandığında, saldırgan bu klasörlere dosya yazabilse bile işletim sistemi çekirdeği o dosyanın çalıştırılmasını (Permission denied) doğrudan engeller. Ayrıca sistemdeki gereksiz SUID/SGID bitine sahip ikili dosyalar (find / -perm /6000 -type f) taranarak yetki yükseltme kapıları kapatılır.

5. Kernel (sysctl.conf) Sıkılaştırması ve Otomatik Güvenlik Yamaları

/etc/sysctl.d/99-hardening.conf dosyası üzerinden Linux çekirdeğinin ağ ve bellek koruma mekanizmaları maksimize edilir:

  • ASLR (Address Space Layout Randomization): kernel.randomize_va_space = 2 ile bellek adresleri rastgeleleştirilerek Buffer Overflow saldırıları boşa çıkarılır.
  • Kernel Pointer ve dmesg Kısıtı: kernel.kptr_restrict = 2 ve kernel.dmesg_restrict = 1 ile standart kullanıcıların çekirdek bellek adreslerini okuması engellenir.
  • Kesintisiz Güvenlik Güncellemeleri: Debian/Ubuntu sistemlerde unattended-upgrades, RHEL/Rocky sistemlerde ise dnf-automatic yapılandırılarak kritik CVE güvenlik yamalarının gecikmeden uygulanması sağlanır.

6. Merkezi Denetim (auditd), Dosya Bütünlüğü (AIDE) ve Değiştirilemez Yedekleme

Sıkılaştırmanın son halkası görünürlük ve kurtarmadır. Linux Audit Daemon (auditd) ile /etc/passwd, /etc/shadow, /etc/sudoers ve /etc/ssh/sshd_config dosyalarındaki her türlü okuma/yazma girişimi izlenir. AIDE (Advanced Intrusion Detection Environment) ile sistem ikili dosyalarının (/bin, /sbin, /usr/bin) kriptografik özet veritabanı oluşturularak olası bir Rootkit değişimi anında tespit edilir. Ayrıca sunucunun tam imaj ve veritabanı yedekleri düzenli olarak ortak dosya sunucusu ve yedekleme altyapısına aktarılır.

Kurumsal Linux ve Windows sunucu altyapılarınızın güvenlik sıkılaştırması ve denetimi için Sızma Testi (Pentest) Hizmetleri ile Ortak Dosya Sunucusu ve Yedekleme sayfalarımızı ziyaret edebilirsiniz.

Sıkça Sorulan Sorular

SELinux veya AppArmor’u kapatmak (disabled yapmak) sunucu performansını artırır mı ve güvenli midir?

Pek çok kurulum kılavuzunda karşılaşılan ilk hatada “SELinux’u kapatın (setenforce 0)” tavsiyesi verilmesi büyük bir güvenlik zafiyetidir. Modern Linux çekirdeklerinde SELinux veya AppArmor’un getirdiği performans yükü %1-2’nin altındadır ve hissedilmez. Buna karşılık SELinux Enforcing moddayken, web sunucunuzdaki (Nginx/Apache/PHP) bir kod açığından içeri sızan saldırganın /etc/shadow dosyasını okuması veya veritabanı klasörüne erişmesi çekirdek seviyesinde bloke edilir. Bu nedenle kapatmak yerine uygun politika kuralları (semanage / audit2allow) tanımlanmalıdır.

SSH portunu 22’den farklı bir porta (Örn. 22022) değiştirmek tek başına yeterli bir güvenlik önlemi midir?

Port değiştirmek (Security through Obscurity) tek başına bir kriptografik koruma değildir; çünkü Nmap gibi gelişmiş port tarayıcıları 1-65535 arasındaki tüm portları tarayarak SSH servisinin hangi portta çalıştığını saniyeler içinde bulabilir. Ancak SSH portunu standart 22’den yüksek bir porta taşımak, internette rastgele 22. portu tarayan amatör botların oluşturduğu günlük binlerce satırlık gereksiz log gürültüsünü %95 oranında azaltır. Gerçek güvenlik ise port değişimiyle birlikte Parola Girişinin Kapatılması (SSH Key Zorunluluğu) ve VPN Arkasına Alma ile sağlanır.

Üretim ortamında çalışan canlı bir Linux sunucusuna CIS Hardening uygularken çalışan yazılımlarımız bozulur mu?

Eğer sıkılaştırma scriptleri test edilmeden doğrudan canlı (Production) sunucuda çalıştırılırsa; kullanılan özel portların kapanması, /tmp üzerinden çalışan eski bir raporlama aracının durması veya SELinux kısıtlaması nedeniyle uygulama kesintisi yaşanabilir. Bu riski önlemek için Maysa Yazılım mühendislik metodolojisinde önce canlı sunucunun Tam İmaj Yedeği / Snapshot’ı alınır, açık portlar (ss -tulpn) ve servis bağımlılıkları haritalandırılır, sıkılaştırma adımları aşamalı olarak uygulanır ve doğrulama testlerinden sonra kalıcı hale getirilir.

BİLGİ BANKASI & VAKALAR

İlginizi Çekebilecek Diğer Rehberler

Sanayi dijitalleşmesi, siber güvenlik ve kurumsal yazılım alanında kapsamlı analizler.

İşinize uygun çözümü birlikte çıkaralım

İhtiyacınızı dinleyelim, kapsamı ve bütçeyi netleştirelim. İlk görüşme ücretsizdir.

Teklif Formu

Size buradan dönüş yapacağız; WhatsApp numaranız olması işimizi kolaylaştırır.

Talebiniz Alındı!

Mesajınız info@maysayazilim.com adresine başarıyla iletildi.
En kısa sürede sizinle iletişime geçeceğiz.