- Katılım
- 14 Mar 2025
- Mesajlar
- 11
- Tepkime puanı
- 3
- Puanları
- 3
Linux Sunucu Güvenliği
Linux sunucular internet üzerinde çok yaygın kullanıldığı için güvenlik yapılandırması oldukça önemlidir.Bir Linux sunucu üzerinde:
- Web sitesi
- Veritabanı
- E-posta
- Oyun sunucusu
- VPN
- Dosya sunucusu
- API
- Hosting hizmeti
Bu nedenle sunucu güvenliği yalnızca işletim sistemini korumak anlamına gelmez. Aynı zamanda sunucu üzerinde çalışan tüm hizmetleri, kullanıcıları ve verileri korumayı da kapsar.
Linux Sunucu Güvenliği Nedir?
Linux sunucu güvenliği, sistemin:- Yetkisiz erişim
- Zararlı yazılım
- Brute-force saldırıları
- Veri sızıntısı
- Hizmet kesintisi
- Yanlış yapılandırma
Güvenlik tek bir program kurarak sağlanmaz.
Sağlıklı bir yapı için:
- Güncelleme
- Firewall
- SSH güvenliği
- Kullanıcı yetkileri
- Log takibi
- Yedekleme
- Servis güvenliği
İlk Adım: Sistemi Güncel Tutmak
Linux güvenliğinde en temel işlemlerden biri işletim sistemini ve paketleri güncel tutmaktır.Eski paketlerde bilinen güvenlik açıkları bulunabilir.
Özellikle:
- Kernel
- OpenSSH
- Web server
- PHP
- Veritabanı
- Kontrol paneli
Güncellemeler Neden Önemlidir?
Bir güvenlik açığı yayınlandığında saldırganlar bu açığı kullanan sistemleri otomatik olarak tarayabilir.Güncelleme yapılmayan sunucular daha kolay hedef haline gelir.
Her Güncelleme Hemen Yapılmalı mı?
Üretim sistemlerinde dikkatli olunmalıdır.Özellikle büyük:
- Kernel
- Veritabanı
- Web server
Ancak güvenlik güncellemeleri gereksiz yere uzun süre ertelenmemelidir.
Güncelleme Öncesi Backup
Önemli sunucularda büyük güncelleme öncesinde:- Dosya
- Veritabanı
- Yapılandırma
Bu sayede uyumsuzluk durumunda geri dönüş kolaylaşır.
Root Kullanıcısı
Root Linux sistemde en yüksek yetkiye sahip kullanıcıdır.Root hesabı:
- Tüm dosyalara erişebilir
- Servisleri değiştirebilir
- Kullanıcı silebilir
- Sistem yapılandırmasını bozabilir
Root ile Sürekli Çalışmak Doğru mu?
Genellikle hayır.Günlük işlemler normal kullanıcıyla yapılabilir.
Yönetici yetkisi gerektiğinde:
sudo
kullanılabilir.
Bu yaklaşım yanlışlıkla kritik işlem yapma riskini azaltır.
SSH Güvenliği
İnternete açık Linux sunucuların en çok hedef alınan servislerinden biri SSH'dir.Bu nedenle SSH mutlaka güvenli yapılandırılmalıdır.
SSH İçin Güçlü Parola
Parola ile giriş kullanılıyorsa parola:- Uzun
- Benzersiz
- Tahmin edilmesi zor
Aynı parola başka sistemlerde kullanılmamalıdır.
SSH Key Kullanımı
SSH key, parola yerine kriptografik anahtar ile giriş yapılmasını sağlar.Doğru yapılandırıldığında parola girişine göre daha güvenli olabilir.
Özellikle yönetim sunucularında tercih edilir.
Private Key Güvenliği
Private key:- Paylaşılmamalı
- Güvenli bilgisayarda tutulmalı
- Mümkünse passphrase ile korunmalı
Private key ele geçirilirse ilgili sunucular risk altında olabilir.
Root SSH Girişi
Doğrudan root ile SSH girişini kapatmak güvenliği artırabilir.Bunun yerine:
- Normal kullanıcıyla giriş yapılır.
- Gerektiğinde sudo kullanılır.
SSH Portunu Değiştirmek
Varsayılan 22 portunu değiştirmek otomatik bot taramalarını azaltabilir.Ancak bu tek başına güçlü bir güvenlik yöntemi değildir.
Asıl önemli olan:
- Key kullanımı
- Firewall
- IP kısıtlama
- Güçlü kimlik doğrulama
SSH'yi IP ile Sınırlandırmak
Sabit yönetim IP adresiniz varsa SSH yalnızca belirli IP adreslerine açılabilir.Bu oldukça güçlü bir güvenlik önlemidir.
Ancak internet IP'niz değişiyorsa erişimi kaybetmemek için dikkatli olunmalıdır.
VPN Üzerinden Yönetim
Profesyonel yapılarda:- SSH
- Veritabanı
- Yönetim paneli
Bu, saldırı yüzeyini ciddi şekilde azaltır.
Firewall Nedir?
Firewall, sunucuya gelen ve sunucudan çıkan ağ trafiğini kurallara göre kontrol eder.Linux sistemlerde farklı firewall çözümleri kullanılabilir.
Örneğin:
- nftables
- iptables
- firewalld
- UFW
Firewall'da Temel Mantık
Sadece ihtiyaç duyulan portlar açık tutulmalıdır.Örneğin web sunucusunda genellikle:
- HTTP
- HTTPS
- Yönetim için SSH
Kullanılmayan portlar kapalı tutulmalıdır.
“Her Şeyi Açık Bırakmak” Neden Riskli?
Her açık servis potansiyel saldırı yüzeyidir.Sunucuda kullanılmayan bir servis açık kalırsa saldırganlar bu servisi tarayabilir.
Bu nedenle:
Gerekmiyorsa kapat
yaklaşımı daha güvenlidir.
Firewall Kuralı Yazarken Dikkat
SSH bağlantısı üzerinden firewall düzenlerken yanlış kural mevcut bağlantınızı kesebilir.Bu nedenle:
- Konsol erişimi
- Alternatif yönetim bağlantısı
Açık Portları Kontrol Etmek
Sunucuda hangi servislerin dışarıya açık olduğu düzenli olarak kontrol edilmelidir.Beklenmeyen port varsa:
- Hangi process kullanıyor?
- Gerçekten gerekli mi?
Gereksiz Servisleri Kapatmak
Kullanılmayan servisler:- Güvenlik riski
- RAM tüketimi
- Ek saldırı yüzeyi
Örneğin kullanılmayan:
- FTP
- Database listener
Brute Force Nedir?
Saldırganın çok sayıda kullanıcı adı ve parola deneyerek giriş yapmaya çalışmasıdır.SSH, web paneli ve e-posta servislerinde sık görülebilir.
Fail2Ban Nedir?
Fail2Ban, logları analiz ederek sürekli başarısız giriş yapan IP adreslerini geçici olarak engelleyebilir.Özellikle:
- SSH
- Web paneli
Fail2Ban Tek Başına Yeterli mi?
Hayır.Fail2Ban yalnızca ek güvenlik katmanıdır.
Güvenlik için ayrıca:
- Güçlü parola
- Key
- Firewall
- Güncelleme
Kullanıcı Hesapları
Sunucuda gereksiz kullanıcı hesabı bırakılmamalıdır.Eski çalışanlara veya kullanılmayan uygulamalara ait hesaplar kaldırılmalıdır.
Her Kullanıcıya Root Yetkisi Verilir mi?
Hayır.Kullanıcılara yalnızca ihtiyaç duydukları kadar yetki verilmelidir.
Bu prensibe:
Least Privilege
yani en az yetki prensibi denir.
En Az Yetki Prensibi
Örneğin bir kullanıcı yalnızca web dosyalarını düzenleyecekse:Tüm sunucuya root erişimi
vermek gereksizdir.
Sadece gerekli dosyalara erişim sağlanmalıdır.
Dosya İzinleri
Linux'ta dosya ve klasörlerin:- Sahibi
- Grubu
- İzinleri
Yanlış dosya izinleri ciddi güvenlik problemi oluşturabilir.
777 İzni Kullanmak
Gereksiz şekilde 777 izin vermek önerilmez.Bu izin dosya veya klasörü çok geniş erişime açabilir.
Özellikle web sunucularında sık yapılan güvenlik hatalarından biridir.
Dosya Sahipliği
Dosya sahibinin doğru olması önemlidir.Örneğin web uygulaması yalnızca gerekli dosyalara yazabilmelidir.
Tüm dosyaları web server kullanıcısına yazılabilir yapmak riskli olabilir.
SUID ve SGID Dosyaları
Bazı Linux dosyaları özel yetkilerle çalışabilir.Gereksiz veya şüpheli SUID dosyaları güvenlik açısından kontrol edilmelidir.
Ancak sistem dosyaları ne işe yaradığı bilinmeden değiştirilmemelidir.
Web Sunucusu Güvenliği
Linux üzerinde web hizmeti veriliyorsa:- Apache
- Nginx
- LiteSpeed
Web Sunucusu Sürüm Bilgisi
Sunucunun gereksiz ayrıntılı sürüm bilgisini ziyaretçilere göstermemek faydalı olabilir.Bu, doğrudan güvenlik sağlamaz ancak saldırgana gereksiz bilgi verilmesini azaltır.
PHP Güvenliği
PHP kullanan sunucularda:- Güncel PHP sürümü
- Gereksiz modüllerin kapalı olması
- Dosya izinleri
- Uygulama güvenliği
Eski ve destek dışı PHP sürümleri kullanılmamalıdır.
WordPress Sunucu Güvenliği
WordPress kullanılan Linux sunucularda ayrıca:- WordPress güncel
- Tema güncel
- Eklentiler güncel
- Kullanılmayan eklentiler kaldırılmış
Sadece Linux'u güvenli tutmak web uygulamasının güvenli olduğu anlamına gelmez.
Veritabanı Güvenliği
MySQL veya MariaDB gibi veritabanları mümkünse doğrudan internete açık olmamalıdır.Uygulama aynı sunucudaysa veritabanının sadece localhost üzerinden erişilebilir olması daha güvenlidir.
Veritabanı Portunu İnternete Açmak
Gerçekten gerekmedikçe önerilmez.Uzaktan yönetim gerekiyorsa:
- VPN
- SSH tunnel
- IP whitelist
Veritabanı Kullanıcı Yetkileri
Her uygulamaya root veritabanı hesabı verilmemelidir.Uygulamanın ihtiyaç duyduğu veritabanı ve yetkiler tanımlanmalıdır.
Güçlü Veritabanı Parolası
Veritabanı kullanıcılarında da:- Uzun
- Benzersiz
- Rastgele
Web Uygulaması Parolaları
Yapılandırma dosyalarında bulunan:- Database password
- API key
- Token
Bu dosyalar web üzerinden indirilebilir olmamalıdır.
API Key ve Token Güvenliği
Token veya API anahtarları:- GitHub gibi açık repository'lere
- Forumlara
- Loglara
Ele geçirilen anahtarlar hemen iptal edilmelidir.
Log Takibi
Linux güvenliğinde loglar çok önemlidir.Şunlar takip edilebilir:
- SSH girişleri
- Başarısız login
- Web hataları
- Firewall olayları
- Servis hataları
Logları Neden İncelemeliyiz?
Saldırı belirtileri çoğu zaman loglarda görünür.Örneğin:
- Binlerce başarısız SSH girişi
- Sürekli farklı URL taramaları
- Şüpheli kullanıcı oluşturma
Logrotate
Log dosyalarının sınırsız büyümesini önler.Diskin tamamen dolması da güvenlik ve erişilebilirlik problemi oluşturabilir.
Monitoring Sistemi
Sunucunun:- CPU
- RAM
- Disk
- Network
- Servis
Beklenmeyen kaynak tüketimi güvenlik olayının göstergesi olabilir.
Aniden CPU Yüzde 100 Olduysa
Muhtemel nedenlerden biri zararlı yazılım olabilir.Örneğin ele geçirilmiş sunucularda:
- Crypto miner
- Proxy
- Bot
Elbette yüksek CPU her zaman saldırı anlamına gelmez; process incelenmelidir.
Crypto Miner Nedir?
Sunucunun CPU veya GPU kaynağını saldırgan adına kripto para üretmek için kullanan zararlı yazılımdır.Belirtileri:
- Yüksek CPU
- Beklenmeyen process
- Yüksek load
Beklenmeyen Network Trafiği
Sunucudan anormal derecede yüksek outbound trafik varsa:- Spam gönderimi
- Proxy
- Botnet
- Ele geçirilmiş uygulama
Mail Sunucusu Güvenliği
Linux üzerinde mail hizmeti varsa:- SMTP authentication
- Relay ayarları
- SPF
- DKIM
- DMARC
- Spam koruması
Open Relay Nedir?
Mail sunucusunun herkese kontrolsüz şekilde e-posta gönderme izni vermesidir.Bu ciddi güvenlik problemidir.
Sunucu kısa sürede spam listelerine girebilir.
Malware Tarama
Web hosting sunucularında malware scanner kullanılabilir.Ama tarama sistemi tek başına yeterli değildir.
Zararlı dosyanın nasıl yüklendiği de bulunmalıdır.
Antivirüs Linux'ta Gerekli mi?
Kullanım senaryosuna bağlıdır.Özellikle:
- Web hosting
- Dosya paylaşımı
- Mail server
Ancak güvenlik yalnızca antivirüse bırakılmamalıdır.
WAF Nedir?
WAF:Web Application Firewall
anlamına gelir.
Web uygulamalarına yönelik:
- SQL injection
- XSS
- Kötü bot
- Bazı exploit girişimleri
ModSecurity
Apache, Nginx entegrasyonları ve bazı hosting platformlarında kullanılan yaygın WAF çözümlerinden biridir.Kuralların doğru yapılandırılması gerekir.
WAF Her Saldırıyı Engeller mi?
Hayır.Yanlış veya sıfır gün açığı bulunan uygulamalarda WAF yeterli olmayabilir.
Bu nedenle uygulamalar da güncel tutulmalıdır.
DDoS Koruması
Firewall ile DDoS koruması aynı şey değildir.Büyük hacimli DDoS saldırıları sunucunun internet hattını tamamen doldurabilir.
Bu durumda saldırının upstream veya veri merkezi seviyesinde filtrelenmesi gerekir.
Linux Firewall DDoS'u Engeller mi?
Küçük bazı saldırıları filtreleyebilir.Ancak saldırı hattın kapasitesini aşarsa paketler sunucuya ulaşmadan önce bağlantı zaten dolmuş olur.
Bu nedenle yüksek hacimli DDoS için operatör veya veri merkezi koruması gerekir.
SYN Flood Nedir?
Sunucuya çok sayıda TCP bağlantı isteği gönderilerek kaynakların tüketilmeye çalışıldığı saldırı türlerinden biridir.Modern Linux kernel ve network sistemlerinde buna karşı çeşitli korumalar bulunur.
Rate Limiting
Belirli istemcilerin çok fazla istek yapmasını sınırlandırabilir.Özellikle:
- Login
- API
- Web
Backup Güvenliğin Bir Parçasıdır
Backup sadece veri kaybı için değildir.Ransomware, saldırı veya yanlış silme durumunda temiz yedeğe dönmek gerekebilir.
Yedek Aynı Sunucuda Tutulmalı mı?
Tek kopya olarak hayır.Saldırgan root erişimi elde ederse aynı sunucudaki backup'ları da silebilir.
Bu nedenle harici yedek önemlidir.
3-2-1 Backup Kuralı
Genel yaklaşım:- 3 kopya
- 2 farklı ortam
- 1 farklı lokasyon
Backup'lar Şifrelenmeli mi?
Hassas bilgi içeriyorsa evet.Çünkü backup dosyasında:
- Kullanıcı
- Veritabanı
- Müşteri
- E-posta
Restore Testi
Backup'ın gerçekten geri yüklenebildiği belirli aralıklarla test edilmelidir.Çalışmayan backup güvenlik olayında fayda sağlamaz.
Otomatik Backup
Manuel yedekler unutulabilir.Bu nedenle otomatik backup sistemi kullanılması daha güvenlidir.
Cron Güvenliği
Cron görevleri belirli komutları otomatik çalıştırabilir.Saldırgan cron'a zararlı görev eklerse erişimini kalıcı hale getirebilir.
Bu nedenle şüpheli olaylarda cron görevleri kontrol edilmelidir.
Startup Servisleri
Saldırgan zararlı yazılımı reboot sonrası tekrar başlatmak için servis oluşturabilir.Şüpheli sistemlerde startup servisleri incelenmelidir.
Kernel Güvenliği
Kernel güncellemeleri önemlidir.Kernel seviyesindeki açıklar saldırgana çok yüksek yetki kazandırabilir.
Güvenlik güncellemeleri takip edilmelidir.
SELinux Nedir?
SELinux, Linux üzerinde zorunlu erişim kontrolü sağlayan güvenlik sistemidir.Özellikle:
- RHEL
- AlmaLinux
- Rocky Linux
SELinux Kapatılmalı mı?
Bir sorun çıktığında ilk çözüm olarak SELinux'u tamamen kapatmak doğru değildir.Asıl hata veya politika problemi bulunmalıdır.
SELinux önemli ek güvenlik katmanı sağlar.
AppArmor Nedir?
AppArmor da uygulamaların hangi kaynaklara erişebileceğini sınırlamaya yardımcı olan güvenlik sistemidir.Ubuntu gibi dağıtımlarda yaygın olarak kullanılabilir.
Güvenlik Sistemlerini Kapatmak
Firewall, SELinux veya AppArmor nedeniyle sorun oluştuğunda:Kapat ve unut
yaklaşımı yerine doğru kural oluşturmak daha güvenlidir.
Sudo Yetkileri
Kullanıcılara sudo yetkisi verirken gereksiz geniş yetki verilmemelidir.Özellikle parola gerektirmeden tüm komutları çalıştırabilen hesaplar dikkatli kullanılmalıdır.
Kullanıcı Parola Politikası
Sunucularda:- Minimum parola uzunluğu
- Karmaşıklık
- Tekrar kullanım
Ancak güçlü SSH key kullanımı çoğu yönetim senaryosunda daha güvenli bir yaklaşım sağlar.
İki Faktörlü Doğrulama
Mümkün olan yönetim panellerinde:2FA
aktif edilmelidir.
Özellikle:
- Hosting paneli
- Cloud paneli
- Domain paneli
- Backup paneli
Kontrol Paneli Güvenliği
cPanel, Plesk veya benzeri kontrol panelleri kullanılıyorsa:- Güncel tutulmalı
- Güçlü parola kullanılmalı
- 2FA açılmalı
- Gereksiz kullanıcılar kaldırılmalı
Hosting Sunucularında Kullanıcı İzolasyonu
Paylaşımlı hosting sistemlerinde kullanıcıların birbirinin dosyalarına ulaşamaması gerekir.CloudLinux CageFS gibi sistemler izolasyona yardımcı olabilir.
CloudLinux LVE
Kullanıcıların:- CPU
- RAM
- I/O
- Process
Bu sadece performans değil, kötüye kullanım durumlarında güvenlik açısından da faydalı olabilir.
Web Hosting Hesaplarında Zararlı Script
Bir hosting hesabı ele geçirilirse:- Spam
- Phishing
- Malware
- Proxy
Bu nedenle kullanıcı bazında log ve kaynak takibi önemlidir.
File Integrity Monitoring
Kritik sistem dosyalarının değişip değişmediğini takip etmeye yardımcı olur.Beklenmeyen dosya değişiklikleri saldırı belirtisi olabilir.
Rootkit Nedir?
Rootkit saldırganın sistemdeki varlığını gizlemeye çalışan zararlı yazılım türüdür.Root seviyesinde ele geçirilmiş sistemlerde yalnızca zararlı dosyayı silmek yeterli olmayabilir.
Root Erişimi Ele Geçirildiyse
Sisteme tam olarak güvenmek zorlaşır.En güvenli yaklaşım çoğu durumda:
- Temiz kurulum
- Güvenilir backup'tan veri dönüşü
- Parolaların değiştirilmesi
- Erişim anahtarlarının yenilenmesi
Saldırının Kaynağını Bulmak
Sadece zararlı dosyayı silmek yeterli değildir.Açığın:
- WordPress eklentisi
- Zayıf parola
- SSH key
- Web paneli
- Eski servis
Şüpheli Kullanıcı Hesapları
Kullanıcı listesi düzenli kontrol edilebilir.Tanımadığınız yeni kullanıcılar varsa araştırılmalıdır.
SSH Authorized Keys Kontrolü
Saldırgan kalıcı erişim sağlamak için kendi SSH public key'ini ekleyebilir.Şüpheli erişim durumunda authorized keys dosyaları kontrol edilmelidir.
Shell History
Geçmiş komutlar olay analizi için faydalı olabilir.Ancak saldırgan geçmişi silebilir.
Bu nedenle merkezi log sistemi daha güvenilir olabilir.
Merkezi Log Sistemi
Önemli sunucularda loglar başka bir sisteme gönderilebilir.Böylece saldırgan ana sunucu loglarını silse bile merkezi kopyalar korunabilir.
IDS ve IPS Nedir?
IDS
Şüpheli aktiviteleri tespit eder.IPS
Şüpheli trafiği tespit edip engellemeye çalışabilir.Kurumsal sistemlerde ek güvenlik katmanı olarak kullanılabilir.
Port Tarama
İnternete açık sunucular sürekli taranır.Bu tek başına sunucunun ele geçirildiği anlamına gelmez.
Ancak gereksiz servisleri kapatmak saldırı yüzeyini azaltır.
Güvenlikte “Security Through Obscurity”
Sadece bir şeyi gizlemenin güvenlik için yeterli olduğu düşüncesidir.Örneğin SSH portunu değiştirmek faydalı olabilir ama tek başına gerçek güvenlik sağlamaz.
DNS Güvenliği
Sunucunun domainleri kullanılıyorsa DNS hesaplarının da korunması gerekir.Domain paneli ele geçirilirse saldırgan siteyi kendi sunucusuna yönlendirebilir.
Bu nedenle domain hesabında:
- Güçlü parola
- 2FA
- Registry lock gibi uygun korumalar
SSL Sertifikası
SSL ziyaretçi ile sunucu arasındaki trafiği şifreler.Ancak SSL:
Sunucuyu hacklenmeye karşı tamamen korumaz.
Bu sık yapılan yanlışlardan biridir.
TLS Yapılandırması
Eski ve güvensiz protokoller mümkünse kapatılmalıdır.Modern TLS sürümleri kullanılmalıdır.
Sertifika Süresi
SSL sertifikasının süresi takip edilmelidir.Otomatik yenileme sistemleri kullanılabilir.
FTP Kullanımı
Klasik FTP bağlantısı şifrelenmemiş olabilir.Mümkünse:
- SFTP
- FTPS
Telnet Kullanımı
Telnet bağlantısı şifreli değildir.Modern sunucu yönetiminde SSH tercih edilmelidir.
RDP Açık Linux Sunucu
Grafik masaüstü gereken Linux sistemlerde RDP benzeri servisler kullanılabilir.Ancak yönetim portları doğrudan herkese açılmamalıdır.
VPN veya IP kısıtlaması daha güvenlidir.
Docker Güvenliği
Docker kullanan sunucularda container kullanmak otomatik güvenlik sağlamaz.Dikkat edilmesi gerekenler:
- Güncel image
- Gereksiz root yetkisi
- Açık portlar
- Secret yönetimi
Container'ı Root Olarak Çalıştırmak
Her uygulamada gerekli değildir.Mümkünse uygulamalar daha düşük yetkili kullanıcılarla çalıştırılmalıdır.
Docker Socket Güvenliği
Docker socket'e erişim çok yüksek yetki sağlayabilir.Bu nedenle kontrolsüz şekilde container içerisine açılmamalıdır.
SSH Private Key'i Sunucuda Tutmak
Gereksiz yere başka sunuculara erişim sağlayan private key'leri sunucuda tutmak risklidir.Sunucu ele geçirilirse diğer sistemlere sıçrama yapılabilir.
Yatay Hareket Nedir?
Bir sistem ele geçirildikten sonra saldırganın aynı ağdaki başka sunuculara geçmeye çalışmasıdır.Bu nedenle iç ağda da:
- Firewall
- Ayrı hesaplar
- Segmentasyon
Network Segmentation
Web, veritabanı ve yönetim sistemlerini gerektiğinde ayrı ağlarda tutmak saldırganın hareket alanını sınırlandırabilir.Veritabanı Sunucusunu Public Yapmamak
Web sunucusunun erişmesi gereken veritabanını tüm internete açmak gereksizdir.Private network kullanılabiliyorsa daha güvenlidir.
Rate Limit Login Sayfaları
Web uygulamalarında login alanlarında deneme sayısı sınırlandırılabilir.Bu brute-force saldırılarını azaltabilir.
Captcha
Web formlarında bot trafiğini azaltabilir.Ancak tek başına kimlik doğrulama güvenliği değildir.
Dosya Upload Güvenliği
Web uygulamasına dosya yüklenebiliyorsa:- Dosya türü
- Boyut
- İsim
- Çalıştırma izni
Kontrolsüz upload alanları ciddi güvenlik riski oluşturabilir.
Geçici Dosyalar
Geçici klasörlerde hassas veriler uzun süre tutulmamalıdır.Uygulamalar işlem bittikten sonra gereksiz geçici dosyaları temizlemelidir.
Sunucu Saati
Doğru saat:- Log analizi
- SSL
- Authentication
NTP kullanılarak sistem saati senkronize edilebilir.
Güvenlik Günlük Kontrol Listesi
Her gün manuel yapmak gerekmez ancak otomasyonla takip edilebilir:- Sunucu erişilebilir mi?
- Disk doluluk normal mi?
- CPU anormal mi?
- RAM kullanımı normal mi?
- Kritik servisler çalışıyor mu?
- Backup tamamlandı mı?
- Şüpheli login var mı?
Haftalık Güvenlik Kontrol Listesi
- Güncellemeler kontrol edildi mi?
- Kullanıcı hesapları kontrol edildi mi?
- SSH girişleri incelendi mi?
- Firewall kuralları gözden geçirildi mi?
- Backup durumu kontrol edildi mi?
- Zararlı dosya taraması yapıldı mı?
- Disk ve log kullanımı kontrol edildi mi?
Aylık Güvenlik Kontrol Listesi
- Restore testi yapıldı mı?
- Eski kullanıcılar kaldırıldı mı?
- Kullanılmayan servisler kapatıldı mı?
- SSH key listesi kontrol edildi mi?
- Kontrol paneli kullanıcıları incelendi mi?
- Güvenlik politikaları gözden geçirildi mi?
Linux Sunucu Güvenliğinde Yaygın Hatalar
Güncelleme Yapmamak
Bilinen açıkların kullanılmasına neden olabilir.Her Şeyi Root ile Yönetmek
Yanlış işlem riskini artırır.SSH'yi Zayıf Parolayla Açık Bırakmak
Brute-force riskini artırır.Firewall Kullanmamak
Gereksiz servisleri internete açık bırakabilir.Tüm Portları Açmak
Saldırı yüzeyini büyütür.777 Yetki Vermek
Dosya güvenliğini zayıflatabilir.Veritabanını İnternete Açmak
Gereksiz saldırı yüzeyi oluşturur.Backup'ı Aynı Sunucuda Tutmak
Sunucu kaybolursa yedek de kaybolabilir.Güvenlik Yazılımını Güncellememek
Korumanın etkisini azaltabilir.Logları Hiç Kontrol Etmemek
Saldırı belirtileri fark edilmeyebilir.Yeni Linux Sunucu Kurulduğunda Yapılacaklar
Temel sıra şu şekilde olabilir:- Sistemi güncelleyin.
- Yönetici kullanıcı oluşturun.
- Güçlü parola veya SSH key kullanın.
- SSH güvenliğini düzenleyin.
- Firewall kurun.
- Sadece gerekli portları açın.
- Gereksiz servisleri kapatın.
- Saat ve NTP ayarını kontrol edin.
- Fail2Ban gibi koruma sistemlerini değerlendirin.
- Otomatik backup kurun.
- Monitoring sistemi ekleyin.
- Logları takip edin.
Web Sunucusu İçin Ek Kontroller
Web sunucusunda ayrıca:- PHP güncel mi?
- Apache/Nginx/LiteSpeed güncel mi?
- WAF aktif mi?
- Web uygulamaları güncel mi?
- Dosya izinleri doğru mu?
- Upload alanları güvenli mi?
- Database dışarıya kapalı mı?
Hosting Sunucusu İçin Ek Kontroller
Paylaşımlı hosting sunucularında:- Kullanıcı izolasyonu
- Malware tarama
- Mail güvenliği
- Kaynak limitleri
- Backup
- WAF
Tek müşterinin ele geçirilmesi diğer müşterileri etkilememelidir.
Oyun Sunucusu İçin Ek Kontroller
Oyun sunucularında:- Gereksiz portlar kapalı olmalı
- Yönetim portları IP ile sınırlandırılmalı
- DDoS koruması bulunmalı
- Veritabanı internete açık olmamalı
- SSH erişimi korunmalı
Veritabanı Sunucusu İçin Ek Kontroller
- Public erişim gerekmiyorsa kapalı
- Güçlü kullanıcı parolaları
- Kullanıcı bazlı yetki
- Private network
- Düzenli backup
- Güncel veritabanı sürümü
Güvenlik ve Performans Dengesi
Güvenlik sistemleri belirli miktarda kaynak tüketebilir.Ancak:
Performans için güvenliği kapatmak
doğru yaklaşım değildir.
Asıl amaç doğru yapılandırmayla ikisini dengede tutmaktır.
Linux Sunucu Güvenliğinin En Önemli Prensibi
Tek bir güvenlik katmanına güvenmemektir.Örneğin yalnızca:
Firewall var, güvendeyim
demek doğru değildir.
En sağlıklı yaklaşım:
- Firewall
- SSH key
- Güncelleme
- En az yetki
- WAF
- Monitoring
- Backup
Bu yaklaşım:
Defense in Depth
olarak bilinir.
Sonuç
Linux sunucu güvenliği tek seferlik yapılacak bir ayar değildir.Sürekli:
- Güncelleme
- İzleme
- Log analizi
- Yedekleme
- Yetki kontrolü
Yeni kurulan bir Linux sunucusunda en azından:
- Sistem güncellenmeli
- SSH güvenliği yapılandırılmalı
- Firewall aktif edilmeli
- Gereksiz portlar kapatılmalı
- Kullanıcı yetkileri sınırlandırılmalı
- Backup sistemi kurulmalı
- Log ve monitoring sistemi oluşturulmalı
Web veya hosting sunucularında ayrıca uygulama güvenliği, WAF, dosya izinleri ve zararlı yazılım kontrolleri önem kazanır.
Veritabanı ve yönetim servislerinin gerekmedikçe doğrudan internete açılmaması, mümkünse VPN veya IP whitelist üzerinden erişilmesi daha güvenlidir.
Kısacası güçlü bir Linux sunucu güvenliği için en doğru yaklaşım tek bir koruma sistemine güvenmek yerine güncelleme, erişim kontrolü, firewall, izleme ve yedeklemeyi birlikte kullanmaktır.



