{"id":33403,"date":"2025-11-02T12:31:40","date_gmt":"2025-11-02T09:31:40","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/"},"modified":"2025-11-02T12:31:40","modified_gmt":"2025-11-02T09:31:40","slug":"veritabaninda-sifreleri-guvenli-saklama-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/","title":{"rendered":"Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklama Rehberi"},"content":{"rendered":"<p>Veritaban\u0131nda \u015fifreleri g\u00fcvenli saklamak g\u00fcn\u00fcm\u00fcz\u00fcn en kritik siber g\u00fcvenlik konular\u0131ndan biridir. Kullan\u0131c\u0131 bilgilerinin korunmas\u0131, hem yasal y\u00fck\u00fcml\u00fcl\u00fckler hem de \u015firket itibar\u0131 a\u00e7\u0131s\u0131ndan hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, parola g\u00fcvenli\u011finin temellerini, nedenlerini ve en iyi uygulamalar\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Modern algoritmalar, pratik senaryolar ve kod \u00f6rnekleri ile donat\u0131lm\u0131\u015f bu yaz\u0131, \u015fifre g\u00fcvenli\u011fi konusunda sizi s\u0131f\u0131rdan uzman seviyesine ta\u015f\u0131yacak.<\/p>\n<p>Dijital d\u00fcnyada ki\u015fisel verilerimiz, online hizmetlerin vazge\u00e7ilmez bir par\u00e7as\u0131 haline gelmi\u015f durumda. Ancak bu kolayl\u0131\u011f\u0131n bir bedeli var: g\u00fcvenlik. \u00d6zellikle kullan\u0131c\u0131 \u015fifreleri, bir sistemin en hassas ve en \u00e7ok hedef al\u0131nan veri t\u00fcrlerinden biridir. Peki, neden \u015fifreleri veritabanlar\u0131m\u0131zda t\u0131pk\u0131 bir e-posta adresi gibi &#8220;d\u00fcz metin&#8221; (plaintext) olarak saklamak b\u00fcy\u00fck bir hata te\u015fkil eder?<\/p>\n<p>Cevap olduk\u00e7a basit: Sald\u0131r\u0131ya u\u011frad\u0131\u011f\u0131n\u0131zda. Bir siber sald\u0131r\u0131 veya veri ihlali, ne kadar k\u00fc\u00e7\u00fck olursa olsun, sisteminizdeki d\u00fcz metin \u015fifrelerini if\u015fa etti\u011finde, sonu\u00e7lar\u0131 y\u0131k\u0131c\u0131 olabilir. Bir an i\u00e7in senaryoyu d\u00fc\u015f\u00fcnelim: Uygulaman\u0131z\u0131n veritaban\u0131, bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 nedeniyle sald\u0131rganlar\u0131n eline ge\u00e7iyor. E\u011fer \u015fifreleri hi\u00e7bir i\u015flem yapmadan, okunakl\u0131 bir \u015fekilde saklad\u0131ysan\u0131z, bu durum, sald\u0131rganlar\u0131n t\u00fcm kullan\u0131c\u0131lar\u0131n\u0131z\u0131n hesaplar\u0131na an\u0131nda eri\u015febilmesi anlam\u0131na gelir. Bu, sadece sizin uygulaman\u0131zla s\u0131n\u0131rl\u0131 kalmaz; \u00e7o\u011fu kullan\u0131c\u0131 ayn\u0131 \u015fifreyi birden fazla platformda kulland\u0131\u011f\u0131ndan, di\u011fer online hesaplar\u0131 da tehlikeye at\u0131lm\u0131\u015f olur. Bu zincirleme etki, &#8220;kimlik av\u0131&#8221; (phishing) sald\u0131r\u0131lar\u0131n\u0131, &#8220;kullan\u0131c\u0131 ad\u0131 ve \u015fifre doldurma&#8221; (credential stuffing) sald\u0131r\u0131lar\u0131n\u0131 ve hatta finansal doland\u0131r\u0131c\u0131l\u0131klar\u0131 tetikleyebilir.<\/p>\n<p>D\u00fcz metin \u015fifre saklaman\u0131n yol a\u00e7t\u0131\u011f\u0131 tehlikeleri daha yak\u0131ndan inceleyelim:<\/p>\n<ul>\n<li><strong>Veri \u0130hlalleri ve Do\u011frudan Eri\u015fim:<\/strong> En bariz risk budur. Bir SQL enjeksiyonu, zay\u0131f yap\u0131land\u0131r\u0131lm\u0131\u015f bir API veya k\u00f6t\u00fc niyetli bir i\u00e7eriden tehdit (insider threat) sonucu veritaban\u0131na eri\u015fim sa\u011fland\u0131\u011f\u0131nda, d\u00fcz metin \u015fifreler kolayca kopyalan\u0131r ve \u00e7al\u0131n\u0131r. Bu durum, kullan\u0131c\u0131lara kar\u015f\u0131 do\u011frudan bir tehdit olu\u015fturur ve \u015firketinizin itibar\u0131n\u0131 onar\u0131lamaz \u015fekilde zedeler.<\/li>\n<li><strong>Yasal ve D\u00fczenleyici Uyumsuzluklar:<\/strong> \u00d6zellikle Avrupa Birli\u011fi Genel Veri Koruma T\u00fcz\u00fc\u011f\u00fc (GDPR) ve T\u00fcrkiye&#8217;deki Ki\u015fisel Verilerin Korunmas\u0131 Kanunu (KVKK) gibi d\u00fczenlemeler, ki\u015fisel verilerin korunmas\u0131 konusunda kat\u0131 kurallar getirmektedir. \u015eifrelerin d\u00fcz metin olarak saklanmas\u0131, bu yasalara a\u00e7\u0131k\u00e7a ayk\u0131r\u0131d\u0131r ve a\u011f\u0131r para cezalar\u0131, hukuki yapt\u0131r\u0131mlar ve kamuoyunda b\u00fcy\u00fck tepkilere yol a\u00e7abilir.<\/li>\n<li><strong>Brute-Force ve Rainbow Table Sald\u0131r\u0131lar\u0131 Kolayl\u0131\u011f\u0131:<\/strong> D\u00fcz metin \u015fifreler, sald\u0131rganlar\u0131n &#8220;rainbow table&#8221; ad\u0131 verilen \u00f6nceden hesaplanm\u0131\u015f hash tablolar\u0131n\u0131 kullanmas\u0131na gerek kalmadan, do\u011frudan &#8220;brute-force&#8221; (kaba kuvvet) sald\u0131r\u0131lar\u0131 ile \u015fifreleri denemesine olanak tan\u0131r. Hatta bu t\u00fcr sald\u0131r\u0131lara bile ihtiya\u00e7 duymadan do\u011frudan eri\u015fim anlam\u0131na gelir.<\/li>\n<li><strong>Geli\u015ftirici veya Y\u00f6netici \u0130hmali:<\/strong> Bir geli\u015ftiricinin veya veritaban\u0131 y\u00f6neticisinin, \u015fifrelere do\u011frudan eri\u015febilmesi de b\u00fcy\u00fck bir g\u00fcvenlik riskidir. Bu durum, k\u00f6t\u00fc niyetli bir \u00e7al\u0131\u015fan\u0131n veya ihmalkar bir ki\u015finin veri s\u0131zd\u0131rmas\u0131n\u0131 kolayla\u015ft\u0131r\u0131r.<\/li>\n<\/ul>\n<p><strong>Vaka Analizi: &#8220;Hedef Odakl\u0131 Sald\u0131r\u0131&#8221; Senaryosu<\/strong><\/p>\n<p>B\u00fcy\u00fck bir e-ticaret \u015firketi olan &#8220;Ma\u011fazaX&#8221;, milyonlarca kullan\u0131c\u0131s\u0131na hizmet vermekteydi. Geli\u015ftirme ekibi, sistemin h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak amac\u0131yla, kullan\u0131c\u0131 \u015fifrelerini veritaban\u0131nda &#8220;\u015fifreleme anahtar\u0131n\u0131&#8221; veritaban\u0131 ile ayn\u0131 sunucuda saklayarak \u015fifreliyordu. Bir g\u00fcn, sunuculardan birinde eski bir yaz\u0131l\u0131m a\u00e7\u0131\u011f\u0131 tespit edildi ve sald\u0131rganlar bu a\u00e7\u0131\u011f\u0131 kullanarak sunucuya s\u0131zmay\u0131 ba\u015fard\u0131lar. Sunucudaki hassas veritaban\u0131 eri\u015fim bilgilerini ele ge\u00e7iren sald\u0131rganlar, veritaban\u0131na ula\u015ft\u0131lar. Daha da k\u00f6t\u00fcs\u00fc, \u015fifreleme anahtar\u0131 da ayn\u0131 sunucuda oldu\u011fu i\u00e7in, \u015fifrelenmi\u015f gibi g\u00f6r\u00fcnen t\u00fcm \u015fifreler kolayca \u00e7\u00f6z\u00fcld\u00fc ve d\u00fcz metin halleriyle ele ge\u00e7irildi.<\/p>\n<p>Bu olay, Ma\u011fazaX&#8217;in milyonlarca kullan\u0131c\u0131s\u0131n\u0131n \u015fifrelerinin \u00e7al\u0131nmas\u0131na neden oldu. Kullan\u0131c\u0131lar aras\u0131nda b\u00fcy\u00fck bir panik ya\u015fand\u0131 ve \u015firketin itibar\u0131 yerle bir oldu. Ma\u011fazaX, milyonlarca dolarl\u0131k para cezalar\u0131 \u00f6demek zorunda kald\u0131, kullan\u0131c\u0131 g\u00fcvenini kaybetti ve pazar pay\u0131nda ciddi d\u00fc\u015f\u00fc\u015fler ya\u015fad\u0131. Bu vaka, \u015fifreleri &#8220;sadece \u015fifrelemekle&#8221; i\u015fin bitmedi\u011fini, anahtar y\u00f6netiminin de ayr\u0131 bir uzmanl\u0131k gerektirdi\u011fini ve d\u00fcz metin veya kolayca \u00e7\u00f6z\u00fclebilen \u015fifrelerin nas\u0131l bir felakete yol a\u00e7abilece\u011fini ac\u0131 bir \u015fekilde g\u00f6sterdi. \u015eifrelerin do\u011fru bir \u015fekilde &#8220;hash&#8217;lenmesi&#8221; bu senaryoda \u015firket i\u00e7in \u00e7ok daha g\u00fcvenli bir durum yaratabilirdi.<\/p>\n<p>Sonu\u00e7 olarak, \u015fifreleri d\u00fcz metin olarak saklamak, bir g\u00fcvenlik ihlalinin olas\u0131 sonu\u00e7lar\u0131n\u0131 katlayarak felaket d\u00fczeyine \u00e7\u0131kar\u0131r. Bu y\u00fczden, \u015fifre g\u00fcvenli\u011fi, her yaz\u0131l\u0131m geli\u015ftiricisinin ve sistem y\u00f6neticisinin \u00f6ncelikli konusu olmal\u0131d\u0131r. \u015eifrelerinizi asla ve asla d\u00fcz metin olarak saklamay\u0131n; bunun yerine, modern ve g\u00fcvenli hashing algoritmalar\u0131 kullan\u0131n.<\/p>\n<h2>\u015eifre G\u00fcvenli\u011finin Temel Ta\u015flar\u0131 Nelerdir: Hashing ve Salting?<\/h2>\n<p>\u015eifreleri d\u00fcz metin olarak saklaman\u0131n ne kadar tehlikeli oldu\u011funu anlad\u0131k. Peki, do\u011fru y\u00f6ntem nedir? \u0130\u015fte burada &#8220;hashing&#8221; (\u00f6zetleme) ve &#8220;salting&#8221; (tuzlama) devreye giriyor. Bu iki kavram, \u015fifre g\u00fcvenli\u011finin temel ta\u015flar\u0131n\u0131 olu\u015fturur ve modern uygulamalar\u0131n olmazsa olmaz\u0131d\u0131r.<\/p>\n<h3>Hashing Nedir?<\/h3>\n<p>Hashing, kriptografik bir \u00f6zet fonksiyonu kullanarak, herhangi bir boyuttaki veriyi sabit uzunlukta benzersiz bir karaktere d\u00f6n\u00fc\u015ft\u00fcrme i\u015flemidir. Bu karaktere &#8220;hash de\u011feri&#8221; veya &#8220;\u00f6zet&#8221; denir. \u015eifreler ba\u011flam\u0131nda, kullan\u0131c\u0131n\u0131n girdi\u011fi \u015fifre, bir hashing algoritmas\u0131ndan ge\u00e7irilir ve veritaban\u0131na orijinal \u015fifre yerine bu hash de\u011feri kaydedilir. Hashing&#8217;in en \u00f6nemli \u00f6zellikleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Tek Y\u00f6nl\u00fc Fonksiyon:<\/strong> Bir hash de\u011ferinden orijinal \u015fifreyi geri elde etmek (tersine m\u00fchendislik yapmak) pratik olarak imkans\u0131zd\u0131r. Bu, bir sald\u0131rgan hash de\u011ferini ele ge\u00e7irse bile, orijinal \u015fifreyi kolayca bulamayaca\u011f\u0131 anlam\u0131na gelir.<\/li>\n<li><strong>Benzersiz \u00c7\u0131k\u0131\u015f:<\/strong> \u00c7ok k\u00fc\u00e7\u00fck bir girdi de\u011fi\u015fikli\u011fi bile tamamen farkl\u0131 bir hash de\u011feri \u00fcretir. Bu, iki farkl\u0131 \u015fifrenin ayn\u0131 hash de\u011ferini \u00fcretme olas\u0131l\u0131\u011f\u0131n\u0131n (\u00e7arp\u0131\u015fma) \u00e7ok d\u00fc\u015f\u00fck oldu\u011fu anlam\u0131na gelir.<\/li>\n<li><strong>Sabit Uzunluk:<\/strong> Girdi ne kadar uzun olursa olsun (\u00f6rne\u011fin &#8220;pazartesi&#8221; veya &#8220;bu \u00e7ok uzun bir \u015fifredir&#8221;), \u00e7\u0131kt\u0131 her zaman ayn\u0131 uzunlukta olacakt\u0131r.<\/li>\n<\/ul>\n<p>Ge\u00e7mi\u015fte MD5 ve SHA-1 gibi hashing algoritmalar\u0131 pop\u00fclerdi. Ancak bu algoritmalar\u0131n g\u00fcn\u00fcm\u00fczde zay\u0131fl\u0131klar\u0131 tespit edilmi\u015ftir. \u00d6zellikle &#8220;\u00e7arp\u0131\u015fma&#8221; (collision) sald\u0131r\u0131lar\u0131, yani farkl\u0131 girdilerin ayn\u0131 hash de\u011ferini \u00fcretmesi durumu, bu algoritmalar\u0131n g\u00fcvenli\u011fini tehlikeye atmaktad\u0131r. Ayr\u0131ca, MD5 ve SHA-1 gibi algoritmalar \u00e7ok h\u0131zl\u0131d\u0131r, bu da sald\u0131rganlar\u0131n &#8220;rainbow table&#8221; (\u00f6nceden hesaplanm\u0131\u015f hash tablolar\u0131) kullanarak yayg\u0131n \u015fifrelerin hash&#8217;lerini kolayca bulmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>Salting Nedir ve Neden Hayati \u00d6neme Sahiptir?<\/h3>\n<p>Hashing tek ba\u015f\u0131na yeterli de\u011fildir. \u0130\u015fte bu noktada &#8220;salting&#8221; (tuzlama) devreye girer. Salt, her kullan\u0131c\u0131n\u0131n \u015fifresine eklenen rastgele, benzersiz bir veri dizisidir. \u015eifre, veritaban\u0131na kaydedilmeden \u00f6nce, salt ile birle\u015ftirilir ve ard\u0131ndan hashlenir. Bu salt de\u011feri, hash de\u011feriyle birlikte veritaban\u0131nda saklan\u0131r.<\/p>\n<p>Salting&#8217;in temel amac\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Rainbow Table Sald\u0131r\u0131lar\u0131n\u0131 \u00d6nlemek:<\/strong> Rainbow table&#8217;lar, yayg\u0131n \u015fifrelerin ve bunlar\u0131n hash de\u011ferlerinin devasa \u00f6nceden hesaplanm\u0131\u015f listeleridir. Bir sald\u0131rgan bu tablolara sahipse, ele ge\u00e7irdi\u011fi hash de\u011ferini listede arayarak orijinal \u015fifreyi h\u0131zla bulabilir. Ancak her \u015fifreye benzersiz bir salt eklendi\u011finde, ayn\u0131 \u015fifreye sahip olsalar bile her kullan\u0131c\u0131n\u0131n hash de\u011feri farkl\u0131 olur. Bu da rainbow table&#8217;lar\u0131n kullan\u0131lamaz hale gelmesini sa\u011flar.<\/li>\n<li><strong>Toplu Brute-Force Sald\u0131r\u0131lar\u0131n\u0131 Zorla\u015ft\u0131rmak:<\/strong> Salt kullan\u0131ld\u0131\u011f\u0131nda, bir sald\u0131rgan ayn\u0131 anda birden fazla kullan\u0131c\u0131n\u0131n \u015fifresini \u00e7\u00f6zmek i\u00e7in tek bir brute-force i\u015flemi y\u00fcr\u00fctemez. Her kullan\u0131c\u0131 i\u00e7in ayr\u0131 bir salt oldu\u011fundan, her hash&#8217;in ayr\u0131 ayr\u0131 brute-force edilmesi gerekir, bu da sald\u0131r\u0131n\u0131n maliyetini ve zaman\u0131n\u0131 katlanarak art\u0131r\u0131r.<\/li>\n<\/ul>\n<p><strong>Uygulamal\u0131 \u00d6rnek: Hashing ve Salting Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/strong><\/p>\n<p>Bir kullan\u0131c\u0131 &#8220;gizlisifrem&#8221; \u015fifresini girdi\u011finde, bu \u015fifre do\u011frudan hashlenmez. \u00d6ncelikle sisteme \u00f6zg\u00fc, rastgele \u00fcretilmi\u015f bir &#8220;salt&#8221; eklenir. \u00d6rne\u011fin, <code>salt123<\/code> gibi. Bu durumda hashlenecek girdi &#8220;gizlisifrem&#8221; de\u011fil, &#8220;gizlisifrem salt123&#8221; olacakt\u0131r. Ard\u0131ndan bu birle\u015fik metin, g\u00fc\u00e7l\u00fc bir hashing algoritmas\u0131ndan ge\u00e7irilir ve veritaban\u0131na kaydedilir. Veritaban\u0131nda hem \u00fcretilen hash hem de kullan\u0131lan salt saklan\u0131r. Kullan\u0131c\u0131 tekrar giri\u015f yapmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131nda, girdi\u011fi \u015fifre, veritaban\u0131ndan \u00e7ekilen salt ile birle\u015ftirilir ve tekrar hashlenir. Elde edilen yeni hash, veritaban\u0131ndaki kay\u0131tl\u0131 hash ile kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r. E\u011fer e\u015fle\u015firse, \u015fifre do\u011fru demektir.<\/p>\n<p>\u0130\u015fte basit bir hashing ve salting konseptini g\u00f6steren (ancak \u00fcretimde kullan\u0131lmamas\u0131 gereken) bir pseudo-kod ve Python \u00f6rne\u011fi:<\/p>\n<pre><code>\n\/\/ Pseudo-kod: \u015eifre Hashing ve Salting Mant\u0131\u011f\u0131\nfonksiyon kayitOl(kullaniciAdi, sifre):\n    salt = rastgele_salt_uret() \/\/ Her kullan\u0131c\u0131 i\u00e7in benzersiz salt\n    hashedSifre = hash_algoritmasi(sifre + salt) \/\/ \u015eifre ve salt birle\u015ftirilip hashlenir\n    veritabaninaKaydet(kullaniciAdi, hashedSifre, salt)\n\nfonksiyon girisYap(kullaniciAdi, girilenSifre):\n    (kayitliHashedSifre, kayitliSalt) = veritabanindanCek(kullaniciAdi)\n    if kayitliHashedSifre is null:\n        return \"Kullan\u0131c\u0131 bulunamad\u0131\"\n\n    yeniHashedSifre = hash_algoritmasi(girilenSifre + kayitliSalt)\n    if yeniHashedSifre == kayitliHashedSifre:\n        return \"Giri\u015f ba\u015far\u0131l\u0131\"\n    else:\n        return \"Yanl\u0131\u015f \u015fifre\"\n\n\/\/ Python \u00f6rne\u011fi (sadece konsept i\u00e7in, g\u00fcvenli \u00fcretimde kullan\u0131lmamal\u0131d\u0131r!)\nimport hashlib\nimport os\n\ndef generate_salt():\n    # Rastgele 16 byte'l\u0131k bir salt \u00fcretir ve hex string'e d\u00f6n\u00fc\u015ft\u00fcr\u00fcr\n    return os.urandom(16).hex()\n\ndef basic_hash_with_salt(password, salt):\n    # \u015eifre ve salt'\u0131 birle\u015ftirip SHA256 ile hashler\n    salted_password = password + salt\n    return hashlib.sha256(salted_password.encode('utf-8')).hexdigest()\n\n# Kay\u0131t olma sim\u00fclasyonu\nuser_password = \"gizlisifrem\"\nuser_salt = generate_salt()\nhashed_pass = basic_hash_with_salt(user_password, user_salt)\n\nprint(f\"Orijinal \u015eifre: {user_password}\")\nprint(f\"\u00dcretilen Salt: {user_salt}\")\nprint(f\"Hashlenmi\u015f \u015eifre (SHA256 ile): {hashed_pass}\")\n\n# Giri\u015f yapma sim\u00fclasyonu\ndef verify_password(entered_password, stored_hash, stored_salt):\n    new_hash = basic_hash_with_salt(entered_password, stored_salt)\n    return new_hash == stored_hash\n\n# Do\u011fru \u015fifre ile do\u011frulama\nis_correct = verify_password(user_password, hashed_pass, user_salt)\nprint(f\"Do\u011fru \u015fifre ile do\u011frulama ba\u015far\u0131l\u0131 m\u0131? {is_correct}\")\n\n# Yanl\u0131\u015f \u015fifre ile do\u011frulama\nis_wrong = verify_password(\"yanlissifre\", hashed_pass, user_salt)\nprint(f\"Yanl\u0131\u015f \u015fifre ile do\u011frulama ba\u015far\u0131l\u0131 m\u0131? {is_wrong}\")\n<\/pre>\n<p><\/code><\/p>\n<p>Bu b\u00f6l\u00fcm, hashing ve salting'in temellerini anlaman\u0131z i\u00e7in \u00f6nemli bir ad\u0131md\u0131. Ancak modern g\u00fcvenlik ihtiya\u00e7lar\u0131, bu basit yakla\u015f\u0131mlar\u0131n \u00f6tesine ge\u00e7meyi gerektirir. Bir sonraki b\u00f6l\u00fcmde, daha g\u00fc\u00e7l\u00fc ve sald\u0131r\u0131lara kar\u015f\u0131 daha diren\u00e7li modern hashing algoritmalar\u0131n\u0131 inceleyece\u011fiz.<\/p>\n<h2>Modern ve G\u00fcvenli \u015eifre Hashing Algoritmalar\u0131 Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h2>\n<p>SHA-256 gibi kriptografik hash fonksiyonlar\u0131, verilerin b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc do\u011frulamak i\u00e7in harika ara\u00e7lard\u0131r, ancak \u015fifre hashing i\u00e7in tek ba\u015f\u0131na yeterli de\u011fildirler. Bunun temel nedeni, bu algoritmalar\u0131n kas\u0131tl\u0131 olarak h\u0131zl\u0131 olacak \u015fekilde tasarlanmas\u0131d\u0131r. H\u0131zl\u0131 hash fonksiyonlar\u0131, sald\u0131rganlar\u0131n g\u00fc\u00e7l\u00fc donan\u0131mlar kullanarak saniyede milyarlarca \u015fifre denemesi yapmas\u0131na (brute-force sald\u0131r\u0131s\u0131) olanak tan\u0131r. Bu nedenle, \u015fifreler i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015f, \"i\u015flem maliyetli\" (computationally expensive) ve \"adaptif\" (adaptive) algoritmalar kullanmam\u0131z gerekir. Bu algoritmalar, kas\u0131tl\u0131 olarak yava\u015f \u00e7al\u0131\u015f\u0131r ve bu yava\u015fl\u0131\u011f\u0131 donan\u0131m g\u00fcc\u00fcne g\u00f6re ayarlamam\u0131za olanak tan\u0131r. \u0130\u015fte en yayg\u0131n ve g\u00fcvenli modern algoritmalar:<\/p>\n<h3>PBKDF2 (Password-Based Key Derivation Function 2)<\/h3>\n<p>PBKDF2, NIST (Ulusal Standartlar ve Teknoloji Enstit\u00fcs\u00fc) taraf\u0131ndan \u00f6nerilen ve yayg\u0131n olarak kullan\u0131lan bir anahtar t\u00fcretme fonksiyonudur. Temel \u00f6zelli\u011fi, bir \u015fifreyi ve bir salt'\u0131 alarak, karma\u015f\u0131k bir d\u00f6ng\u00fcde (iterasyonlar) bir\u00e7ok kez hashing i\u015flemine tabi tutmas\u0131d\u0131r. Bu d\u00f6ng\u00fc say\u0131s\u0131, algoritman\u0131n i\u015flem maliyetini belirler.<\/p>\n<ul>\n<li><strong>Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/strong> PBKDF2, kullan\u0131c\u0131 \u015fifresi ve benzersiz bir salt ile ba\u015flar. Bu ikiliyi temel bir hash fonksiyonuna (genellikle HMAC-SHA256 veya HMAC-SHA512) sokar ve \u00e7\u0131kan sonucu tekrar kendi i\u00e7ine girdi olarak besleyerek belirli bir iterasyon say\u0131s\u0131 kadar tekrarlar. Her iterasyon, algoritman\u0131n daha yava\u015f ve brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 daha diren\u00e7li olmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>\u0130terasyon Say\u0131s\u0131:<\/strong> Bu, PBKDF2'nin en \u00f6nemli parametresidir. \u0130terasyon say\u0131s\u0131 ne kadar y\u00fcksek olursa, hash hesaplama s\u00fcresi o kadar artar ve sald\u0131rgan\u0131n brute-force denemeleri de o kadar yava\u015flar. G\u00fcvenlik seviyesini art\u0131rmak i\u00e7in zamanla iterasyon say\u0131s\u0131n\u0131 art\u0131rmak \u00f6nemlidir.<\/li>\n<li><strong>Avantajlar\u0131:<\/strong> Olduk\u00e7a g\u00fcvenilir, iyi belgelenmi\u015f ve yayg\u0131n olarak desteklenen bir algoritmad\u0131r. FIPS (Federal Bilgi \u0130\u015fleme Standartlar\u0131) taraf\u0131ndan da onaylanm\u0131\u015ft\u0131r.<\/li>\n<li><strong>Dezavantajlar\u0131:<\/strong> Bellek t\u00fcketimini optimize etmez; yani, GPU tabanl\u0131 sald\u0131r\u0131lara kar\u015f\u0131 (CPU'ya k\u0131yasla) daha az diren\u00e7lidir.<\/li>\n<\/ul>\n<h3>Bcrypt<\/h3>\n<p>Bcrypt, OpenBSD'de Blowfish \u015fifreleme algoritmas\u0131na dayal\u0131 olarak tasarlanm\u0131\u015f, \u015fifre hashing i\u00e7in \u00f6zel bir algoritmad\u0131r. PBKDF2'den farkl\u0131 olarak, Bcrypt kendisi adaptif bir algoritmad\u0131r.<\/p>\n<ul>\n<li><strong>Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/strong> Bcrypt, i\u015flem maliyetini \"cost factor\" (maliyet fakt\u00f6r\u00fc) olarak adland\u0131r\u0131lan bir parametre ile belirler. Bu fakt\u00f6r, hashleme i\u00e7in ka\u00e7 iterasyon yap\u0131laca\u011f\u0131n\u0131 \u00fcstel olarak art\u0131r\u0131r (2^cost). Yani, maliyet fakt\u00f6r\u00fcn\u00fc 1 birim art\u0131rmak, hashleme s\u00fcresini iki kat\u0131na \u00e7\u0131kar\u0131r. Bcrypt, ayr\u0131ca i\u00e7inde yerle\u015fik bir salt \u00fcretme ve y\u00f6netme mekanizmas\u0131na sahiptir, bu da onu daha kullan\u0131\u015fl\u0131 hale getirir.<\/li>\n<li><strong>Adaptif Yap\u0131:<\/strong> Donan\u0131m g\u00fcc\u00fc artt\u0131k\u00e7a, maliyet fakt\u00f6r\u00fcn\u00fc art\u0131rarak algoritman\u0131n yava\u015fl\u0131\u011f\u0131n\u0131 koruyabilirsiniz. Bu sayede, zamanla artan i\u015flem g\u00fcc\u00fcne ra\u011fmen \u015fifrelerin g\u00fcvenli\u011fini s\u00fcrd\u00fcrmek m\u00fcmk\u00fcn olur.<\/li>\n<li><strong>Avantajlar\u0131:<\/strong> PBKDF2'ye g\u00f6re GPU tabanl\u0131 sald\u0131r\u0131lara kar\u015f\u0131 daha diren\u00e7lidir \u00e7\u00fcnk\u00fc bellek eri\u015fimi ve CPU kullan\u0131m\u0131 a\u00e7\u0131s\u0131ndan daha karma\u015f\u0131k bir yap\u0131ya sahiptir. Yerle\u015fik salt \u00f6zelli\u011fi de kullan\u0131m kolayl\u0131\u011f\u0131 sa\u011flar.<\/li>\n<li><strong>Dezavantajlar\u0131:<\/strong> Argon2'ye g\u00f6re bellek kullan\u0131m\u0131n\u0131 optimize etme yetene\u011fi daha s\u0131n\u0131rl\u0131d\u0131r.<\/li>\n<\/ul>\n<h3>Argon2<\/h3>\n<p>Argon2, \u015fifre hashing yar\u0131\u015fmas\u0131 Password Hashing Competition (PHC) galibi olan en yeni ve en modern \u015fifre hashing algoritmas\u0131d\u0131r. PBKDF2 ve Bcrypt'in zay\u0131fl\u0131klar\u0131n\u0131 gidermek i\u00e7in tasarlanm\u0131\u015ft\u0131r ve \u00fc\u00e7 farkl\u0131 versiyonu bulunur (Argon2d, Argon2i, Argon2id).<\/p>\n<ul>\n<li><strong>Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/strong> Argon2, sadece i\u015flemci zaman\u0131n\u0131 de\u011fil, ayn\u0131 zamanda bellek t\u00fcketimini de ayarlanabilir hale getirir. Bu, brute-force sald\u0131r\u0131lar\u0131n\u0131n sadece CPU ile de\u011fil, ayn\u0131 zamanda bellek ile de maliyetli olmas\u0131n\u0131 sa\u011flar. \u00dc\u00e7 ana parametresi vard\u0131r: iterasyon say\u0131s\u0131 (i\u015flemci zaman\u0131), bellek miktar\u0131 ve paralellik fakt\u00f6r\u00fc (CPU \u00e7ekirde\u011fi kullan\u0131m\u0131).<\/li>\n<li><strong>Argon2d:<\/strong> GPU tabanl\u0131 sald\u0131r\u0131lara kar\u015f\u0131 en y\u00fcksek direnci sa\u011flar, ancak yan kanal sald\u0131r\u0131lar\u0131na kar\u015f\u0131 daha az diren\u00e7lidir (kripto para madencili\u011finde kullan\u0131labilir).<\/li>\n<li><strong>Argon2i:<\/strong> Yan kanal sald\u0131r\u0131lar\u0131na kar\u015f\u0131 diren\u00e7lidir, ancak GPU tabanl\u0131 sald\u0131r\u0131larda Argon2d kadar etkili de\u011fildir.<\/li>\n<li><strong>Argon2id:<\/strong> Her iki versiyonun da avantajlar\u0131n\u0131 birle\u015ftirir ve \u00e7o\u011fu genel ama\u00e7l\u0131 \u015fifre depolama i\u00e7in en \u00e7ok \u00f6nerilen versiyondur.<\/li>\n<li><strong>Avantajlar\u0131:<\/strong> En modern, en g\u00fcvenli ve en esnek algoritmad\u0131r. Hem CPU hem de bellek t\u00fcketimini kontrol ederek farkl\u0131 sald\u0131r\u0131 t\u00fcrlerine kar\u015f\u0131 \u00fcst\u00fcn diren\u00e7 sa\u011flar.<\/li>\n<li><strong>Dezavantajlar\u0131:<\/strong> Di\u011ferlerine g\u00f6re daha yeni oldu\u011fu i\u00e7in baz\u0131 platformlarda daha az yayg\u0131n destek bulabilir, ancak h\u0131zla benimsenmektedir.<\/li>\n<\/ul>\n<h3>Algoritmalar\u0131n Kar\u015f\u0131la\u015ft\u0131r\u0131lmas\u0131<\/h3>\n<p>Hangi algoritmay\u0131 se\u00e7ece\u011finize karar verirken ihtiya\u00e7lar\u0131n\u0131z\u0131 ve sisteminizin yeteneklerini g\u00f6z \u00f6n\u00fcnde bulundurman\u0131z \u00f6nemlidir. \u0130\u015fte h\u0131zl\u0131 bir kar\u015f\u0131la\u015ft\u0131rma tablosu:<\/p>\n<table>\n<thead>\n<tr>\n<th>Algoritma<\/th>\n<th>Avantajlar\u0131<\/th>\n<th>Dezavantajlar\u0131<\/th>\n<th>\u00d6nerilen Kullan\u0131m<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>PBKDF2<\/td>\n<td>G\u00fcvenilir, ayarlanabilir iterasyon, iyi desteklenir.<\/td>\n<td>Bellek zorlu\u011funu optimize etmez, GPU'ya kar\u015f\u0131 zay\u0131ft\u0131r.<\/td>\n<td>Eski sistemlerde veya \u00e7ok s\u0131n\u0131rl\u0131 kaynaklarda (ancak g\u00fcn\u00fcm\u00fczde daha g\u00fc\u00e7l\u00fcleri \u00f6nerilir).<\/td>\n<\/tr>\n<tr>\n<td>Bcrypt<\/td>\n<td>Adaptif, yerle\u015fik tuzlama, GPU'ya kar\u015f\u0131 daha iyi.<\/td>\n<td>CPU a\u011f\u0131rl\u0131kl\u0131, bellek kontrol\u00fc s\u0131n\u0131rl\u0131.<\/td>\n<td>Hala \u00e7ok pop\u00fcler ve yeni projeler i\u00e7in iyi bir se\u00e7enek.<\/td>\n<\/tr>\n<tr>\n<td>Argon2<\/td>\n<td>Bellek ve CPU kontrol\u00fc, Side-channel direnci, en g\u00fc\u00e7l\u00fc.<\/td>\n<td>Yeni, daha az yayg\u0131n destek, daha fazla parametre.<\/td>\n<td>Yeni projeler i\u00e7in en iyi ve en modern se\u00e7im (Argon2id).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Uygulamal\u0131 \u00d6rnek: Bcrypt ile \u015eifre Hashing (Python)<\/strong><\/p>\n<p>Bcrypt, bir\u00e7ok dilde kolayca entegre edilebilir ve kullan\u0131m\u0131 olduk\u00e7a basittir. \u0130\u015fte Python'da <code>bcrypt<\/code> k\u00fct\u00fcphanesi ile bir \u00f6rnek:<\/p>\n<pre><code>\n# Python ile Bcrypt kullan\u0131m\u0131\nimport bcrypt\n\n# \u015eifre hash'leme fonksiyonu\ndef hash_password_bcrypt(password):\n    # bcrypt.gensalt() otomatik olarak benzersiz bir salt \u00fcretir\n    # ve maliyet fakt\u00f6r\u00fcn\u00fc (varsay\u0131lan 12) ayarlar.\n    # password.encode('utf-8') ile \u015fifreyi byte dizisine d\u00f6n\u00fc\u015ft\u00fcr\u00fcr\u00fcz.\n    hashed = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt())\n    return hashed.decode('utf-8') # Veritaban\u0131nda saklamak i\u00e7in string'e \u00e7eviririz\n\n# \u015eifre do\u011frulama fonksiyonu\ndef check_password_bcrypt(password, hashed_password):\n    # bcrypt.checkpw() otomatik olarak verilen \u015fifreyi,\n    # saklanan hash'in i\u00e7indeki salt ve maliyet fakt\u00f6r\u00fc ile hash'ler\n    # ve kar\u015f\u0131la\u015ft\u0131rma yapar.\n    return bcrypt.checkpw(password.encode('utf-8'), hashed_password.encode('utf-8'))\n\n# Kullan\u0131m \u00f6rne\u011fi\nuser_password = \"cokguvenlisifre123\"\nhashed_version = hash_password_bcrypt(user_password)\n\nprint(f\"Orijinal \u015eifre: {user_password}\")\nprint(f\"Hash'lenmi\u015f \u015eifre (Bcrypt): {hashed_version}\")\n\n# Do\u011frulama ba\u015far\u0131l\u0131 m\u0131?\nis_correct = check_password_bcrypt(user_password, hashed_version)\nprint(f\"\u015eifre do\u011frulama ba\u015far\u0131l\u0131 m\u0131? {is_correct}\")\n\n# Yanl\u0131\u015f \u015fifre ile do\u011frulama\nis_wrong = check_password_bcrypt(\"yanlissifre\", hashed_version)\nprint(f\"Yanl\u0131\u015f \u015fifre ile do\u011frulama ba\u015far\u0131l\u0131 m\u0131? {is_wrong}\")\n<\/pre>\n<p><\/code><\/p>\n<p>Bu \u00f6rnekte g\u00f6rebilece\u011finiz gibi, Bcrypt'in kullan\u0131m\u0131 olduk\u00e7a pratik ve karma\u015f\u0131k salt y\u00f6netimi gibi detaylar\u0131 sizin i\u00e7in hallediyor. Argon2 de benzer \u015fekilde k\u00fct\u00fcphaneler arac\u0131l\u0131\u011f\u0131yla kolayca kullan\u0131labilir. \u015eifre g\u00fcvenli\u011finde, bu modern algoritmalar\u0131 kullanmak, sisteminizin direncini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r.<\/p>\n<h2>Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklamak \u0130\u00e7in En \u0130yi Uygulamalar Nelerdir?<\/h2>\n<p>\u015eifreleri g\u00fcvenli bir \u015fekilde hashleme ve tuzlama tekniklerini anlad\u0131k, ancak sa\u011flam bir parola g\u00fcvenli\u011fi stratejisi sadece algoritma se\u00e7iminden ibaret de\u011fildir. Genel sistem g\u00fcvenli\u011fi, operasyonel s\u00fcre\u00e7ler ve kullan\u0131c\u0131 davran\u0131\u015flar\u0131 da b\u00fcy\u00fck rol oynar. \u0130\u015fte veritaban\u0131nda \u015fifreleri saklarken g\u00f6z \u00f6n\u00fcnde bulundurman\u0131z gereken en iyi uygulamalar:<\/p>\n<h3>Do\u011fru Algoritmay\u0131 Se\u00e7mek ve Y\u00f6netmek<\/h3>\n<ul>\n<li><strong>G\u00fcncel Kal\u0131n:<\/strong> Daima en g\u00fc\u00e7l\u00fc ve g\u00fcncel algoritmalar\u0131 (\u015fu an i\u00e7in Argon2id veya Bcrypt) kullan\u0131n. Eski, zay\u0131f veya k\u0131r\u0131lm\u0131\u015f algoritmalar\u0131 (MD5, SHA-1) kullanmaktan ka\u00e7\u0131n\u0131n.<\/li>\n<li><strong>Parametreleri Ayarlay\u0131n:<\/strong> Kulland\u0131\u011f\u0131n\u0131z algoritman\u0131n (PBKDF2 i\u00e7in iterasyon say\u0131s\u0131, Bcrypt i\u00e7in maliyet fakt\u00f6r\u00fc, Argon2 i\u00e7in iterasyon, bellek, paralellik) parametrelerini, mevcut donan\u0131m g\u00fcc\u00fcn\u00fcz\u00fc ve g\u00fcvenlik ihtiya\u00e7lar\u0131n\u0131z\u0131 g\u00f6z \u00f6n\u00fcnde bulundurarak do\u011fru bir \u015fekilde ayarlay\u0131n. Bu de\u011ferler, her bir hash i\u015fleminin makul bir s\u00fcre almas\u0131n\u0131 sa\u011flamal\u0131d\u0131r (\u00f6rne\u011fin 200-500 milisaniye), ancak ayn\u0131 zamanda sald\u0131rganlar i\u00e7in yeterince yava\u015f olmal\u0131d\u0131r.<\/li>\n<li><strong>Zamanla G\u00fcncelleyin:<\/strong> Donan\u0131m g\u00fcc\u00fc zamanla artt\u0131k\u00e7a, sald\u0131rganlar i\u00e7in brute-force sald\u0131r\u0131lar\u0131 kolayla\u015f\u0131r. Bu nedenle, periyodik olarak (\u00f6rne\u011fin y\u0131lda bir kez) algoritma parametrelerini g\u00f6zden ge\u00e7irin ve art\u0131r\u0131n. Kullan\u0131c\u0131lar her giri\u015f yapt\u0131\u011f\u0131nda, \u015fifreleri yeni ve daha g\u00fc\u00e7l\u00fc parametrelerle yeniden hash'leyebilirsiniz.<\/li>\n<\/ul>\n<h3>Tuzlar\u0131 (Salts) Ak\u0131ll\u0131ca Y\u00f6netmek<\/h3>\n<ul>\n<li><strong>Benzersiz Tuz:<\/strong> Her kullan\u0131c\u0131 i\u00e7in benzersiz, kriptografik olarak g\u00fcvenli, rastgele bir tuz kullan\u0131n. Asla sabit bir tuz veya t\u00fcm kullan\u0131c\u0131lar i\u00e7in ayn\u0131 tuzu kullanmay\u0131n.<\/li>\n<li><strong>Tuzu Hash ile Birlikte Saklama:<\/strong> Tuz, ilgili kullan\u0131c\u0131n\u0131n hashlenmi\u015f \u015fifresiyle birlikte veritaban\u0131nda saklanmal\u0131d\u0131r. Tuz gizli olmak zorunda de\u011fildir, \u00e7\u00fcnk\u00fc amac\u0131 hash'i daha zor k\u0131r\u0131l\u0131r hale getirmektir, onu gizlemek de\u011fil.<\/li>\n<\/ul>\n<h3>\u015eifre Politikalar\u0131 ve Kullan\u0131c\u0131 E\u011fitimi<\/h3>\n<ul>\n<li><strong>G\u00fc\u00e7l\u00fc \u015eifre Gereksinimleri:<\/strong> Kullan\u0131c\u0131lar\u0131 uzun, karma\u015f\u0131k \u015fifreler kullanmaya te\u015fvik edin (en az 12-16 karakter, b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf, say\u0131 ve \u00f6zel karakter kombinasyonu). Ancak, bu kurallar kullan\u0131c\u0131lar\u0131 \u00e7ok zorlamamal\u0131 ve \u015fifreleri not almaya veya basit \u015fifreler kullanmaya itmemelidir.<\/li>\n<li><strong>\u015eifre Yenileme:<\/strong> Kullan\u0131c\u0131lar\u0131n \u015fifrelerini periyodik olarak de\u011fi\u015ftirmelerini isteyin (ancak \u00e7ok s\u0131k de\u011fi\u015fim iste\u011fi \"\u015fifre yorgunlu\u011funa\" yol a\u00e7abilir ve g\u00fcvenli\u011fi azaltabilir). En \u00f6nemlisi, veri ihlali durumunda t\u00fcm kullan\u0131c\u0131 \u015fifrelerinin zorla s\u0131f\u0131rlanmas\u0131d\u0131r.<\/li>\n<li><strong>Bilinen Zay\u0131f \u015eifreleri Engelleme:<\/strong> Yayg\u0131n olarak kullan\u0131lan veya bir veri ihlalinde if\u015fa olmu\u015f \u015fifrelerin (\u00f6rne\u011fin '123456', 'password') kullan\u0131lmas\u0131n\u0131 engelleyin. Bu t\u00fcr \u015fifre listeleri mevcuttur.<\/li>\n<li><strong>\u0130ki Fakt\u00f6rl\u00fc Kimlik Do\u011frulama (2FA\/MFA):<\/strong> M\u00fcmk\u00fcnse, t\u00fcm kullan\u0131c\u0131lar i\u00e7in 2FA veya MFA'y\u0131 etkinle\u015ftirin veya te\u015fvik edin. Bu, \u015fifre ele ge\u00e7irilse bile ek bir g\u00fcvenlik katman\u0131 sa\u011flar.<\/li>\n<\/ul>\n<h3>Veritaban\u0131 G\u00fcvenli\u011fi \u00d6nlemleri<\/h3>\n<ul>\n<li><strong>Eri\u015fim Kontrol\u00fc:<\/strong> Veritaban\u0131na eri\u015fimi en az ayr\u0131cal\u0131k ilkesiyle y\u00f6netin. Yaln\u0131zca yetkili ki\u015filerin ve sistemlerin, yaln\u0131zca ihtiya\u00e7 duyduklar\u0131 verilere, ihtiya\u00e7 duyduklar\u0131 kadar s\u00fcreyle eri\u015fmesini sa\u011flay\u0131n. Geli\u015ftiricilerin veya y\u00f6neticilerin \u015fifre tablolar\u0131na do\u011frudan eri\u015fimini k\u0131s\u0131tlay\u0131n.<\/li>\n<li><strong>Ba\u011flant\u0131 \u015eifrelemesi:<\/strong> Uygulama sunucusu ile veritaban\u0131 aras\u0131ndaki ba\u011flant\u0131y\u0131 SSL\/TLS ile \u015fifreleyin. Bu, ileti\u015fim s\u0131ras\u0131ndaki veri s\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00f6nler.<\/li>\n<li><strong>SQL Enjeksiyonu Korumas\u0131:<\/strong> Prepared statements (haz\u0131rlanm\u0131\u015f deyimler) veya ORM k\u00fct\u00fcphaneleri kullanarak SQL enjeksiyonu sald\u0131r\u0131lar\u0131n\u0131 \u00f6nleyin. Bu, sald\u0131rganlar\u0131n veritaban\u0131n\u0131za k\u00f6t\u00fc ama\u00e7l\u0131 sorgular enjekte etmesini engeller.<\/li>\n<li><strong>Fiziksel ve Disk \u015eifrelemesi:<\/strong> Veritaban\u0131 sunucular\u0131n\u0131n bulundu\u011fu ortam\u0131n fiziksel g\u00fcvenli\u011fini sa\u011flay\u0131n. M\u00fcmk\u00fcnse, veritaban\u0131 sunucusundaki diskleri \u015fifreleyin, b\u00f6ylece fiziksel eri\u015fim sa\u011flansa bile verilere ula\u015f\u0131lamaz.<\/li>\n<li><strong>G\u00fcnl\u00fck Kayd\u0131 ve \u0130zleme:<\/strong> Veritaban\u0131 eri\u015fimlerini ve t\u00fcm g\u00fcvenlik olaylar\u0131n\u0131 detayl\u0131 bir \u015fekilde g\u00fcnl\u00fc\u011fe kaydedin ve bu g\u00fcnl\u00fckleri d\u00fczenli olarak izleyin. Anormal aktivitelere kar\u015f\u0131 uyar\u0131 sistemleri kurun.<\/li>\n<\/ul>\n<h3>Gereksiz \u015eifre Saklamaktan Ka\u00e7\u0131nmak<\/h3>\n<ul>\n<li><strong>Alternatif Kimlik Do\u011frulama:<\/strong> M\u00fcmk\u00fcnse, kullan\u0131c\u0131 \u015fifrelerini hi\u00e7 saklamamak i\u00e7in OAuth, OpenID Connect veya SAML gibi standartla\u015ft\u0131r\u0131lm\u0131\u015f kimlik do\u011frulama \u00e7\u00f6z\u00fcmlerini kullan\u0131n. Bu durumda, kimlik sa\u011flay\u0131c\u0131 \u015fifre y\u00f6netimini \u00fcstlenir.<\/li>\n<li><strong>\u015eifresiz Kimlik Do\u011frulama (Passwordless):<\/strong> Biyometrik y\u00f6ntemler (parmak izi, y\u00fcz tan\u0131ma), donan\u0131m anahtarlar\u0131 (FIDO2\/WebAuthn) veya e-posta\/SMS ile tek kullan\u0131ml\u0131k kodlar gibi \u015fifresiz kimlik do\u011frulama se\u00e7eneklerini de\u011ferlendirin. Bu y\u00f6ntemler, parola tabanl\u0131 zay\u0131fl\u0131klar\u0131 tamamen ortadan kald\u0131rabilir.<\/li>\n<\/ul>\n<div class=\"uzman-ipucu\">\n<h3>Uzman \u0130pucu: \u015eifreleme Anahtarlar\u0131n\u0131z\u0131 ve Veritaban\u0131 Ba\u011flant\u0131 Bilgilerinizi G\u00fcvende Tutun<\/h3>\n<p>\u015eifreleri hash'lerken kulland\u0131\u011f\u0131n\u0131z anahtarlar veya salt'lar, veritaban\u0131 sald\u0131r\u0131lar\u0131na kar\u015f\u0131 korunmal\u0131d\u0131r. Bu kritik verileri, anahtar y\u00f6netim sistemleri (KMS - Key Management System) gibi \u00f6zel ve g\u00fcvenli ortamlarda saklamak, g\u00fcvenli\u011fi \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. AWS KMS, Google Cloud KMS veya Azure Key Vault gibi hizmetler, bu t\u00fcr kritik bilgileri y\u00f6netmek i\u00e7in tasarlanm\u0131\u015ft\u0131r. Ayr\u0131ca, uygulaman\u0131z\u0131n veritaban\u0131 ba\u011flant\u0131 bilgilerini (kullan\u0131c\u0131 ad\u0131, \u015fifre, sunucu adresi) do\u011frudan kod i\u00e7inde (hardcode) de\u011fil, ortam de\u011fi\u015fkenlerinde veya g\u00fcvenli konfig\u00fcrasyon dosyalar\u0131nda tutmaya \u00f6zen g\u00f6sterin. Bu, hassas bilgilerin kaynak kontrol sistemlerine s\u0131zmas\u0131n\u0131 engeller ve deployment s\u00fcre\u00e7lerini daha g\u00fcvenli hale getirir.<\/p>\n<\/div>\n<p>Bu en iyi uygulamalar\u0131n b\u00fct\u00fcn\u00fc, \u015fifre g\u00fcvenli\u011finizin sadece bir k\u0131sm\u0131n\u0131 de\u011fil, tamam\u0131n\u0131 kapsayan g\u00fc\u00e7l\u00fc bir savunma hatt\u0131 olu\u015fturur. G\u00fcvenlik, tek seferlik bir i\u015flem de\u011fil, s\u00fcrekli bir s\u00fcre\u00e7tir. Bu prensiplere ba\u011fl\u0131 kalarak, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n verilerini en \u00fcst d\u00fczeyde koruyabilirsiniz.<\/p>\n<h2>Vaka Analizi: B\u00fcy\u00fck Bir Veri \u0130hlali Sonras\u0131 Al\u0131nan Dersler<\/h2>\n<p>Ger\u00e7ek d\u00fcnya senaryolar\u0131, teorik bilgilerin \u00f6tesine ge\u00e7erek bize en de\u011ferli dersleri sunar. \u0130nternet tarihine damga vurmu\u015f bir\u00e7ok veri ihlali, \u015fifre g\u00fcvenli\u011finin ne kadar kritik oldu\u011funu ve yanl\u0131\u015f uygulamalar\u0131n nelere yol a\u00e7abilece\u011fini ac\u0131 bir \u015fekilde g\u00f6stermi\u015ftir. \u0130\u015fte size, genel hatlar\u0131yla, b\u00fcy\u00fck bir veri ihlalinin nas\u0131l ger\u00e7ekle\u015fti\u011fini ve bu t\u00fcr olaylardan hangi dersleri \u00e7\u0131karabilece\u011fimizi g\u00f6steren kurgusal ama ger\u00e7ek\u00e7i bir vaka analizi:<\/p>\n<h3>Senaryo: \"SosyalPayla\u015f\" Platformunun D\u00fcz Metin \u015eifre Felaketi<\/h3>\n<p>SosyalPayla\u015f, milyonlarca kullan\u0131c\u0131s\u0131 olan pop\u00fcler bir sosyal medya platformuydu. Kullan\u0131c\u0131lar\u0131n kolayca foto\u011fraf ve durum g\u00fcncellemelerini payla\u015fmas\u0131na olanak tan\u0131yordu. Platform, geli\u015ftirmenin ilk a\u015famalar\u0131nda h\u0131z ve basitli\u011fi \u00f6n planda tutmu\u015f, g\u00fcvenlik uygulamalar\u0131n\u0131 ise \"daha sonra\" ele almay\u0131 planlam\u0131\u015ft\u0131. Ne yaz\u0131k ki, bu \"daha sonra\" hi\u00e7 gelmedi.<\/p>\n<p>\u015eirketin sistem y\u00f6neticileri, \u015fifreleri veritaban\u0131nda d\u00fcz metin olarak depoluyorlard\u0131. Yani, bir kullan\u0131c\u0131n\u0131n \u015fifresi \"benimcokgizlisifrem\" ise, veritaban\u0131nda da aynen bu \u015fekilde yaz\u0131yordu. Salting veya hashing gibi temel g\u00fcvenlik \u00f6nlemleri hi\u00e7 uygulanmam\u0131\u015ft\u0131. Veritaban\u0131 ba\u011flant\u0131lar\u0131 da \u015fifresizdi ve zay\u0131f bir kullan\u0131c\u0131 ad\u0131\/\u015fifre kombinasyonuyla korunuyordu.<\/p>\n<p>Bir g\u00fcn, platformun eski bir s\u00fcr\u00fcm\u00fcnde, d\u0131\u015far\u0131dan eri\u015filebilen bir test API'sinde basit bir kimlik do\u011frulama a\u00e7\u0131\u011f\u0131 (\u00f6rne\u011fin, varsay\u0131lan admin \u015fifresi) ke\u015ffedildi. Bir sald\u0131rgan, bu a\u00e7\u0131\u011f\u0131 kullanarak SosyalPayla\u015f'\u0131n veritaban\u0131na eri\u015fim sa\u011flamay\u0131 ba\u015fard\u0131. Veritaban\u0131nda, milyonlarca kullan\u0131c\u0131n\u0131n e-posta adresleri ve bunlara kar\u015f\u0131l\u0131k gelen d\u00fcz metin \u015fifreleri, hi\u00e7bir engel olmadan okunabiliyordu.<\/p>\n<h3>Sonu\u00e7lar ve Y\u0131k\u0131c\u0131 Etkiler:<\/h3>\n<ul>\n<li><strong>Milyonlarca \u015eifre \u0130f\u015fa Oldu:<\/strong> Sald\u0131rganlar, t\u00fcm kullan\u0131c\u0131 \u015fifrelerini i\u00e7eren veritaban\u0131 tablolar\u0131n\u0131 saniyeler i\u00e7inde kopyalad\u0131lar. Bu \u015fifreler daha sonra Dark Web'de sat\u0131\u015fa sunuldu.<\/li>\n<li><strong>Geni\u015f \u00c7apl\u0131 Kimlik Av\u0131 ve Credential Stuffing:<\/strong> Ele ge\u00e7irilen \u015fifreler, sadece SosyalPayla\u015f hesaplar\u0131 i\u00e7in de\u011fil, ayn\u0131 zamanda kullan\u0131c\u0131lar\u0131n bankac\u0131l\u0131k, e-ticaret ve di\u011fer sosyal medya hesaplar\u0131 i\u00e7in de kullan\u0131ld\u0131. \u00c7\u00fcnk\u00fc bir\u00e7ok kullan\u0131c\u0131, \"kolayl\u0131k\" ad\u0131na ayn\u0131 \u015fifreyi birden fazla platformda kullan\u0131yordu. Bu durum, on binlerce kullan\u0131c\u0131n\u0131n farkl\u0131 platformlardaki hesaplar\u0131n\u0131n da ele ge\u00e7irilmesine yol a\u00e7t\u0131.<\/li>\n<li><strong>\u0130tibar Kayb\u0131 ve Kullan\u0131c\u0131 Exodus'u:<\/strong> Haberler yay\u0131ld\u0131\u011f\u0131nda, kullan\u0131c\u0131lar SosyalPayla\u015f'a olan g\u00fcvenlerini tamamen yitirdiler. \u015eirket, b\u00fcy\u00fck bir kullan\u0131c\u0131 exodus'u ya\u015fad\u0131 ve marka de\u011feri yerle bir oldu.<\/li>\n<li><strong>Yasal ve Mali Yapt\u0131r\u0131mlar:<\/strong> Veri Koruma Kurumlar\u0131, SosyalPayla\u015f'a a\u011f\u0131r para cezalar\u0131 kesti. Y\u00fczlerce kullan\u0131c\u0131, ki\u015fisel verilerinin ihlal edilmesi nedeniyle \u015firkete dava a\u00e7t\u0131. \u015eirket, milyonlarca dolarl\u0131k zararla kar\u015f\u0131 kar\u015f\u0131ya kald\u0131 ve bu durum, uzun vadeli finansal istikrar\u0131n\u0131 tehdit etti.<\/li>\n<li><strong>Operasyonel Karga\u015fa:<\/strong> \u015eirket, veri ihlalini takiben g\u00fcnlerce s\u00fcren bir kriz y\u00f6netimi ile u\u011fra\u015fmak zorunda kald\u0131. T\u00fcm sistemler kapat\u0131ld\u0131, kullan\u0131c\u0131 \u015fifreleri zorla s\u0131f\u0131rland\u0131, g\u00fcvenlik yamalar\u0131 uyguland\u0131 ve adli bili\u015fim ekipleri olay\u0131n kapsam\u0131n\u0131 belirlemek i\u00e7in \u00e7al\u0131\u015ft\u0131. Bu durum, \u015firketin normal operasyonlar\u0131n\u0131 tamamen durdurdu.<\/li>\n<\/ul>\n<h3>Al\u0131nan Dersler:<\/h3>\n<p>SosyalPayla\u015f vakas\u0131 (ve benzeri ger\u00e7ek olaylar), \u015fifre g\u00fcvenli\u011finin sadece bir \"ek \u00f6zellik\" de\u011fil, birincil bir gereklilik oldu\u011funu g\u00f6stermi\u015ftir:<\/p>\n<ol>\n<li><strong>Asla D\u00fcz Metin \u015eifre Saklamay\u0131n:<\/strong> Bu, veri g\u00fcvenli\u011fi alan\u0131ndaki en temel ve en \u00f6nemli kurald\u0131r. Hi\u00e7bir zaman, hi\u00e7bir ko\u015fulda kullan\u0131c\u0131 \u015fifrelerini veritaban\u0131nda d\u00fcz metin olarak saklamamal\u0131s\u0131n\u0131z.<\/li>\n<li><strong>Modern Hashing ve Salting Kullan\u0131m\u0131 \u015eartt\u0131r:<\/strong> Hashing ve salting, \u015fifrelerin g\u00fcvenli\u011fini art\u0131rmak i\u00e7in temel katmanlard\u0131r. PBKDF2, Bcrypt veya Argon2 gibi g\u00fc\u00e7l\u00fc, adaptif algoritmalar, brute-force ve rainbow table sald\u0131r\u0131lar\u0131na kar\u015f\u0131 en iyi korumay\u0131 sa\u011flar. Her kullan\u0131c\u0131 i\u00e7in benzersiz bir salt kullanmak hayati \u00f6nem ta\u015f\u0131r.<\/li>\n<li><strong>Katmanl\u0131 G\u00fcvenlik Yakla\u015f\u0131m\u0131:<\/strong> Sadece \u015fifreleri hashlemek yetmez. Veritaban\u0131na eri\u015fim kontrolleri, a\u011f g\u00fcvenli\u011fi (firewall'lar), SQL enjeksiyonu korumalar\u0131, d\u00fczenli g\u00fcvenlik denetimleri ve g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 tarayan ara\u00e7lar gibi katmanl\u0131 bir g\u00fcvenlik stratejisi uygulamak zorunludur.<\/li>\n<li><strong>Acil Durum M\u00fcdahale Plan\u0131:<\/strong> Her \u015firketin bir veri ihlali durumunda nas\u0131l hareket edece\u011fine dair net bir plan\u0131 olmal\u0131d\u0131r. Bu plan, ihlalin tespiti, kapsama alan\u0131 analizi, ileti\u015fimi (kullan\u0131c\u0131lara ve yetkili makamlara), sistemlerin iyile\u015ftirilmesi ve adli analiz gibi ad\u0131mlar\u0131 i\u00e7ermelidir.<\/li>\n<li><strong>Kullan\u0131c\u0131 E\u011fitimi ve Fark\u0131ndal\u0131k:<\/strong> Kullan\u0131c\u0131lar\u0131 g\u00fc\u00e7l\u00fc ve benzersiz \u015fifreler kullanmaya te\u015fvik etmek ve iki fakt\u00f6rl\u00fc kimlik do\u011frulama gibi ek g\u00fcvenlik \u00f6nlemlerinin \u00f6nemini anlatmak, genel g\u00fcvenlik seviyesini y\u00fckseltir.<\/li>\n<li><strong>S\u00fcrekli \u0130yile\u015ftirme:<\/strong> Siber g\u00fcvenlik, dura\u011fan bir alan de\u011fildir. Tehditler ve sald\u0131r\u0131 teknikleri s\u00fcrekli evrimle\u015fir. Bu nedenle, g\u00fcvenlik uygulamalar\u0131n\u0131 d\u00fczenli olarak g\u00f6zden ge\u00e7irmek, g\u00fcncellemek ve iyile\u015ftirmek esast\u0131r.<\/li>\n<\/ol>\n<p>Bu vaka, g\u00fcvenlikte yap\u0131lan en temel hatan\u0131n bile y\u0131k\u0131c\u0131 sonu\u00e7lara yol a\u00e7abilece\u011fini ac\u0131 bir \u015fekilde kan\u0131tlam\u0131\u015ft\u0131r. Gelecekteki projelerde bu dersleri ak\u0131lda tutarak, \u00e7ok daha g\u00fcvenli sistemler in\u015fa edebiliriz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Veritaban\u0131nda \u015fifreleri g\u00fcvenli bir \u015fekilde saklamak, g\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda sadece bir en iyi uygulama de\u011fil, ayn\u0131 zamanda zorunlu bir g\u00fcvenlik standard\u0131d\u0131r. Kullan\u0131c\u0131 verilerinin korunmas\u0131, hem yasal y\u00fck\u00fcml\u00fcl\u00fckler hem de \u015firket itibar\u0131 a\u00e7\u0131s\u0131ndan en y\u00fcksek \u00f6ncelik olmal\u0131d\u0131r. G\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, d\u00fcz metin \u015fifre saklaman\u0131n riskleri kabul edilemez d\u00fczeydedir ve y\u0131k\u0131c\u0131 veri ihlallerine yol a\u00e7abilir.<\/p>\n<p>Bu makalede, \u015fifre g\u00fcvenli\u011finin temel prensiplerini, yani hashing ve salting'i derinlemesine inceledik. MD5 veya SHA-1 gibi h\u0131zl\u0131 algoritmalar\u0131n yetersiz kald\u0131\u011f\u0131n\u0131 ve modern, i\u015flem maliyetli algoritmalar olan PBKDF2, Bcrypt ve Argon2'nin neden tercih edilmesi gerekti\u011fini \u00f6\u011frendik. \u00d6zellikle Argon2id'nin, bellek ve i\u015flemci g\u00fcc\u00fcn\u00fc dengeleyerek en g\u00fcncel tehditlere kar\u015f\u0131 en g\u00fc\u00e7l\u00fc korumay\u0131 sa\u011flad\u0131\u011f\u0131n\u0131 vurgulad\u0131k. Ayr\u0131ca, do\u011fru algoritma se\u00e7imi, g\u00fc\u00e7l\u00fc \u015fifre politikalar\u0131, katmanl\u0131 veritaban\u0131 g\u00fcvenli\u011fi ve iki fakt\u00f6rl\u00fc kimlik do\u011frulama gibi pratik uygulamalar\u0131n da genel g\u00fcvenlik duru\u015funu nas\u0131l g\u00fc\u00e7lendirece\u011fini detayland\u0131rd\u0131k.<\/p>\n<p>Unutmay\u0131n ki g\u00fcvenlik, s\u00fcrekli bir yolculuktur. Teknolojiler geli\u015ftik\u00e7e, sald\u0131r\u0131 y\u00f6ntemleri de evrilir. Bu nedenle, en iyi uygulamalar\u0131 takip etmek, sistemlerinizi d\u00fczenli olarak denetlemek ve g\u00fcvenlik bilincini canl\u0131 tutmak hayati \u00f6nem ta\u015f\u0131r. Gelecekte \u015fifresiz kimlik do\u011frulama gibi yenilikler parolas\u0131z bir d\u00fcnya vaat etse de, mevcut sistemlerdeki \u015fifreleri en g\u00fcvenli \u015fekilde y\u00f6netmek, hala \u00fczerinde durulmas\u0131 gereken en kritik konulardan biridir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<p><strong>Soru 1: \u015eifreleri \u015fifrelemek yerine hashlemek neden daha iyi?<\/strong><\/p>\n<p><strong>Cevap:<\/strong> \u015eifreleme (encryption) geri d\u00f6nd\u00fcr\u00fclebilir bir i\u015flemdir; yani do\u011fru anahtara sahipseniz \u015fifrelenmi\u015f veriyi tekrar orijinal haline getirebilirsiniz. \u015eifreleri bu \u015fekilde saklamak, sald\u0131rgan \u015fifreleme anahtar\u0131n\u0131 ele ge\u00e7irdi\u011finde t\u00fcm \u015fifrelerin de\u015fifre olmas\u0131na yol a\u00e7ar. Hashing (\u00f6zetleme) ise tek y\u00f6nl\u00fc bir fonksiyondur; bir hash de\u011ferinden orijinal \u015fifreyi geri elde etmek pratik olarak imkans\u0131zd\u0131r. Bu durum, bir sald\u0131rgan hash de\u011ferlerini ele ge\u00e7irse bile, kullan\u0131c\u0131 \u015fifrelerini do\u011frudan bilemeyece\u011fi anlam\u0131na gelir ve g\u00fcvenli\u011fi art\u0131r\u0131r.<\/p>\n<p><strong>Soru 2: Her kullan\u0131c\u0131 i\u00e7in farkl\u0131 salt kullanmak neden \u00f6nemli?<\/strong><\/p>\n<p><strong>Cevap:<\/strong> E\u011fer t\u00fcm kullan\u0131c\u0131lar i\u00e7in ayn\u0131 salt kullan\u0131l\u0131yorsa, ayn\u0131 \u015fifreye sahip kullan\u0131c\u0131lar i\u00e7in ayn\u0131 hash de\u011feri elde edilir. Bu durum, \"rainbow table\" sald\u0131r\u0131lar\u0131n\u0131 ve toplu \"brute-force\" denemelerini kolayla\u015ft\u0131r\u0131r. Sald\u0131rgan, ele ge\u00e7irdi\u011fi hash listesinde ayn\u0131 hash'i arayarak birden fazla kullan\u0131c\u0131n\u0131n \u015fifresini tek seferde k\u0131rabilir. Her kullan\u0131c\u0131 i\u00e7in benzersiz ve rastgele bir salt kullanmak, ayn\u0131 \u015fifreye sahip olsalar bile her hash'in farkl\u0131 olmas\u0131n\u0131 sa\u011flar. Bu sayede, sald\u0131rgan\u0131n her bir hash'i ayr\u0131 ayr\u0131 k\u0131rmas\u0131 gerekir, bu da sald\u0131r\u0131n\u0131n maliyetini ve zaman\u0131n\u0131 katlanarak art\u0131r\u0131r.<\/p>\n<p><strong>Soru 3: SHA-256 gibi algoritmalar neden art\u0131k tek ba\u015f\u0131na yeterli de\u011fil?<\/strong><\/p>\n<p><strong>Cevap:<\/strong> SHA-256 gibi kriptografik hash fonksiyonlar\u0131, verilerin b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc do\u011frulamak i\u00e7in harikad\u0131r, ancak \u015fifre hashing i\u00e7in tek ba\u015f\u0131na yeterli de\u011fildirler \u00e7\u00fcnk\u00fc \u00e7ok h\u0131zl\u0131 \u00e7al\u0131\u015f\u0131rlar. Modern donan\u0131mlar (\u00f6zellikle GPU'lar), saniyede milyarlarca SHA-256 hash'i hesaplayabilir. Bu h\u0131z, sald\u0131rganlar\u0131n yayg\u0131n \u015fifrelerin veya tahmini \u015fifrelerin hash'lerini \u00e7ok h\u0131zl\u0131 bir \u015fekilde hesaplayarak ele ge\u00e7irdikleri hash de\u011ferleriyle kar\u015f\u0131la\u015ft\u0131rmas\u0131na (brute-force sald\u0131r\u0131s\u0131) olanak tan\u0131r. PBKDF2, Bcrypt, Argon2 gibi algoritmalar ise kas\u0131tl\u0131 olarak yava\u015f \u00e7al\u0131\u015facak ve i\u015flemci\/bellek t\u00fcketimi y\u00fcksek olacak \u015fekilde tasarlanm\u0131\u015ft\u0131r. Bu \"i\u015flem maliyetli\" yap\u0131, sald\u0131r\u0131lar\u0131 \u00e7ok daha pahal\u0131 ve zaman al\u0131c\u0131 hale getirir.<\/p>\n<p><strong>Soru 4: \u015eifrelerinizi asla kaydetmeyin veya kimseyle payla\u015fmay\u0131n ne anlama geliyor?<\/strong><\/p>\n<p><strong>Cevap:<\/strong> Bu uyar\u0131, birka\u00e7 farkl\u0131 katman\u0131 kapsar. Birincisi, son kullan\u0131c\u0131lar i\u00e7in: Taray\u0131c\u0131lar\u0131n sundu\u011fu \"\u015fifreleri kaydet\" \u00f6zelli\u011fini kullanmak veya \u015fifrelerini bir yere not almak genellikle g\u00fcvenli de\u011fildir (taray\u0131c\u0131lar da sald\u0131r\u0131lara hedef olabilir). \u0130kincisi, kullan\u0131c\u0131lar\u0131n \u015fifrelerini e-posta, sohbet mesaj\u0131 gibi g\u00fcvenli olmayan yollarla ba\u015fkalar\u0131yla payla\u015fmaktan ka\u00e7\u0131nmalar\u0131 gerekti\u011fi anlam\u0131na gelir. \u00dc\u00e7\u00fcnc\u00fcs\u00fc, \u015firketler ve hizmet sa\u011flay\u0131c\u0131lar i\u00e7in: G\u00fcvenilir bir \u015firket asla kullan\u0131c\u0131lar\u0131ndan \u015fifrelerini e-posta veya telefon yoluyla istememelidir. Bu t\u00fcr talepler genellikle kimlik av\u0131 (phishing) doland\u0131r\u0131c\u0131l\u0131klar\u0131n\u0131n bir par\u00e7as\u0131d\u0131r.<\/p>\n<p><strong>Soru 5: \u015eifresiz kimlik do\u011frulama (passwordless authentication) nedir ve gelecekte \u015fifreleri tamamen ortadan kald\u0131racak m\u0131?<\/strong><\/p>\n<p><strong>Cevap:<\/strong> \u015eifresiz kimlik do\u011frulama, kullan\u0131c\u0131lar\u0131n bir sisteme eri\u015fmek i\u00e7in geleneksel \u015fifreler kullanmas\u0131n\u0131 gerektirmeyen y\u00f6ntemleri ifade eder. Bunun yerine biyometrik veriler (parmak izi, y\u00fcz tan\u0131ma), donan\u0131m anahtarlar\u0131 (USB g\u00fcvenlik anahtarlar\u0131 - FIDO2\/WebAuthn), tek kullan\u0131ml\u0131k kodlar (e-posta veya SMS ile g\u00f6nderilen) veya sihirli ba\u011flant\u0131lar (magic links) gibi alternatif y\u00f6ntemler kullan\u0131l\u0131r. Bu sistemler, phishing ve brute-force gibi \u015fifre tabanl\u0131 sald\u0131r\u0131lara kar\u015f\u0131 daha diren\u00e7lidir. Gelecekte \u015fifreleri tamamen ortadan kald\u0131rmas\u0131 zaman alacak olsa da, giderek daha pop\u00fcler hale gelmekte ve bir\u00e7ok platform taraf\u0131ndan benimsenmektedir. Tamamen \u015fifresiz bir d\u00fcnyaya ge\u00e7i\u015f, teknolojinin ve kullan\u0131c\u0131 al\u0131\u015fkanl\u0131klar\u0131n\u0131n geli\u015fimine ba\u011fl\u0131 olarak kademeli olacakt\u0131r, ancak \u015fifrelerin rol\u00fc kesinlikle azalacakt\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"Veritaban\u0131nda \u015fifreleri g\u00fcvenli saklamak g\u00fcn\u00fcm\u00fcz\u00fcn en kritik siber g\u00fcvenlik konular\u0131ndan biridir. Kullan\u0131c\u0131 bilgilerinin korunmas\u0131, hem yasal y\u00fck\u00fcml\u00fcl\u00fckler hem&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-33403","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklama Rehberi<\/title>\n<meta name=\"description\" content=\"Veritaban\u0131nda \u015fifreleri g\u00fcvenli saklamak g\u00fcn\u00fcm\u00fcz\u00fcn en kritik siber g\u00fcvenlik konular\u0131ndan biridir. Kullan\u0131c\u0131 bilgilerinin korunmas\u0131, hem yasal y\u00fck\u00fcml\u00fcl\u00fckler hem de \u015firket itibar\u0131 a\u00e7\u0131s\u0131ndan hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, parola g\u00fcvenli\u011finin temellerini, nedenlerini ve en iyi uygulamalar\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Modern algoritmalar, pratik senaryolar ve kod \u00f6rnekleri ile donat\u0131lm\u0131\u015f bu yaz\u0131, \u015fifre g\u00fcvenli\u011fi konusunda sizi s\u0131f\u0131rdan uzman seviyesine ta\u015f\u0131yacak.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklama Rehberi\" \/>\n<meta property=\"og:description\" content=\"Veritaban\u0131nda \u015fifreleri g\u00fcvenli saklamak g\u00fcn\u00fcm\u00fcz\u00fcn en kritik siber g\u00fcvenlik konular\u0131ndan biridir. Kullan\u0131c\u0131 bilgilerinin korunmas\u0131, hem yasal y\u00fck\u00fcml\u00fcl\u00fckler hem de \u015firket itibar\u0131 a\u00e7\u0131s\u0131ndan hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, parola g\u00fcvenli\u011finin temellerini, nedenlerini ve en iyi uygulamalar\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Modern algoritmalar, pratik senaryolar ve kod \u00f6rnekleri ile donat\u0131lm\u0131\u015f bu yaz\u0131, \u015fifre g\u00fcvenli\u011fi konusunda sizi s\u0131f\u0131rdan uzman seviyesine ta\u015f\u0131yacak.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-02T09:31:40+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"30 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklama Rehberi\",\"datePublished\":\"2025-11-02T09:31:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/\"},\"wordCount\":5459,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/\",\"name\":\"Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklama Rehberi\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-02T09:31:40+00:00\",\"description\":\"Veritaban\u0131nda \u015fifreleri g\u00fcvenli saklamak g\u00fcn\u00fcm\u00fcz\u00fcn en kritik siber g\u00fcvenlik konular\u0131ndan biridir. Kullan\u0131c\u0131 bilgilerinin korunmas\u0131, hem yasal y\u00fck\u00fcml\u00fcl\u00fckler hem de \u015firket itibar\u0131 a\u00e7\u0131s\u0131ndan hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, parola g\u00fcvenli\u011finin temellerini, nedenlerini ve en iyi uygulamalar\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Modern algoritmalar, pratik senaryolar ve kod \u00f6rnekleri ile donat\u0131lm\u0131\u015f bu yaz\u0131, \u015fifre g\u00fcvenli\u011fi konusunda sizi s\u0131f\u0131rdan uzman seviyesine ta\u015f\u0131yacak.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklama Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklama Rehberi","description":"Veritaban\u0131nda \u015fifreleri g\u00fcvenli saklamak g\u00fcn\u00fcm\u00fcz\u00fcn en kritik siber g\u00fcvenlik konular\u0131ndan biridir. Kullan\u0131c\u0131 bilgilerinin korunmas\u0131, hem yasal y\u00fck\u00fcml\u00fcl\u00fckler hem de \u015firket itibar\u0131 a\u00e7\u0131s\u0131ndan hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, parola g\u00fcvenli\u011finin temellerini, nedenlerini ve en iyi uygulamalar\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Modern algoritmalar, pratik senaryolar ve kod \u00f6rnekleri ile donat\u0131lm\u0131\u015f bu yaz\u0131, \u015fifre g\u00fcvenli\u011fi konusunda sizi s\u0131f\u0131rdan uzman seviyesine ta\u015f\u0131yacak.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklama Rehberi","og_description":"Veritaban\u0131nda \u015fifreleri g\u00fcvenli saklamak g\u00fcn\u00fcm\u00fcz\u00fcn en kritik siber g\u00fcvenlik konular\u0131ndan biridir. Kullan\u0131c\u0131 bilgilerinin korunmas\u0131, hem yasal y\u00fck\u00fcml\u00fcl\u00fckler hem de \u015firket itibar\u0131 a\u00e7\u0131s\u0131ndan hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, parola g\u00fcvenli\u011finin temellerini, nedenlerini ve en iyi uygulamalar\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Modern algoritmalar, pratik senaryolar ve kod \u00f6rnekleri ile donat\u0131lm\u0131\u015f bu yaz\u0131, \u015fifre g\u00fcvenli\u011fi konusunda sizi s\u0131f\u0131rdan uzman seviyesine ta\u015f\u0131yacak.","og_url":"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-02T09:31:40+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"30 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklama Rehberi","datePublished":"2025-11-02T09:31:40+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/"},"wordCount":5459,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/","name":"Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklama Rehberi","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-02T09:31:40+00:00","description":"Veritaban\u0131nda \u015fifreleri g\u00fcvenli saklamak g\u00fcn\u00fcm\u00fcz\u00fcn en kritik siber g\u00fcvenlik konular\u0131ndan biridir. Kullan\u0131c\u0131 bilgilerinin korunmas\u0131, hem yasal y\u00fck\u00fcml\u00fcl\u00fckler hem de \u015firket itibar\u0131 a\u00e7\u0131s\u0131ndan hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, parola g\u00fcvenli\u011finin temellerini, nedenlerini ve en iyi uygulamalar\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Modern algoritmalar, pratik senaryolar ve kod \u00f6rnekleri ile donat\u0131lm\u0131\u015f bu yaz\u0131, \u015fifre g\u00fcvenli\u011fi konusunda sizi s\u0131f\u0131rdan uzman seviyesine ta\u015f\u0131yacak.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/veritabaninda-sifreleri-guvenli-saklama-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Veritaban\u0131nda \u015eifreleri G\u00fcvenli Saklama Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=33403"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33403\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}