Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Kodunuzu Daha Güvenli Hale Getirmenin 5 Temel Adımı 🔐

asternix

Üye
Katılım
14 Mart 2026
Mesajlar
9
Kodunuzu Daha Güvenli Hale Getirmenin 5 Temel Adımı 🔐

Selam dostlar! Bugün, projelerimizde sıklıkla göz ardı ettiğimiz ama aslında en baştan düşünmemiz gereken bir konuya değineceğiz: Kod Güvenliği. 🛡️

Hepimiz bir fikri hayata geçirmenin heyecanıyla kod yazmaya dalıyoruz. Ancak, özellikle kullanıcı verileriyle çalışıyorsak veya uygulamamız internete açıksa, güvenlik sadece bir "sonradan eklenir" özellik değil, temel bir gerekliliktir. Basit hatalar, büyük veri ihlallerine veya sistem çökmelerine yol açabilir.

Neyse ki, siyah şapkalı bir hacker olmanıza gerek yok. İşte, kodunuzu daha ilk satırından itibaren daha güvenli hale getirmenize yardımcı olacak 5 temel ve uygulanabilir adım.

1. Girdilerinize Asla Güvenmeyin: Doğrulama ve Temizleme
Kullanıcıdan gelen her veri, potansiyel bir tehdittir. Bu, bir form alanı, bir URL parametresi veya bir API isteği olabilir. SQL Enjeksiyonu ve Cross-Site Scripting (XSS) gibi saldırıların çoğu, kötü niyetli girdilerden kaynaklanır.

  • Her zaman doğrulayın: Bir e-posta adresi mi bekliyorsunuz? Gerçekten e-posta formatında mı? Sayısal bir değer mi? Sadece sayılardan mı oluşuyor?
  • Her zaman temizleyin (sanitize edin): Özellikle bu veriyi veritabanına kaydedecekseniz veya HTML çıktısında gösterecekseniz, özel karakterleri kaçış dizilerine dönüştürün.
  • Hazır kütüphaneleri kullanın: Çoğu modern framework (Laravel, Django, Spring, ASP.NET Core) bu işlemler için güçlü ve test edilmiş araçlar sunar. Tekerleği yeniden icat etmeyin!

2. "En Az Ayrıcalık" İlkesini Benimseyin
Bu prensip, bir kullanıcının, prosesin veya sistemin, görevini yerine getirmesi için gereken minimum yetkiye sahip olması gerektiğini söyler.

  • Veritabanı bağlantılarında: Uygulamanızın veritabanı kullanıcısı, sadece ihtiyaç duyduğu tablolara SELECT, INSERT, UPDATE yapabilsin. Kesinlikle "root" veya "sa" gibi tüm yetkilere sahip hesapları kullanmayın.
  • Dosya sisteminde: Web sunucunuzun yazma izni sadece yükleme dizini gibi gerekli alanlarla sınırlı olsun. Tüm dizine yazma izni vermeyin.
  • Sunucu/Container izinlerinde: Uygulamanızı mümkünse "root" olarak değil, ayrıcalıkları kısıtlı bir sistem kullanıcısı olarak çalıştırın.

3. Hassas Bilgileri Asla Düz Metin Olarak Saklamayın ve Loglamayın
Şifreler, API anahtarları, kredi kartı numaraları, erişim token'ları... Bu bilgilerin güvenliği kritiktir.

  • Şifreler için Hashleme: Şifreleri asla düz metin olarak kaydetmeyin. bcrypt, Argon2 veya PBKDF2 gibi güçlü, yavaş hash algoritmaları kullanın. MD5 veya SHA-1 gibi hızlı algoritmalar kırılmaya açıktır.
  • Çevre Değişkenlerini (Environment Variables) Kullanın: API anahtarları, veritabanı şifreleri gibi gizli bilgileri kodunuzun içine yazmayın. Bunları sunucunuzun çevre değişkenlerinde saklayın.
  • Loglara dikkat edin: Hata loglarınıza kullanıcının girdiği şifre, kimlik numarası gibi hassas verilerin düşmemesine özen gösterin.

4. Bağımlılıklarınızı Güncel Tutun
Modern yazılım geliştirme, birçok harici kütüphaneye (dependency) dayanır. Ancak bu kütüphanelerde keşfedilen güvenlik açıkları (CVE - Common Vulnerabilities and Exposures), sizin uygulamanızı da savunmasız bırakır.

  • Düzenli olarak `npm audit` (Node.js), `pip-audit` (Python), `dotnet list package --vulnerable` (.NET) veya `OWASP Dependency-Check` gibi araçlarla projenizi taratın.
  • Mümkün olduğunca stabil sürümleri kullanın, ancak güvenlik güncellemelerini (security patches) hızlıca uygulayın.
  • Kullanmadığınız bağımlılıkları projenizden çıkarın. Her ekstra paket, potansiyel bir risk alanıdır.

5. HTTPS Kullanın ve Güvenli Başlıkları (Headers) Yapılandırın
Özellikle web uygulamaları için iletişimin güvenli olması şart. 🔒

  • HTTPS Her Yerde: Geliştirme ortamınız dahil tüm iletişiminizi HTTPS üzerinden yapın. Let's Encrypt gibi ücretsiz SSL sertifika sağlayıcılarını kullanabilirsiniz.
  • Güvenlik Başlıkları: Sunucu yanıtlarınıza aşağıdaki gibi başlıklar ekleyin. Bunlar tarayıcıya nasıl daha güvenli davranması gerektiğini söyler:
    NGINX:
    # Örnek Nginx yapılandırması
    add_header X-Frame-Options "SAMEORIGIN" always; # Clickjacking'e karşı
    add_header X-Content-Type-Options "nosniff" always; # MIME tipi atlamasını engeller
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;
    # CSP (Content Security Policy) daha karmaşıktır, ancak XSS'e karşı çok güçlüdür.

Umarım bu basit ama etkili adımlar, projelerinizi daha sağlam bir temel üzerine inşa etmenize yardımcı olur. Unutmayın, güvenlik bir varış noktası değil, sürekli bir yolculuktur. 🧗

Peki ya siz? Kod güvenliği konusunda en çok hangi adımı atlamak zorunda kalıyorsunuz veya hangi konuda daha fazla bilgi edinmek istersiniz? Yorumlarda deneyimlerinizi paylaşın, birlikte öğrenelim!
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri