{"id":31898,"date":"2025-10-15T09:31:52","date_gmt":"2025-10-15T06:31:52","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/"},"modified":"2025-10-15T09:31:52","modified_gmt":"2025-10-15T06:31:52","slug":"veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/","title":{"rendered":"Veri G\u00fcvenli\u011fi Neden Her Geli\u015ftiricinin G\u00fcndeminde Olmal\u0131?"},"content":{"rendered":"<p class=\"article-title\">Geli\u015ftiriciler \u0130\u00e7in Veri G\u00fcvenli\u011fi: 10 Temel Kavram<\/p>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri g\u00fcvenli\u011fi art\u0131k bir l\u00fcks de\u011fil, zorunluluktur. Her g\u00fcn duydu\u011fumuz veri ihlalleri ve siber sald\u0131r\u0131lar, geli\u015ftiricilerin g\u00fcvenlik bilinciyle hareket etmesinin ne kadar kritik oldu\u011funu bir kez daha g\u00f6steriyor. Bu makale, her geli\u015ftiricinin veri g\u00fcvenli\u011fi hakk\u0131nda bilmesi gereken 10 temel kavram\u0131 derinlemesine inceleyecek, sistemlerinizi k\u00f6t\u00fc niyetli tehditlerden koruman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak ve g\u00fcvenli yaz\u0131l\u0131m geli\u015ftirme pratiklerini anlaman\u0131z\u0131 sa\u011flayacakt\u0131r.<\/p>\n<p>Herhangi bir yaz\u0131l\u0131m projesinin kalbinde veriler yatar. Kullan\u0131c\u0131 bilgileri, finansal kay\u0131tlar, ticari s\u0131rlar veya ki\u015fisel tercihler\u2026 Bu verilerin korunmas\u0131 sadece yasal bir y\u00fck\u00fcml\u00fcl\u00fck (KVKK, GDPR gibi d\u00fczenlemeler) de\u011fil, ayn\u0131 zamanda kullan\u0131c\u0131 g\u00fcvenini ve marka itibar\u0131n\u0131 s\u00fcrd\u00fcrmek i\u00e7in de hayati \u00f6neme sahiptir. Bir veri ihlali, \u015firketler i\u00e7in milyonlarca dolarl\u0131k zarara, yasal cezalara ve en \u00f6nemlisi m\u00fc\u015fteri kayb\u0131na yol a\u00e7abilir. Bu nedenle, geli\u015ftiriciler olarak &#8220;g\u00fcvenlik&#8221; kavram\u0131n\u0131 sadece sonradan eklenen bir \u00f6zellik olarak de\u011fil, geli\u015ftirme s\u00fcrecinin en ba\u015f\u0131ndan itibaren, yani &#8220;tasar\u0131mdan itibaren g\u00fcvenlik&#8221; (Security by Design) ilkesiyle ele almal\u0131y\u0131z.<\/p>\n<p>Siber sald\u0131rganlar s\u00fcrekli yeni y\u00f6ntemler geli\u015ftirirken, yaz\u0131l\u0131m geli\u015ftiricilerinin de bu tehditlere kar\u015f\u0131 s\u00fcrekli teyakkuzda olmas\u0131 gerekmektedir. Kodlama a\u015famas\u0131nda yap\u0131lan basit bir hata bile ciddi g\u00fcvenlik a\u00e7\u0131klar\u0131na yol a\u00e7abilir. \u00d6rne\u011fin, bir SQL enjeksiyonu veya XSS sald\u0131r\u0131s\u0131, uygulaman\u0131z\u0131n kontrol\u00fcn\u00fc tamamen k\u00f6t\u00fc niyetli ki\u015filerin eline ge\u00e7irebilir. Bu nedenle, geli\u015ftiricilerin sadece i\u015flevsel kod yazmakla kalmay\u0131p, ayn\u0131 zamanda yazd\u0131klar\u0131 kodun olas\u0131 g\u00fcvenlik etkilerini de anlamas\u0131 zorunludur. Unutmayal\u0131m ki, bir uygulaman\u0131n g\u00fcvenli\u011fi, en zay\u0131f halkas\u0131 kadar g\u00fc\u00e7l\u00fcd\u00fcr ve bu halka genellikle insan hatas\u0131 veya bilgi eksikli\u011fi olabilir. Bu makalede ele alaca\u011f\u0131m\u0131z 10 temel kavram, geli\u015ftiricilere bu zay\u0131f halkalar\u0131 g\u00fc\u00e7lendirmek ve daha dayan\u0131kl\u0131, g\u00fcvenli sistemler in\u015fa etmek i\u00e7in gerekli ara\u00e7lar\u0131 sunacakt\u0131r.<\/p>\n<p>Peki, bir geli\u015ftirici olarak veri g\u00fcvenli\u011fini nas\u0131l bir \u00f6ncelik haline getirebilirsiniz? Bu, sadece teknik bilgi birikimiyle de\u011fil, ayn\u0131 zamanda g\u00fcvenlik bilinci ve s\u00fcrekli \u00f6\u011frenme k\u00fclt\u00fcr\u00fcyle de m\u00fcmk\u00fcnd\u00fcr. Her proje ba\u015flang\u0131c\u0131nda g\u00fcvenlik gereksinimlerini belirlemek, d\u00fczenli g\u00fcvenlik testleri yapmak ve ekibinizi bu konuda e\u011fitmek, uzun vadede projenizin ve \u015firketinizin g\u00fcvenli\u011fini sa\u011flamla\u015ft\u0131racakt\u0131r. \u0130\u015fte bu noktada, a\u015fa\u011f\u0131daki temel kavramlar size yol g\u00f6sterecektir.<\/p>\n<h2>Temel Ta\u015flar: \u015eifreleme ve Eri\u015fim Kontrol\u00fc Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h2>\n<h3>1. \u015eifreleme: Verilerinizi Kilit Alt\u0131nda Tutman\u0131n Yollar\u0131<\/h3>\n<p>\u015eifreleme, verileri yetkisiz eri\u015fime kar\u015f\u0131 koruman\u0131n en temel ve g\u00fc\u00e7l\u00fc y\u00f6ntemlerinden biridir. K\u0131sacas\u0131, veriyi okunamaz bir formata d\u00f6n\u00fc\u015ft\u00fcrme i\u015flemidir; bu i\u015fleme \u015fifreleme, orijinal forma geri d\u00f6nd\u00fcrme i\u015flemine ise \u015fifre \u00e7\u00f6zme denir. Geli\u015ftiriciler i\u00e7in \u015fifrelemenin iki ana formu kritik \u00f6neme sahiptir: depolanan verinin \u015fifrelenmesi (at rest encryption) ve iletilen verinin \u015fifrelenmesi (in transit encryption).<\/p>\n<p>Depolanan verinin \u015fifrelenmesi, veritabanlar\u0131, dosya sistemleri veya bulut depolama alanlar\u0131 gibi pasif durumlarda bulunan verilerin korunmas\u0131n\u0131 sa\u011flar. Bir sunucuya s\u0131z\u0131lsa veya bir depolama birimi \u00e7al\u0131nsa bile, veriler \u015fifreli oldu\u011fu i\u00e7in okunamaz kal\u0131r. AES-256 gibi g\u00fc\u00e7l\u00fc \u015fifreleme algoritmalar\u0131 bu ama\u00e7la s\u0131kl\u0131kla kullan\u0131l\u0131r. \u00d6rne\u011fin, bir kullan\u0131c\u0131n\u0131n ki\u015fisel bilgilerini veritaban\u0131nda saklarken, do\u011frudan metin olarak de\u011fil, \u015fifrelenmi\u015f bir formatta tutmak kritik \u00f6neme sahiptir. Aksi takdirde, veritaban\u0131na yap\u0131lan bir sald\u0131r\u0131 t\u00fcm bu bilgilerin kolayca ele ge\u00e7irilmesine neden olabilir.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Hassas verileri (\u00f6rne\u011fin kredi kart\u0131 numaralar\u0131) veritaban\u0131nda do\u011frudan \u015fifrelemek yerine, tokenizasyon veya maskeleme y\u00f6ntemlerini de d\u00fc\u015f\u00fcnebilirsiniz. Bu y\u00f6ntemler, orijinal verinin tamamen farkl\u0131 bir de\u011ferle (token) de\u011fi\u015ftirilmesi veya belirli k\u0131s\u0131mlar\u0131n\u0131n gizlenmesi prensibine dayan\u0131r ve veri ihlali riskini daha da azaltabilir.\n<\/div>\n<p>\u0130letilen verinin \u015fifrelenmesi ise, verilerin a\u011f \u00fczerinden bir yerden ba\u015fka bir yere aktar\u0131l\u0131rken korunmas\u0131n\u0131 ifade eder. Bu, web siteleri i\u00e7in HTTPS (SSL\/TLS), VPN ba\u011flant\u0131lar\u0131 veya g\u00fcvenli mesajla\u015fma protokolleri arac\u0131l\u0131\u011f\u0131yla sa\u011flan\u0131r. HTTPS, taray\u0131c\u0131n\u0131z ile sunucu aras\u0131ndaki ileti\u015fimi \u015fifreleyerek, \u00fc\u00e7\u00fcnc\u00fc taraflar\u0131n ileti\u015fimi dinlemesini veya de\u011fi\u015ftirmesini engeller. Bir e-ticaret sitesinde kredi kart\u0131 bilgilerini girerken, taray\u0131c\u0131n\u0131z\u0131n adres \u00e7ubu\u011funda &#8220;https:\/\/&#8221; ve bir kilit simgesi g\u00f6rmeniz, bu ileti\u015fimin \u015fifrelendi\u011fi anlam\u0131na gelir.<\/p>\n<p>\u015eifreleme anahtarlar\u0131n\u0131n y\u00f6netimi de en az \u015fifrelemenin kendisi kadar \u00f6nemlidir. Bir anahtar\u0131n ele ge\u00e7irilmesi, t\u00fcm \u015fifreli verilerin \u00e7\u00f6z\u00fclmesine olanak tan\u0131r. Bu nedenle, anahtarlar\u0131n g\u00fcvenli bir \u015fekilde olu\u015fturulmas\u0131, depolanmas\u0131 ve rotasyonu i\u00e7in Anahtar Y\u00f6netim Sistemleri (KMS) gibi \u00e7\u00f6z\u00fcmler kullan\u0131l\u0131r. Geli\u015ftiriciler, uygulaman\u0131n kritik verileri nas\u0131l \u015fifreledi\u011fini, hangi algoritmalar\u0131 kulland\u0131\u011f\u0131n\u0131 ve anahtarlar\u0131n nerede sakland\u0131\u011f\u0131n\u0131 net bir \u015fekilde anlamal\u0131d\u0131r. Modern bulut platformlar\u0131 (AWS KMS, Azure Key Vault, Google Cloud KMS) bu konuda g\u00fc\u00e7l\u00fc ve y\u00f6netimi kolay \u00e7\u00f6z\u00fcmler sunar.<\/p>\n<p>Basit bir \u00f6rnekle, Node.js&#8217;te bir metni \u015fifrelemek ve \u00e7\u00f6zmek i\u00e7in <code class=\"language-javascript\">crypto<\/code> mod\u00fcl\u00fcn\u00fc kullanabiliriz:<\/p>\n<pre><code class=\"language-javascript\">\nconst crypto = require('crypto');\nconst algorithm = 'aes-256-cbc';\nconst key = crypto.randomBytes(32); \/\/ 32 byte anahtar (256 bit)\nconst iv = crypto.randomBytes(16); \/\/ 16 byte ba\u015flatma vekt\u00f6r\u00fc\n\nfunction encrypt(text) {\n  const cipher = crypto.createCipheriv(algorithm, Buffer.from(key), iv);\n  let encrypted = cipher.update(text);\n  encrypted = Buffer.concat([encrypted, cipher.final()]);\n  return { iv: iv.toString('hex'), encryptedData: encrypted.toString('hex') };\n}\n\nfunction decrypt(text) {\n  let iv = Buffer.from(text.iv, 'hex');\n  let encryptedData = Buffer.from(text.encryptedData, 'hex');\n  const decipher = crypto.createDecipheriv(algorithm, Buffer.from(key), iv);\n  let decrypted = decipher.update(encryptedData);\n  decrypted = Buffer.concat([decrypted, decipher.final()]);\n  return decrypted.toString();\n}\n\nconst hw = encrypt('Merhaba D\u00fcnya!');\nconsole.log(hw);\nconsole.log(decrypt(hw)); \/\/ Merhaba D\u00fcnya!\n<\/pre>\n<p><\/code><\/p>\n<p>Bu kod blo\u011fu, AES-256-CBC algoritmas\u0131 kullanarak bir metni nas\u0131l \u015fifreleyip \u00e7\u00f6zd\u00fc\u011f\u00fcm\u00fcz\u00fc g\u00f6sterir. Ger\u00e7ek d\u00fcnya uygulamalar\u0131nda anahtarlar\u0131n ve IV'lerin (Initialization Vector) g\u00fcvenli bir \u015fekilde saklanmas\u0131 ve y\u00f6netilmesi kritik derecede \u00f6nemlidir. Geli\u015ftiriciler, bu t\u00fcr i\u015flemleri manuel olarak uygulamak yerine, genellikle bu t\u00fcr g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 en aza indiren k\u00fct\u00fcphaneleri veya platforma \u00f6zel \u015fifreleme hizmetlerini tercih etmelidir.<\/p>\n<h3>2. Eri\u015fim Kontrol\u00fc: Kim Nereye Eri\u015febilir?<\/h3>\n<p>Eri\u015fim kontrol\u00fc, bir sistemdeki kaynaklara (dosyalar, veritaban\u0131 kay\u0131tlar\u0131, API u\u00e7 noktalar\u0131 vb.) kimlerin ne t\u00fcr i\u015flemlerle eri\u015febilece\u011fini belirleyen mekanizmalar b\u00fct\u00fcn\u00fcd\u00fcr. Bu, geli\u015ftiricilerin en az ayr\u0131cal\u0131k prensibini (Principle of Least Privilege) uygulamas\u0131 gerekti\u011fi anlam\u0131na gelir: Bir kullan\u0131c\u0131 veya sistem bile\u015feni, i\u015fini yapmak i\u00e7in ihtiya\u00e7 duydu\u011fu minimum ayr\u0131cal\u0131\u011fa sahip olmal\u0131d\u0131r. Bu ilke, bir sald\u0131rgan\u0131n sisteme s\u0131zmas\u0131 durumunda verebilece\u011fi zarar\u0131 s\u0131n\u0131rlar.<\/p>\n<p>Eri\u015fim kontrol sistemleri genellikle iki ana modele ayr\u0131l\u0131r: Rol Tabanl\u0131 Eri\u015fim Kontrol\u00fc (RBAC) ve Nitelik Tabanl\u0131 Eri\u015fim Kontrol\u00fc (ABAC).<\/p>\n<p><strong>Rol Tabanl\u0131 Eri\u015fim Kontrol\u00fc (RBAC):<\/strong> Bu modelde, kullan\u0131c\u0131lara belirli rollere atan\u0131r (\u00f6rne\u011fin, \"Y\u00f6netici\", \"Edit\u00f6r\", \"Okuyucu\"). Her rol, belirli bir dizi izne sahiptir. Kullan\u0131c\u0131lar bir rol\u00fc devrald\u0131\u011f\u0131nda, o role atanm\u0131\u015f t\u00fcm izinleri de devral\u0131r. RBAC, orta ve b\u00fcy\u00fck \u00f6l\u00e7ekli uygulamalarda yayg\u0131n olarak kullan\u0131l\u0131r \u00e7\u00fcnk\u00fc y\u00f6netimi nispeten daha kolayd\u0131r. \u00d6rne\u011fin, bir blog platformunda, \"Y\u00f6netici\" rol\u00fc g\u00f6nderi yay\u0131nlayabilir, d\u00fczenleyebilir ve silebilirken, \"Edit\u00f6r\" sadece g\u00f6nderi yay\u0131nlayabilir ve d\u00fczenleyebilir, \"Okuyucu\" ise sadece g\u00f6nderileri g\u00f6rebilir.<\/p>\n<p><strong>Nitelik Tabanl\u0131 Eri\u015fim Kontrol\u00fc (ABAC):<\/strong> Daha esnek bir model olan ABAC, eri\u015fim kararlar\u0131n\u0131 kullan\u0131c\u0131lar\u0131n niteliklerine (konum, zaman, departman), kaynaklar\u0131n niteliklerine (hassasiyet seviyesi, sahip) ve eylem niteliklerine (okuma, yazma, silme) dayand\u0131r\u0131r. ABAC, \u00e7ok karma\u015f\u0131k ve dinamik eri\u015fim gereksinimleri olan sistemler i\u00e7in idealdir. \u00d6rne\u011fin, \"Sadece 'Proje X' departman\u0131ndaki y\u00f6neticiler, mesai saatleri i\u00e7inde 'Gizli' etiketli belgelere eri\u015febilir\" gibi kurallar ABAC ile kolayca tan\u0131mlanabilir. Ancak, ABAC'\u0131n uygulanmas\u0131 ve y\u00f6netimi RBAC'tan daha karma\u015f\u0131k olabilir.<\/p>\n<p>Geli\u015ftiriciler, API u\u00e7 noktalar\u0131n\u0131 korurken veya veritaban\u0131 i\u015flemlerini kontrol ederken bu prensipleri uygulamal\u0131d\u0131r. Her istekte kullan\u0131c\u0131n\u0131n kimli\u011fini do\u011frulad\u0131ktan sonra, istenen eylemi ger\u00e7ekle\u015ftirmek i\u00e7in gerekli yetkilere sahip olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek zorunludur. \u00d6rne\u011fin, bir kullan\u0131c\u0131n\u0131n kendi profilini g\u00fcncellemesine izin verirken, ba\u015fka bir kullan\u0131c\u0131n\u0131n profilini g\u00fcncellemesine izin vermemek kritik bir eri\u015fim kontrol\u00fc \u00f6rne\u011fidir. Modern web framework'leri (\u00f6rne\u011fin, Spring Security, Laravel Gates\/Policies, Django Permissions) genellikle bu t\u00fcr eri\u015fim kontrollerini uygulamak i\u00e7in haz\u0131r mekanizmalar sunar.<\/p>\n<p>\u00d6rnek olarak, bir web uygulamas\u0131nda bir API u\u00e7 noktas\u0131n\u0131 d\u00fc\u015f\u00fcnelim:<\/p>\n<pre><code class=\"language-javascript\">\n\/\/ Express.js'te \u00f6rnek bir middleware\nfunction authorize(roles = []) {\n  if (typeof roles === 'string') {\n    roles = [roles];\n  }\n  return (req, res, next) => {\n    \/\/ req.user'\u0131n kimlik do\u011frulama s\u00fcrecinden sonra eklendi\u011fini varsayal\u0131m\n    if (!req.user || (roles.length && !roles.includes(req.user.role))) {\n      \/\/ Kullan\u0131c\u0131n\u0131n yetkisi yok\n      return res.status(403).json({ message: 'Yetkisiz eri\u015fim' });\n    }\n    next();\n  };\n}\n\n\/\/ Kullan\u0131m \u00f6rne\u011fi\napp.get('\/admin-panel', authorize(['admin']), (req, res) => {\n  res.send('Admin paneline ho\u015f geldiniz!');\n});\n\napp.post('\/products', authorize(['admin', 'editor']), (req, res) => {\n  res.send('\u00dcr\u00fcn ba\u015far\u0131yla eklendi.');\n});\n<\/pre>\n<p><\/code><\/p>\n<p>Bu \u00f6rnek, bir kullan\u0131c\u0131n\u0131n rol\u00fcne g\u00f6re belirli rotalara eri\u015fimini nas\u0131l kontrol edebilece\u011fimizi g\u00f6sterir. Kullan\u0131c\u0131n\u0131n kimli\u011fi do\u011fruland\u0131ktan sonra, yetkili middleware'i, kullan\u0131c\u0131n\u0131n rol\u00fcn\u00fcn istenen eri\u015fim i\u00e7in yeterli olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. Bu, her geli\u015ftiricinin uygulamas\u0131n\u0131n her katman\u0131nda uygulamas\u0131 gereken temel bir g\u00fcvenlik prensibidir.<\/p>\n<h2>Kimlik Y\u00f6netimi ve Zafiyet Avc\u0131l\u0131\u011f\u0131: G\u00fcvenli\u011fin Kap\u0131lar\u0131 Nelerdir?<\/h2>\n<h3>3. Kimlik Do\u011frulama ve Yetkilendirme: Kullan\u0131c\u0131 Kimli\u011fini Nas\u0131l G\u00fcvenceye Al\u0131r\u0131z?<\/h3>\n<p>Kimlik do\u011frulama (Authentication) ve yetkilendirme (Authorization) genellikle birlikte an\u0131lsa da, farkl\u0131 kavramlard\u0131r. Kimlik do\u011frulama, bir kullan\u0131c\u0131n\u0131n ger\u00e7ekten iddia etti\u011fi ki\u015fi oldu\u011funu kan\u0131tlama s\u00fcrecidir. Yetkilendirme ise, kimli\u011fi do\u011frulanm\u0131\u015f bir kullan\u0131c\u0131n\u0131n belirli bir kayna\u011fa veya eyleme eri\u015fim iznine sahip olup olmad\u0131\u011f\u0131n\u0131 belirleme s\u00fcrecidir. Geli\u015ftiricilerin bu iki kavram\u0131 do\u011fru bir \u015fekilde uygulamas\u0131, bir uygulaman\u0131n g\u00fcvenli\u011finin temelini olu\u015fturur.<\/p>\n<p><strong>Kimlik Do\u011frulama Y\u00f6ntemleri:<\/strong><\/p>\n<ul>\n<li><strong>Parola Tabanl\u0131 Kimlik Do\u011frulama:<\/strong> En yayg\u0131n y\u00f6ntemdir. Kullan\u0131c\u0131 ad\u0131\/e-posta ve parola kombinasyonu kullan\u0131l\u0131r. Parolalar\u0131n g\u00fcvenli bir \u015fekilde saklanmas\u0131 (hashleme ve tuzlama ile) ve karma\u015f\u0131k parola politikalar\u0131n\u0131n uygulanmas\u0131 kritik \u00f6neme sahiptir.<\/li>\n<li><strong>\u00c7ok Fakt\u00f6rl\u00fc Kimlik Do\u011frulama (MFA):<\/strong> Kullan\u0131c\u0131n\u0131n kimli\u011fini do\u011frulamak i\u00e7in iki veya daha fazla ba\u011f\u0131ms\u0131z kimlik do\u011frulama fakt\u00f6r\u00fc (\u00f6rne\u011fin, bildi\u011fi bir \u015fey - parola; sahip oldu\u011fu bir \u015fey - telefon; oldu\u011fu bir \u015fey - parmak izi) kullan\u0131lmas\u0131n\u0131 gerektirir. SMS kodlar\u0131, OTP uygulamalar\u0131 (Google Authenticator) veya donan\u0131m anahtarlar\u0131 MFA \u00f6rnekleridir. MFA, parola \u00e7al\u0131nsa bile hesab\u0131n g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r.<\/li>\n<li><strong>Tek Oturum A\u00e7ma (Single Sign-On - SSO):<\/strong> Kullan\u0131c\u0131lar\u0131n birden fazla uygulama veya hizmete tek bir kimlik do\u011frulama ile eri\u015fmesini sa\u011flar (\u00f6rne\u011fin, Google veya Facebook ile oturum a\u00e7ma). OAuth 2.0 ve OpenID Connect, bu t\u00fcr entegrasyonlar i\u00e7in s\u0131k\u00e7a kullan\u0131lan standartlard\u0131r.<\/li>\n<li><strong>Biyometrik Kimlik Do\u011frulama:<\/strong> Parmak izi, y\u00fcz tan\u0131ma veya iris taramas\u0131 gibi biyometrik verileri kullan\u0131r. Mobil cihazlarda yayg\u0131nla\u015fm\u0131\u015ft\u0131r.<\/li>\n<\/ul>\n<p>Parolalar\u0131n g\u00fcvenli bir \u015fekilde saklanmas\u0131 i\u00e7in, asla d\u00fcz metin olarak depolanmamal\u0131d\u0131r. Bunun yerine, Bcrypt, Scrypt veya Argon2 gibi modern hashing algoritmalar\u0131 kullan\u0131larak tek y\u00f6nl\u00fc \u015fifrelenmeli ve her parolaya benzersiz bir \"tuz\" (salt) eklenmelidir. Tuz, ayn\u0131 parolalar\u0131n farkl\u0131 hashler \u00fcretmesini sa\u011flayarak g\u00f6kku\u015fa\u011f\u0131 tablosu sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flar.<\/p>\n<pre><code class=\"language-javascript\">\nconst bcrypt = require('bcrypt');\nconst saltRounds = 10; \/\/ Maliyet fakt\u00f6r\u00fc\n\nasync function hashPassword(password) {\n  const salt = await bcrypt.genSalt(saltRounds);\n  const hash = await bcrypt.hash(password, salt);\n  return hash;\n}\n\nasync function comparePassword(password, hash) {\n  const match = await bcrypt.compare(password, hash);\n  return match;\n}\n\n\/\/ Kullan\u0131m \u00f6rne\u011fi\n\/\/ hashPassword('mysecretpassword').then(hashed => {\n\/\/   console.log('Hash:', hashed);\n\/\/   comparePassword('mysecretpassword', hashed).then(isMatch => {\n\/\/     console.log('Match:', isMatch); \/\/ true\n\/\/   });\n\/\/ });\n<\/pre>\n<p><\/code><\/p>\n<p><strong>Yetkilendirme Y\u00f6ntemleri:<\/strong> Kimlik do\u011fruland\u0131ktan sonra, sistem kullan\u0131c\u0131n\u0131n neye eri\u015febilece\u011fini belirler. Bu genellikle roller (RBAC) veya nitelikler (ABAC) arac\u0131l\u0131\u011f\u0131yla yap\u0131l\u0131r, yukar\u0131daki eri\u015fim kontrol\u00fc b\u00f6l\u00fcm\u00fcnde detayland\u0131r\u0131ld\u0131\u011f\u0131 gibi. Web uygulamalar\u0131nda, yetkilendirme i\u00e7in genellikle JSON Web Token (JWT) veya oturum tabanl\u0131 sistemler kullan\u0131l\u0131r. JWT, kullan\u0131c\u0131n\u0131n kimli\u011fi ve yetkilendirme bilgileriyle imzalanm\u0131\u015f bir token i\u00e7erir, bu token her istekte sunucuya g\u00f6nderilir ve sunucu taraf\u0131ndan do\u011frulan\u0131r.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: JWT kullan\u0131rken, token'lar\u0131 g\u00fcvenli bir \u015fekilde (HTTP-only cookie'ler veya taray\u0131c\u0131n\u0131n yerel depolama alanlar\u0131 yerine) depolad\u0131\u011f\u0131n\u0131zdan emin olun. Ayr\u0131ca, JWT'lerin ge\u00e7erlilik s\u00fcresini k\u0131sa tutun ve gerekirse yenileme token'lar\u0131 kullan\u0131n.\n<\/div>\n<p>\u00d6zetle, g\u00fc\u00e7l\u00fc kimlik do\u011frulama ve do\u011fru yetkilendirme mekanizmalar\u0131, uygulaman\u0131z\u0131n yetkisiz eri\u015fime kar\u015f\u0131 ilk savunma hatt\u0131n\u0131 olu\u015fturur. Her geli\u015ftirici, bu mekanizmalar\u0131 dikkatli bir \u015fekilde tasarlamal\u0131 ve uygulamal\u0131d\u0131r.<\/p>\n<h3>4. G\u00fcvenlik A\u00e7\u0131klar\u0131 ve Zafiyet Y\u00f6netimi: Sisteminizdeki Delikleri Bulun<\/h3>\n<p>Her yaz\u0131l\u0131m sistemi, kodlama hatalar\u0131, yanl\u0131\u015f yap\u0131land\u0131rmalar veya eksik g\u00fcvenlik kontrolleri nedeniyle g\u00fcvenlik a\u00e7\u0131klar\u0131na (vulnerabilities) sahip olabilir. Bu zafiyetleri y\u00f6netmek, potansiyel sald\u0131r\u0131 vekt\u00f6rlerini belirlemek ve d\u00fczeltmek i\u00e7in s\u00fcrekli bir s\u00fcre\u00e7tir. Geli\u015ftiriciler, en yayg\u0131n g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 bilmeli ve bunlara kar\u015f\u0131 proaktif \u00f6nlemler almal\u0131d\u0131r.<\/p>\n<p><strong>OWASP Top 10:<\/strong> Open Web Application Security Project (OWASP), web uygulamalar\u0131ndaki en kritik 10 g\u00fcvenlik a\u00e7\u0131\u011f\u0131n\u0131 d\u00fczenli olarak yay\u0131nlar. Bu liste, geli\u015ftiricilerin odaklanmas\u0131 gereken alanlar\u0131 g\u00f6steren de\u011ferli bir referanst\u0131r. 2021 listesindeki baz\u0131 maddeler \u015funlard\u0131r:<\/p>\n<ol>\n<li><strong>K\u0131r\u0131k Eri\u015fim Kontrol\u00fc (Broken Access Control):<\/strong> Yukar\u0131da bahsedilen eri\u015fim kontrol\u00fc zafiyetleri.<\/li>\n<li><strong>Kriptografik Hatalar (Cryptographic Failures):<\/strong> Hassas verilerin yetersiz \u015fifrelenmesi veya \u015fifreleme anahtarlar\u0131n\u0131n k\u00f6t\u00fc y\u00f6netimi.<\/li>\n<li><strong>Enjeksiyon (Injection):<\/strong> SQL, NoSQL, OS komut veya LDAP enjeksiyonlar\u0131. G\u00fcvenli olmayan veri giri\u015fleri arac\u0131l\u0131\u011f\u0131yla k\u00f6t\u00fc ama\u00e7l\u0131 kodlar\u0131n y\u00fcr\u00fct\u00fclmesi.<\/li>\n<li><strong>G\u00fcvenli Olmayan Tasar\u0131m (Insecure Design):<\/strong> G\u00fcvenlik tasar\u0131m\u0131na yeterince \u00f6nem verilmemesi.<\/li>\n<li><strong>G\u00fcvenlik Yap\u0131land\u0131rma Yanl\u0131\u015flar\u0131 (Security Misconfiguration):<\/strong> Varsay\u0131lan ayarlar\u0131n kullan\u0131lmamas\u0131, gereksiz hizmetlerin a\u00e7\u0131k b\u0131rak\u0131lmas\u0131.<\/li>\n<li><strong>Savunmas\u0131z ve G\u00fcncel Olmayan Bile\u015fenler (Vulnerable and Outdated Components):<\/strong> G\u00fcvenlik a\u00e7\u0131klar\u0131 bilinen eski k\u00fct\u00fcphanelerin veya framework'lerin kullan\u0131lmas\u0131.<\/li>\n<li><strong>Kimlik Do\u011frulama ve Tan\u0131mlama Hatalar\u0131 (Identification and Authentication Failures):<\/strong> Zay\u0131f parola politikalar\u0131, MFA eksikli\u011fi.<\/li>\n<li><strong>Yaz\u0131l\u0131m ve Veri B\u00fct\u00fcnl\u00fc\u011f\u00fc Hatalar\u0131 (Software and Data Integrity Failures):<\/strong> Kod b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc sa\u011flamayan mekanizmalar (\u00f6rn. otomatik g\u00fcncellemelerin g\u00fcvensizli\u011fi).<\/li>\n<li><strong>G\u00fcvenlik G\u00fcnl\u00fc\u011f\u00fc ve \u0130zleme Hatalar\u0131 (Security Logging and Monitoring Failures):<\/strong> Yetersiz g\u00fcnl\u00fck kayd\u0131, olaylar\u0131 izleyememe.<\/li>\n<li><strong>Sunucu Taraf\u0131 \u0130stek Sahtecili\u011fi (Server-Side Request Forgery - SSRF):<\/strong> Bir uygulaman\u0131n d\u0131\u015f kaynaklara istek g\u00f6ndermesi i\u00e7in kand\u0131r\u0131lmas\u0131.<\/li>\n<\/ol>\n<p>Bu a\u00e7\u0131klar\u0131 tespit etmek i\u00e7in \u00e7e\u015fitli y\u00f6ntemler kullan\u0131l\u0131r:<\/p>\n<ul>\n<li><strong>S\u0131zma Testleri (Penetration Testing):<\/strong> Etik hacker'lar\u0131n bir sald\u0131rgan\u0131n bak\u0131\u015f a\u00e7\u0131s\u0131ndan sistemi test etmesidir. Belirli bir uygulama veya sistemdeki zay\u0131fl\u0131klar\u0131 bulmay\u0131 ama\u00e7lar.<\/li>\n<li><strong>Zafiyet Taray\u0131c\u0131lar\u0131 (Vulnerability Scanners):<\/strong> Otomatik ara\u00e7lar (\u00f6rne\u011fin, Tenable Nessus, OpenVAS, Acunetix, Burp Suite) bilinen zafiyetleri ve yanl\u0131\u015f yap\u0131land\u0131rmalar\u0131 tarar.<\/li>\n<li><strong>Kod \u0130ncelemesi (Code Review):<\/strong> Geli\u015ftiricilerin birbirlerinin kodunu g\u00fcvenlik a\u00e7\u0131klar\u0131 a\u00e7\u0131s\u0131ndan manuel olarak incelemesidir. Statik Uygulama G\u00fcvenlik Testi (SAST) ara\u00e7lar\u0131 bu s\u00fcreci destekleyebilir.<\/li>\n<li><strong>Dinamik Uygulama G\u00fcvenlik Testi (DAST):<\/strong> Uygulama \u00e7al\u0131\u015f\u0131rken g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 (\u00f6rne\u011fin XSS, SQL Enjeksiyonu) tarar.<\/li>\n<\/ul>\n<p><strong>Vaka Analizi: Equifax Veri \u0130hlali (2017)<\/strong><\/p>\n<p>Equifax, d\u00fcnyan\u0131n en b\u00fcy\u00fck kredi raporlama \u015firketlerinden biriydi ve 2017'deki ihlalde yakla\u015f\u0131k 147 milyon ki\u015finin ki\u015fisel bilgileri (isimler, do\u011fum tarihleri, SSN'ler) \u00e7al\u0131nd\u0131. \u0130hlalin nedeni, a\u00e7\u0131k kaynakl\u0131 Apache Struts web uygulama framework'\u00fcndeki bilinen bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131n\u0131n zaman\u0131nda yamanmamas\u0131yd\u0131. Sald\u0131rganlar bu zafiyeti kullanarak \u015firketin a\u011f\u0131na s\u0131zd\u0131lar ve hassas verilere eri\u015fim sa\u011flad\u0131lar. Bu vaka, \"Savunmas\u0131z ve G\u00fcncel Olmayan Bile\u015fenler\" zafiyetinin ve yama y\u00f6netiminin ne kadar kritik oldu\u011funu net bir \u015fekilde g\u00f6stermektedir. Geli\u015ftiricilerin kulland\u0131klar\u0131 t\u00fcm k\u00fct\u00fcphaneleri ve framework'leri g\u00fcncel tutmas\u0131 ve g\u00fcvenlik yamalar\u0131n\u0131 takip etmesi hayati \u00f6neme sahiptir.<\/p>\n<p>Zafiyet y\u00f6netimi sadece tespit etmekle kalmaz, ayn\u0131 zamanda bu zafiyetleri \u00f6nceliklendirmeyi, d\u00fczeltmeyi ve d\u00fczeltmelerin do\u011frulu\u011funu kontrol etmeyi de i\u00e7erir. D\u00fczenli g\u00fcvenlik g\u00fcncellemeleri, yama y\u00f6netimi ve s\u00fcrekli g\u00fcvenlik testleri, bir yaz\u0131l\u0131m geli\u015ftirme ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn ayr\u0131lmaz bir par\u00e7as\u0131 olmal\u0131d\u0131r.<\/p>\n<h2>G\u00fcvenli Kodlama ve \u0130zleme Pratikleri: Sald\u0131r\u0131lardan Nas\u0131l Korunuruz?<\/h2>\n<h3>5. G\u00fcvenli Kodlama Pratikleri: Hatalar\u0131 Kodunuzda Erken Yakalay\u0131n<\/h3>\n<p>G\u00fcvenli kodlama pratikleri, geli\u015ftiricilerin yazd\u0131klar\u0131 kodun do\u011fas\u0131 gere\u011fi g\u00fcvenli olmas\u0131n\u0131 sa\u011flamak i\u00e7in takip etmeleri gereken prensipler ve tekniklerdir. Bu, sadece g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 d\u00fczeltmekten ziyade, onlar\u0131n olu\u015fmas\u0131n\u0131 ba\u015ftan engellemeye odaklan\u0131r. Enjeksiyon sald\u0131r\u0131lar\u0131, siteler aras\u0131 betik \u00e7al\u0131\u015ft\u0131rma (XSS) ve siteler aras\u0131 istek sahtecili\u011fi (CSRF) gibi yayg\u0131n web uygulama sald\u0131r\u0131lar\u0131na kar\u015f\u0131 korunmak, geli\u015ftiricinin sorumlulu\u011fundad\u0131r.<\/p>\n<p><strong>SQL Enjeksiyonu:<\/strong> Bir sald\u0131rgan\u0131n, SQL sorgular\u0131na k\u00f6t\u00fc niyetli SQL kodlar\u0131 enjekte ederek veritaban\u0131n\u0131 manip\u00fcle etmesidir. Bu, hassas verilerin \u00e7al\u0131nmas\u0131na, de\u011fi\u015ftirilmesine veya silinmesine neden olabilir. \u00d6nlemek i\u00e7in en iyi y\u00f6ntem, haz\u0131rl\u0131kl\u0131 ifadeler (prepared statements) veya ORM (Object-Relational Mapping) k\u00fct\u00fcphaneleri kullanmakt\u0131r. Bu y\u00f6ntemler, kullan\u0131c\u0131 girdilerini SQL kodundan ay\u0131rarak enjeksiyonu engeller.<\/p>\n<pre><code class=\"language-javascript\">\n\/\/ SQL Enjeksiyonuna A\u00c7IK \u00f6rnek (K\u00d6T\u00dc PRAT\u0130K!)\n\/\/ const username = req.body.username;\n\/\/ const password = req.body.password;\n\/\/ const query = <code>SELECT * FROM users WHERE username = &#039;${username}&#039; AND password = &#039;${password}&#039;<\/code>;\n\/\/ db.query(query, ...);\n\n\/\/ Haz\u0131rl\u0131kl\u0131 \u0130fade ile G\u00dcVENL\u0130 \u00f6rnek\nconst username = req.body.username;\nconst password = req.body.password;\nconst query = 'SELECT * FROM users WHERE username = ? AND password = ?'; \/\/ Yer tutucular\ndb.query(query, [username, password], (err, results) => { \/\/ Parametreler ayr\u0131 g\u00f6nderilir\n  \/\/ ...\n});\n<\/pre>\n<p><\/code><\/p>\n<p><strong>Siteler Aras\u0131 Betik \u00c7al\u0131\u015ft\u0131rma (Cross-Site Scripting - XSS):<\/strong> Sald\u0131rgan\u0131n k\u00f6t\u00fc ama\u00e7l\u0131 istemci taraf\u0131 (client-side) betikleri (JavaScript) web sayfalar\u0131na enjekte etmesi ve bu betiklerin di\u011fer kullan\u0131c\u0131lar\u0131n taray\u0131c\u0131lar\u0131nda \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131d\u0131r. Bu, \u00e7erezlerin \u00e7al\u0131nmas\u0131, oturum ele ge\u00e7irme veya hassas verilerin s\u0131zd\u0131r\u0131lmas\u0131 gibi sonu\u00e7lara yol a\u00e7abilir. \u00d6nlemek i\u00e7in t\u00fcm kullan\u0131c\u0131 girdileri (hem depolanan hem de yans\u0131t\u0131lan XSS i\u00e7in) uygun \u015fekilde ka\u00e7\u0131\u015f karakteri (escaping) veya temizleme (sanitization) i\u015fleminden ge\u00e7irilmelidir. Output encoding, kullan\u0131c\u0131 taraf\u0131ndan girilen verilerin HTML, JavaScript veya CSS ba\u011flam\u0131nda \u00f6zel karakterler olarak yorumlanmas\u0131n\u0131 engeller.<\/p>\n<pre><code class=\"language-html\">\n<!-- XSS'e A\u00c7IK \u00f6rnek (K\u00d6T\u00dc PRAT\u0130K!) -->\n<div>{{ user_comment }}<\/div> <!-- E\u011fer user_comment '<script>alert(\"XSS\")<\/script>' ise -->\n\n<!-- XSS'e kar\u015f\u0131 G\u00dcVENL\u0130 \u00f6rnek (Modern framework'ler genellikle bunu otomatik yapar) -->\n<div>{{ user_comment | escape_html }}<\/div> <!-- user_comment HTML olarak kodlan\u0131r: &lt;script&gt;... -->\n<\/pre>\n<p><\/code><\/p>\n<p><strong>Siteler Aras\u0131 \u0130stek Sahtecili\u011fi (Cross-Site Request Forgery - CSRF):<\/strong> Bir kullan\u0131c\u0131n\u0131n, kendi iste\u011fiyle olmayan bir web iste\u011fi yapmas\u0131 i\u00e7in kand\u0131r\u0131lmas\u0131d\u0131r. \u00d6rne\u011fin, k\u00f6t\u00fc niyetli bir web sitesi, kullan\u0131c\u0131n\u0131n bankac\u0131l\u0131k sitesine giri\u015f yapm\u0131\u015f olmas\u0131 durumunda, kullan\u0131c\u0131n\u0131n bilgisi olmadan para transferi yapmas\u0131n\u0131 tetikleyebilir. \u00d6nlemek i\u00e7in CSRF token'lar\u0131 kullan\u0131l\u0131r. Her form veya hassas i\u015flem i\u00e7in benzersiz bir token \u00fcretilir ve sunucu bu token'\u0131n ge\u00e7erlili\u011fini do\u011frular.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Modern web framework'leri (\u00f6rne\u011fin Rails, Django, Laravel, Spring Boot) genellikle SQL enjeksiyonu, XSS ve CSRF korumalar\u0131n\u0131 varsay\u0131lan olarak sunar. Bu yerle\u015fik g\u00fcvenlik \u00f6zelliklerini do\u011fru bir \u015fekilde kulland\u0131\u011f\u0131n\u0131zdan emin olun. Ayr\u0131ca, dependency'lerinizi d\u00fczenli olarak g\u00fcncelleyerek bilinen zafiyetlere kar\u015f\u0131 korunmu\u015f olursunuz.\n<\/div>\n<p>Di\u011fer \u00f6nemli g\u00fcvenli kodlama pratikleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Input Validation (Girdi Do\u011frulama):<\/strong> Kullan\u0131c\u0131dan gelen t\u00fcm verileri, uygulamaya kabul etmeden \u00f6nce do\u011fru bi\u00e7imde, do\u011fru tipte ve beklenen aral\u0131kta olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<\/li>\n<li><strong>Output Encoding (\u00c7\u0131kt\u0131 Kodlama):<\/strong> Uygulamadan d\u0131\u015far\u0131 g\u00f6nderilen t\u00fcm verileri, hedef ba\u011flama uygun \u015fekilde kodlay\u0131n.<\/li>\n<li><strong>Hata Y\u00f6netimi ve Bilgi S\u0131zd\u0131rma:<\/strong> Hata mesajlar\u0131nda hassas sistem bilgilerini (veritaban\u0131 \u015femalar\u0131, stack trace'ler) if\u015fa etmekten ka\u00e7\u0131n\u0131n. Kullan\u0131c\u0131ya genel hata mesajlar\u0131 g\u00f6sterin ve detaylar\u0131 loglara kaydedin.<\/li>\n<li><strong>HTTP G\u00fcvenlik Ba\u015fl\u0131klar\u0131:<\/strong> X-Frame-Options, X-Content-Type-Options, Content-Security-Policy (CSP) gibi HTTP ba\u015fl\u0131klar\u0131n\u0131 do\u011fru yap\u0131land\u0131rarak \u00e7e\u015fitli sald\u0131r\u0131 vekt\u00f6rlerine kar\u015f\u0131 ek bir koruma katman\u0131 sa\u011flay\u0131n.<\/li>\n<\/ul>\n<h3>6. G\u00fcnl\u00fck Kayd\u0131 ve \u0130zleme: Olaylar\u0131 G\u00f6zden Ka\u00e7\u0131rmay\u0131n<\/h3>\n<p>G\u00fcvenlik olaylar\u0131n\u0131 tespit etmek ve bunlara m\u00fcdahale etmek i\u00e7in g\u00fcnl\u00fck kayd\u0131 (logging) ve izleme (monitoring) kritik \u00f6neme sahiptir. Uygulaman\u0131z\u0131n, altyap\u0131n\u0131z\u0131n ve a\u011f\u0131n\u0131z\u0131n \u00fcretti\u011fi loglar, bir sald\u0131r\u0131n\u0131n varl\u0131\u011f\u0131n\u0131, nas\u0131l ilerledi\u011fini ve hangi sistemlerin etkilendi\u011fini anlamak i\u00e7in hayati ipu\u00e7lar\u0131 sunar. Yetersiz g\u00fcnl\u00fck kayd\u0131 veya etkisiz izleme, bir sald\u0131r\u0131n\u0131n aylarca hatta y\u0131llarca fark edilmeden kalmas\u0131na neden olabilir.<\/p>\n<p><strong>Ne Kaydedilmeli?<\/strong><\/p>\n<ul>\n<li><strong>Kimlik Do\u011frulama Ba\u015far\u0131s\u0131zl\u0131klar\u0131\/Ba\u015far\u0131lar\u0131:<\/strong> Ba\u015far\u0131s\u0131z giri\u015f denemeleri, \u015fifre s\u0131f\u0131rlama istekleri.<\/li>\n<li><strong>Eri\u015fim \u0130hlalleri:<\/strong> Yetkisiz kaynaklara eri\u015fim giri\u015fimleri.<\/li>\n<li><strong>Sistem De\u011fi\u015fiklikleri:<\/strong> Yap\u0131land\u0131rma de\u011fi\u015fiklikleri, kullan\u0131c\u0131 ekleme\/silme.<\/li>\n<li><strong>Kritik \u0130\u015flemler:<\/strong> Para transferleri, veri indirmeleri, y\u00f6netici eylemleri.<\/li>\n<li><strong>Hata ve Uyar\u0131 Mesajlar\u0131:<\/strong> \u00d6zellikle g\u00fcvenlik a\u00e7\u0131klar\u0131yla ilgili olabilecek anormallikler.<\/li>\n<\/ul>\n<p><strong>Loglar\u0131 Nas\u0131l Y\u00f6netmeliyiz?<\/strong><\/p>\n<ul>\n<li><strong>Merkezi Log Y\u00f6netimi:<\/strong> T\u00fcm uygulamalar\u0131n\u0131zdan, sunucular\u0131n\u0131zdan ve a\u011f cihazlar\u0131n\u0131zdan gelen loglar\u0131 merkezi bir sistemde (\u00f6rne\u011fin, ELK Stack - Elasticsearch, Logstash, Kibana; Splunk; Grafana Loki) toplay\u0131n. Bu, olay korelasyonunu ve ara\u015ft\u0131rmay\u0131 kolayla\u015ft\u0131r\u0131r.<\/li>\n<li><strong>G\u00fcvenli Log Depolama:<\/strong> Loglar\u0131 yetkisiz eri\u015fime ve kurcalamaya kar\u015f\u0131 koruyun. Loglar\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc sa\u011flamak i\u00e7in de\u011fi\u015fiklik ge\u00e7irmez (immutable) depolama kullan\u0131n.<\/li>\n<li><strong>Log Rotasyonu ve Saklama:<\/strong> Loglar\u0131n diski doldurmas\u0131n\u0131 \u00f6nlemek i\u00e7in d\u00fczenli olarak eski loglar\u0131 ar\u015fivleyin veya silin. Yasal gerekliliklere g\u00f6re belirli bir s\u00fcre saklay\u0131n.<\/li>\n<li><strong>Anla\u015f\u0131l\u0131r ve Eyleme Ge\u00e7irilebilir Loglar:<\/strong> Log mesajlar\u0131, olay\u0131n ne zaman, nerede, kim taraf\u0131ndan ve neyle ilgili oldu\u011funu net bir \u015fekilde belirtmelidir. Hassas ki\u015fisel bilgileri loglara kaydetmekten ka\u00e7\u0131n\u0131n.<\/li>\n<\/ul>\n<p><strong>\u0130zleme ve Anomali Tespiti:<\/strong><\/p>\n<p>Loglar\u0131 toplamak yeterli de\u011fildir; bunlar\u0131 aktif olarak izlemek ve analiz etmek gerekir. G\u00fcvenlik Bilgileri ve Olay Y\u00f6netimi (SIEM) sistemleri, farkl\u0131 kaynaklardan gelen loglar\u0131 bir araya getirerek, potansiyel g\u00fcvenlik olaylar\u0131n\u0131 (\u00f6rne\u011fin, belirli bir IP adresinden \u00e7ok say\u0131da ba\u015far\u0131s\u0131z giri\u015f denemesi) tespit etmek i\u00e7in kural tabanl\u0131 algoritmalar ve makine \u00f6\u011frenimi kullan\u0131r. Geli\u015ftiriciler, uygulamalar\u0131nda bu t\u00fcr izleme sistemleriyle entegrasyonu kolayla\u015ft\u0131racak \u015fekilde loglama yapmal\u0131d\u0131r.<\/p>\n<p><strong>Vaka Analizi: Target Veri \u0130hlali (2013)<\/strong><\/p>\n<p>Target'a yap\u0131lan siber sald\u0131r\u0131da (ki bu sald\u0131r\u0131da milyonlarca m\u00fc\u015fterinin kredi kart\u0131 bilgileri \u00e7al\u0131nd\u0131), sald\u0131rganlar \u00fc\u00e7\u00fcnc\u00fc parti bir HVAC (\u0131s\u0131tma, havaland\u0131rma, klima) \u015firketinin a\u011f\u0131ndan s\u0131zd\u0131. Target'\u0131n g\u00fcvenlik sistemleri, k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131m\u0131n dosyalar\u0131n\u0131 de\u011fi\u015ftirmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131na dair uyar\u0131lar vermi\u015fti, ancak bu uyar\u0131lar yeterince ciddiye al\u0131nmad\u0131 veya g\u00f6zden ka\u00e7t\u0131. Bu durum, etkili bir izleme ve uyar\u0131 sisteminin yan\u0131 s\u0131ra, bu uyar\u0131lara h\u0131zl\u0131 ve do\u011fru bir \u015fekilde yan\u0131t verecek bir ekibin de ne kadar \u00f6nemli oldu\u011funu g\u00f6sterdi. Geli\u015ftiriciler, uygulamalar\u0131nda anlaml\u0131 ve eyleme ge\u00e7irilebilir loglar \u00fcretmeli, ve bu loglar\u0131n izleme sistemlerine d\u00fczg\u00fcn bir \u015fekilde aktar\u0131ld\u0131\u011f\u0131ndan emin olmal\u0131d\u0131r.<\/p>\n<p>\u00d6rnek olarak, bir Node.js uygulamas\u0131nda Winston veya Pino gibi bir loglama k\u00fct\u00fcphanesi kullanarak loglar\u0131 yap\u0131land\u0131rabiliriz:<\/p>\n<pre><code class=\"language-javascript\">\nconst winston = require('winston');\n\n\/\/ Logger konfig\u00fcrasyonu\nconst logger = winston.createLogger({\n  level: 'info', \/\/ Hangi seviyeden itibaren loglanaca\u011f\u0131n\u0131 belirler\n  format: winston.format.json(), \/\/ Loglar\u0131 JSON format\u0131nda \u00e7\u0131kt\u0131 verir\n  transports: [\n    new winston.transports.Console(), \/\/ Konsola loglama\n    new winston.transports.File({ filename: 'error.log', level: 'error' }), \/\/ Hatalar\u0131 ayr\u0131 dosyaya\n    new winston.transports.File({ filename: 'combined.log' }), \/\/ T\u00fcm loglar\u0131 ba\u015fka bir dosyaya\n    \/\/ Ger\u00e7ek uygulamada, bu loglar\u0131 merkezi bir log toplama servisine g\u00f6nderecek bir transport da eklenebilir.\n  ],\n});\n\n\/\/ Kullan\u0131m \u00f6rnekleri\nlogger.info('Kullan\u0131c\u0131 giri\u015f denemesi ba\u015far\u0131l\u0131.', { userId: 123, ipAddress: '192.168.1.1' });\nlogger.warn('Sistemde beklenmedik bir durum olu\u015ftu.', { component: 'authService', details: 'Token s\u00fcresi dolmu\u015f' });\nlogger.error('Veritaban\u0131 ba\u011flant\u0131 hatas\u0131!', { error: err.message, stack: err.stack });\n<\/pre>\n<p><\/code><\/p>\n<p>Bu \u015fekilde, loglar yap\u0131land\u0131r\u0131lm\u0131\u015f ve okunabilir bir formatta tutulur, bu da otomatik ara\u00e7lar taraf\u0131ndan analiz edilmesini kolayla\u015ft\u0131r\u0131r ve g\u00fcvenlik olaylar\u0131 s\u0131ras\u0131nda h\u0131zl\u0131 bir yan\u0131t vermeyi m\u00fcmk\u00fcn k\u0131lar.<\/p>\n<h2>Felaket Kurtarma, Yasal Uyum ve A\u011f G\u00fcvenli\u011fi: Kapsaml\u0131 Bir Koruma Kalkan\u0131<\/h2>\n<h3>7. Yedekleme ve Felaket Kurtarma: Verileriniz Asla Kaybolmas\u0131n<\/h3>\n<p>Veri g\u00fcvenli\u011fi sadece k\u00f6t\u00fc niyetli sald\u0131r\u0131lardan korunmakla ilgili de\u011fildir; ayn\u0131 zamanda veri kayb\u0131na kar\u015f\u0131 da haz\u0131rl\u0131kl\u0131 olmak anlam\u0131na gelir. Donan\u0131m ar\u0131zalar\u0131, yaz\u0131l\u0131m hatalar\u0131, do\u011fal afetler veya yanl\u0131\u015fl\u0131kla silme gibi durumlar veri kayb\u0131na yol a\u00e7abilir. Bu nedenle, d\u00fczenli yedekleme ve etkili bir felaket kurtarma (Disaster Recovery - DR) plan\u0131, bir uygulaman\u0131n ve verilerin devaml\u0131l\u0131\u011f\u0131 i\u00e7in olmazsa olmazd\u0131r. Geli\u015ftiriciler, uygulaman\u0131n veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve eri\u015filebilirli\u011fini sa\u011flamak i\u00e7in yedekleme ve kurtarma stratejilerini anlamal\u0131 ve s\u00fcre\u00e7lere dahil olmal\u0131d\u0131r.<\/p>\n<p><strong>Yedekleme Stratejileri:<\/strong><\/p>\n<ul>\n<li><strong>Otomatik Yedekleme:<\/strong> Yedeklemelerin manuel yerine otomatik olarak yap\u0131lmas\u0131, insan hatas\u0131 riskini azalt\u0131r ve tutarl\u0131l\u0131k sa\u011flar.<\/li>\n<li><strong>S\u0131k Yedekleme:<\/strong> Veri de\u011fi\u015fim h\u0131z\u0131na ba\u011fl\u0131 olarak, yedeklemelerin ne s\u0131kl\u0131kta al\u0131nmas\u0131 gerekti\u011fi belirlenmelidir. Hassas ve s\u00fcrekli g\u00fcncellenen veriler i\u00e7in g\u00fcnl\u00fck hatta saatlik yedeklemeler gerekebilir.<\/li>\n<li><strong>\u00c7e\u015fitli Yedekleme T\u00fcrleri:<\/strong> Tam yedekleme, art\u0131ml\u0131 yedekleme (incremental backup) ve farkl\u0131 yedekleme seviyeleri, depolama alan\u0131ndan tasarruf ederken h\u0131zl\u0131 geri y\u00fcklemeyi sa\u011flamak i\u00e7in bir arada kullan\u0131labilir.<\/li>\n<li><strong>Yedekleme Konumlar\u0131:<\/strong> Yedeklemelerin orijinal verilerin bulundu\u011fu yerden fiziksel olarak ayr\u0131 bir yerde (farkl\u0131 bir veri merkezi, bulut depolama) tutulmas\u0131 \u00f6nemlidir. \"3-2-1 kural\u0131\" yayg\u0131n olarak \u00f6nerilir: Verilerinizin en az 3 kopyas\u0131n\u0131 saklay\u0131n, bu kopyalar\u0131 en az 2 farkl\u0131 medya t\u00fcr\u00fcnde tutun ve bunlardan 1 kopyas\u0131n\u0131 ayr\u0131 bir konumda (off-site) saklay\u0131n.<\/li>\n<li><strong>Yedekleme \u015eifrelemesi:<\/strong> Yedeklenen verilerin de \u015fifrelenmi\u015f oldu\u011fundan emin olun, \u00e7\u00fcnk\u00fc bir yedekleme medyas\u0131 \u00e7al\u0131n\u0131rsa veya yanl\u0131\u015f ellere ge\u00e7erse veri ihlali riski olu\u015fur.<\/li>\n<\/ul>\n<p><strong>Felaket Kurtarma Plan\u0131 (DRP):<\/strong><\/p>\n<p>Yedeklemeler sadece bir ba\u015flang\u0131\u00e7t\u0131r. Bir felaket durumunda, bu yedeklemeleri kullanarak sistemleri ve verileri ne kadar h\u0131zl\u0131 bir \u015fekilde eski haline getirebilece\u011finizi g\u00f6steren bir plan\u0131n\u0131z olmal\u0131d\u0131r. Bir DRP \u015funlar\u0131 i\u00e7ermelidir:<\/p>\n<ul>\n<li><strong>Kurtarma S\u00fcresi Hedefi (RTO - Recovery Time Objective):<\/strong> Bir felaketten sonra sistemlerin ne kadar s\u00fcrede tekrar \u00e7al\u0131\u015f\u0131r hale gelece\u011fini belirtir.<\/li>\n<li><strong>Kurtarma Noktas\u0131 Hedefi (RPO - Recovery Point Objective):<\/strong> Bir felaket an\u0131nda ne kadar veri kayb\u0131n\u0131n kabul edilebilir oldu\u011funu belirtir (\u00f6rne\u011fin, son 1 saatlik verinin kaybolmas\u0131 kabul edilebilir).<\/li>\n<li><strong>Sorumluluklar ve Prosed\u00fcrler:<\/strong> Felaket durumunda kimin ne yapaca\u011f\u0131, ad\u0131m ad\u0131m nas\u0131l ilerlenece\u011fi a\u00e7\u0131k\u00e7a belirtilmelidir.<\/li>\n<li><strong>Test Etme:<\/strong> DRP'nin d\u00fczenli olarak test edilmesi, plan\u0131n i\u015fe yarad\u0131\u011f\u0131ndan emin olman\u0131n tek yoludur. Ger\u00e7ek bir felaket an\u0131nda sorunlarla kar\u015f\u0131la\u015fmamak i\u00e7in test senaryolar\u0131 olu\u015fturulmal\u0131d\u0131r.<\/li>\n<\/ul>\n<p>Geli\u015ftiriciler, uygulaman\u0131n mimarisini tasarlarken yedekleme ve kurtarma gereksinimlerini g\u00f6z \u00f6n\u00fcnde bulundurmal\u0131d\u0131r. Veritaban\u0131 replikasyonu, co\u011frafi olarak yedekli depolama ve bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131n felaket kurtarma hizmetleri, bu s\u00fcre\u00e7leri otomatikle\u015ftirmeye ve g\u00fcvenilirli\u011fini art\u0131rmaya yard\u0131mc\u0131 olabilir.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Uygulaman\u0131z\u0131n kritik verilerini yedeklerken, sadece veritaban\u0131 yede\u011fi almay\u0131 d\u00fc\u015f\u00fcnmeyin. Konfig\u00fcrasyon dosyalar\u0131, statik i\u00e7erikler ve hatta uygulaman\u0131z\u0131n da\u011f\u0131t\u0131m kodlar\u0131 da yedeklenmelidir. Tam bir kurtarma i\u00e7in t\u00fcm bile\u015fenlerin mevcut olmas\u0131 gerekir.\n<\/div>\n<p>Unutmay\u0131n, yedekleme yapmak sadece veriyi kopyalamak de\u011fildir; bu kopyalar\u0131n ba\u015far\u0131yla geri y\u00fcklenebilir oldu\u011funu do\u011frulamak ve bu s\u00fcreci d\u00fczenli olarak test etmektir. Bir felaket an\u0131nda veri kayb\u0131 ya\u015famamak i\u00e7in proaktif olmak ve bu planlar\u0131 titizlikle uygulamak zorunludur.<\/p>\n<h3>8. Veri Gizlili\u011fi ve D\u00fczenlemeler: Kanunlara Uygunluk Neden \u00d6nemli?<\/h3>\n<p>Geli\u015ftiricilerin sadece teknik g\u00fcvenlik \u00f6nlemlerini anlamas\u0131 yeterli de\u011fildir; ayn\u0131 zamanda veri gizlili\u011fi yasalar\u0131n\u0131 ve d\u00fczenlemelerini de bilmeleri ve bunlara uymalar\u0131 gerekmektedir. Bu d\u00fczenlemeler, ki\u015fisel verilerin toplanmas\u0131, i\u015flenmesi, depolanmas\u0131 ve payla\u015f\u0131lmas\u0131yla ilgili kat\u0131 kurallar getirir. Uyumsuzluk durumunda ciddi cezalar ve itibar kayb\u0131 ya\u015fanabilir.<\/p>\n<p><strong>Ba\u015fl\u0131ca Veri Gizlili\u011fi D\u00fczenlemeleri:<\/strong><\/p>\n<ul>\n<li><strong>Genel Veri Koruma T\u00fcz\u00fc\u011f\u00fc (GDPR - General Data Protection Regulation):<\/strong> Avrupa Birli\u011fi'nde ge\u00e7erli olan bu t\u00fcz\u00fck, AB vatanda\u015flar\u0131n\u0131n ki\u015fisel verilerinin korunmas\u0131n\u0131 hedefler. GDPR'\u0131n kapsam\u0131 olduk\u00e7a geni\u015ftir; AB'de ya\u015fayan bir ki\u015finin verilerini i\u015fleyen d\u00fcnya genelindeki t\u00fcm kurulu\u015flar\u0131 etkiler.<\/li>\n<li><strong>Ki\u015fisel Verilerin Korunmas\u0131 Kanunu (KVKK):<\/strong> T\u00fcrkiye'de 2016 y\u0131l\u0131nda y\u00fcr\u00fcrl\u00fc\u011fe giren ve GDPR'a benzer prensipler ta\u015f\u0131yan bir kanundur. Ki\u015fisel verilerin i\u015flenmesi, aktar\u0131lmas\u0131 ve imha edilmesi konular\u0131nda y\u00fck\u00fcml\u00fcl\u00fckler getirir.<\/li>\n<li><strong>California T\u00fcketici Gizlili\u011fi Yasas\u0131 (CCPA - California Consumer Privacy Act):<\/strong> Kaliforniya'da ya\u015fayan t\u00fcketicilere ki\u015fisel verileri \u00fczerinde \u00f6nemli haklar tan\u0131r.<\/li>\n<\/ul>\n<p>Bu d\u00fczenlemeler genellikle a\u015fa\u011f\u0131daki prensipleri vurgular:<\/p>\n<ul>\n<li><strong>Ayd\u0131nlatma ve R\u0131za:<\/strong> Ki\u015fisel verileri toplarken, ilgili ki\u015filere hangi verilerin topland\u0131\u011f\u0131, neden topland\u0131\u011f\u0131 ve nas\u0131l kullan\u0131laca\u011f\u0131 konusunda bilgi verilmelidir. \u00c7o\u011fu durumda, a\u00e7\u0131k r\u0131za al\u0131nmas\u0131 gerekir.<\/li>\n<li><strong>Veri Minimazisyonu:<\/strong> Sadece bir hizmeti sunmak i\u00e7in kesinlikle gerekli olan veriler toplanmal\u0131d\u0131r. \"\u0130htiya\u00e7 kadar\u0131n\u0131 bil\" (Need-to-know) prensibi uygulanmal\u0131d\u0131r.<\/li>\n<li><strong>Amaca Uygunluk:<\/strong> Veriler sadece belirtilen ve r\u0131za g\u00f6sterilen ama\u00e7lar i\u00e7in kullan\u0131lmal\u0131d\u0131r.<\/li>\n<li><strong>Do\u011fruluk ve \u015eeffafl\u0131k:<\/strong> Toplanan verilerin do\u011fru oldu\u011fundan emin olunmal\u0131 ve ki\u015filerin kendi verilerine eri\u015fme, d\u00fczeltme veya silme haklar\u0131 olmal\u0131d\u0131r.<\/li>\n<li><strong>Veri Saklama Limitleri:<\/strong> Veriler, ama\u00e7lar\u0131 i\u00e7in gerekli oldu\u011fu s\u00fcrece saklanmal\u0131, daha sonra g\u00fcvenli bir \u015fekilde imha edilmelidir.<\/li>\n<li><strong>Veri \u0130hlali Bildirimi:<\/strong> Bir veri ihlali meydana geldi\u011finde, ilgili d\u00fczenleyici kurumlara ve etkilenebilecek ki\u015filere belirli bir s\u00fcre i\u00e7inde bildirim yap\u0131lmas\u0131 gerekir.<\/li>\n<\/ul>\n<p>Geli\u015ftiriciler olarak, uygulaman\u0131n ki\u015fisel verileri nas\u0131l i\u015fledi\u011fini derinlemesine anlamal\u0131y\u0131z. Bu, veri ak\u0131\u015flar\u0131n\u0131 haritalamay\u0131, hangi verilerin hassas oldu\u011funu belirlemeyi ve bu verilere uygun korumalar\u0131 uygulamay\u0131 i\u00e7erir. Veritaban\u0131 \u015femas\u0131 tasarlarken, kullan\u0131c\u0131 aray\u00fczleri geli\u015ftirirken veya API'ler olu\u015ftururken, bu yasalara uyumlu bir yakla\u015f\u0131m benimsemek zorunludur. \u00d6rne\u011fin, bir kullan\u0131c\u0131n\u0131n e-posta adresini topluyorsan\u0131z, bunun bir kampanya i\u00e7in mi yoksa sadece oturum a\u00e7ma i\u00e7in mi kullan\u0131laca\u011f\u0131n\u0131 net bir \u015fekilde belirtmeli ve kullan\u0131c\u0131n\u0131n buna r\u0131za g\u00f6sterdi\u011finden emin olmal\u0131s\u0131n\u0131z.<\/p>\n<p><strong>Vaka Analizi: British Airways GDPR Cezas\u0131 (2019)<\/strong><\/p>\n<p>British Airways, bir web sitesi ihlali sonucunda milyonlarca m\u00fc\u015fterisinin kredi kart\u0131 bilgileri ve di\u011fer ki\u015fisel verilerinin \u00e7al\u0131nmas\u0131 nedeniyle, Birle\u015fik Krall\u0131k Bilgi Komisyonu Ofisi (ICO) taraf\u0131ndan 20 milyon \u00a3 (\u00f6nce 183 milyon \u00a3 idi) gibi b\u00fcy\u00fck bir GDPR cezas\u0131na \u00e7arpt\u0131r\u0131ld\u0131. Bu ihlal, \u015firketin g\u00fcvenlik sistemlerinin yetersiz olmas\u0131ndan kaynaklan\u0131yordu ve siber sald\u0131rganlar, BA'n\u0131n web sitesine k\u00f6t\u00fc ama\u00e7l\u0131 kod enjekte ederek m\u00fc\u015fterilerin verilerini ele ge\u00e7irdi. Bu durum, veri g\u00fcvenli\u011finin sadece yasalara uyum sa\u011flamakla kalmay\u0131p, ayn\u0131 zamanda uygulaman\u0131n her katman\u0131nda g\u00fcvenli\u011fin \u00f6n planda tutulmas\u0131 gerekti\u011fini vurgulamaktad\u0131r. Geli\u015ftiriciler, uygulaman\u0131n g\u00fcvenli\u011fini sa\u011flamak i\u00e7in gerekli t\u00fcm ad\u0131mlar\u0131 atmal\u0131, d\u00fczenli g\u00fcvenlik denetimleri yapmal\u0131 ve olas\u0131 ihlallere kar\u015f\u0131 haz\u0131rl\u0131kl\u0131 olmal\u0131d\u0131r.<\/p>\n<h3>9. A\u011f G\u00fcvenli\u011fi Temelleri: \u00c7evrenizi Nas\u0131l Korursunuz?<\/h3>\n<p>Yaz\u0131l\u0131m\u0131n\u0131z ne kadar g\u00fcvenli olursa olsun, \u00e7al\u0131\u015ft\u0131\u011f\u0131 a\u011f ortam\u0131 g\u00fcvensizse t\u00fcm \u00e7abalar\u0131n\u0131z bo\u015fa gidebilir. A\u011f g\u00fcvenli\u011fi, yetkisiz eri\u015fimi, k\u00f6t\u00fc niyetli sald\u0131r\u0131lar\u0131 ve veri ihlallerini \u00f6nlemek i\u00e7in bir dizi politika, s\u00fcre\u00e7 ve teknolojik \u00e7\u00f6z\u00fcm\u00fcn uygulanmas\u0131d\u0131r. Geli\u015ftiriciler olarak a\u011f g\u00fcvenli\u011fi uzman\u0131 olmam\u0131za gerek yok, ancak uygulaman\u0131n a\u011f \u00fczerindeki etkile\u015fimini ve yayg\u0131n a\u011f g\u00fcvenlik \u00f6nlemlerini anlamam\u0131z \u00f6nemlidir.<\/p>\n<p><strong>Temel A\u011f G\u00fcvenli\u011fi Bile\u015fenleri:<\/strong><\/p>\n<ul>\n<li><strong>G\u00fcvenlik Duvarlar\u0131 (Firewalls):<\/strong> A\u011f trafi\u011fini izler ve \u00f6nceden belirlenmi\u015f kurallara g\u00f6re gelen\/giden trafi\u011fi filtreler. G\u00fcvenlik duvarlar\u0131, uygulaman\u0131z\u0131n sadece ihtiya\u00e7 duydu\u011fu portlardan eri\u015filebilir olmas\u0131n\u0131 sa\u011flar ve gereksiz hizmetleri d\u0131\u015f d\u00fcnyaya kapat\u0131r.<\/li>\n<li><strong>Sald\u0131r\u0131 Tespit ve \u00d6nleme Sistemleri (IDS\/IPS - Intrusion Detection\/Prevention Systems):<\/strong> A\u011f trafi\u011fini analiz ederek k\u00f6t\u00fc niyetli etkinlikleri veya bilinen sald\u0131r\u0131 imzalar\u0131n\u0131 tespit eder. IDS sadece uyar\u0131 verirken, IPS sald\u0131r\u0131lar\u0131 aktif olarak engellemeye \u00e7al\u0131\u015f\u0131r.<\/li>\n<li><strong>VPN (Virtual Private Network):<\/strong> Genel a\u011flar \u00fczerinden (\u00f6rne\u011fin internet) g\u00fcvenli, \u015fifreli bir ba\u011flant\u0131 olu\u015fturur. Uzaktan \u00e7al\u0131\u015fan geli\u015ftiricilerin veya kullan\u0131c\u0131lar\u0131n kurumsal kaynaklara g\u00fcvenli bir \u015fekilde eri\u015fmesini sa\u011flar.<\/li>\n<li><strong>A\u011f Segmentasyonu:<\/strong> A\u011f\u0131n farkl\u0131 b\u00f6lgelere ayr\u0131lmas\u0131d\u0131r (\u00f6rne\u011fin, bir web sunucusu bir DMZ'de, veritaban\u0131 sunucusu ise i\u00e7 a\u011fda). Bu, bir sald\u0131rgan bir segmenti ele ge\u00e7irse bile, di\u011fer segmentlere eri\u015fiminin k\u0131s\u0131tl\u0131 kalmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>DDoS Korumas\u0131 (Distributed Denial of Service):<\/strong> Uygulaman\u0131z\u0131 veya sunucunuzu hizmet d\u0131\u015f\u0131 b\u0131rakmay\u0131 ama\u00e7layan yo\u011fun trafik sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flar. Bulut sa\u011flay\u0131c\u0131lar\u0131 genellikle DDoS koruma hizmetleri sunar.<\/li>\n<li><strong>G\u00fcvenli DNS:<\/strong> DNS isteklerinin kurcalanmas\u0131n\u0131 \u00f6nleyerek kullan\u0131c\u0131lar\u0131 k\u00f6t\u00fc ama\u00e7l\u0131 sitelere y\u00f6nlendirmeyi engeller.<\/li>\n<\/ul>\n<p>Geli\u015ftiriciler, uygulamalar\u0131n\u0131n hangi portlar\u0131 kulland\u0131\u011f\u0131n\u0131, hangi d\u0131\u015f sistemlerle ileti\u015fim kurdu\u011funu ve bu ileti\u015fimlerin nas\u0131l g\u00fcvence alt\u0131na al\u0131nd\u0131\u011f\u0131n\u0131 bilmelidir. \u00d6rne\u011fin, bir API geli\u015ftiriyorsan\u0131z, sadece HTTPS \u00fczerinden eri\u015filebilir oldu\u011fundan emin olmal\u0131 ve API anahtarlar\u0131 gibi hassas bilgileri asla URL i\u00e7inde a\u00e7\u0131k\u00e7a iletmemelisiniz. Ayr\u0131ca, uygulaman\u0131n \u00e7al\u0131\u015faca\u011f\u0131 sunucunun g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131n do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan ve sadece gerekli portlar\u0131n a\u00e7\u0131k oldu\u011fundan emin olmal\u0131s\u0131n\u0131z.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Sunucu yap\u0131land\u0131rmas\u0131 ve a\u011f g\u00fcvenli\u011fi genellikle DevOps veya altyap\u0131 ekiplerinin sorumlulu\u011fundad\u0131r. Ancak geli\u015ftiriciler olarak, uygulaman\u0131z\u0131n g\u00fcvenli bir a\u011f ortam\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in bu ekiplerle yak\u0131n i\u015fbirli\u011fi i\u00e7inde olman\u0131z \u00f6nemlidir. G\u00fcvenli bir API tasar\u0131m\u0131 yaparken, CORS (Cross-Origin Resource Sharing) politikalar\u0131n\u0131 do\u011fru bir \u015fekilde yap\u0131land\u0131rarak sadece yetkili domainlerin API'nize eri\u015fmesini sa\u011flay\u0131n.\n<\/div>\n<p>Mobil uyumlu HTML \u00fcretme ve genel a\u011f g\u00fcvenli\u011fi ba\u011flam\u0131nda, API g\u00fcvenli\u011fi daha da \u00f6nem kazan\u0131r. Mobil uygulamalar genellikle sunucu taraf\u0131ndaki API'lerle ileti\u015fim kurar. Bu API'lerin sald\u0131r\u0131lara (\u00f6rne\u011fin DDoS, API enjeksiyonu) kar\u015f\u0131 korunmas\u0131 ve mobil istemcilerin g\u00fcvenli bir \u015fekilde kimlik do\u011frulamas\u0131 yapabilmesi kritik \u00f6neme sahiptir. Ayr\u0131ca, mobil uygulamalar\u0131n ileti\u015fimde oldu\u011fu sunucular\u0131n g\u00fcvenlik g\u00fcncellemelerini ve yama y\u00f6netimini ihmal etmemek gerekir. A\u011f taraf\u0131nda bir problem oldu\u011funda, mobil cihaz kullan\u0131c\u0131lar\u0131 do\u011frudan etkilenebilir. CSS media query \u00f6rnekleri do\u011frudan bir a\u011f g\u00fcvenli\u011fi unsuru olmasa da, mobil cihazlar i\u00e7in tasarlanan kullan\u0131c\u0131 aray\u00fczlerinin de kullan\u0131c\u0131lar\u0131 hassas bilgiler konusunda yan\u0131ltmamak veya kimlik av\u0131 sald\u0131r\u0131lar\u0131na zemin haz\u0131rlamamas\u0131 i\u00e7in dikkatlice tasarlanmas\u0131 gerekti\u011fini vurgulayabiliriz. Kullan\u0131c\u0131 aray\u00fczlerinin \"g\u00fcvenli bir \u015fekilde\" tasarlanmas\u0131, mobil uyumluluk kadar, g\u00fcvenlik bilinciyle de yap\u0131lmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-css\">\n\/* Mobil uyumlu tasar\u0131m\u0131n g\u00fcvenlik ba\u011flam\u0131nda \u00f6nemi: *\/\n\/* Duyarl\u0131 tasar\u0131m, kullan\u0131c\u0131 deneyimini iyile\u015ftirirken g\u00fcvenlik a\u00e7\u0131s\u0131ndan da \u00f6nemlidir. *\/\n\/* \u00d6rne\u011fin, mobil cihazlarda hassas bilgilerin giri\u015f alanlar\u0131 k\u00fc\u00e7\u00fck olmamal\u0131, t\u0131klanmas\u0131 zor olmamal\u0131d\u0131r. *\/\n\/* Ayr\u0131ca, bir uygulaman\u0131n mobil aray\u00fcz\u00fcn\u00fcn, masa\u00fcst\u00fc aray\u00fcz\u00fcnden farkl\u0131 g\u00fcvenlik kontrolleri gerektirmedi\u011finden emin olun. *\/\n@media screen and (max-width: 768px) {\n  \/* .sensitive-data-input {\n    font-size: 16px;\n    padding: 10px;\n    width: 100%;\n  } *\/\n  \/* Bu bir CSS \u00f6rne\u011fidir, ancak g\u00fcvenlik tasar\u0131m\u0131 i\u00e7in UI\/UX tasar\u0131mc\u0131lar\u0131yla i\u015fbirli\u011fi \u00f6nemlidir. *\/\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Bu CSS kodu, mobil uyumlu bir tasar\u0131m\u0131n temellerini g\u00f6sterir, ancak buradaki vurgu, mobil cihazlarda kullan\u0131c\u0131 aray\u00fcz\u00fcn\u00fcn (UI) hassas veri giri\u015fleri i\u00e7in ergonomik ve g\u00fcvenli olmas\u0131n\u0131n \u00f6nemidir. \u00d6rne\u011fin, mobil bir bankac\u0131l\u0131k uygulamas\u0131nda, pin giri\u015f alan\u0131n\u0131n yeterince b\u00fcy\u00fck olmas\u0131 ve klavye takibi gibi riskleri azaltacak \u015fekilde tasarlanmas\u0131 gerekir. A\u011f g\u00fcvenli\u011fi, bu t\u00fcr kullan\u0131c\u0131 aray\u00fczlerinin ve uygulaman\u0131n kendisinin arka plandaki ileti\u015fimi i\u00e7in bir temel olu\u015fturur.<\/p>\n<h2>\u0130nsan Fakt\u00f6r\u00fc ve S\u00fcrekli \u00d6\u011frenme: G\u00fcvenli\u011fin En Zay\u0131f Halkas\u0131 Kimdir?<\/h2>\n<h3>10. G\u00fcvenlik Fark\u0131ndal\u0131\u011f\u0131 E\u011fitimi: \u0130nsan Fakt\u00f6r\u00fcn\u00fc G\u00fc\u00e7lendirin<\/h3>\n<p>Teknolojik g\u00fcvenlik \u00f6nlemleri ne kadar geli\u015fmi\u015f olursa olsun, insan fakt\u00f6r\u00fc hala siber g\u00fcvenli\u011fin en zay\u0131f halkas\u0131 olabilir. K\u00f6t\u00fc niyetli ki\u015filerin en yayg\u0131n sald\u0131r\u0131 vekt\u00f6rlerinden biri, sosyal m\u00fchendislik teknikleriyle insanlar\u0131 kand\u0131rarak hassas bilgilere eri\u015fmektir. Bu nedenle, geli\u015ftiriciler ve t\u00fcm \u015firket \u00e7al\u0131\u015fanlar\u0131 i\u00e7in d\u00fczenli g\u00fcvenlik fark\u0131ndal\u0131\u011f\u0131 e\u011fitimi hayati \u00f6neme sahiptir.<\/p>\n<p><strong>Geli\u015ftiriciler \u0130\u00e7in G\u00fcvenlik E\u011fitimi:<\/strong><\/p>\n<ul>\n<li><strong>G\u00fcvenli Kodlama \u0130lkeleri:<\/strong> OWASP Top 10 gibi yayg\u0131n g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 ve bunlar\u0131 nas\u0131l \u00f6nleyeceklerini bilmek.<\/li>\n<li><strong>Sald\u0131r\u0131 Vekt\u00f6rleri:<\/strong> SQL enjeksiyonu, XSS, CSRF, DDoS, Brute-Force gibi sald\u0131r\u0131 t\u00fcrlerini ve bunlar\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 anlamak.<\/li>\n<li><strong>Kimlik ve Eri\u015fim Y\u00f6netimi:<\/strong> G\u00fcvenli parola pratikleri, MFA kullan\u0131m\u0131, en az ayr\u0131cal\u0131k prensibi.<\/li>\n<li><strong>Veri Gizlili\u011fi:<\/strong> KVKK, GDPR gibi d\u00fczenlemelere uyum, hassas veri i\u015fleme kurallar\u0131.<\/li>\n<li><strong>Sorumluluklar:<\/strong> Bir g\u00fcvenlik ihlali durumunda ne yapacaklar\u0131n\u0131 bilmek, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 raporlama prosed\u00fcrleri.<\/li>\n<\/ul>\n<p><strong>T\u00fcm \u00c7al\u0131\u015fanlar \u0130\u00e7in G\u00fcvenlik Fark\u0131ndal\u0131\u011f\u0131:<\/strong><\/p>\n<ul>\n<li><strong>Kimlik Av\u0131 (Phishing) ve Sosyal M\u00fchendislik:<\/strong> \u015e\u00fcpheli e-postalar\u0131, mesajlar\u0131 veya aramalar\u0131 tan\u0131ma ve raporlama.<\/li>\n<li><strong>Zay\u0131f Parola Kullan\u0131m\u0131:<\/strong> G\u00fc\u00e7l\u00fc ve benzersiz parolalar olu\u015fturma, parola y\u00f6neticileri kullanma.<\/li>\n<li><strong>G\u00fcvenli \u0130nternet Kullan\u0131m\u0131:<\/strong> G\u00fcvenli olmayan web sitelerinden veya indirmelerden ka\u00e7\u0131nma.<\/li>\n<li><strong>Cihaz G\u00fcvenli\u011fi:<\/strong> Ki\u015fisel ve kurumsal cihazlar\u0131n g\u00fcvenli\u011fini sa\u011flama (ekran kilidi, g\u00fcncel yaz\u0131l\u0131m, anti-vir\u00fcs).<\/li>\n<li><strong>Veri Payla\u015f\u0131m\u0131:<\/strong> Hassas verileri yetkisiz ki\u015filerle veya platformlarla payla\u015fmaktan ka\u00e7\u0131nma.<\/li>\n<\/ul>\n<p><strong>Vaka Analizi: RSA SecurID \u0130hlali (2011)<\/strong><\/p>\n<p>RSA (EMC'nin g\u00fcvenlik b\u00f6l\u00fcm\u00fc), 2011 y\u0131l\u0131nda b\u00fcy\u00fck bir siber sald\u0131r\u0131ya u\u011frad\u0131. Sald\u0131rganlar, \u00e7al\u0131\u015fanlara y\u00f6nelik oltalama (phishing) e-postalar\u0131 kullanarak RSA a\u011f\u0131na s\u0131zd\u0131. Bu e-postalar, \"2011 \u0130\u015fe Al\u0131m Plan\u0131\" ba\u015fl\u0131\u011f\u0131 alt\u0131nda bir Excel dosyas\u0131 i\u00e7eriyordu. \u00c7al\u0131\u015fanlardan biri bu dosyay\u0131 a\u00e7t\u0131\u011f\u0131nda, bilgisayar\u0131na k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131m bula\u015ft\u0131 ve bu, sald\u0131rganlar\u0131n SecurID kimlik do\u011frulama token'lar\u0131n\u0131n tasar\u0131m bilgilerini ele ge\u00e7irmesine yol a\u00e7t\u0131. Bu durum, sosyal m\u00fchendisli\u011fin ne kadar etkili olabilece\u011fini ve en geli\u015fmi\u015f teknolojik g\u00fcvenlik sistemlerine sahip \u015firketlerin bile insan fakt\u00f6r\u00fcn\u00fcn zay\u0131fl\u0131\u011f\u0131 nedeniyle ihlal edilebilece\u011fini g\u00f6stermektedir. RSA olay\u0131, g\u00fcvenlik fark\u0131ndal\u0131\u011f\u0131 e\u011fitimlerinin ne kadar \u00f6nemli oldu\u011funu bir kez daha kan\u0131tlam\u0131\u015ft\u0131r.<\/p>\n<p>G\u00fcvenlik e\u011fitimi, tek seferlik bir olay de\u011fil, s\u00fcrekli devam eden bir s\u00fcre\u00e7 olmal\u0131d\u0131r. Yeni tehditler ve sald\u0131r\u0131 vekt\u00f6rleri ortaya \u00e7\u0131kt\u0131k\u00e7a, e\u011fitim i\u00e7erikleri de g\u00fcncellenmelidir. Geli\u015ftiriciler olarak, sadece kendi g\u00fcvenlik bilgimizi art\u0131rmakla kalmay\u0131p, ayn\u0131 zamanda ekip arkada\u015flar\u0131m\u0131z\u0131 ve son kullan\u0131c\u0131lar\u0131 da g\u00fcvenlik konusunda bilin\u00e7lendirme sorumlulu\u011funa sahibiz. G\u00fcvenli kod yazmak, g\u00fcvenli bir sistem tasarlamak ve g\u00fcvenli bir k\u00fclt\u00fcr\u00fc benimsemek, her geli\u015ftiricinin \u00fcstlenmesi gereken bir g\u00f6revdir.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: G\u00fcvenlik e\u011fitimlerini sadece teorik bilgilerle s\u0131n\u0131rlamay\u0131n. Uygulamal\u0131 senaryolar, ger\u00e7ek d\u00fcnya \u00f6rnekleri ve hatta \"yakala-bayrak\" (capture-the-flag) tarz\u0131 oyunlar kullanarak e\u011fitimi daha etkili ve ilgi \u00e7ekici hale getirin.\n<\/div>\n<h2>Sonu\u00e7: Geli\u015ftiricilerin Gelecek G\u00fcvenlik Ad\u0131mlar\u0131 Neler Olmal\u0131?<\/h2>\n<p>Veri g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla geli\u015fen dijital \u00e7a\u011f\u0131nda geli\u015ftiriciler i\u00e7in art\u0131k sadece bir ek \u00f6zellik de\u011fil, yaz\u0131l\u0131m geli\u015ftirme ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn her a\u015famas\u0131nda entegre edilmesi gereken temel bir prensiptir. Bu makalede ele ald\u0131\u011f\u0131m\u0131z 10 temel kavram\u2014\u015fifreleme, eri\u015fim kontrol\u00fc, kimlik do\u011frulama, zafiyet y\u00f6netimi, g\u00fcvenli kodlama pratikleri, g\u00fcnl\u00fck kayd\u0131 ve izleme, yedekleme ve felaket kurtarma, veri gizlili\u011fi d\u00fczenlemeleri, a\u011f g\u00fcvenli\u011fi ve g\u00fcvenlik fark\u0131ndal\u0131\u011f\u0131 e\u011fitimi\u2014her geli\u015ftiricinin bilgi da\u011farc\u0131\u011f\u0131nda bulunmas\u0131 gereken hayati bile\u015fenlerdir.<\/p>\n<p>G\u00fcvenli yaz\u0131l\u0131m geli\u015ftirmek, s\u00fcrekli bir \u00f6\u011frenme ve adaptasyon s\u00fcrecidir. Siber tehditler geli\u015fmeye devam ettik\u00e7e, geli\u015ftiricilerin de bilgilerini g\u00fcncel tutmas\u0131 ve yeni savunma tekniklerini \u00f6\u011frenmesi gerekmektedir. Unutulmamal\u0131d\u0131r ki, bir uygulaman\u0131n g\u00fcvenli\u011fi, onun en zay\u0131f halkas\u0131 kadar g\u00fc\u00e7l\u00fcd\u00fcr. Bu nedenle, tasar\u0131mdan \u00fcretime kadar her a\u015famada g\u00fcvenli\u011fi bir \u00f6ncelik olarak ele almak, sistemlerimizi ve kullan\u0131c\u0131lar\u0131m\u0131z\u0131n verilerini koruman\u0131n tek yoludur. Proaktif olmak, d\u00fczenli g\u00fcvenlik kontrolleri yapmak ve g\u00fcvenlik k\u00fclt\u00fcr\u00fcn\u00fc benimsemek, yaln\u0131zca teknik yetkinlikle de\u011fil, ayn\u0131 zamanda etik sorumlulukla da hareket etmeyi gerektirir. G\u00fcvenli bir gelecek in\u015fa etmek, geli\u015ftiricilerin ellerinde!<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<dl>\n<dt>Bir geli\u015ftirici olarak hangi g\u00fcvenlik ara\u00e7lar\u0131n\u0131 \u00f6\u011frenmeliyim?<\/dt>\n<dd>Ba\u015flang\u0131\u00e7 olarak, bir s\u0131zma testi arac\u0131 olan Burp Suite, zafiyet taray\u0131c\u0131lar\u0131 (\u00f6rne\u011fin OWASP ZAP), g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 bulan kod analizi ara\u00e7lar\u0131 (SAST\/DAST) ve bir parola y\u00f6neticisi kullanmay\u0131 \u00f6\u011frenmelisiniz. Ayr\u0131ca, kulland\u0131\u011f\u0131n\u0131z programlama dilleri ve framework'lerine \u00f6zel g\u00fcvenlik k\u00fct\u00fcphanelerini ve en iyi pratiklerini takip etmek \u00f6nemlidir.<\/dd>\n<dt>OWASP Top 10 listesi neden bu kadar \u00f6nemli?<\/dt>\n<dd>OWASP Top 10, web uygulamalar\u0131ndaki en yayg\u0131n ve kritik g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6zetler. Geli\u015ftiricilerin, projelerinde en \u00e7ok dikkat etmeleri gereken alanlar\u0131 belirlemelerine yard\u0131mc\u0131 olur. Bu listedeki a\u00e7\u0131klar\u0131 anlamak ve bunlara kar\u015f\u0131 korunma y\u00f6ntemlerini \u00f6\u011frenmek, g\u00fcvenli yaz\u0131l\u0131m geli\u015ftirmek i\u00e7in temel bir ad\u0131md\u0131r.<\/dd>\n<dt>Uygulamalar\u0131mda \u015fifreleme anahtarlar\u0131n\u0131 nas\u0131l g\u00fcvenli bir \u015fekilde saklayabilirim?<\/dt>\n<dd>\u015eifreleme anahtarlar\u0131n\u0131 asla do\u011frudan kodunuzda veya s\u00fcr\u00fcm kontrol sistemlerinde saklamay\u0131n. Bunun yerine, ortam de\u011fi\u015fkenleri, g\u00fcvenli anahtar y\u00f6netim sistemleri (AWS KMS, Azure Key Vault, HashiCorp Vault) veya donan\u0131m g\u00fcvenlik mod\u00fclleri (HSM) gibi y\u00f6ntemleri kullanmal\u0131s\u0131n\u0131z. Bu hizmetler, anahtarlar\u0131n ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fc g\u00fcvenli bir \u015fekilde y\u00f6netmenizi sa\u011flar.<\/dd>\n<dt>S\u0131f\u0131rdan g\u00fcvenli bir uygulama geli\u015ftirirken ilk ad\u0131mlar neler olmal\u0131?<\/dt>\n<dd>\u0130lk ad\u0131m, projenin ba\u015f\u0131ndan itibaren \"tasar\u0131mdan itibaren g\u00fcvenlik\" (Security by Design) prensibini benimsemektir. G\u00fcvenlik gereksinimlerini belirleyin, tehdit modellemesi yap\u0131n, g\u00fcvenli kimlik do\u011frulama ve yetkilendirme mekanizmalar\u0131 uygulay\u0131n. G\u00fcvenli bir framework se\u00e7in, kullan\u0131c\u0131 girdilerini do\u011frulay\u0131n ve \u00e7\u0131kt\u0131y\u0131 kodlay\u0131n. Ayr\u0131ca, kulland\u0131\u011f\u0131n\u0131z t\u00fcm \u00fc\u00e7\u00fcnc\u00fc taraf k\u00fct\u00fcphanelerin g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 d\u00fczenli olarak kontrol edin.<\/dd>\n<dt>Mobil uygulamalar i\u00e7in veri g\u00fcvenli\u011fi konusunda nelere dikkat etmeliyiz?<\/dt>\n<dd>Mobil uygulamalar i\u00e7in de web uygulamalar\u0131na benzer prensipler ge\u00e7erlidir, ancak ek olarak dikkat edilmesi gerekenler vard\u0131r: verilerin cihazda g\u00fcvenli bir \u015fekilde saklanmas\u0131 (\u015fifreleme), g\u00fcvenli API ileti\u015fimleri (HTTPS), uygulaman\u0131n kaynak kodunun tersine m\u00fchendisli\u011fe kar\u015f\u0131 korunmas\u0131 (obfuscation), g\u00fcvenli anahtar depolama ve uygulama b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fcn kontrol\u00fc (tampering detection). Ayr\u0131ca, kullan\u0131c\u0131lardan istenen izinlerin minimum d\u00fczeyde olmas\u0131 ve kullan\u0131c\u0131n\u0131n \u00f6zel verilerinin izinsiz eri\u015fime kar\u015f\u0131 korunmas\u0131 KVKK\/GDPR uyumu a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir.<\/dd>\n<\/dl>\n","protected":false},"excerpt":{"rendered":"Geli\u015ftiriciler \u0130\u00e7in Veri G\u00fcvenli\u011fi: 10 Temel Kavram G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri g\u00fcvenli\u011fi art\u0131k bir l\u00fcks de\u011fil, zorunluluktur. Her&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-31898","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>Veri G\u00fcvenli\u011fi Neden Her Geli\u015ftiricinin G\u00fcndeminde Olmal\u0131?<\/title>\n<meta name=\"description\" content=\"G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri g\u00fcvenli\u011fi art\u0131k bir l\u00fcks de\u011fil, zorunluluktur. Her g\u00fcn duydu\u011fumuz veri ihlalleri ve siber sald\u0131r\u0131lar, geli\u015ftiricilerin g\u00fcvenlik bilinciyle hareket etmesinin ne kadar kritik oldu\u011funu bir kez daha g\u00f6steriyor. Bu makale, her geli\u015ftiricinin veri g\u00fcvenli\u011fi hakk\u0131nda bilmesi gereken 10 temel kavram\u0131 derinlemesine inceleyecek, sistemlerinizi k\u00f6t\u00fc niyetli tehditlerden koruman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak ve g\u00fcvenli yaz\u0131l\u0131m geli\u015ftirme pratiklerini anlaman\u0131z\u0131 sa\u011flayacakt\u0131r.\" \/>\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\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Veri G\u00fcvenli\u011fi Neden Her Geli\u015ftiricinin G\u00fcndeminde Olmal\u0131?\" \/>\n<meta property=\"og:description\" content=\"G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri g\u00fcvenli\u011fi art\u0131k bir l\u00fcks de\u011fil, zorunluluktur. Her g\u00fcn duydu\u011fumuz veri ihlalleri ve siber sald\u0131r\u0131lar, geli\u015ftiricilerin g\u00fcvenlik bilinciyle hareket etmesinin ne kadar kritik oldu\u011funu bir kez daha g\u00f6steriyor. Bu makale, her geli\u015ftiricinin veri g\u00fcvenli\u011fi hakk\u0131nda bilmesi gereken 10 temel kavram\u0131 derinlemesine inceleyecek, sistemlerinizi k\u00f6t\u00fc niyetli tehditlerden koruman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak ve g\u00fcvenli yaz\u0131l\u0131m geli\u015ftirme pratiklerini anlaman\u0131z\u0131 sa\u011flayacakt\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-15T06:31:52+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=\"38 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Veri G\u00fcvenli\u011fi Neden Her Geli\u015ftiricinin G\u00fcndeminde Olmal\u0131?\",\"datePublished\":\"2025-10-15T06:31:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/\"},\"wordCount\":7094,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/\",\"name\":\"Veri G\u00fcvenli\u011fi Neden Her Geli\u015ftiricinin G\u00fcndeminde Olmal\u0131?\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-15T06:31:52+00:00\",\"description\":\"G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri g\u00fcvenli\u011fi art\u0131k bir l\u00fcks de\u011fil, zorunluluktur. Her g\u00fcn duydu\u011fumuz veri ihlalleri ve siber sald\u0131r\u0131lar, geli\u015ftiricilerin g\u00fcvenlik bilinciyle hareket etmesinin ne kadar kritik oldu\u011funu bir kez daha g\u00f6steriyor. Bu makale, her geli\u015ftiricinin veri g\u00fcvenli\u011fi hakk\u0131nda bilmesi gereken 10 temel kavram\u0131 derinlemesine inceleyecek, sistemlerinizi k\u00f6t\u00fc niyetli tehditlerden koruman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak ve g\u00fcvenli yaz\u0131l\u0131m geli\u015ftirme pratiklerini anlaman\u0131z\u0131 sa\u011flayacakt\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Veri G\u00fcvenli\u011fi Neden Her Geli\u015ftiricinin G\u00fcndeminde Olmal\u0131?\"}]},{\"@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":"Veri G\u00fcvenli\u011fi Neden Her Geli\u015ftiricinin G\u00fcndeminde Olmal\u0131?","description":"G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri g\u00fcvenli\u011fi art\u0131k bir l\u00fcks de\u011fil, zorunluluktur. Her g\u00fcn duydu\u011fumuz veri ihlalleri ve siber sald\u0131r\u0131lar, geli\u015ftiricilerin g\u00fcvenlik bilinciyle hareket etmesinin ne kadar kritik oldu\u011funu bir kez daha g\u00f6steriyor. Bu makale, her geli\u015ftiricinin veri g\u00fcvenli\u011fi hakk\u0131nda bilmesi gereken 10 temel kavram\u0131 derinlemesine inceleyecek, sistemlerinizi k\u00f6t\u00fc niyetli tehditlerden koruman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak ve g\u00fcvenli yaz\u0131l\u0131m geli\u015ftirme pratiklerini anlaman\u0131z\u0131 sa\u011flayacakt\u0131r.","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\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/","og_locale":"tr_TR","og_type":"article","og_title":"Veri G\u00fcvenli\u011fi Neden Her Geli\u015ftiricinin G\u00fcndeminde Olmal\u0131?","og_description":"G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri g\u00fcvenli\u011fi art\u0131k bir l\u00fcks de\u011fil, zorunluluktur. Her g\u00fcn duydu\u011fumuz veri ihlalleri ve siber sald\u0131r\u0131lar, geli\u015ftiricilerin g\u00fcvenlik bilinciyle hareket etmesinin ne kadar kritik oldu\u011funu bir kez daha g\u00f6steriyor. Bu makale, her geli\u015ftiricinin veri g\u00fcvenli\u011fi hakk\u0131nda bilmesi gereken 10 temel kavram\u0131 derinlemesine inceleyecek, sistemlerinizi k\u00f6t\u00fc niyetli tehditlerden koruman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak ve g\u00fcvenli yaz\u0131l\u0131m geli\u015ftirme pratiklerini anlaman\u0131z\u0131 sa\u011flayacakt\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-15T06:31:52+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"38 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Veri G\u00fcvenli\u011fi Neden Her Geli\u015ftiricinin G\u00fcndeminde Olmal\u0131?","datePublished":"2025-10-15T06:31:52+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/"},"wordCount":7094,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/","url":"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/","name":"Veri G\u00fcvenli\u011fi Neden Her Geli\u015ftiricinin G\u00fcndeminde Olmal\u0131?","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-15T06:31:52+00:00","description":"G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri g\u00fcvenli\u011fi art\u0131k bir l\u00fcks de\u011fil, zorunluluktur. Her g\u00fcn duydu\u011fumuz veri ihlalleri ve siber sald\u0131r\u0131lar, geli\u015ftiricilerin g\u00fcvenlik bilinciyle hareket etmesinin ne kadar kritik oldu\u011funu bir kez daha g\u00f6steriyor. Bu makale, her geli\u015ftiricinin veri g\u00fcvenli\u011fi hakk\u0131nda bilmesi gereken 10 temel kavram\u0131 derinlemesine inceleyecek, sistemlerinizi k\u00f6t\u00fc niyetli tehditlerden koruman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak ve g\u00fcvenli yaz\u0131l\u0131m geli\u015ftirme pratiklerini anlaman\u0131z\u0131 sa\u011flayacakt\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/veri-guvenligi-neden-her-gelistiricinin-gundeminde-olmali\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Veri G\u00fcvenli\u011fi Neden Her Geli\u015ftiricinin G\u00fcndeminde Olmal\u0131?"}]},{"@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\/31898","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=31898"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31898\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}