Parola özeti nedir?
Parola özeti (hash), bir parolanın özel bir matematiksel fonksiyonla geri döndürülemez biçimde dönüştürülmüş halidir. Sistemler parolanın kendisini değil özetini saklar. Giriş sırasında yazılan parola aynı şekilde özetlenip kayıtlı değerle karşılaştırılır; böylece veritabanı sızsa bile gerçek parolalar doğrudan görünmez.
Bu yöntem, parolaların düz metin saklanmasına kıyasla büyük bir güvenlik kazancı sağlar. Ancak yalnızca doğru algoritma ve tuzlama ile gerçekten koruyucu olur.
Nasıl çalışır?
Özet fonksiyonu tek yönlüdür: paroladan özete gidilir, geri dönülemez. Aynı girdi her zaman aynı çıktıyı verir. Saldırgan bir özet ele geçirirse, olası parolaları tek tek özetleyip karşılaştırarak (kaba kuvvet veya sözlük saldırısı) parolayı bulmaya çalışır.
Bunu zorlaştırmak için iki şey kullanılır:
- Tuz (salt): her parola için rastgele eklenen değerdir; aynı parolaların farklı özet üretmesini sağlar ve hazır tablolarla çözmeyi engeller.
- Yavaş algoritma: bcrypt, scrypt veya Argon2 gibi bilinçli olarak yavaş çalışan fonksiyonlar, deneme hızını ciddi biçimde düşürür.
MD5 ve SHA-1 gibi hızlı fonksiyonlar parola saklamak için uygun değildir.
Sunucu ve hosting ortamında
Linux sistemlerde kullanıcı parola özetleri /etc/shadow dosyasında tutulur ve yalnızca yetkili kullanıcılar okuyabilir. Modern dağıtımlar varsayılan olarak sha512-crypt veya yescrypt gibi tuzlanmış özetler kullanır. WordPress gibi uygulamalar da parolaları veritabanında özet olarak saklar.
Kendi uygulamanızı geliştiriyorsanız parola saklamak için çerçevenizin sunduğu hazır, güvenli işlevi (örneğin PHP’de password_hash) kullanın; kendi algoritmanızı yazmayın.
Nasıl uygulanır?
- Parolaları asla düz metin veya şifrelenmiş (geri çözülebilir) biçimde saklamayın.
- Argon2, bcrypt veya scrypt gibi parola için tasarlanmış algoritmaları seçin.
- Her parola için benzersiz ve rastgele tuz kullanın.
- Maliyet parametresini donanımınıza göre zamanla artırın.
- Eski algoritmayla saklananları kullanıcı girişinde yeni algoritmaya taşıyın.
- Veritabanı yedeklerini de koruyun; özetler orada da hassas veridir.
Sık yapılan hatalar
- MD5, SHA-1 veya tuzsuz SHA-256 ile parola saklamak.
- Tüm kullanıcılar için aynı tuzu kullanmak.
- Özet ile şifrelemeyi karıştırmak; özet geri çözülemez, şifreleme çözülebilir.
- Kendi özet algoritmasını icat etmek.
Sık sorulan sorular
Parola özeti nedir, ne işe yarar?
Parolanın tek yönlü dönüşümüdür. Veritabanı sızsa bile saldırganın gerçek parolaları doğrudan görmesini engellemek için kullanılır.
Hash ile şifreleme arasındaki fark nedir?
Şifreleme anahtarla geri çözülebilir, hash ise geri döndürülemez. Parolaların geri çözülmesine gerek olmadığı için hash tercih edilir.
Tuz (salt) neden gereklidir?
Tuz, aynı parolanın farklı kullanıcılarda farklı özet üretmesini sağlar. Böylece önceden hazırlanmış özet tabloları işe yaramaz ve toplu kırma çok zorlaşır.
Bu terimin geçtiği rehberler
- Postfix ile giden e-posta yönlendirme (smarthost) ve temel güvenlikPostfix ile giden e-postaları kimlik doğrulamalı SMTP röle (smarthost) üzerinden TLS ile gönderme, yalnızca yerel kullanım için güvenli yapılandırma ve açık röle kontrolü rehberi.
- Ağ cihazı yapılandırma yedekleme yaklaşımıAnahtar, yönlendirici ve güvenlik duvarı yapılandırmalarını zamanlanmış olarak çekme, Git ile sürüm kontrolü ve değişiklik takibi için üretici bağımsız bir yedekleme yaklaşımı.
- AIDE ile dosya bütünlüğü izlemeAIDE ile sunucudaki dosya değişikliklerini izleyin: kurulum, veritabanı oluşturma, kural yazma, düzenli denetim, güncelleme ve sonuçları güvenle yorumlama adımları.
- OPcache, gzip/brotli ve önbellek başlıklarıyla web performansıOPcache ile PHP başlangıç maliyetini düşürün, gzip ve brotli sıkıştırmasını Nginx ile Apache üzerinde açın ve doğru Cache-Control başlıklarıyla web performansını ölçülebilir biçimde artırın.
İlgili terimler
- Parola yöneticisiParolaları şifreli bir kasada saklayan, güçlü ve benzersiz parolalar üreten ve otomatik dolduran uygulama.
- Passkey (parolasız kimlik doğrulama)Parola yerine cihazdaki açık anahtar kriptografisini kullanan, kimlik avına dayanıklı oturum açma yöntemi.
- RBAC (rol tabanlı erişim kontrolü)Kullanıcılara tek tek yetki vermek yerine, görevlere karşılık gelen rollere yetki atayıp kullanıcıları rollere bağlayan erişim modeli.
- rootLinux/Unix sistemlerinde sınırsız yetkiye sahip yönetici hesabı.
- SSH anahtarıParola yerine kullanılan, açık/özel anahtar çiftine dayalı giriş yöntemi.
- SSO (Tek oturum açma)Bir kez giriş yapıp birden çok uygulamaya erişebilme.