Tüm Yazılar
Web Tasarım10 dk okuma

Güvenlik Odaklı Web Tasarım İlkeleri

15 Mart 2024
10 dk

# Güvenlik Odaklı Web Tasarım İlkeleri

Modern dijital dünyada, bir web sitesi tasarlarken estetik ve kullanıcı deneyimi kadar önemli olan bir başka unsur vardır: güvenlik. ELIYTE olarak, Türkiye'de faaliyet gösteren işletmelerin ve girişimlerin dijital varlıklarını koruma konusunda ne kadar kritik olduğunu biliyoruz. Bu rehberde, güvenlik odaklı web tasarım ilkelerini ve uygulanması gereken en iyi yöntemleri inceleyeceğiz.

HTTPS ve SSL/TLS Sertifikaları: Dijital İletişimin Temeli

Web güvenliğinin en temel taşı, HTTPS (Hypertext Transfer Protocol Secure) protokolünü ve SSL/TLS sertifikalarını kullanmaktır. Bu teknoloji, ziyaretçilerinizin bilgisayarı ile web sunucunuz arasında iletişimi şifreler.

HTTPS kullanmak artık bir seçenek değil, bir gereklilik haline gelmiştir. Google, HTTPS olmayan sitelerini arama sonuçlarında düşük sıralamalara yerleştirir ve tarayıcılar ziyaretçileri uyarır. Türkiye'deki işletmeler için bu, müşteri kaybı anlamına gelebilir.

