Geliştiriciler, sprint teslim tarihleri ve özellik taleplerinin ağırlığı altında yaşarlar. Performans iyileştirmeleri ve kullanıcı arayüzü (UI) cilalamaları övgü toplar. Güvenlik ise genellikle backlog'da, sırasını sessizce bekler. Bu bekleyiş bir hatadır. Otomatik botlar, sızdırılmış anahtarlar, enjeksiyon noktaları ve zayıf kimlik doğrulama yöntemleri aramak için interneti günün her saati tarar. Veri ihlalleri teknoloji haberlerinde arka plan gürültüsü haline geldi, ancak sorumlu ekip için temizlik süreci çok ağırdır. İyi haber şu ki, güvenli kod yazmak kriptografi alanında bir doktora gerektirmez. Günlük iş akışınıza birkaç güçlü alışkanlık dahil etmenizi gerektirir. İşte kullanıcılarınızı ve sistemlerinizi gerçekten koruyacak beş uygulama.
Kimlik Doğrulamanızı Güvence Altına Alın
Birçok ekip, özel bir giriş sistemi oluşturma cazibesine kapılır. Bir kullanıcılar tablosu, bir şifre sütunu, bir JWT oluşturucu. Oturum yönetimi, token rotasyonu, brute-force koruması ve güvenli şifre sıfırlama süreçlerinin artık size ait olduğunu fark edene kadar her şey basit görünür. Çoğu ekip bunu sıfırdan inşa etmeyi bırakmalıdır. Kimlik doğrulamayı OAuth 2.0 veya OpenID Connect aracılığıyla yerleşik kimlik sağlayıcılara devretmek, kod tablonuzdan tamamen farklı risk kategorilerini kaldırır. Binlerce mühendis tarafından test edilmiş ve geniş güvenlik topluluğu tarafından incelenmiş protokolleri devralmış olursunuz.
Bununla birlikte, şifreleri kendiniz yönetmek zorundaysanız, onlara saygılı davranın. Her birini bcrypt veya Argon2 kullanarak hash'leyin. Bu algoritmalar kasten yavaştır. Bu yavaşlık, veritabanınızı çalan ve şifreleri çevrimdışı olarak kırmaya çalışan saldırganları yavaşlatır. Şifreleri asla düz metin (plain text) olarak bırakmayın. Loglarda, hata raporlarında veya başka hiçbir yerde.
Çok faktörlü kimlik doğrulama artık bir seçenek değil. Şifreler sızar. Oltalama (phishing) işe yarar. İster bir TOTP uygulaması ister bir donanım anahtarı olsun, ikinci bir faktör, hesap ele geçirme oranlarını çarpıcı biçimde düşürür.
Oturum token'ları veya JWT'ler oluşturduğunuzda, bunları HttpOnly ve Secure çerezleri (cookies) içinde saklayın. HttpOnly bayrağı, JavaScript'in çerezi okumasını engelleyerek birçok cross-site scripting saldırısını etkisiz hale getirir. Secure bayrağı, tarayıcının bunu yalnızca HTTPS üzerinden iletmesini sağlar. JWT'leri localStorage içine atmayın. Kolay görünebilir ancak sitenizdeki herhangi bir XSS zafiyeti, bir saldırgana kullanıcılarınızın token'larına anında erişim sağlar.
OWASP Top 10'u Temel Çizginiz Olarak Kabul Edin
OWASP Top 10 teorik bir sınav müfredatı değildir. Web uygulamalarının gerçekte en yaygın şekilde nasıl ihlal edildiğinin bir kataloğudur. Onu görmezden gelmek, reflekslerinize güvendiğiniz için trafik işaretlerini görmezden gelmeye benzer.
