Web Sitesi Güvenlik Başlıkları: Temel Sertleştirme Rehberi
Bu rehberi sonuna kadar uyguladığınızda elinizde HTTPS yapılandırmasından CSP başlığına, security.txt dosyasından temel sunucu sertleştirmesine kadar kontrol edilmiş, çalışır durumda bir güvenlik katmanı olacak. Başlamadan önce birkaç ön koşulu netleştirmek gerekiyor. Sitenizin barındığı sunucuya veya hosting panelinize erişiminiz olmalı, DNS kayıtlarını değiştirebiliyor olmanız gerekiyor ve değişiklikleri canlıya almadan önce en az bir test ortamında deneyebilmelisiniz.
Bu üçü elinizde yoksa aşağıdaki adımların bir kısmını tek başınıza uygulamanız zorlaşır. Böyle bir durumda hosting sağlayıcınızla veya sitenizi kuran ekiple birlikte ilerlemek, deneme yanılmaya göre çok daha az riskli bir yol.
Güvenlik başlıkları, tarayıcıya sitenizin nasıl davranması gerektiğini söyleyen HTTP yanıt başlıklarıdır. Doğru yapılandırıldığında kötü niyetli bir script'in çalışmasını, sayfanızın başka bir sitede çerçeve içine alınmasını veya tarayıcının yanlışlıkla şifresiz bağlantı kurmasını engeller. Bu adımların çoğu kod yazmayı değil, sunucu veya CDN panelinde ayar yapmayı gerektiriyor.
Ön Koşulları Netleştirin: Hangi Erişime İhtiyacınız Var
İlerlemeden önce sitenizin hangi altyapı üzerinde çalıştığını bilmeniz gerekiyor. Paylaşımlı hosting mi kullanıyorsunuz, yoksa kendi sunucunuz (VPS) mu var, yoksa bir CDN mi araya giriyor? CDN kısaca sitenizin dosyalarını kullanıcıya en yakın sunucudan ileten dağıtım ağı demek. Her senaryoda ayarları yapacağınız yer değişiyor: paylaşımlı hostingde genelde panel üzerinden, VPS'de sunucu konfigürasyon dosyasından, CDN kullanıyorsanız CDN'in kendi panelinden ilerlersiniz.
Doğrulama ölçütü şu: sitenizin hangi sunucu yazılımını kullandığını (Nginx, Apache veya başka bir yapı) ve dosyalara SSH ya da FTP ile erişiminiz olup olmadığını önceden teyit edin. Bu bilgi olmadan ilerlemeye çalışmak, doğru dosyayı bulmak için gereksiz zaman kaybına yol açar. Ekibimizin deneyimine göre, bu ön tespit atlandığında projelerin çoğu yarı yolda tıkanıyor.

HTTPS Sertifikasını Kurun ve Zorunlu Hale Getirin
HTTPS, tarayıcı ile sunucu arasındaki veri trafiğini şifreleyen protokoldür; adres çubuğunda kilit simgesiyle görünür. Sertifikayı almak için Let's Encrypt gibi ücretsiz bir sağlayıcı kullanabilir veya hosting firmanızın sunduğu SSL paketini aktif edebilirsiniz. Sertifika kurulduktan sonra tek başına yeterli değil; HTTP üzerinden gelen her isteğin otomatik olarak HTTPS'e yönlendirildiğinden emin olmanız gerekiyor.
Bunu sağlamak için sunucu konfigürasyonuna bir yönlendirme kuralı eklersiniz: Nginx'te return 301, Apache'de .htaccess üzerinden rewrite kuralı. Ardından HSTS (HTTP Strict Transport Security) başlığını ekleyerek tarayıcıya bu siteye bir daha asla şifresiz bağlanma talimatını verirsiniz. Bu tek satırlık ayar, kullanıcının yanlışlıkla eski bir HTTP linkine tıklamasının önüne geçer.
Doğrulama ölçütü: sitenizin HTTP adresini (örneğin http://siteniz.com) tarayıcıya yazıp Enter'a bastığınızda otomatik olarak https:// adresine yönlendiğini görmelisiniz. Ayrıca tarayıcının geliştirici araçlarında (F12) Network sekmesinden yanıt başlıklarına bakarak Strict-Transport-Security satırının göründüğünü teyit edin.
Content Security Policy Başlığını Tanımlayın
CSP, tarayıcıya sayfanızda hangi kaynaklardan script, stil veya görsel yüklenebileceğini söyleyen bir kural setidir. Doğru kurulduğunda, sitenize sızan zararlı bir script'in dış sunuculara veri göndermesini veya izinsiz kod çalıştırmasını engeller. Yanlış kurulduğunda ise sitenizin kendi çalışması gereken script'lerini veya stillerini bloke edebilir, bu yüzden CSP'yi doğrudan sıkı modda canlıya almak yerine önce raporlama modunda test etmek gerekiyor.
İlk adım, hangi dış kaynaklardan (Google Fonts, analitik araçlar, ödeme sağlayıcı script'leri gibi) içerik yüklediğinizi listelemek. Ardından Content-Security-Policy-Report-Only başlığıyla kuralları tanımlayıp tarayıcı konsolunda hangi isteklerin engellendiğini izlersiniz. Her şey beklendiği gibi çalıştığında başlığı Content-Security-Policy olarak değiştirip zorunlu hale getirirsiniz.
Doğrulama ölçütü: tarayıcı konsolunda (F12 > Console) kırmızı CSP ihlali uyarısı görmüyor olmanız ve sitenin tüm görsel, script ve stil dosyalarının normal şekilde yüklendiğini gözlemlemeniz gerekiyor. Bu kontrol beş dakikanızı alır ama kurulumun sağlamlığını gösteren en net gösterge budur.
Diğer Güvenlik Başlıklarını Ekleyin
CSP tek başına yeterli değil; onu tamamlayan birkaç başlık daha var. X-Frame-Options veya CSP içindeki frame-ancestors direktifi, sitenizin başka bir sayfada çerçeve içine alınarak kullanıcıyı kandırma amacıyla kullanılmasını, yani clickjacking'i engeller. X-Content-Type-Options: nosniff ise tarayıcının dosya türünü tahmin etmeye çalışmasını durdurarak, zararlı bir dosyanın farklı bir tür gibi çalıştırılmasının önüne geçer.
Referrer-Policy başlığı, kullanıcı başka bir siteye geçtiğinde tarayıcının hangi bilgiyi hedef siteye ileteceğini kontrol eder; genelde strict-origin-when-cross-origin değeri makul bir denge sağlar. Bu başlıkların tamamı tek bir dosyada tanımlanabilir: Nginx'te server bloğu, Apache'de .htaccess.
Doğrulama ölçütü: Mozilla Observatory veya securityheaders.com gibi bağımsız test araçlarına site adresinizi girip çıkan raporda her başlığın mevcut olarak işaretlendiğini görmelisiniz. Eksik çıkan başlık varsa, raporun verdiği öneriyi doğrudan konfigürasyon dosyanıza ekleyebilirsiniz.
security.txt Dosyasını Yayınlayın
security.txt, bir güvenlik araştırmacısının sitenizde zafiyet bulduğunda kiminle, nasıl iletişime geçeceğini belirten basit bir metin dosyasıdır. Dosya /.well-known/security.txt yolunda yayınlanır ve içinde iletişim e-postası, tercih edilen dil ve varsa bir ödül programı linki bulunur. Kurumsal siteler için bu dosya, güvenlik açığı bildirimlerinin rastgele kanallardan değil, doğru kişiye ulaşmasını sağlar.
Dosyayı oluşturmak teknik olarak zor değil; birkaç satırlık düz metni sunucunuzdaki belirtilen klasöre yüklemeniz yeterli. Zor olan kısım, dosyada yazan iletişim kanalının gerçekten takip edildiğinden emin olmak. Kimsenin bakmadığı bir e-posta adresi yazmak, dosyayı tamamen anlamsız kılar.
Doğrulama ölçütü: tarayıcıda siteniz.com/.well-known/security.txt adresine gittiğinizde dosyanın düz metin olarak göründüğünü ve içindeki e-posta adresinin aktif, kontrol edilen bir kutu olduğunu teyit edin.
Sunucu Tarafında Temel Sertleştirme Adımlarını Uygulayın
Başlıklar tarayıcı tarafını kapatır, ama sunucunun kendisinin de belirli bir disiplinle yapılandırılması gerekir. İlk adım, kullanılmayan portların ve servislerin kapatılması. Sunucunuzda çalışmayan bir veritabanı servisi dışarıya açık duruyorsa bu gereksiz bir risk taşır.
İkinci adım, sunucu yazılımının (Nginx, Apache, PHP, veritabanı) güncel sürümde tutulması; bilinen güvenlik açıkları genelde eski sürümlerde bulunur. Üçüncü adım, yönetici panellerine, örneğin WordPress için /wp-admin, erişimi IP kısıtlaması veya iki adımlı doğrulama ile sınırlamak. Dördüncü adım ise düzenli yedekleme: sertleştirme ne kadar sıkı olursa olsun, bir olay anında geri dönebileceğiniz temiz bir yedek olması gerekiyor.
Doğrulama ölçütü: sunucunuzda açık portları listeleyen bir tarama (örneğin nmap ile dışarıdan) çalıştırıp yalnızca gerçekten kullanılan portların (80, 443 gibi) açık olduğunu görmelisiniz. Yedekleme için ise son yedeğin tarihini ve geri yükleme testinin ne zaman yapıldığını kontrol edin.
Yaygın Hatayı Tanıyın: CSP'yi Test Etmeden Zorunlu Kılmak
En sık karşılaşılan hata, CSP başlığını doğrudan zorunlu modda yayınlayıp sitenin bir kısmının çalışmaz hale gelmesi. Bir e-ticaret sitesinde ödeme sağlayıcısının script'i veya bir kurumsal sitede canlı sohbet widget'ı, CSP kuralına dahil edilmediği için birden bloke olabilir. Bu durumda sorun genelde fark edilmez, çünkü sayfa görsel olarak normal yüklenir ama arka plandaki bir işlev sessizce çalışmaz hale gelir.
Dönüş yolu net: başlığı tekrar Report-Only moduna alın, tarayıcı konsolundaki ihlal kayıtlarını tek tek inceleyin ve eksik kalan kaynağı kural listesine ekleyin. Tüm ihlaller sıfırlandıktan sonra başlığı tekrar zorunlu moda geçirin. Bu süreç bir kerede bitmeyebilir; yeni bir üçüncü parti araç eklediğinizde CSP kurallarını tekrar gözden geçirmeniz gerekiyor.
Biz SUNS Tech olarak web geliştirme projelerinde bu adımı genelde teslim öncesi son kontrol listesine ekliyoruz, çünkü canlıya çıktıktan sonra fark edilen bir CSP hatası müşteri tarafında panik yaratabiliyor.

Kontrol Listesiyle Son Kontrolü Yapın
Tüm adımları uyguladıktan sonra, aşağıdaki listeyi tek tek işaretleyerek kurulumun eksiksiz olduğundan emin olabilirsiniz:
- HTTP adresine giriş yapıldığında otomatik HTTPS yönlendirmesi çalışıyor mu?
- HSTS başlığı yanıt başlıklarında görünüyor mu?
- CSP başlığı zorunlu modda ve konsolda ihlal uyarısı yok mu?
- X-Content-Type-Options, Referrer-Policy ve frame koruması başlıkları mevcut mu?
- security.txt dosyası doğru yolda yayında ve e-posta adresi aktif mi?
- Sunucuda kullanılmayan port veya servis kapatıldı mı, sürümler güncel mi?
- Son yedek alındı mı ve geri yükleme testi yakın tarihte yapıldı mı?
Bu adımların hiçbiri tek seferlik değil. Yeni bir entegrasyon eklediğinizde veya sunucu sürümü değiştiğinde listeyi tekrar gözden geçirmeniz gerekiyor.
Siteniz kurumsal bir yapıdaysa ve bu süreci kendi ekibinizle yönetmek yerine dışarıdan destek almak istiyorsanız, SUNS Tech olarak hizmetlerimiz kapsamında bu tür sertleştirme ve yapılandırma süreçlerini uçtan uca ele alıyoruz. Daha önce tamamladığımız benzer projelere portfolyomuzdan göz atabilirsiniz.
Kapsamlı bir güvenlik denetimi veya yeniden yapılandırma ihtiyacınız varsa, proje detaylarınızı iletip bir teklif almak için buradan ulaşabilirsiniz.