SSL/TLS sertifikası almanız için yapmanız gerekenler:

  • Sertifika sağlayıcısından (Comodo, DigiCert, Let's Encrypt gibi) sertifika satın alın veya ücretsiz seçenekleri kullanın
  • Sertifikayı web sunucunuza yükleyin
  • Tüm trafiği HTTPS'ye yönlendirin (HTTP'den redirect yapın)
  • Sertifikayı düzenli olarak yenileyin (çoğu sertifika bir yıl için geçerlidir)
  • Özellikle e-ticaret sitelerinde, kişisel veriler taşıyan formlarda ve ödeme işlemlerinde HTTPS şarttır. KVKK (Kişisel Verileri Koruma Kanunu) kapsamında Türkiye'deki verilerinizi korumak için bu adımı atmanız yasal bir zorunluluktur.

    XSS (Cross-Site Scripting) Saldırılarından Korunma

    XSS saldırıları, saldırganların web sitenizde bulunan kullanıcıların tarayıcılarına kötü amaçlı kod enjekte etmesine olanak sağlar. Bu, kullanıcı kimlik bilgilerinin çalınması, oturum hijackingine yol açabilir ve müşterilerinizin güvenini sarabilir.

    XSS'den korunmak için uygulanması gereken yöntemler:

  • İnput Validasyonu: Kullanıcılardan gelen tüm verileri valide edin. Beklediğiniz veri türünü kontrol edin. Örneğin, e-posta alanına sadece e-posta formatını kabul edin.
  • Output Encoding: Veritabanından çekilen ve sayfada gösterilen tüm verileri kodlayın. HTML karakterleri (&, <, >, ", ') özel karakterlere dönüştürün.
  • Content Security Policy (CSP): HTTP başlığında CSP kuralları tanımlayarak, hangi kaynakların sayfanızda çalıştırılabileceğini belirleyin.
  • Kütüphane Kullanımı: DOMPurify veya OWASP ESAPI gibi güvenli kütüphaneler kullanın.
  • Örneğin, PHP kullanıyorsanız 'htmlspecialchars()' fonksiyonunu, JavaScript'te ise 'textContent' yerine 'innerHTML''i dikkatli kullanın.

    CSRF (Cross-Site Request Forgery) Koruması

    CSRF saldırılarında, saldırganlar kullanıcıları kendi rızası olmadan işlem yapmaya ikna ederler. Örneğin, bir banka sitesinde giriş yapmış bir kullanıcı, saldırganın hazırladığı sayfaya tıklarsa, hesabından para transferi yapılabilir.

    CSRF'den korunmak için:

  • CSRF Token Kullanın: Form göndermelerinde her istek için benzersiz bir token oluşturun ve doğrulayın.
  • SameSite Cookie Özniteliği: Çerezlerinize 'SameSite=Strict' veya 'SameSite=Lax' ekleyin.
  • Referrer Kontrolleri: HTTP Referrer başlığını kontrol edin ve sadece kendi domainlerinden gelen istekleri kabul edin.
  • POST Metodunu Tercih Edin: Hassas işlemler için GET isteği yerine POST isteği gönderin.
  • Güvenli HTTP Başlıkları

    Web sunucunuzun gönderdiği HTTP başlıkları, tarayıcılara önemli güvenlik talimatları iletir. Bu başlıkları ayarlamak, saldırıların etkisini azaltır.

    Önemli güvenlik başlıkları:

  • X-Content-Type-Options: nosniff - Tarayıcının MIME türü tahminini engeller
  • X-Frame-Options: DENY - Sitenizin iframe içinde açılmasını engeller (clickjacking saldırılarından korunur)
  • Strict-Transport-Security (HSTS) - Tarayıcıyı her zaman HTTPS kullanmaya zorlar
  • X-XSS-Protection: 1; mode=block - XSS filtresini etkinleştirir
  • Content-Security-Policy - Hangi kaynakların yüklenebileceğini belirler
  • Nginx veya Apache konfigürasyonunda bu başlıkları ekleyerek, sitenizin güvenliğini önemli ölçüde artırabilirsiniz.

    Input Validasyonu: Veri Girişinde Katı Kontrol

    Kullanıcı girdilerini asla güvenmeyin. Tüm veriler, sunucuda yeniden doğrulanmalıdır. İstemci tarafında JavaScript ile yapılan validasyon sadece kullanıcı deneyimi için iyidir, gerçek güvenlik sunucuda sağlanır.

    Input validasyonunun adımları:

  • Tip Kontrolü: Beklediğiniz veri türünü doğrulayın (metin, sayı, tarih vb.)
  • Uzunluk Kontrolü: En az ve en fazla uzunluk limitlerini belirleyin
  • Format Kontrolü: Düzenli ifadeler (regex) kullanarak format doğrulaması yapın
  • Whitelist Yaklaşımı: Kabul edilen değerlerin bir listesini oluşturun ve sadece onları izin verin
  • Örneğin, bir telefon numarası alanında sadece rakam ve belirli formatı kabul edin. Kullanıcı adında special karakterler yasaklayın.

    KVKK Uyumluluğu: Türkiye'deki Yasal Gereklilikler

    Kişisel Verileri Koruma Kanunu (KVKK), Türkiye'deki tüm işletmeleri kişisel verileri uygun şekilde korumakla yükümlü kılar. Web tasarımınızda KVKK'ya uyumlu olmalısınız.

    KVKK kapsamında yapmanız gerekenler:

  • Aydınlatma Metni: Ziyaretçilerinize nasıl veri topladığınızı, ne için kullandığınızı açıklayın
  • Açık Rıza: Kişisel veri toplamadan önce izin alın
  • Veri Güvenliği: Kişisel verileri şifreleyin ve güvenli sunucularda saklayın
  • Veri İşleme Sözleşmeleri: Üçüncü taraflarla veri paylaşıyorsanız, legal sözleşmeler yapın
  • Veri Silme Hakkı: Kullanıcıların verilerini silmelerini isteme hakkını sağlayın
  • ELIYTE olarak, müşterilerimizin KVKK'ya uyumlu web siteleri tasarlandığından emin olunmasını öncelik olarak görüyoruz.

    DDoS Koruması: Hizmet Kesintilerine Karşı Savunma

    Dağıtılmış Hizmet Reddi (DDoS) saldırıları, web sitenizi çok sayıda bilgisayardan gelen talepleri kilitler. Özellikle e-ticaret siteleri ve önemli hizmetler sunan siteler hedef olabilir.

    DDoS koruması için alınması gereken önlemler:

  • CDN Kullanımı: Cloudflare, Akamai gibi CDN hizmetleri, DDoS saldırılarını filtreleyebilir
  • Rate Limiting: Bir IP adresinden belirli bir sürede kaç istek gelebileceğini sınırlayın
  • Web Application Firewall (WAF): WAF kuralları ayarlayarak kötü amaçlı trafiği engelleyin
  • Trafiği Dağıtma: Load balancing kullanarak trafiği birden fazla sunucuya dağıtın
  • Ölçeklenebilir Altyapı: Ani trafiğin artışına karşı hazırlıklı olmak için elastik altyapı kullanın
  • Düzenli Güvenlik Denetleri: Proaktif Yaklaşım

    Bir web sitesinin güvenliği, tasarım aşamasında sağlanır ama korunması devam eden bir süreçtir. Düzenli güvenlik denetleri yapılmalıdır.

    Güvenlik denetiminin içerikleri:

  • Zafiyet Taraması: Otomatik araçlar kullanarak bilinen güvenlik açıklarını tespit edin (OWASP ZAP, Nessus gibi)
  • Kod İncelemesi: Kodunuzu manuel olarak inceleyerek mantıksal hatalar bulun
  • Bağımlılık Güncellemeleri: Kullandığınız kütüphaneleri ve çerçeveleri güncel tutun. Eski sürümler güvenlik açığı içerebilir
  • Penetrasyon Testi: Saatli siber güvenlik uzmanları tarafından siteniz hackleme denemesi yapılabilir
  • Log Analizi: Sunucu loglarını düzenli olarak analiz ederek şüpheli aktiviteleri tespit edin
  • Ekstra Güvenlik Önlemleri

    Multi-Factor Authentication (MFA): Özellikle admin panelleri için MFA uygulamak, hesap kompromisini engeller.

    Şifre Yönetimi: Kullanıcıların şifrelerini hashleme (bcrypt, Argon2) kullanarak saklayın. Hiçbir zaman düz metin olarak saklamayın.

    API Güvenliği: API'niz varsa, API key yönetimini iyi yapın ve rate limiting uygulayın.

    Backup ve Disaster Recovery: Düzenli yedeklemeler alın ve felaket kurtarma planı oluşturun.

    Sonuç

    Güvenlik odaklı web tasarım, sadece teknik bir konu değil, işletmenizin ve müşterilerinizin güvenini korumanın temel taşıdır. HTTPS, XSS ve CSRF koruması, güvenli başlıklar, input validasyonu, KVKK uyumluluğu, DDoS koruması ve düzenli denetimler, çağdaş bir web sitesinin mutlaka sahip olması gereken özellikleridir.

    ELIYTE olarak, Türkiye'deki işletmelere güvenli, hızlı ve kullanıcı dostu web siteleri tasarlamak ve geliştirmek konusunda uzmanız. Dijital varlığınızı güvence altına almak istiyorsanız, bizi iletişime geçmekten çekinmeyin.

    Güvenlik, bir kere yapılıp biten bir iş değil, sürekli gelişen ve güncellenesi gereken bir sistemdir. Hadi birlikte, daha güvenli bir dijital Türkiye inşa edelim.

    İlgili Yazılar

    Web Tasarım

    SEO Dostu Web Tasarım Stratejileri

    SEO dostu web sitesi tasarlamak için bilmeniz gereken temel stratejiler.

    9 dk okuma
    Web Tasarım

    Mobil Uyumlu Web Tasarım

    Mobil uyumlu web tasarımın önemi ve en iyi uygulamalar hakkında rehber.

    7 dk okuma
    Web Tasarım

    Kullanıcı Deneyimi UX ve Web Tasarım

    Kullanıcı deneyimi (UX) ve web tasarım arasındaki ilişki ve en iyi uygulamalar.

    8 dk okuma