Sunucu Güvenliği Rehberi: Linux VPS ve Dedicated Sunucu Koruma Kılavuzu
Linux sunucu güvenliği için kapsamlı rehber. SSH hardening, firewall (UFW/iptables), Fail2Ban, otomatik güncelleme, yedekleme, SSL/TLS ve DDoS koruması adım adım anlatılıyor.
Sunucu güvenliği, internete açık bir VPS veya dedicated sunucu devreye alındığı andan itibaren ele alınması gereken bir süreçtir. Yeni kurulmuş ve üzerinde henüz web sitesi bile bulunmayan bir sunucu, yalnızca herkese açık bir IP adresine sahip olduğu için otomatik port taramalarına, SSH giriş denemelerine ve bot trafiğine maruz kalabilir. Bu nedenle güvenlik yapılandırmasını projenin son aşamasında yapılacak ek bir işlem olarak görmek doğru değildir.
İyi bir server güvenliği yaklaşımı tek bir yazılıma veya firewall kuralına dayanmaz. SSH erişiminin sınırlandırılması, gereksiz portların kapatılması, güncellemelerin uygulanması, saldırı denemelerinin izlenmesi, düzenli yedek alınması ve uygulama katmanının korunması birlikte düşünülmelidir. Güvenlik dünyasında bu yaklaşım "defense in depth", yani derinlemesine savunma olarak bilinir.
Bu rehberde Linux tabanlı VPS ve dedicated sunucular için uygulanabilecek temel ve ileri seviye güvenlik adımlarını ele alacağız. SSH key kullanımından UFW ve iptables yapılandırmasına, Fail2Ban'dan SSL/TLS'e, yedeklemeden DDoS korumasına kadar bir sunucunun güvenlik seviyesini yükseltmek için uygulanabilecek yöntemleri gerçek komut örnekleriyle inceleyeceğiz.
Sunucu Güvenliği Neden Önemli?
İnternete bağlı bir sunucunun saldırıya uğraması için popüler bir web sitesine ev sahipliği yapması gerekmez. Otomatik sistemler geniş IP bloklarını sürekli tarayabilir; SSH, web paneli, veritabanı veya başka servislerin açık olup olmadığını kontrol edebilir. Açık servis tespit edildiğinde varsayılan kullanıcı adları, zayıf parolalar veya bilinen güvenlik açıkları denenebilir.
Başarılı bir saldırının sonucu yalnızca web sitesinin kapanması olmayabilir. Sunucudaki veriler ele geçirilebilir, dosyalar değiştirilebilir, sunucu başka sistemlere saldırmak için kullanılabilir veya kötü amaçlı yazılım çalıştırılabilir. İşletmeler açısından hizmet kesintisi, veri kaybı ve itibar zararı da ortaya çıkabilir.
Bu nedenle yeni bir Linux sunucu teslim alındığında ilk dakikalarda en azından şu işlemlerin değerlendirilmesi gerekir:
- Sistemin güncel olup olmadığını kontrol edin.
- Günlük yönetim için ayrı bir sudo kullanıcısı oluşturun.
- SSH key tabanlı kimlik doğrulamayı yapılandırın.
- Firewall üzerinde yalnızca gerekli portları açın.
- Root erişimini ve SSH yapılandırmasını sıkılaştırın.
- Fail2Ban gibi saldırı sınırlama araçlarını yapılandırın.
- Yedekleme ve log izleme planını oluşturun.
Sunucu hardening olarak adlandırılan süreç tam olarak bununla ilgilidir: sistemi işlevini bozmadan mümkün olan en küçük saldırı yüzeyiyle çalışacak şekilde yapılandırmak. Amaç tek bir "güvenli" ayar bulmak değil, saldırganın ilerleyebilmesi için aşması gereken birden fazla güvenlik katmanı oluşturmaktır.
SSH Güvenliği — Sunucunuzun Ön Kapısı
Linux sunucularda uzaktan yönetimin büyük bölümü SSH üzerinden gerçekleştirildiği için SSH güvenliği, genel Linux sunucu güvenliği açısından kritik öneme sahiptir. SSH hesabına erişim sağlayan bir saldırgan, hesabın yetkilerine bağlı olarak sistem üzerinde ciddi kontrol elde edebilir.
SSH Key Tabanlı Kimlik Doğrulama
Parola tabanlı SSH erişiminde saldırganın deneyebileceği somut bir parola bulunur. Rate limiting ve Fail2Ban bu riski azaltabilir ancak yönetici hesaplarında SSH key kullanmak daha güçlü bir kimlik doğrulama modeli oluşturur.
İstemci bilgisayarında Ed25519 anahtar çifti oluşturmak için:
ssh-keygen -t ed25519
Public key'i sunucuya aktarmak için:
ssh-copy-id kullanici@SUNUCU_IP
Anahtar ile girişin sorunsuz çalıştığını doğruladıktan sonra /etc/ssh/sshd_config içerisinde parola doğrulaması kapatılabilir:
PasswordAuthentication no
PubkeyAuthentication yes
Yapılandırmayı değiştirdikten sonra mevcut SSH oturumunu kapatmadan önce yeni bir terminal penceresinden bağlantıyı test edin. Hatalı SSH ayarı nedeniyle sunucuya erişimi kaybetmek oldukça kolaydır.
Güvenlik odaklı bir Linux altyapısına ihtiyaç duyuyorsanız VPS sunucu çözümlerimizi inceleyebilirsiniz.
SSH Port Değiştirme
SSH varsayılan olarak TCP 22 portunu kullanır. Portu değiştirmek SSH servisini doğrudan güvenli hâle getirmez; ancak varsayılan portu hedefleyen otomatik taramaların ve gereksiz brute-force denemelerinin bir bölümünü azaltabilir.
Örneğin SSH portunu değiştirmek için sshd_config içerisinde:
Port 2222
gibi bir değer tanımlanabilir. Burada en kritik nokta firewall yapılandırmasıdır. SSH servisini yeniden başlatmadan önce yeni portun firewall üzerinde izinli olduğundan emin olun.
ufw allow 2222/tcp
Yeni port üzerinden bağlantıyı doğruladıktan sonra eski port kuralı kaldırılabilir.
Root Login'i Devre Dışı Bırakma
Günlük yönetim işlemlerini doğrudan root hesabıyla yapmak yerine ayrı bir kullanıcı ve gerektiğinde sudo kullanmak daha kontrollü bir yöntemdir.
adduser adminuser
usermod -aG sudo adminuser
Yeni kullanıcının SSH key erişimini ve sudo yetkisini test ettikten sonra root üzerinden doğrudan SSH girişini kapatabilirsiniz:
PermitRootLogin no
Bu değişiklikleri yaparken sağlayıcınızın konsol veya kurtarma erişiminin olup olmadığını bilmeniz de önemlidir.
SSH Ek Güvenlik Ayarları
OpenSSH yapılandırmasında saldırı yüzeyini azaltmak için ek sınırlamalar uygulanabilir. Örneğin:
MaxAuthTries 3
LoginGraceTime 30
AllowUsers adminuser
ClientAliveInterval 300
ClientAliveCountMax 2
MaxAuthTries bir bağlantıdaki başarısız kimlik doğrulama sayısını sınırlar. AllowUsers yalnızca belirtilen kullanıcıların SSH erişimine izin vermek için kullanılabilir. ClientAlive ayarları ise uzun süre yanıtsız kalan bağlantıların yönetilmesine yardımcı olur.
Bu değerlerin her sunucu için birebir aynı olması gerekmez. Güvenlik yapılandırması sunucunun kullanım biçimine ve yönetim modeline göre belirlenmelidir.
Firewall Yapılandırması — Gelen Trafiği Kontrol Edin
Firewall'ın temel görevi sunucuya hangi ağ trafiğinin ulaşabileceğini kontrol etmektir. Firewall ayarları Linux üzerinde UFW, nftables veya iptables gibi farklı araçlarla yönetilebilir.
Temel prensip basittir: ihtiyaç duyulmayan servis internete açık olmamalıdır. Bir web sunucusunda çoğu zaman dış dünyadan SSH, HTTP ve HTTPS erişimi yeterlidir. Veritabanı yalnızca yerel uygulama tarafından kullanılıyorsa MySQL portunun herkese açık olmasına gerek yoktur.
UFW (Uncomplicated Firewall) ile Temel Güvenlik
UFW kullanımı özellikle Ubuntu tabanlı sunucularda firewall yönetimini kolaylaştırır. Başlangıç politikası olarak gelen bağlantıları engelleyip giden bağlantılara izin verebilirsiniz:
ufw default deny incoming
ufw default allow outgoing
Ardından yalnızca ihtiyacınız olan servisleri açabilirsiniz:
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Mevcut kuralları görmek için:
ufw status verbose
Bir yönetim servisine yalnızca belirli bir IP adresinden erişim vermek de mümkündür:
ufw allow from 203.0.113.10 to any port 22 proto tcp
Ancak sabit olmayan bir yönetim IP'si kullanıyorsanız bu tür kısıtlamaları uygulamadan önce erişiminizi nasıl sürdüreceğinizi planlayın.
iptables ile İleri Düzey Kontrol
iptables kullanımı, paket filtreleme kurallarında daha ayrıntılı kontrol gereken sistemlerde karşımıza çıkar. INPUT, OUTPUT ve FORWARD gibi chain'ler üzerinden paketlerin nasıl işleneceği belirlenebilir.
Örneğin mevcut kuralları listelemek için:
iptables -L -n -v
kullanılabilir. iptables ile kaynak IP, hedef port, protokol, bağlantı durumu ve rate limit gibi kriterlere göre daha ayrıntılı kurallar oluşturulabilir.
UFW ile iptables birbirinden tamamen bağımsız iki firewall teknolojisi gibi düşünülmemelidir. UFW daha kolay yönetim sağlayan bir arayüz yaklaşımı sunarken daha karmaşık ağ senaryolarında doğrudan alt katmandaki firewall mekanizmalarıyla çalışmak gerekebilir.
Hangi yöntemi kullanırsanız kullanın, uzak sunucuda firewall değişikliği yaparken erişim portunuzu yanlışlıkla kapatmamak için mevcut oturumu açık tutmak iyi bir önlemdir.
Fail2Ban — Otomatik Saldırı Engelleme
Fail2Ban nedir? Fail2Ban, belirli servislerin log kayıtlarını izleyerek tekrarlanan başarısız girişleri tespit eden ve tanımlanan eşik aşıldığında ilgili IP adresine geçici engel uygulayabilen bir güvenlik aracıdır.
Ubuntu/Debian sistemlerinde kurulum:
apt update
apt install fail2ban -y
systemctl enable --now fail2ban
Özel ayarları doğrudan varsayılan jail.conf üzerinde değiştirmek yerine jail.local veya uygun override dosyalarıyla yönetmek güncellemeler açısından daha sağlıklıdır.
Basitleştirilmiş bir SSH jail örneği:
[sshd]
enabled = true
port = ssh
maxretry = 5
findtime = 10m
bantime = 1h
Burada findtime başarısız denemelerin değerlendirileceği zaman aralığını, maxretry izin verilen deneme sayısını, bantime ise engelin süresini belirler.
Fail2Ban yalnızca SSH için kullanılmak zorunda değildir. Uygun filtre ve jail yapılandırmalarıyla web server veya e-posta servislerinin logları da takip edilebilir.
Mevcut durumu kontrol etmek için:
fail2ban-client status
fail2ban-client status sshd
Yönetim IP'lerinin yanlışlıkla engellenmemesi gereken senaryolarda ignoreip kullanılabilir. Ancak geniş IP aralıklarını gereksiz yere whitelist etmek korumayı zayıflatabilir.
Otomatik Güvenlik Güncellemeleri
Sunucunun ilk gün güvenli yapılandırılması yeterli değildir. Yeni açıklar keşfedildikçe işletim sistemi ve servisler için güvenlik yamaları yayımlanır. Bu nedenle Linux güvenlik güncellemesi süreçleri sürekli sunucu yönetiminin parçasıdır.
Ubuntu/Debian — unattended-upgrades
Ubuntu ve Debian tabanlı sistemlerde güvenlik güncellemelerinin otomatik uygulanması için unattended-upgrades kullanılabilir:
apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades
Otomatik güncellemelerin kapsamı sunucunun rolüne göre belirlenmelidir. Güvenlik yamalarının hızlı uygulanması önemli olsa da kritik production sistemlerinde servis davranışını değiştirebilecek güncellemelerin etkisi de değerlendirilmelidir.
CentOS/AlmaLinux/Rocky — dnf-automatic
RHEL tabanlı güncel sistemlerde benzer süreç dnf-automatic ile yönetilebilir:
dnf install dnf-automatic -y
Kurulumdan sonra güncelleme politikasının sistem ihtiyaçlarına göre yapılandırılması gerekir. Otomasyon kurulduktan sonra gerçekten çalışıp çalışmadığı da izlenmelidir.
Güncelleme Stratejisi
Her güncellemeyi hiçbir kontrol yapmadan production sistemine uygulamak da, güncellemeleri aylarca ertelemek de iyi bir yaklaşım değildir.
Güvenlik yamaları öncelikli ele alınmalı; kernel gibi yeniden başlatma gerektiren kritik bileşenler için planlı bakım zamanı oluşturulmalıdır. Uygulama ve büyük sürüm güncellemelerinde ise mümkün olduğunda önce test veya staging ortamında doğrulama yapılmalıdır.
Yedekleme Stratejisi — Son Savunma Hattı
Sunucu yedekleme doğrudan bir saldırıyı engellemez ancak güvenlik olayından sonra toparlanabilme kabiliyetinin en önemli parçalarından biridir. Ransomware, yanlış yapılandırma, kullanıcı hatası veya disk problemi sonucunda veriler kaybolduğunda kullanılabilir bir yedeğiniz yoksa diğer güvenlik önlemlerinin değeri sınırlı kalabilir.
3-2-1 Yedekleme Kuralı
Yedekleme planlarında sık kullanılan 3-2-1 yaklaşımı basit bir mantığa dayanır:
- Verinin toplam en az 3 kopyası bulunsun.
- Kopyalar en az 2 farklı depolama ortamında tutulsun.
- En az 1 kopya farklı bir lokasyonda bulunsun.
Aynı VPS içerisinde /backup klasörü oluşturmak faydalı olabilir ancak tek başına uzak yedek değildir. VPS'in tamamına erişim kaybedildiğinde aynı disk üzerindeki yedek de erişilemez olabilir.
Otomatik Yedekleme Araçları
Basit dosya kopyalamalarında rsync kullanılabilir:
rsync -avz /var/www/ backupuser@BACKUP_IP:/backups/web/
Daha gelişmiş ihtiyaçlarda BorgBackup gibi deduplication ve şifreleme özellikleri sunan araçlardan yararlanılabilir.
Veritabanlarının ise yalnızca dosya sistemini kopyalamak yerine uygun veritabanı araçlarıyla tutarlı şekilde yedeklenmesi gerekir. MySQL/MariaDB için mysqldump, PostgreSQL için pg_dump buna örnektir.
Yedekleme Programı ve Rotasyonu
Yedekleme sıklığı verinin ne kadar hızlı değiştiğine göre belirlenmelidir. Kritik veriler günlük veya daha sık, daha az değişen içerikler daha seyrek yedeklenebilir. Günlük, haftalık ve aylık kopyalar için farklı saklama süreleri tanımlanması depolama alanının kontrollü kullanılmasını sağlar.
En önemlisi ise geri yükleme testidir. Loglarda "backup completed" yazması tek başına yedeğin kullanılabilir olduğunu kanıtlamaz. Belirli aralıklarla gerçek bir restore denemesi yapılmalıdır.
Uzak Yedekleme
Uzak yedekler başka bir fiziksel sunucuya veya uygun bir object storage altyapısına gönderilebilir. Transfer sırasında şifreleme kullanılmalı, yedek erişim bilgileri production sisteminden mümkün olduğunca ayrılmalıdır.
Linux tabanlı projeler için Linux VPS çözümlerimizi de değerlendirebilirsiniz.
SSL/TLS Sertifikası ve HTTPS
SSL sertifikası nedir? Günümüzde yaygın olarak TLS protokolü kullanılsa da SSL sertifikası ifadesi, web sunucusu ile istemci arasındaki HTTPS bağlantısının kimlik doğrulama ve şifreleme sürecinde kullanılan dijital sertifikaları ifade etmek için yaygın biçimde kullanılmaktadır.
HTTPS özellikle giriş bilgileri, kişisel veriler ve ödeme gibi hassas verilerin ağ üzerinde açık metin olarak taşınmasını önlemek açısından önemlidir.
Let's Encrypt ile ücretsiz TLS sertifikası alınabilir. Nginx kullanılan Ubuntu sistemlerde Certbot örneği:
apt install certbot python3-certbot-nginx
certbot --nginx -d siteadi.com -d www.siteadi.com
Otomatik yenilemenin çalıştığını test etmek için:
certbot renew --dry-run
Modern HTTPS yapılandırmalarında eski TLS sürümleri yerine güncel protokoller tercih edilmeli, kullanılan cipher yapılandırmaları kontrol edilmeli ve uygun sistemlerde HSTS gibi ek güvenlik başlıkları değerlendirilmelidir.
HSTS etkinleştirilmeden önce HTTPS'in tüm ilgili alan adlarında sorunsuz çalıştığından emin olmak önemlidir; yanlış yapılandırılmış uzun süreli HSTS politikası erişim sorunlarına yol açabilir.
DDoS Koruması
DDoS koruması yalnızca sunucu üzerinde birkaç firewall kuralı eklemekten ibaret değildir. Distributed Denial of Service saldırılarında çok sayıda kaynaktan oluşturulan trafik, hedef sistemin bağlantı kapasitesini veya uygulama kaynaklarını tüketmeye çalışabilir.
DDoS Saldırısı Nedir?
DDoS saldırıları genel olarak volumetric, protocol ve application layer saldırıları gibi farklı kategorilerde değerlendirilebilir.
Volumetric saldırılarda yüksek trafik hacmi bağlantı kapasitesini tüketmeyi hedefler. Protocol tabanlı saldırılar ağ veya transport katmanındaki mekanizmaları hedefleyebilir. Application layer saldırılarında ise normal kullanıcı isteğine benzeyen HTTP istekleriyle uygulamanın CPU, veritabanı veya diğer kaynakları tüketilmeye çalışılabilir.
Sunucu Düzeyinde DDoS Koruması
Linux sunucuda SYN cookies gibi kernel mekanizmaları ve uygun rate limiting kuralları bazı saldırı türlerinin etkisini azaltmaya yardımcı olabilir. Nginx üzerinde de belirli endpoint'lere uygulanabilecek request veya connection limitleri tanımlanabilir.
Ancak saldırı sunucunun internet bağlantısının kapasitesini tamamen dolduruyorsa paketler VPS'e ulaşmadan önce filtrelenmelidir. Bu nedenle yalnızca işletim sistemi firewall'ına güvenmek yeterli değildir.
Ağ Düzeyinde DDoS Koruması
Ağ seviyesindeki yüksek hacimli saldırılarda veri merkezi veya upstream ağ altyapısının kapasitesi ve filtreleme mekanizmaları önem kazanır. Web uygulamalarında uygun olduğunda CDN ve reverse proxy hizmetleri de origin sunucunun doğrudan maruz kaldığı trafiği azaltabilir.
Yüksek kaynak ihtiyacı bulunan projeler için dedicated sunucu hizmetlerimizi, daha esnek altyapı gerektiren projelerde ise bulut sunucu çözümlerimizi inceleyebilirsiniz.
Uygulama Düzeyinde Koruma
Application layer saldırılarında yalnızca ağ trafiğinin hacmine bakmak yeterli değildir. Bir API endpoint'ine saniyede yüzlerce maliyetli sorgu gönderilmesi düşük bant genişliğiyle bile uygulamanın kaynaklarını tüketebilir.
Nginx rate limiting, Apache tarafında uygun koruma modülleri ve WAF çözümleri bu katmanda değerlendirilebilir. Login, parola sıfırlama ve arama gibi maliyetli endpoint'lere uygulama tarafında da rate limit uygulanması önemlidir.
Ek Güvenlik Önlemleri
SSH, firewall, güncelleme ve yedekleme güvenliğin temelini oluşturur. Ancak internet üzerinden kritik hizmet sunan sistemlerde ek kontroller de uygulanabilir.
İki Faktörlü Kimlik Doğrulama (2FA)
İki faktörlü kimlik doğrulama, tek bir kimlik doğrulama unsurunun ele geçirilmesi durumunda ek bir kontrol katmanı sağlar. Linux PAM altyapısıyla uyumlu çözümler kullanılarak belirli SSH senaryolarında ikinci faktör eklenebilir.
2FA yapılandırılırken kurtarma prosedürlerinin de önceden planlanması gerekir. İkinci faktör cihazına erişim kaybedildiğinde sunucunun nasıl yönetileceği bilinmelidir.
Rootkit ve Malware Taraması
rkhunter ve chkrootkit gibi araçlar sistemde bilinen rootkit göstergelerini kontrol etmek için kullanılabilir. ClamAV ise dosya tabanlı zararlı yazılım taramalarında kullanılabilecek araçlardan biridir.
Bu araçlardan gelen her uyarı doğrudan sistemin ele geçirildiği anlamına gelmez. Sonuçların loglar, dosya değişiklikleri ve diğer güvenlik göstergeleriyle birlikte değerlendirilmesi gerekir.
Sistem Logları ve İzleme
Güvenlik olayı yaşandıktan sonra kayıt yoksa ne olduğunu anlamak oldukça zorlaşır. Linux sistemlerde journalctl, /var/log altındaki servis logları ve uygulama logları düzenli olarak takip edilmelidir.
Örneğin:
journalctl -p warning
journalctl -u ssh
fail2ban-client status
Log dosyalarının diski doldurmaması için logrotate benzeri rotasyon mekanizmalarının doğru çalıştığından da emin olunmalıdır.
Gereksiz Servisleri Kapatma
Bir servisin kullanılmıyor olması onun risk oluşturmadığı anlamına gelmez. Çalışan servisleri ve dinlenen portları kontrol etmek için:
ss -tulnp
kullanılabilir. İhtiyaç duyulmayan servisler durdurulmalı ve mümkünse otomatik başlangıçtan kaldırılmalıdır.
Minimum paket prensibi de benzer mantığa dayanır: sunucuda ne kadar az gereksiz yazılım varsa güncellenmesi ve takip edilmesi gereken bileşen sayısı da o kadar azalır.
Dosya İzinleri ve Bütünlük Kontrolü
Linux dosya izinlerinde chmod ve chown komutları dikkatli kullanılmalıdır. Her sorunu chmod 777 ile çözmeye çalışmak ciddi güvenlik problemlerine neden olabilir.
Özellikle web uygulamalarında web server kullanıcısının yalnızca ihtiyaç duyduğu dizinlerde yazma yetkisine sahip olması daha doğru bir yaklaşımdır.
AIDE veya benzeri file integrity monitoring araçları kritik sistem dosyalarında beklenmeyen değişikliklerin tespit edilmesine yardımcı olabilir. SUID/SGID bitine sahip dosyaların da periyodik olarak incelenmesi ileri seviye hardening çalışmalarının bir parçasıdır.
Sunucu Güvenliği Kontrol Listesi (Checklist)
Uzun bir güvenlik yapılandırmasında küçük bir adımı unutmak kolaydır. Aşağıdaki liste yeni kurulan Linux VPS veya dedicated sunucular için hızlı kontrol noktası olarak kullanılabilir:
- ☐ SSH key authentication yapılandırıldı.
- ☐ SSH erişimi yalnızca gerekli kullanıcılarla sınırlandırıldı.
- ☐ Root üzerinden doğrudan SSH girişi kapatıldı.
- ☐ SSH port değişikliği gerekiyorsa uygulandı.
- ☐ UFW veya uygun firewall yapılandırması aktif.
- ☐ Yalnızca gerekli portlar internete açık.
- ☐ Fail2Ban kuruldu ve kullanılan servislere göre yapılandırıldı.
- ☐ Otomatik güvenlik güncellemeleri değerlendirildi ve yapılandırıldı.
- ☐ HTTPS ve geçerli SSL/TLS sertifikası aktif.
- ☐ Sertifika yenileme işlemi test edildi.
- ☐ Otomatik sunucu yedekleme sistemi çalışıyor.
- ☐ Uzak yedek kopyası mevcut.
- ☐ Yedeklerden geri yükleme testi yapıldı.
- ☐ Kullanılmayan servisler kapatıldı.
- ☐ Açık portlar kontrol edildi.
- ☐ Sistem ve uygulama logları izleniyor.
- ☐ Gerekli sistemlerde 2FA değerlendirildi.
- ☐ Dosya izinleri ve servis kullanıcıları kontrol edildi.
- ☐ DDoS ve uygulama katmanı koruması değerlendirildi.
Bu maddelerin tamamı her sunucuda aynı şekilde uygulanmak zorunda değildir. Örneğin yalnızca private network üzerinde çalışan bir backend sunucusuyla doğrudan internete açık bir web sunucusunun tehdit modeli farklıdır. Önemli olan hangi servisin neden açık olduğunu bilmek ve güvenlik kararlarını bilinçli şekilde vermektir.
Sunucu güvenliği bir defa yapılandırılıp unutulacak işlem değildir. Yeni açıklar yayımlanır, uygulamalar değişir, yeni servisler eklenir ve tehdit modelleri zaman içerisinde farklılaşır. Bu nedenle güvenlik yapılandırmasının düzenli olarak gözden geçirilmesi gerekir.
Güvenli bir başlangıç için işletim sistemi seviyesindeki hardening kadar altyapının doğru seçilmesi de önemlidir. Projenizin ihtiyacına göre DoğruHost sunucu çözümlerini inceleyebilir ve uygulamanız için uygun kaynaklarla başlayabilirsiniz.
Sıkça Sorulan Sorular
Sunucu güvenliği için ilk yapılması gereken nedir?
Yeni bir sunucuda öncelikle sistemi güncelleyin, günlük yönetim için ayrı bir sudo kullanıcısı oluşturun, SSH key authentication yapılandırın ve firewall üzerinde yalnızca gerekli portlara izin verin. Ardından Fail2Ban, yedekleme ve log izleme gibi ek katmanları yapılandırabilirsiniz.
Fail2Ban nedir ve nasıl çalışır?
Fail2Ban servislerin log kayıtlarını takip ederek belirlenen süre içerisinde çok sayıda başarısız giriş yapan IP adreslerini tespit edebilir. Tanımlanan eşik aşıldığında firewall mekanizması üzerinden ilgili IP'ye belirli süreyle engel uygulanabilir.
SSH key authentication neden parola girişinden daha güvenli?
SSH key authentication, tahmin edilebilir veya tekrar kullanılabilir parolalar yerine kriptografik anahtar çiftlerinden yararlanır. Private key güvenli şekilde saklandığında otomatik parola denemelerine karşı çok daha güçlü bir kimlik doğrulama mekanizması sağlar.
UFW mu yoksa iptables mı kullanmalıyım?
Temel Linux sunucu firewall yapılandırmalarında UFW daha kolay yönetilebilir bir arayüz sunar. Daha karmaşık paket filtreleme, routing veya özel ağ kuralları gereken ortamlarda alt seviyedeki firewall mekanizmaları üzerinde daha ayrıntılı kontrol gerekebilir.
Sunucu yedekleme ne sıklıkla yapılmalı?
Yedekleme sıklığı verinin değişim hızına ve kabul edilebilir veri kaybı miktarına göre belirlenmelidir. Kritik veriler daha sık yedeklenebilir. Bunun yanında uzak kopya tutulması ve yedeklerden düzenli geri yükleme testi yapılması önemlidir.
DDoS saldırısından nasıl korunulur?
DDoS saldırılarına karşı katmanlı koruma gerekir. Sunucu tarafında rate limiting ve bağlantı limitleri, uygulama tarafında WAF ve request limiting, ağ tarafında ise veri merkezi veya upstream seviyesinde trafik filtreleme kullanılabilir. Yüksek hacimli saldırılarda yalnızca VPS içerisindeki firewall yeterli olmayabilir.
Let's Encrypt SSL sertifikası güvenli mi?
Let's Encrypt, web sitelerinde HTTPS bağlantısı oluşturmak için kullanılabilen güvenilir bir sertifika otoritesidir. Sertifikaların süreleri sınırlı olduğundan Certbot gibi araçlarla otomatik yenileme yapılandırılmalı ve yenilemenin düzenli çalıştığı kontrol edilmelidir.
Sıkça Sorulan Sorular
CEO
Full stack web geliştirici olarak web uygulamaları geliştirmektedir. Sunucular, hosting altyapıları ve ağ sistemleri üzerine çalışmaktadır. DoğruHost bünyesinde hosting ve sunucu altyapılarının geliştirilmesi ve yönetimiyle ilgilenmektedir.
Profesyonel hosting ve sunucu çözümleri için DoğruHost'u keşfedin.
VPS Sunucu Paketlerini İnceleİlgili Yazılar
Windows VPS Nedir? Kapsamlı Kullanım ve Kurulum Rehberi
Windows VPS nedir, ne için kullanılır? Windows Server sürümleri, RDP erişimi, ASP.NET hosting, MSSQL, lisanslama ve kullanım senaryolarını öğrenin.
SunucuVPS ve VDS Farkı Nedir? Teknik Karşılaştırma Rehberi
VPS ile VDS arasındaki farkı teknik olarak öğrenin. Sanallaştırma teknolojileri, kaynak izolasyonu, performans farkları ve hangi yapının uygun olduğunu inceleyin.
SunucuSanal Sunucu Nedir? Sunucu Türleri ve Kapsamlı Rehber
Sanal sunucu nedir, nasıl çalışır? VPS, VDS, dedicated, fiziksel ve cloud sunucu türlerini; avantajlarını, farklarını ve seçim kriterlerini detaylı öğrenin.