{"id":44775,"date":"2026-09-19T09:06:01","date_gmt":"2026-09-19T06:06:01","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/"},"modified":"2026-09-19T09:06:01","modified_gmt":"2026-09-19T06:06:01","slug":"webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/","title":{"rendered":"WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<h2>WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber<\/h2>\n<p>WebRTC-Direct uygulamalar\u0131n\u0131z\u0131 g\u00fc\u00e7lendirmenin ve kritik SCM s\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00f6nlemenin yollar\u0131n\u0131 m\u0131 ar\u0131yorsunuz? Bu rehber, g\u00fcvenli peer-to-peer ileti\u015fim kurma ve kaynak kodu y\u00f6netimindeki hassas veri s\u0131z\u0131nt\u0131lar\u0131n\u0131 engelleme stratejilerini ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.<\/p>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla dijitalle\u015fen d\u00fcnyas\u0131nda, ger\u00e7ek zamanl\u0131 ileti\u015fim ve i\u015fbirli\u011fi ara\u00e7lar\u0131, hem ki\u015fisel hem de kurumsal ya\u015fam\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131 haline gelmi\u015ftir. Bu ara\u00e7lar\u0131n temelinde yatan teknolojilerden biri de \u015f\u00fcphesiz WebRTC&#8217;dir (Web Real-Time Communication). WebRTC, taray\u0131c\u0131lar ve mobil uygulamalar aras\u0131nda do\u011frudan (peer-to-peer) ses, video ve veri aktar\u0131m\u0131n\u0131 m\u00fcmk\u00fcn k\u0131larak, yenilik\u00e7i \u00e7\u00f6z\u00fcmlerin \u00f6n\u00fcn\u00fc a\u00e7maktad\u0131r. Ancak, bu kolayl\u0131k beraberinde \u00f6nemli g\u00fcvenlik endi\u015felerini de getirmektedir. \u00d6zellikle &#8220;WebRTC-Direct&#8221; olarak adland\u0131rd\u0131\u011f\u0131m\u0131z do\u011frudan ba\u011flant\u0131 senaryolar\u0131nda, arac\u0131 sunucular\u0131n minimuma inmesi veya tamamen ortadan kalkmas\u0131, geli\u015ftiricilere daha fazla sorumluluk y\u00fckler. Bu durum, uygulaman\u0131n sertle\u015ftirilmesi (hardening) ve potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n proaktif bir \u015fekilde ele al\u0131nmas\u0131 gereklili\u011fini ortaya koyar.<\/p>\n<p>Di\u011fer yandan, yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinin kalbinde yer alan Kaynak Kodu Y\u00f6netimi (SCM &#8211; Source Code Management) sistemleri, ne yaz\u0131k ki s\u0131k\u00e7a g\u00f6z ard\u0131 edilen bir g\u00fcvenlik zafiyeti kayna\u011f\u0131d\u0131r. Git, SVN gibi sistemler, projenin t\u00fcm tarih\u00e7esini, konfig\u00fcrasyon dosyalar\u0131n\u0131, hatta bazen yanl\u0131\u015fl\u0131kla API anahtarlar\u0131, veritaban\u0131 kimlik bilgileri gibi hassas bilgileri bar\u0131nd\u0131rabilir. Bu t\u00fcr &#8220;SCM s\u0131z\u0131nt\u0131lar\u0131&#8221;, k\u00f6t\u00fc niyetli akt\u00f6rlerin eline ge\u00e7ti\u011finde y\u0131k\u0131c\u0131 sonu\u00e7lar do\u011furabilir; sistemlere yetkisiz eri\u015fimden veri ihlallerine kadar geni\u015f bir yelpazede tehdit olu\u015fturabilir. Bu makalede, WebRTC-Direct uygulamalar\u0131n\u0131 nas\u0131l daha g\u00fcvenli hale getirebilece\u011fimizi ve geli\u015ftirme s\u00fcre\u00e7lerimizde SCM s\u0131z\u0131nt\u0131lar\u0131n\u0131 nas\u0131l tespit edip engelleyebilece\u011fimizi detayl\u0131 bir \u015fekilde inceleyece\u011fiz. Okuyucuyu s\u0131f\u0131rdan al\u0131p, bu kritik g\u00fcvenlik konular\u0131nda bilin\u00e7li ad\u0131mlar atmas\u0131n\u0131 sa\u011flayacak pratik bilgiler ve ger\u00e7ek d\u00fcnya senaryolar\u0131yla donataca\u011f\u0131z.<\/p>\n<h2>WebRTC-Direct Nedir ve G\u00fcvenli\u011fi Neden Bu Kadar Kritik?<\/h2>\n<p>WebRTC, modern web uygulamalar\u0131n\u0131n olmazsa olmazlar\u0131ndan biridir. Temel olarak, web taray\u0131c\u0131lar\u0131 ve mobil uygulamalar aras\u0131nda herhangi bir eklentiye ihtiya\u00e7 duymadan, do\u011frudan ger\u00e7ek zamanl\u0131 ileti\u015fim kurmay\u0131 sa\u011flayan a\u00e7\u0131k kaynakl\u0131 bir projedir. Sesli ve g\u00f6r\u00fcnt\u00fcl\u00fc g\u00f6r\u00fc\u015fmeler, dosya payla\u015f\u0131m\u0131 ve ekran payla\u015f\u0131m\u0131 gibi bir\u00e7ok interaktif \u00f6zelli\u011fi destekler. &#8220;WebRTC-Direct&#8221; terimi ise, \u00f6zellikle sinyalizasyon (signaling) sunucusu d\u0131\u015f\u0131nda, medya ak\u0131\u015flar\u0131n\u0131n do\u011frudan iki u\u00e7 nokta (peer) aras\u0131nda ger\u00e7ekle\u015fti\u011fi senaryolar\u0131 vurgular. Bu do\u011frudan ba\u011flant\u0131, d\u00fc\u015f\u00fck gecikme s\u00fcresi ve y\u00fcksek performans avantajlar\u0131 sunarken, ayn\u0131 zamanda g\u00fcvenlik mimarisini daha karma\u015f\u0131k hale getirir.<\/p>\n<p>Peki, WebRTC-Direct g\u00fcvenli\u011fi neden bu kadar kritik? Cevap, do\u011frudan ba\u011flant\u0131n\u0131n do\u011fas\u0131nda yatar. Geleneksel istemci-sunucu mimarilerinde, t\u00fcm ileti\u015fim bir merkezi sunucu \u00fczerinden ge\u00e7er ve sunucu, hem veri ak\u0131\u015f\u0131n\u0131 y\u00f6netir hem de g\u00fcvenlik katmanlar\u0131n\u0131 uygular. WebRTC-Direct&#8217;te ise, medya ak\u0131\u015f\u0131 do\u011frudan u\u00e7 noktalar aras\u0131nda ger\u00e7ekle\u015fti\u011fi i\u00e7in, her bir u\u00e7 noktan\u0131n kendi g\u00fcvenlik sorumlulu\u011fu artar. E\u011fer bir u\u00e7 nokta yeterince g\u00fcvenli de\u011filse, t\u00fcm ileti\u015fim hatt\u0131 potansiyel sald\u0131r\u0131lara a\u00e7\u0131k hale gelebilir. \u00d6rne\u011fin, bir video konferans uygulamas\u0131nda, kat\u0131l\u0131mc\u0131lardan birinin cihaz\u0131ndaki g\u00fcvenlik a\u00e7\u0131\u011f\u0131, di\u011fer kat\u0131l\u0131mc\u0131lar\u0131n gizlili\u011fini veya veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc tehlikeye atabilir.<\/p>\n<p>WebRTC-Direct uygulamalar\u0131 i\u00e7in ba\u015fl\u0131ca g\u00fcvenlik endi\u015feleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Veri S\u0131z\u0131nt\u0131s\u0131 ve Gizlilik \u0130hlali:<\/strong> Do\u011frudan ba\u011flant\u0131 kurulurken kullan\u0131lan SDP (Session Description Protocol) bilgileri, IP adresleri gibi hassas veriler i\u00e7erebilir. Yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f veya g\u00fcvenli\u011fi zay\u0131f uygulamalar, bu bilgilerin k\u00f6t\u00fc niyetli ki\u015filerin eline ge\u00e7mesine neden olabilir. \u00d6rne\u011fin, bir VPN kullan\u0131c\u0131s\u0131n\u0131n ger\u00e7ek IP adresinin WebRTC arac\u0131l\u0131\u011f\u0131yla s\u0131zd\u0131r\u0131ld\u0131\u011f\u0131 durumlar g\u00f6zlemlenmi\u015ftir.<\/li>\n<li><strong>Ortadaki Adam (Man-in-the-Middle &#8211; MITM) Sald\u0131r\u0131lar\u0131:<\/strong> \u0130ki u\u00e7 nokta aras\u0131ndaki ileti\u015fimin \u015fifrelenmemesi veya zay\u0131f \u015fifreleme kullan\u0131lmas\u0131 durumunda, bir sald\u0131rgan araya girerek ileti\u015fimi dinleyebilir, de\u011fi\u015ftirebilir veya y\u00f6nlendirebilir. Bu durum, \u00f6zellikle kimlik do\u011frulama mekanizmalar\u0131n\u0131n yetersiz oldu\u011fu senaryolarda b\u00fcy\u00fck risk ta\u015f\u0131r.<\/li>\n<li><strong>Hizmet Reddi (Denial of Service &#8211; DoS) Sald\u0131r\u0131lar\u0131:<\/strong> Hedef al\u0131nan bir WebRTC uygulamas\u0131n\u0131 veya kullan\u0131c\u0131s\u0131n\u0131 a\u015f\u0131r\u0131 trafikle bo\u011farak hizmeti kullan\u0131lamaz hale getirme giri\u015fimleri olabilir. \u00d6zellikle STUN\/TURN sunucular\u0131n\u0131n yanl\u0131\u015f yap\u0131land\u0131r\u0131lmas\u0131, bu t\u00fcr sald\u0131r\u0131lara zemin haz\u0131rlayabilir.<\/li>\n<li><strong>Kimlik Sahtekarl\u0131\u011f\u0131 (Impersonation):<\/strong> Bir sald\u0131rgan, me\u015fru bir kullan\u0131c\u0131 gibi davranarak ileti\u015fime kat\u0131labilir veya hassas bilgilere eri\u015febilir. G\u00fc\u00e7l\u00fc kimlik do\u011frulama ve yetkilendirme mekanizmalar\u0131n\u0131n olmamas\u0131, bu t\u00fcr sald\u0131r\u0131lar\u0131n \u00f6n\u00fcn\u00fc a\u00e7ar.<\/li>\n<li><strong>Taray\u0131c\u0131 Tabanl\u0131 G\u00fcvenlik Zafiyetleri:<\/strong> WebRTC, taray\u0131c\u0131 i\u00e7inde \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, taray\u0131c\u0131n\u0131n kendi g\u00fcvenlik a\u00e7\u0131klar\u0131 veya yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f i\u00e7erik g\u00fcvenlik politikalar\u0131 (CSP &#8211; Content Security Policy) \u00fczerinden de istismar edilebilir.<\/li>\n<\/ul>\n<p>Bu riskleri minimize etmek i\u00e7in, WebRTC-Direct uygulamalar\u0131n\u0131n geli\u015ftirilmesinde ba\u015ftan sona g\u00fcvenlik odakl\u0131 bir yakla\u015f\u0131m benimsemek \u015fartt\u0131r. Bu, sadece uygulaman\u0131n kodunu de\u011fil, ayn\u0131 zamanda kullan\u0131lan altyap\u0131y\u0131, sinyalizasyon sunucusunu ve hatta kullan\u0131c\u0131 e\u011fitimini de kapsayan kapsaml\u0131 bir strateji gerektirir. G\u00fcvenlik, sonradan eklenen bir \u00f6zellik de\u011fil, tasar\u0131m\u0131n ayr\u0131lmaz bir par\u00e7as\u0131 olmal\u0131d\u0131r.<\/p>\n<h2>WebRTC-Direct Uygulamalar\u0131n\u0131 Nas\u0131l Sertle\u015ftiririz? Ad\u0131m Ad\u0131m Yakla\u015f\u0131m<\/h2>\n<p>WebRTC-Direct uygulamalar\u0131n\u0131n g\u00fcvenli\u011fini art\u0131rmak, \u00e7ok katmanl\u0131 bir yakla\u015f\u0131mla m\u00fcmk\u00fcnd\u00fcr. \u0130\u015fte uygulaman\u0131z\u0131 sertle\u015ftirmek i\u00e7in atabilece\u011finiz temel ad\u0131mlar ve en iyi uygulamalar:<\/p>\n<h3>Kimlik Do\u011frulama ve Yetkilendirme Mekanizmalar\u0131n\u0131 G\u00fc\u00e7lendirme<\/h3>\n<p>Bir WebRTC oturumu ba\u015flat\u0131l\u0131rken, kat\u0131l\u0131mc\u0131lar\u0131n kimliklerinin do\u011fru bir \u015fekilde do\u011frulanmas\u0131 (Authentication) ve yaln\u0131zca yetkili ki\u015filerin belirli eylemleri ger\u00e7ekle\u015ftirebilmesi (Authorization) hayati \u00f6nem ta\u015f\u0131r. Sinyalizasyon sunucusu \u00fczerinden yap\u0131lan t\u00fcm ileti\u015fimlerin g\u00fcvenli olmas\u0131 gerekir. OAuth 2.0 veya JWT (JSON Web Tokens) gibi standartla\u015ft\u0131r\u0131lm\u0131\u015f protokoller kullanarak kullan\u0131c\u0131 kimliklerini do\u011frulamak ve oturum belirte\u00e7leri olu\u015fturmak, yetkisiz eri\u015fimi engellemenin ilk ad\u0131m\u0131d\u0131r. \u00d6rne\u011fin, bir video konferans uygulamas\u0131nda, kullan\u0131c\u0131lar bir odaya kat\u0131lmadan \u00f6nce ge\u00e7erli bir JWT ile kimliklerini kan\u0131tlamal\u0131d\u0131r. Bu token, kullan\u0131c\u0131n\u0131n hangi odalara eri\u015febilece\u011fi, hangi yetkilere sahip oldu\u011fu gibi bilgileri i\u00e7ermelidir. Ayr\u0131ca, sunucu taraf\u0131nda, gelen her sinyalizasyon mesaj\u0131n\u0131n ge\u00e7erli bir kullan\u0131c\u0131dan geldi\u011fi ve kullan\u0131c\u0131n\u0131n o eylemi yapmaya yetkili oldu\u011fu kontrol edilmelidir. Bu, yetkisiz kullan\u0131c\u0131lar\u0131n sinyalizasyon ak\u0131\u015f\u0131na m\u00fcdahale etmesini veya sahte oturumlar ba\u015flatmas\u0131n\u0131 engeller. Kullan\u0131c\u0131 rolleri ve izinleri (\u00f6rne\u011fin, moderat\u00f6r, kat\u0131l\u0131mc\u0131) titizlikle tan\u0131mlanmal\u0131 ve uygulanmal\u0131d\u0131r. Bu sayede, k\u00f6t\u00fc niyetli bir kat\u0131l\u0131mc\u0131n\u0131n di\u011fer kat\u0131l\u0131mc\u0131lar\u0131 odadan atmas\u0131 veya oturumu kesintiye u\u011fratmas\u0131 gibi durumlar\u0131n \u00f6n\u00fcne ge\u00e7ilebilir.<\/p>\n<h3>\u015eifreleme ve B\u00fct\u00fcnl\u00fck Sa\u011flama<\/h3>\n<p>WebRTC, varsay\u0131lan olarak DTLS (Datagram Transport Layer Security) ve SRTP (Secure Real-time Transport Protocol) kullanarak medya ak\u0131\u015flar\u0131n\u0131 \u015fifreler. Ancak, bu varsay\u0131lan ayarlar\u0131n do\u011fru bir \u015fekilde uyguland\u0131\u011f\u0131ndan ve g\u00fc\u00e7l\u00fc \u015fifreleme algoritmalar\u0131n\u0131n kullan\u0131ld\u0131\u011f\u0131ndan emin olmak \u00f6nemlidir. T\u00fcm sinyalizasyon trafi\u011fi, HTTPS veya WSS (WebSockets Secure) \u00fczerinden TLS (Transport Layer Security) ile \u015fifrelenmelidir. Bu, sinyalizasyon mesajlar\u0131n\u0131n yol boyunca dinlenmesini veya de\u011fi\u015ftirilmesini engeller. Uygulaman\u0131z\u0131n kulland\u0131\u011f\u0131 TLS\/DTLS versiyonlar\u0131n\u0131n g\u00fcncel oldu\u011fundan ve zay\u0131f \u015fifreleme paketlerinin (cipher suites) devre d\u0131\u015f\u0131 b\u0131rak\u0131ld\u0131\u011f\u0131ndan emin olun. Sertifika sabitleme (certificate pinning) gibi ileri d\u00fczey teknikler, MITM sald\u0131r\u0131lar\u0131na kar\u015f\u0131 ek bir koruma katman\u0131 sa\u011flayabilir. \u00d6zellikle mobil uygulamalarda, uygulaman\u0131n yaln\u0131zca belirli sunucu sertifikalar\u0131na g\u00fcvenmesini sa\u011flayarak, k\u00f6t\u00fc niyetli sunuculara ba\u011flant\u0131 kurulmas\u0131n\u0131 engelleyebilirsiniz.<\/p>\n<h3>A\u011f Yap\u0131land\u0131rmas\u0131 ve STUN\/TURN Sunucular\u0131n\u0131n G\u00fcvenli\u011fi<\/h3>\n<p>WebRTC&#8217;nin \u00e7al\u0131\u015fmas\u0131 i\u00e7in genellikle STUN (Session Traversal Utilities for NAT) ve TURN (Traversal Using Relays around NAT) sunucular\u0131na ihtiya\u00e7 duyulur. Bu sunucular, NAT (Network Address Translation) ve g\u00fcvenlik duvarlar\u0131n\u0131n arkas\u0131ndaki cihazlar\u0131n birbirini bulmas\u0131n\u0131 ve ileti\u015fim kurmas\u0131n\u0131 sa\u011flar. Bu sunucular\u0131n do\u011fru ve g\u00fcvenli bir \u015fekilde yap\u0131land\u0131r\u0131lmas\u0131 kritik \u00f6neme sahiptir. STUN sunucular\u0131 genellikle kimlik do\u011frulama gerektirmezken, TURN sunucular\u0131 medya ak\u0131\u015f\u0131n\u0131 r\u00f6leledi\u011fi i\u00e7in mutlaka g\u00fc\u00e7l\u00fc kimlik do\u011frulama mekanizmalar\u0131 (\u00f6rn. uzun \u00f6m\u00fcrl\u00fc kimlik bilgileri veya k\u0131sa \u00f6m\u00fcrl\u00fc tokenlar) kullanmal\u0131d\u0131r. TURN sunucular\u0131n\u0131n gereksiz portlar\u0131 a\u00e7\u0131k b\u0131rakmad\u0131\u011f\u0131ndan ve sadece WebRTC i\u00e7in gerekli trafik t\u00fcrlerine izin verdi\u011finden emin olun. Ayr\u0131ca, TURN sunucular\u0131n\u0131n DDoS (Distributed Denial of Service) sald\u0131r\u0131lar\u0131na kar\u015f\u0131 korunmas\u0131 ve yeterli bant geni\u015fli\u011fine sahip olmas\u0131 \u00f6nemlidir. Kendi STUN\/TURN sunucular\u0131n\u0131z\u0131 bar\u0131nd\u0131r\u0131yorsan\u0131z, bu sunucular\u0131n d\u00fczenli olarak g\u00fcncellenmesi ve g\u00fcvenlik yamalar\u0131n\u0131n uygulanmas\u0131 \u015fartt\u0131r. Bulut tabanl\u0131 STUN\/TURN hizmetleri kullan\u0131l\u0131yorsa, sa\u011flay\u0131c\u0131n\u0131n g\u00fcvenlik politikalar\u0131 ve uyumluluk standartlar\u0131 dikkatlice incelenmelidir.<\/p>\n<p>Bir vaka analizi olarak, bir telekonferans platformunun, yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f bir TURN sunucusu nedeniyle kullan\u0131c\u0131 IP adreslerini s\u0131zd\u0131rd\u0131\u011f\u0131 bir senaryoyu ele alal\u0131m. Geli\u015ftiriciler, TURN sunucusunu h\u0131zl\u0131ca devreye almak i\u00e7in varsay\u0131lan ayarlar\u0131 kullanm\u0131\u015f ve kimlik do\u011frulama gereksinimini atlam\u0131\u015flard\u0131. Bu durum, k\u00f6t\u00fc niyetli bir kullan\u0131c\u0131n\u0131n, TURN sunucusunu kullanarak me\u015fru kat\u0131l\u0131mc\u0131lar\u0131n ger\u00e7ek IP adreslerini elde etmesine olanak tan\u0131d\u0131. Bu bilgi, daha sonra hedefli sald\u0131r\u0131lar veya co\u011frafi konum tespiti i\u00e7in kullan\u0131labilirdi. \u00c7\u00f6z\u00fcm olarak, TURN sunucusu i\u00e7in g\u00fc\u00e7l\u00fc, dinamik kimlik do\u011frulama mekanizmalar\u0131 devreye sokuldu ve sunucu sadece yetkili oturumlar i\u00e7in medya r\u00f6lelemeye ba\u015flad\u0131. Bu \u00f6rnek, k\u00fc\u00e7\u00fck bir yap\u0131land\u0131rma hatas\u0131n\u0131n bile b\u00fcy\u00fck gizlilik ihlallerine yol a\u00e7abilece\u011fini g\u00f6stermektedir.<\/p>\n<h3>ICE\/SDP G\u00fcvenli\u011fi ve Taray\u0131c\u0131 Politikalar\u0131<\/h3>\n<p>ICE (Interactive Connectivity Establishment) ve SDP, WebRTC ba\u011flant\u0131lar\u0131n\u0131n kurulmas\u0131nda temel rol oynar. SDP, medya formatlar\u0131, IP adresleri ve portlar gibi oturum bilgilerini i\u00e7erir. Bu bilgilerin manip\u00fcle edilmesi veya s\u0131zd\u0131r\u0131lmas\u0131 ciddi g\u00fcvenlik riskleri olu\u015fturur. Uygulaman\u0131z\u0131n, gelen SDP tekliflerini ve cevaplar\u0131n\u0131 dikkatlice do\u011frulad\u0131\u011f\u0131ndan ve beklenmedik veya \u015f\u00fcpheli de\u011ferleri reddetti\u011finden emin olun. Ayr\u0131ca, taray\u0131c\u0131 tabanl\u0131 g\u00fcvenlik politikalar\u0131, WebRTC uygulamalar\u0131n\u0131z\u0131n korunmas\u0131nda \u00f6nemli bir rol oynar. \u0130\u00e7erik G\u00fcvenlik Politikas\u0131 (CSP), uygulaman\u0131z\u0131n hangi kaynaklardan komut dosyalar\u0131, stiller ve di\u011fer i\u00e7erikleri y\u00fckleyebilece\u011fini tan\u0131mlaman\u0131za olanak tan\u0131r. Bu, XSS (Cross-Site Scripting) sald\u0131r\u0131lar\u0131n\u0131 ve di\u011fer kod enjeksiyonu t\u00fcrlerini azaltmaya yard\u0131mc\u0131 olur. HTTP Strict Transport Security (HSTS) ve X-Frame-Options gibi HTTP ba\u015fl\u0131klar\u0131 da taray\u0131c\u0131 tabanl\u0131 sald\u0131r\u0131lara kar\u015f\u0131 ek koruma sa\u011flar. \u00d6zellikle, WebRTC&#8217;nin iframe&#8217;ler i\u00e7inde \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 durumunda clickjacking gibi sald\u0131r\u0131lar\u0131 \u00f6nlemek i\u00e7in X-Frame-Options ba\u015fl\u0131\u011f\u0131n\u0131n do\u011fru ayarlanmas\u0131 \u00f6nemlidir.<\/p>\n<p>WebRTC ba\u011flant\u0131s\u0131 kurulurken, <code>RTCPeerConnection<\/code> API&#8217;s\u0131n\u0131n yap\u0131land\u0131rmas\u0131 b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. \u00d6rne\u011fin, ICE adaylar\u0131n\u0131n toplanmas\u0131 s\u0131ras\u0131nda gizlili\u011fi art\u0131rmak i\u00e7in <code>iceCandidatePoolSize<\/code> \u00f6zelli\u011fini kullanabilirsiniz. Bu, birden fazla ICE aday\u0131 toplayarak ger\u00e7ek IP adresinizin do\u011frudan if\u015fa edilme riskini azaltabilir.<\/p>\n<div class=\"code-container\">\n<pre><code>\nconst pc = new RTCPeerConnection({\n    iceServers: [\n        { urls: 'stun:stun.l.google.com:19302' },\n        { urls: 'turn:myturnserver.com:3478', username: 'user', credential: 'password' }\n    ],\n    iceCandidatePoolSize: 10 \/\/ Gizlili\u011fi art\u0131rmak i\u00e7in aday havuzu\n});\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu kod blo\u011fu, WebRTC ba\u011flant\u0131s\u0131 kurulurken <code>iceCandidatePoolSize<\/code> \u00f6zelli\u011finin nas\u0131l kullan\u0131labilece\u011fini g\u00f6stermektedir. Bu, WebRTC&#8217;nin varsay\u0131lan davran\u0131\u015f\u0131n\u0131 de\u011fi\u015ftirerek, aday havuzundan rastgele bir IP adresi se\u00e7ilmesini sa\u011flar ve b\u00f6ylece bir kullan\u0131c\u0131n\u0131n ger\u00e7ek IP adresinin her zaman do\u011frudan if\u015fa edilmesini \u00f6nler. Bu t\u00fcr ince ayarlar, kullan\u0131c\u0131 gizlili\u011fini korumak ad\u0131na b\u00fcy\u00fck fark yaratabilir.<\/p>\n<h2>SCM S\u0131z\u0131nt\u0131lar\u0131 Neden Bu Kadar Tehlikeli ve Nas\u0131l Ortaya \u00c7\u0131kar?<\/h2>\n<p>Kaynak Kodu Y\u00f6netimi (SCM) sistemleri, modern yaz\u0131l\u0131m geli\u015ftirmenin temel ta\u015flar\u0131ndan biridir. Projelerin versiyonlanmas\u0131n\u0131, i\u015fbirli\u011fini ve de\u011fi\u015fiklik takibini kolayla\u015ft\u0131r\u0131r. Ancak, bu sistemler ayn\u0131 zamanda, geli\u015ftirme s\u00fcre\u00e7lerinde yap\u0131lan hatalar veya dikkatsizlikler sonucu kritik g\u00fcvenlik riskleri bar\u0131nd\u0131rabilir. SCM s\u0131z\u0131nt\u0131lar\u0131, genellikle hassas bilgilerin (gizli anahtarlar, API anahtarlar\u0131, veritaban\u0131 \u015fifreleri, kimlik bilgileri, \u00f6zel anahtarlar, konfig\u00fcrasyon dosyalar\u0131 vb.) yanl\u0131\u015fl\u0131kla veya fark\u0131nda olmadan kaynak kod depolar\u0131na y\u00fcklenmesiyle ortaya \u00e7\u0131kar. Bu s\u0131z\u0131nt\u0131lar, k\u00f6t\u00fc niyetli akt\u00f6rlerin eline ge\u00e7ti\u011finde, sistemlere yetkisiz eri\u015fim, veri ihlalleri, finansal kay\u0131plar ve itibar zedelenmesi gibi \u00e7ok ciddi sonu\u00e7lara yol a\u00e7abilir.<\/p>\n<p>Peki, bu s\u0131z\u0131nt\u0131lar nas\u0131l ortaya \u00e7\u0131kar? \u0130\u015fte en yayg\u0131n senaryolar:<\/p>\n<ul>\n<li><strong>Yanl\u0131\u015fl\u0131kla Commit Edilen Hassas Bilgiler:<\/strong> En s\u0131k kar\u015f\u0131la\u015f\u0131lan durum, geli\u015ftiricilerin yerel test ortamlar\u0131nda kulland\u0131klar\u0131 API anahtarlar\u0131n\u0131, veritaban\u0131 ba\u011flant\u0131 dizgilerini veya di\u011fer gizli bilgileri i\u00e7eren dosyalar\u0131 (\u00f6rne\u011fin, <code>.env<\/code> dosyalar\u0131, <code>config.js<\/code> dosyalar\u0131) yanl\u0131\u015fl\u0131kla Git deposuna (repository) g\u00f6ndermesidir. \u00d6zellikle acemi geli\u015ftiriciler veya h\u0131zl\u0131 geli\u015ftirme bask\u0131s\u0131 alt\u0131nda olan ekiplerde bu t\u00fcr hatalar daha s\u0131k g\u00f6r\u00fcl\u00fcr.<\/li>\n<li><strong>Ge\u00e7mi\u015f Commit&#8217;lerde Kalan Gizli Bilgiler:<\/strong> Bir geli\u015ftirici hassas bir bilgiyi yanl\u0131\u015fl\u0131kla commit edip daha sonra fark etse bile, bu bilgiyi silmek i\u00e7in yeni bir commit yapt\u0131\u011f\u0131nda, bilgi asl\u0131nda deponun ge\u00e7mi\u015finde kalmaya devam eder. Git gibi da\u011f\u0131t\u0131k versiyon kontrol sistemleri, t\u00fcm ge\u00e7mi\u015fi saklad\u0131\u011f\u0131 i\u00e7in, ge\u00e7mi\u015f commit&#8217;lere eri\u015fimi olan herkes bu gizli bilgilere ula\u015fabilir. Bu, &#8220;history rewriting&#8221; (ge\u00e7mi\u015fi yeniden yazma) gibi \u00f6zel i\u015flemler gerektirir ki bu da karma\u015f\u0131k ve riskli bir s\u00fcre\u00e7tir.<\/li>\n<li><strong>Yap\u0131land\u0131rma Dosyalar\u0131ndaki Hatalar:<\/strong> Uygulamalar\u0131n yap\u0131land\u0131rma dosyalar\u0131, genellikle sunucu adresleri, portlar, veritaban\u0131 \u015femalar\u0131 gibi bilgileri i\u00e7erir. Bu dosyalara yanl\u0131\u015fl\u0131kla \u00fcretim ortam\u0131 i\u00e7in kullan\u0131lan hassas kimlik bilgileri eklendi\u011finde ve bu dosyalar depoya y\u00fcklendi\u011finde s\u0131z\u0131nt\u0131 meydana gelir.<\/li>\n<li><strong>Ortak \u00c7al\u0131\u015fma Ortamlar\u0131nda G\u00fcvenlik A\u00e7\u0131klar\u0131:<\/strong> A\u00e7\u0131k kaynak projelerde veya geni\u015f ekiplerin \u00e7al\u0131\u015ft\u0131\u011f\u0131 depolarda, her bir geli\u015ftiricinin g\u00fcvenlik bilinci ve uygulamalar\u0131 farkl\u0131 olabilir. Bir geli\u015ftiricinin yapt\u0131\u011f\u0131 hata, t\u00fcm projenin g\u00fcvenli\u011fini tehlikeye atabilir. Ayr\u0131ca, depolara eri\u015fim yetkilerinin yanl\u0131\u015f yap\u0131land\u0131r\u0131lmas\u0131 da yetkisiz ki\u015filerin hassas bilgilere ula\u015fmas\u0131na neden olabilir.<\/li>\n<li><strong>CI\/CD Boru Hatlar\u0131ndaki Zafiyetler:<\/strong> S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m (CI\/CD) s\u00fcre\u00e7lerinde, otomatik testler ve da\u011f\u0131t\u0131mlar s\u0131ras\u0131nda kullan\u0131lan kimlik bilgileri veya anahtarlar\u0131n g\u00fcvenli bir \u015fekilde y\u00f6netilmemesi, bu bilgilerin log dosyalar\u0131na veya ge\u00e7ici ortamlara s\u0131zmas\u0131na yol a\u00e7abilir.<\/li>\n<\/ul>\n<p>Bir vaka analizi olarak, uluslararas\u0131 bir e-ticaret \u015firketinin, API anahtarlar\u0131n\u0131n ve \u00f6deme a\u011f ge\u00e7idi kimlik bilgilerinin GitHub&#8217;daki \u00f6zel bir depoya s\u0131zd\u0131\u011f\u0131 bir olay\u0131 d\u00fc\u015f\u00fcnelim. \u015eirket, yeni bir mikro hizmet \u00fczerinde \u00e7al\u0131\u015f\u0131rken, bir geli\u015ftirici test ortam\u0131 i\u00e7in kulland\u0131\u011f\u0131 hassas bilgileri i\u00e7eren bir yap\u0131land\u0131rma dosyas\u0131n\u0131 yanl\u0131\u015fl\u0131kla depoya y\u00fckledi. Fark edildi\u011finde dosya hemen silindi ancak ge\u00e7mi\u015f commit&#8217;lerde izi kald\u0131. Bir s\u00fcre sonra, k\u00f6t\u00fc niyetli bir akt\u00f6r, \u015firket \u00e7al\u0131\u015fanlar\u0131ndan birinin GitHub hesab\u0131n\u0131 ele ge\u00e7irdi (belki de zay\u0131f parola nedeniyle) ve depodaki ge\u00e7mi\u015f commit&#8217;leri inceleyerek bu hassas bilgilere ula\u015ft\u0131. Elde edilen API anahtarlar\u0131 sayesinde, sald\u0131rgan \u015firketin \u00f6deme sistemine eri\u015fim sa\u011flad\u0131 ve binlerce m\u00fc\u015fterinin kredi kart\u0131 bilgilerini i\u00e7eren bir veri ihlaline neden oldu. Bu olay, \u015firkete milyonlarca dolarl\u0131k bir maliyet, yasal yapt\u0131r\u0131mlar ve b\u00fcy\u00fck bir itibar kayb\u0131 olarak geri d\u00f6nd\u00fc. Bu \u00f6rnek, SCM s\u0131z\u0131nt\u0131lar\u0131n\u0131n sadece bir kod hatas\u0131 olmad\u0131\u011f\u0131n\u0131, ayn\u0131 zamanda ciddi finansal ve hukuki sonu\u00e7lar\u0131 olabilece\u011fini a\u00e7\u0131k\u00e7a g\u00f6stermektedir.<\/p>\n<p>Bu t\u00fcr s\u0131z\u0131nt\u0131lar\u0131n \u00f6nlenmesi, sadece teknik \u00f6nlemlerle de\u011fil, ayn\u0131 zamanda geli\u015ftirici e\u011fitimi, g\u00fcvenlik politikalar\u0131 ve s\u00fcrekli denetimlerle m\u00fcmk\u00fcn olabilir. Her geli\u015ftiricinin, kaynak kod depolar\u0131na nelerin y\u00fcklenip y\u00fcklenmeyece\u011fi konusunda net bir anlay\u0131\u015fa sahip olmas\u0131 ve hassas bilgileri asla do\u011frudan kod i\u00e7ine veya yap\u0131land\u0131rma dosyalar\u0131na g\u00f6mmemesi gerekti\u011fi bilinci yerle\u015fmelidir.<\/p>\n<h2>SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 Tespit Etme ve Engelleme Y\u00f6ntemleri Nelerdir?<\/h2>\n<p>SCM s\u0131z\u0131nt\u0131lar\u0131yla m\u00fccadele etmek, proaktif ve reaktif stratejilerin bir kombinasyonunu gerektirir. Ama\u00e7, hassas bilgilerin depoya girmesini ba\u015ftan engellemek ve e\u011fer girmi\u015fse, m\u00fcmk\u00fcn olan en k\u0131sa s\u00fcrede tespit edip ortadan kald\u0131rmakt\u0131r. \u0130\u015fte bu konuda kullanabilece\u011finiz temel y\u00f6ntemler:<\/p>\n<h3>Pre-commit Hook&#8217;lar\u0131 ile Erken Engelleme<\/h3>\n<p>Pre-commit hook&#8217;lar\u0131, Git gibi SCM sistemlerinin sundu\u011fu g\u00fc\u00e7l\u00fc bir \u00f6zelliktir. Bir geli\u015ftirici kodu commit etmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131nda, bu hook&#8217;lar otomatik olarak belirli kontrolleri \u00e7al\u0131\u015ft\u0131r\u0131r. E\u011fer bir kontrol ba\u015far\u0131s\u0131z olursa, commit i\u015flemi engellenir. Bu, hassas bilgilerin depoya girmesini engellemek i\u00e7in en etkili ilk savunma hatt\u0131d\u0131r. Pre-commit hook&#8217;lar\u0131, d\u00fczenli ifadeler (regex) kullanarak dosya i\u00e7eriklerini tarayabilir ve bilinen hassas bilgi kal\u0131plar\u0131n\u0131 (\u00f6rne\u011fin, AWS anahtar formatlar\u0131, \u00f6zel anahtar ba\u015fl\u0131klar\u0131, token yap\u0131lar\u0131) arayabilir. \u00d6rne\u011fin, bir hook, <code>.pem<\/code> uzant\u0131l\u0131 bir dosyan\u0131n commit edilmesini veya <code>AKIA<\/code> ile ba\u015flayan bir AWS eri\u015fim anahtar\u0131n\u0131n kodda g\u00f6r\u00fcnmesini engelleyebilir.<\/p>\n<div class=\"code-container\">\n<pre><code>\n#!\/bin\/sh\n# .git\/hooks\/pre-commit dosyas\u0131na kopyalay\u0131n ve \u00e7al\u0131\u015ft\u0131r\u0131labilir yap\u0131n: chmod +x .git\/hooks\/pre-commit\n\necho \"Hassas bilgi kontrol\u00fc yap\u0131l\u0131yor...\"\n\n# AWS anahtarlar\u0131n\u0131 kontrol et\nif git diff --cached | grep -E 'AKIA[0-9A-Z]{16}' -q; then\n    echo \"HATA: AWS eri\u015fim anahtar\u0131 tespit edildi. L\u00fctfen hassas bilgileri commit etmeyin!\"\n    exit 1\nfi\n\n# \u00d6zel anahtar dosyalar\u0131n\u0131 kontrol et\nif git diff --cached --name-only | grep -E '\\.(pem|key|pfx|p12)$' -q; then\n    echo \"HATA: \u00d6zel anahtar dosyas\u0131 tespit edildi. L\u00fctfen hassas bilgileri commit etmeyin!\"\n    exit 1\nfi\n\n# .env dosyalar\u0131n\u0131 kontrol et\nif git diff --cached --name-only | grep -E '\\.env$' -q; then\n    echo \"HATA: .env dosyas\u0131 tespit edildi. L\u00fctfen hassas bilgileri commit etmeyin!\"\n    exit 1\nfi\n\necho \"Hassas bilgi kontrol\u00fc ba\u015far\u0131l\u0131.\"\nexit 0\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Yukar\u0131daki \u00f6rnek bir <code>pre-commit<\/code> hook beti\u011fi, AWS eri\u015fim anahtarlar\u0131, \u00f6zel anahtar dosyalar\u0131 ve <code>.env<\/code> dosyalar\u0131n\u0131n depoya y\u00fcklenmesini engeller. Bu betik, <code>.git\/hooks\/pre-commit<\/code> yoluna kaydedilmeli ve \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirilmelidir (<code>chmod +x .git\/hooks\/pre-commit<\/code>).<\/p>\n<h3>Statik Kod Analizi (SAST) Ara\u00e7lar\u0131 ve Gizli Bilgi Taray\u0131c\u0131lar\u0131<\/h3>\n<p>Pre-commit hook&#8217;lar\u0131 geli\u015ftiricinin yerel makinesinde \u00e7al\u0131\u015f\u0131rken, Statik Kod Analizi (SAST) ara\u00e7lar\u0131 ve \u00f6zel gizli bilgi taray\u0131c\u0131lar\u0131 (secret scanners) genellikle CI\/CD boru hatlar\u0131na entegre edilir. Bu ara\u00e7lar, t\u00fcm kod taban\u0131n\u0131 ve hatta ge\u00e7mi\u015f commit&#8217;leri tarayarak hassas bilgileri, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 ve k\u00f6t\u00fc kodlama pratiklerini tespit eder. Pop\u00fcler gizli bilgi taray\u0131c\u0131lar\u0131 aras\u0131nda GitGuardian, TruffleHog, Gitleaks gibi ara\u00e7lar bulunur. Bu ara\u00e7lar, sadece mevcut commit&#8217;leri de\u011fil, ayn\u0131 zamanda deponun t\u00fcm ge\u00e7mi\u015fini de tarayabilir. Bu, yanl\u0131\u015fl\u0131kla ge\u00e7mi\u015fte commit edilmi\u015f ancak sonradan silindi\u011fi d\u00fc\u015f\u00fcn\u00fclen hassas bilgilerin bile ortaya \u00e7\u0131kar\u0131lmas\u0131n\u0131 sa\u011flar. SAST ara\u00e7lar\u0131 ise, kodun genel g\u00fcvenlik kalitesini art\u0131r\u0131rken, gizli bilgi taray\u0131c\u0131lar\u0131 do\u011frudan hassas verilerin pe\u015fine d\u00fc\u015fer. Bu ara\u00e7lar\u0131n d\u00fczenli olarak \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131, s\u0131z\u0131nt\u0131lar\u0131n tespit edilme olas\u0131l\u0131\u011f\u0131n\u0131 art\u0131r\u0131r ve proaktif g\u00fcvenlik duru\u015fu sa\u011flar.<\/p>\n<h3>Git Ge\u00e7mi\u015fini Temizleme Teknikleri<\/h3>\n<p>E\u011fer hassas bilgiler depoya zaten s\u0131zm\u0131\u015fsa ve ge\u00e7mi\u015f commit&#8217;lerde kalm\u0131\u015fsa, bu bilgileri tamamen kald\u0131rmak i\u00e7in Git ge\u00e7mi\u015fini yeniden yazmak gerekebilir. Bu i\u015flem, dikkatli yap\u0131lmad\u0131\u011f\u0131nda veri kayb\u0131na veya deponun bozulmas\u0131na neden olabilece\u011fi i\u00e7in risklidir. <code>git filter-repo<\/code> (eski ad\u0131yla <code>git filter-branch<\/code>) veya BFG Repo-Cleaner gibi ara\u00e7lar, belirli dosyalar\u0131 veya desenleri i\u00e7eren commit&#8217;leri depodan tamamen kald\u0131rmak i\u00e7in kullan\u0131labilir. Bu ara\u00e7lar, t\u00fcm ge\u00e7mi\u015f commit&#8217;leri tarar ve istenmeyen i\u00e7eri\u011fi i\u00e7eren commit&#8217;leri yeniden yazar. Ancak, bu i\u015flemi yapt\u0131ktan sonra, deponun t\u00fcm ge\u00e7mi\u015fi de\u011fi\u015fece\u011fi i\u00e7in, depoyu klonlam\u0131\u015f olan t\u00fcm geli\u015ftiricilerin depolar\u0131n\u0131 yeniden klonlamas\u0131 gerekecektir. Bu nedenle, bu t\u00fcr operasyonlar genellikle son \u00e7are olarak ve dikkatli bir planlama ile yap\u0131lmal\u0131d\u0131r.<\/p>\n<h3>E\u011fitim ve Fark\u0131ndal\u0131k<\/h3>\n<p>Teknik \u00f6nlemler ne kadar g\u00fc\u00e7l\u00fc olursa olsun, en zay\u0131f halka genellikle insan fakt\u00f6r\u00fcd\u00fcr. Geli\u015ftiricilerin hassas bilgilerin ne oldu\u011fu, neden korunmas\u0131 gerekti\u011fi ve bunlar\u0131 nas\u0131l g\u00fcvenli bir \u015fekilde y\u00f6netecekleri konusunda s\u00fcrekli e\u011fitim almas\u0131 \u015fartt\u0131r. &#8220;Asla do\u011frudan koda g\u00f6mme&#8221; veya &#8220;<code>.env<\/code> dosyalar\u0131n\u0131 <code>.gitignore<\/code>&#8216;a ekle&#8221; gibi temel kurallar s\u00fcrekli hat\u0131rlat\u0131lmal\u0131d\u0131r. Ayr\u0131ca, gizli bilgilerin y\u00f6netimi i\u00e7in merkezi bir \u00e7\u00f6z\u00fcm (\u00f6rne\u011fin, HashiCorp Vault, AWS Secrets Manager, Azure Key Vault) kullan\u0131lmas\u0131 te\u015fvik edilmelidir. Bu t\u00fcr sistemler, hassas bilgilerin g\u00fcvenli bir \u015fekilde saklanmas\u0131n\u0131, eri\u015fim kontrol\u00fcn\u00fcn sa\u011flanmas\u0131n\u0131 ve gerekti\u011finde rotasyonunu (d\u00f6n\u00fc\u015f\u00fcm\u00fcn\u00fc) m\u00fcmk\u00fcn k\u0131lar. G\u00fcvenlik k\u00fclt\u00fcr\u00fc, bir \u015firkette yukar\u0131dan a\u015fa\u011f\u0131ya benimsenmeli ve geli\u015ftirme s\u00fcre\u00e7lerinin ayr\u0131lmaz bir par\u00e7as\u0131 haline gelmelidir.<\/p>\n<h2>DevOps ve CI\/CD S\u00fcre\u00e7lerinde G\u00fcvenlik Entegrasyonu Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>Modern yaz\u0131l\u0131m geli\u015ftirme, genellikle DevOps prensipleri ve S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m (CI\/CD) boru hatlar\u0131 etraf\u0131nda d\u00f6ner. Bu s\u00fcre\u00e7ler, yaz\u0131l\u0131m\u0131n daha h\u0131zl\u0131 ve daha g\u00fcvenilir bir \u015fekilde yay\u0131nlanmas\u0131n\u0131 sa\u011flarken, ayn\u0131 zamanda g\u00fcvenlik risklerini de beraberinde getirebilir. G\u00fcvenli\u011fi bu s\u00fcre\u00e7lere entegre etmek, &#8220;Shift Left&#8221; (g\u00fcvenli\u011fi geli\u015ftirme ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn daha erken a\u015famalar\u0131na ta\u015f\u0131ma) yakla\u015f\u0131m\u0131n\u0131n bir par\u00e7as\u0131d\u0131r ve SCM s\u0131z\u0131nt\u0131lar\u0131n\u0131 ve di\u011fer g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 minimize etmek i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>G\u00fcvenli Yaz\u0131l\u0131m Geli\u015ftirme Ya\u015fam D\u00f6ng\u00fcs\u00fc (SDLC)<\/h3>\n<p>G\u00fcvenli SDLC, yaz\u0131l\u0131m geli\u015ftirme s\u00fcrecinin her a\u015famas\u0131nda g\u00fcvenli\u011fi d\u00fc\u015f\u00fcnmeyi ve uygulamay\u0131 ifade eder. Bu, gereksinim analizi a\u015famas\u0131nda tehdit modellemesi yapmaktan, tasar\u0131m a\u015famas\u0131nda g\u00fcvenlik mimarileri olu\u015fturmaya, kodlama a\u015famas\u0131nda g\u00fcvenli kodlama pratiklerini uygulamaya ve test a\u015famas\u0131nda g\u00fcvenlik testleri yapmaya kadar uzan\u0131r. SCM s\u0131z\u0131nt\u0131lar\u0131 \u00f6zelinde, SDLC&#8217;nin ba\u015flar\u0131nda geli\u015ftiricilere hassas bilgi y\u00f6netimi konusunda e\u011fitim vermek ve kodlama standartlar\u0131na bu t\u00fcr bilgilerin do\u011frudan koda g\u00f6m\u00fclmemesi gerekti\u011fini dahil etmek \u00f6nemlidir. Ayr\u0131ca, kod incelemeleri (code reviews) s\u0131ras\u0131nda sadece i\u015flevsellik de\u011fil, g\u00fcvenlik a\u00e7\u0131klar\u0131 ve hassas bilgi s\u0131z\u0131nt\u0131lar\u0131 da kontrol edilmelidir. Bir ba\u015fka \u00f6nemli ad\u0131m da, t\u00fcm geli\u015ftirme ekibinin g\u00fcvenlik bilincini art\u0131rmakt\u0131r. D\u00fczenli e\u011fitimler, g\u00fcvenlik odakl\u0131 hackathon&#8217;lar veya i\u00e7 g\u00fcvenlik bloglar\u0131, bu bilincin canl\u0131 tutulmas\u0131na yard\u0131mc\u0131 olabilir.<\/p>\n<h3>Otomatik G\u00fcvenlik Testleri<\/h3>\n<p>CI\/CD boru hatlar\u0131na otomatik g\u00fcvenlik testleri entegre etmek, her kod de\u011fi\u015fikli\u011finde g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 ve s\u0131z\u0131nt\u0131lar\u0131 tespit etmenin en verimli yoludur. Bu testler \u015funlar\u0131 i\u00e7erebilir:<\/p>\n<ul>\n<li><strong>Statik Uygulama G\u00fcvenlik Testi (SAST):<\/strong> Kaynak kodunu derlemeden veya \u00e7al\u0131\u015ft\u0131rmadan analiz ederek potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 bulur. Daha \u00f6nce bahsedilen gizli bilgi taray\u0131c\u0131lar\u0131 da bu kategoriye girer ve her commit veya pull request (\u00e7ekme iste\u011fi) \u00fczerinde \u00e7al\u0131\u015ft\u0131r\u0131lmal\u0131d\u0131r.<\/li>\n<li><strong>Ba\u011f\u0131ml\u0131l\u0131k Taramas\u0131 (Dependency Scanning):<\/strong> Projenin kulland\u0131\u011f\u0131 \u00fc\u00e7\u00fcnc\u00fc taraf k\u00fct\u00fcphanelerdeki ve ba\u011f\u0131ml\u0131l\u0131klardaki bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 tespit eder. Bu, <code>npm audit<\/code>, <code>pip-audit<\/code> veya \u00f6zel ara\u00e7larla yap\u0131labilir.<\/li>\n<li><strong>Dinamik Uygulama G\u00fcvenlik Testi (DAST):<\/strong> \u00c7al\u0131\u015fan bir uygulamay\u0131 test ederek potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 bulur. Uygulama da\u011f\u0131t\u0131ld\u0131ktan sonra otomatik s\u0131zma testleri veya zafiyet taramalar\u0131 yap\u0131labilir.<\/li>\n<li><strong>Altyap\u0131 Olarak Kod (IaC) Taramas\u0131:<\/strong> Terraform, CloudFormation gibi IaC dosyalar\u0131n\u0131 analiz ederek yanl\u0131\u015f yap\u0131land\u0131rmalar\u0131 ve g\u00fcvenlik zafiyetlerini tespit eder.<\/li>\n<\/ul>\n<p>Bu testlerin, her bir kod de\u011fi\u015fikli\u011finde (\u00f6rne\u011fin, her bir git push veya pull request birle\u015ftirilmeden \u00f6nce) otomatik olarak \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n erken a\u015famada tespit edilmesini ve \u00fcretim ortam\u0131na ula\u015fmadan d\u00fczeltilmesini sa\u011flar. Ba\u015far\u0131s\u0131z olan g\u00fcvenlik testleri, boru hatt\u0131n\u0131 durdurmal\u0131 ve geli\u015ftiricileri bilgilendirmelidir.<\/p>\n<h3>Gizli Bilgi Y\u00f6netimi \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Hassas bilgilerin (API anahtarlar\u0131, veritaban\u0131 \u015fifreleri vb.) do\u011frudan SCM&#8217;ye y\u00fcklenmesini engellemenin en iyi yolu, bu bilgileri \u00f6zel bir gizli bilgi y\u00f6netim sisteminde (secret management system) saklamakt\u0131r. Bu sistemler, gizli bilgileri \u015fifreli bir \u015fekilde saklar, eri\u015fim kontrol\u00fcn\u00fc sa\u011flar ve gerekti\u011finde otomatik olarak d\u00f6nd\u00fcr\u00fclmesine (rotate) olanak tan\u0131r. Pop\u00fcler \u00e7\u00f6z\u00fcmler aras\u0131nda HashiCorp Vault, AWS Secrets Manager, Azure Key Vault ve Kubernetes Secrets bulunur. CI\/CD boru hatlar\u0131 ve uygulamalar, bu sistemlerden \u00e7al\u0131\u015fma zaman\u0131nda (runtime) veya da\u011f\u0131t\u0131m s\u0131ras\u0131nda g\u00fcvenli bir \u015fekilde gizli bilgileri \u00e7ekmelidir. Bu yakla\u015f\u0131m, hassas bilgilerin kaynak kodundan tamamen ayr\u0131lmas\u0131n\u0131 ve b\u00f6ylece SCM s\u0131z\u0131nt\u0131s\u0131 riskinin ortadan kalkmas\u0131n\u0131 sa\u011flar.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# \u00d6rnek: HashiCorp Vault'tan gizli bilgi \u00e7ekme (CI\/CD ortam\u0131nda)\n# Bu \u00f6rnek, bir CI\/CD beti\u011finde nas\u0131l kullan\u0131laca\u011f\u0131n\u0131 g\u00f6sterir.\n# Ger\u00e7ek uygulamada Vault istemcisi veya entegrasyonu kullan\u0131l\u0131r.\n\n# Vault sunucusuna kimlik do\u011frulama\nvault login -method=approle role_id=\"my-app-role-id\" secret_id=\"my-app-secret-id\"\n\n# Gizli bilgiyi oku\nAPI_KEY=$(vault kv get -field=api_key secret\/my-app\/prod)\n\n# Uygulamay\u0131 API_KEY ile \u00e7al\u0131\u015ft\u0131r\n.\/my_app --api-key \"$API_KEY\"\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu kod blo\u011fu, bir CI\/CD ortam\u0131nda HashiCorp Vault&#8217;tan hassas bir API anahtar\u0131n\u0131n nas\u0131l \u00e7ekilebilece\u011fine dair basit bir \u00f6rnek sunar. Bu y\u00f6ntem, hassas bilgilerin kaynak koduna veya \u00e7evre de\u011fi\u015fkenlerine do\u011frudan yaz\u0131lmas\u0131n\u0131 engelleyerek g\u00fcvenli\u011fi art\u0131r\u0131r.<\/p>\n<h3>En \u0130yi Uygulamalar<\/h3>\n<ul>\n<li><strong>Least Privilege (En Az Ayr\u0131cal\u0131k) Prensibi:<\/strong> SCM depolar\u0131na ve gizli bilgi y\u00f6netim sistemlerine yaln\u0131zca gerekli olan en d\u00fc\u015f\u00fck ayr\u0131cal\u0131klar\u0131n verilmesi.<\/li>\n<li><strong>D\u00fczenli Denetimler:<\/strong> SCM depolar\u0131n\u0131n ve CI\/CD boru hatlar\u0131n\u0131n g\u00fcvenlik yap\u0131land\u0131rmalar\u0131n\u0131 d\u00fczenli olarak denetlemek.<\/li>\n<li><strong>Otomatik Bildirimler:<\/strong> G\u00fcvenlik a\u00e7\u0131klar\u0131 veya s\u0131z\u0131nt\u0131lar tespit edildi\u011finde ilgili ekipleri otomatik olarak bilgilendiren sistemler kurmak.<\/li>\n<li><strong>G\u00fcvenlik Yamalar\u0131n\u0131n H\u0131zl\u0131 Uygulanmas\u0131:<\/strong> Kullan\u0131lan t\u00fcm ara\u00e7lar\u0131n, k\u00fct\u00fcphanelerin ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n g\u00fcvenlik yamalar\u0131n\u0131n d\u00fczenli olarak takip edilmesi ve h\u0131zl\u0131ca uygulanmas\u0131.<\/li>\n<\/ul>\n<p>DevOps ve CI\/CD s\u00fcre\u00e7lerine g\u00fcvenli\u011fi entegre etmek, sadece SCM s\u0131z\u0131nt\u0131lar\u0131n\u0131 de\u011fil, genel uygulama g\u00fcvenli\u011fini de \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Bu, geli\u015ftirme h\u0131z\u0131n\u0131 d\u00fc\u015f\u00fcrmek yerine, uzun vadede daha sa\u011flam ve g\u00fcvenilir yaz\u0131l\u0131mlar \u00fcretilmesine katk\u0131da bulunur.<\/p>\n<h2>WebRTC-Direct ve SCM G\u00fcvenli\u011finde \u0130leri Seviye Stratejiler<\/h2>\n<p>Temel g\u00fcvenlik \u00f6nlemlerini ald\u0131ktan sonra, WebRTC-Direct ve SCM g\u00fcvenli\u011finizi daha da ileriye ta\u015f\u0131mak i\u00e7in baz\u0131 geli\u015fmi\u015f stratejiler uygulayabilirsiniz. Bu stratejiler, daha karma\u015f\u0131k tehditlere kar\u015f\u0131 koruma sa\u011flamay\u0131 ve g\u00fcvenlik duru\u015funuzu s\u00fcrekli olarak iyile\u015ftirmeyi hedefler.<\/p>\n<h3>Tehdit Modellemesi ve Risk Analizi<\/h3>\n<p>Tehdit modellemesi (Threat Modeling), yaz\u0131l\u0131m geli\u015ftirme ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn erken a\u015famalar\u0131nda potansiyel g\u00fcvenlik tehditlerini ve zafiyetlerini sistematik olarak belirleme s\u00fcrecidir. Bir WebRTC-Direct uygulamas\u0131 i\u00e7in, veri ak\u0131\u015f \u015femalar\u0131 olu\u015fturulmal\u0131, her bir bile\u015fenin (taray\u0131c\u0131, sinyalizasyon sunucusu, STUN\/TURN sunucular\u0131, veri kanallar\u0131) potansiyel sald\u0131r\u0131 y\u00fczeyleri tan\u0131mlanmal\u0131d\u0131r. Hangi verilerin aktar\u0131ld\u0131\u011f\u0131, kimlerin eri\u015febilece\u011fi, hangi mekanizmalarla korundu\u011fu gibi sorulara cevap aran\u0131r. STRIDE (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) veya DREAD (Damage, Reproducibility, Exploitability, Affected Users, Discoverability) gibi metodolojiler kullan\u0131larak tehditler s\u0131n\u0131fland\u0131r\u0131labilir ve \u00f6nceliklendirilebilir. SCM \u00f6zelinde ise, depolardaki hassas verilerin t\u00fcrleri, bu verilere kimlerin eri\u015febilece\u011fi, CI\/CD boru hatt\u0131n\u0131n hangi a\u015famalar\u0131nda kullan\u0131ld\u0131\u011f\u0131 ve olas\u0131 bir s\u0131z\u0131nt\u0131n\u0131n etkileri analiz edilmelidir. Tehdit modellemesi, g\u00fcvenlik kaynaklar\u0131n\u0131 en kritik risklere odaklaman\u0131za yard\u0131mc\u0131 olur ve proaktif bir g\u00fcvenlik duru\u015fu sa\u011flar. \u00d6rne\u011fin, bir WebRTC uygulamas\u0131nda, sinyalizasyon sunucusunun kimlik do\u011frulama mekanizmalar\u0131n\u0131n yetersiz olmas\u0131 durumunda, bir sald\u0131rgan\u0131n oturumlar\u0131 ele ge\u00e7irme (session hijacking) tehdidi y\u00fcksek \u00f6ncelikli olarak belirlenebilir ve buna y\u00f6nelik ek g\u00fcvenlik kontrolleri tasarlan\u0131r.<\/p>\n<h3>D\u00fczenli G\u00fcvenlik Denetimleri ve S\u0131zma Testleri (Penetration Testing)<\/h3>\n<p>Uygulaman\u0131z\u0131 ve altyap\u0131n\u0131z\u0131 d\u00fczenli olarak ba\u011f\u0131ms\u0131z g\u00fcvenlik uzmanlar\u0131na denetletmek ve s\u0131zma testleri yapt\u0131rmak, g\u00f6zden ka\u00e7an zafiyetleri ve miskonfig\u00fcrasyonlar\u0131 ortaya \u00e7\u0131karman\u0131n en etkili yollar\u0131ndan biridir. S\u0131zma testleri, k\u00f6t\u00fc niyetli bir sald\u0131rgan\u0131n bak\u0131\u015f a\u00e7\u0131s\u0131yla sisteminize sald\u0131rma giri\u015fimlerini sim\u00fcle eder. Bu testler, hem WebRTC-Direct ileti\u015fim kanallar\u0131ndaki zafiyetleri (\u00f6rne\u011fin, zay\u0131f \u015fifreleme, kimlik do\u011frulama bypass&#8217;lar\u0131) hem de SCM depolar\u0131ndaki potansiyel s\u0131z\u0131nt\u0131lar\u0131 (\u00f6rne\u011fin, ge\u00e7mi\u015f commit&#8217;lerdeki gizli anahtarlar) kapsayabilir. G\u00fcvenlik denetimleri, sadece teknik zafiyetleri de\u011fil, ayn\u0131 zamanda g\u00fcvenlik politikalar\u0131ndaki, s\u00fcre\u00e7lerdeki ve insan fakt\u00f6r\u00fcndeki eksiklikleri de belirleyebilir. Bu denetimlerin ve testlerin d\u00fczenli aral\u0131klarla (\u00f6rne\u011fin, y\u0131lda bir veya b\u00fcy\u00fck bir \u00f6zellik yay\u0131n\u0131ndan \u00f6nce) yap\u0131lmas\u0131, g\u00fcvenlik duru\u015funuzu s\u00fcrekli olarak g\u00fcncel tutman\u0131z\u0131 sa\u011flar.<\/p>\n<h3>G\u00fcvenlik Yamalar\u0131n\u0131n H\u0131zl\u0131 Uygulanmas\u0131 ve Ba\u011f\u0131ml\u0131l\u0131k Y\u00f6netimi<\/h3>\n<p>Yaz\u0131l\u0131m d\u00fcnyas\u0131 s\u00fcrekli geli\u015fti\u011fi i\u00e7in, kulland\u0131\u011f\u0131n\u0131z t\u00fcm k\u00fct\u00fcphaneler, framework&#8217;ler (yaz\u0131l\u0131m \u00e7er\u00e7eveleri), i\u015fletim sistemleri ve WebRTC implementasyonlar\u0131 yeni g\u00fcvenlik a\u00e7\u0131klar\u0131 bar\u0131nd\u0131rabilir. Bu a\u00e7\u0131klar\u0131 kapatmak i\u00e7in yay\u0131nlanan g\u00fcvenlik yamalar\u0131n\u0131 (security patches) h\u0131zl\u0131 bir \u015fekilde uygulamak hayati \u00f6nem ta\u015f\u0131r. Ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi ara\u00e7lar\u0131 (\u00f6rne\u011fin, Dependabot, RenovateBot) kullanarak projenizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 s\u00fcrekli olarak izleyebilir ve bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131na sahip eski versiyonlar\u0131 otomatik olarak g\u00fcncelleyebilirsiniz. Bu ara\u00e7lar, yeni g\u00fcvenlik a\u00e7\u0131klar\u0131 tespit edildi\u011finde size bildirim g\u00f6nderir ve hatta otomatik olarak pull request&#8217;ler olu\u015fturabilir. Ayr\u0131ca, kulland\u0131\u011f\u0131n\u0131z WebRTC k\u00fct\u00fcphanelerinin ve taray\u0131c\u0131lar\u0131n g\u00fcncel versiyonlar\u0131n\u0131 takip etmek, en yeni g\u00fcvenlik \u00f6zelliklerinden ve yamalardan faydalanman\u0131z\u0131 sa\u011flar. \u00d6rne\u011fin, Google Chrome&#8217;un veya Firefox&#8217;un yeni bir WebRTC g\u00fcvenlik yamas\u0131 yay\u0131nlad\u0131\u011f\u0131nda, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n taray\u0131c\u0131lar\u0131n\u0131 g\u00fcncel tutmas\u0131 i\u00e7in te\u015fvik etmek de \u00f6nemlidir.<\/p>\n<h3>S\u0131f\u0131r G\u00fcven (Zero Trust) Yakla\u015f\u0131mlar\u0131<\/h3>\n<p>S\u0131f\u0131r G\u00fcven, &#8220;Asla g\u00fcvenme, her zaman do\u011frula&#8221; prensibine dayanan modern bir g\u00fcvenlik modelidir. Bu modelde, a\u011f i\u00e7inde veya d\u0131\u015f\u0131nda konumundan ba\u011f\u0131ms\u0131z olarak hi\u00e7bir kullan\u0131c\u0131 veya cihaz otomatik olarak g\u00fcvenilir kabul edilmez. Her eri\u015fim iste\u011fi, kimlik do\u011frulama, yetkilendirme ve g\u00fcvenlik politikalar\u0131na uygunluk a\u00e7\u0131s\u0131ndan titizlikle do\u011frulan\u0131r. WebRTC-Direct ba\u011flam\u0131nda, bu, her bir peer&#8217;in ve her bir veri ak\u0131\u015f\u0131n\u0131n g\u00fcvenli\u011finin ayr\u0131 ayr\u0131 do\u011frulanmas\u0131 anlam\u0131na gelir. STUN\/TURN sunucular\u0131na eri\u015fim, sinyalizasyon sunucusuyla ileti\u015fim ve hatta medya ak\u0131\u015f\u0131n\u0131n kendisi i\u00e7in en az ayr\u0131cal\u0131k (least privilege) prensibi uygulanmal\u0131d\u0131r. SCM ve CI\/CD s\u00fcre\u00e7lerinde ise, her bir bile\u015fenin (derleyici, test arac\u0131, da\u011f\u0131t\u0131m arac\u0131) ve kullan\u0131c\u0131n\u0131n sadece g\u00f6revi i\u00e7in gerekli olan minimum yetkilere sahip olmas\u0131 sa\u011flanmal\u0131d\u0131r. \u00d6rne\u011fin, bir CI\/CD boru hatt\u0131n\u0131n yaln\u0131zca belirli bir depoya okuma eri\u015fimi olmal\u0131, hassas anahtarlara ise sadece da\u011f\u0131t\u0131m a\u015famas\u0131nda ve ge\u00e7ici olarak eri\u015febilmelidir. S\u0131f\u0131r G\u00fcven, g\u00fcvenlik duru\u015funuzu \u00f6nemli \u00f6l\u00e7\u00fcde g\u00fc\u00e7lendirerek, i\u00e7 tehditlere ve yanlamas\u0131na hareket eden (lateral movement) sald\u0131r\u0131lara kar\u015f\u0131 daha diren\u00e7li hale getirir.<\/p>\n<p>Bu ileri seviye stratejilerin uygulanmas\u0131, sadece mevcut riskleri azaltmakla kalmaz, ayn\u0131 zamanda gelecekte ortaya \u00e7\u0131kabilecek bilinmeyen tehditlere kar\u015f\u0131 da daha haz\u0131rl\u0131kl\u0131 olman\u0131z\u0131 sa\u011flar. G\u00fcvenlik, dinamik bir alan oldu\u011fu i\u00e7in, s\u00fcrekli \u00f6\u011frenme, adaptasyon ve iyile\u015ftirme s\u00fcre\u00e7lerinin bir par\u00e7as\u0131 olmal\u0131d\u0131r.<\/p>\n<h2>Sonu\u00e7 ve Gelecek Perspektifleri<\/h2>\n<p>Bu makalede, modern web uygulamalar\u0131n\u0131n temel ta\u015flar\u0131ndan biri olan WebRTC-Direct&#8217;in g\u00fcvenlik y\u00f6nlerini ve yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinin ka\u00e7\u0131n\u0131lmaz bir par\u00e7as\u0131 olan SCM s\u0131z\u0131nt\u0131lar\u0131n\u0131n ciddi etkilerini ele ald\u0131k. G\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, do\u011frudan peer-to-peer ileti\u015fimin getirdi\u011fi performans avantajlar\u0131, geli\u015ftiricilere daha fazla g\u00fcvenlik sorumlulu\u011fu y\u00fcklemektedir. Kimlik do\u011frulama ve yetkilendirme mekanizmalar\u0131n\u0131n g\u00fc\u00e7lendirilmesi, \u015fifreleme standartlar\u0131n\u0131n titizlikle uygulanmas\u0131 ve STUN\/TURN sunucular\u0131n\u0131n do\u011fru yap\u0131land\u0131r\u0131lmas\u0131, WebRTC-Direct uygulamalar\u0131n\u0131 sertle\u015ftirmenin temel ad\u0131mlar\u0131d\u0131r. \u00d6te yandan, SCM sistemlerine yanl\u0131\u015fl\u0131kla s\u0131zan hassas bilgilerin potansiyel y\u0131k\u0131c\u0131 etkileri, pre-commit hook&#8217;lar\u0131, otomatik taray\u0131c\u0131lar ve geli\u015ftirici e\u011fitimleri gibi proaktif \u00f6nlemlerle engellenebilir.<\/p>\n<p>DevOps ve CI\/CD s\u00fcre\u00e7lerine g\u00fcvenli\u011fi entegre etmek, &#8220;Shift Left&#8221; yakla\u015f\u0131m\u0131n\u0131 benimseyerek g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n ve s\u0131z\u0131nt\u0131lar\u0131n ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn erken a\u015famalar\u0131nda tespit edilmesini sa\u011flar. Tehdit modellemesi, d\u00fczenli s\u0131zma testleri ve S\u0131f\u0131r G\u00fcven prensipleri gibi ileri seviye stratejiler ise, g\u00fcvenlik duru\u015fumuzu daha da g\u00fc\u00e7lendirerek, s\u00fcrekli de\u011fi\u015fen tehdit ortam\u0131na kar\u015f\u0131 diren\u00e7li olmam\u0131z\u0131 sa\u011flar. Unutulmamal\u0131d\u0131r ki, g\u00fcvenlik, asla tek seferlik bir i\u015flem de\u011fil, s\u00fcrekli bir s\u00fcre\u00e7tir. Teknolojiler geli\u015ftik\u00e7e, tehdit vekt\u00f6rleri de de\u011fi\u015fmekte, bu da g\u00fcvenlik \u00e7\u00f6z\u00fcmlerimizin de s\u00fcrekli olarak adapte olmas\u0131n\u0131 gerektirmektedir.<\/p>\n<p>Gelecekte, WebRTC ve SCM g\u00fcvenli\u011fi alan\u0131nda daha fazla otomasyon, yapay zeka destekli tehdit tespiti ve daha entegre g\u00fcvenlik platformlar\u0131 g\u00f6rmemiz muhtemeldir. Geli\u015ftiricilerin, g\u00fcvenlik uzmanlar\u0131n\u0131n ve operasyon ekiplerinin i\u015fbirli\u011fi, bu karma\u015f\u0131k g\u00fcvenlik zorluklar\u0131n\u0131n \u00fcstesinden gelmede anahtar rol oynayacakt\u0131r. Her bir geli\u015ftiricinin g\u00fcvenlik bilinci ve sorumluluk duygusu, sa\u011flam ve g\u00fcvenilir yaz\u0131l\u0131mlar in\u015fa etmenin temelini olu\u015fturacakt\u0131r. Bu rehberin, WebRTC-Direct uygulamalar\u0131n\u0131z\u0131 daha g\u00fcvenli hale getirmeniz ve SCM s\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00f6nlemeniz i\u00e7in size de\u011ferli bir yol haritas\u0131 sunmas\u0131n\u0131 umuyoruz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ol>\n<li>\n            <strong>WebRTC-Direct kullanmak her zaman daha m\u0131 risklidir?<\/strong><\/p>\n<p>Hay\u0131r, WebRTC-Direct&#8217;in kendisi riskli de\u011fildir, ancak do\u011frudan ba\u011flant\u0131 nedeniyle g\u00fcvenlik sorumlulu\u011fu geli\u015ftiricilere daha fazla d\u00fc\u015fer. Do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda ve gerekli g\u00fcvenlik \u00f6nlemleri al\u0131nd\u0131\u011f\u0131nda, WebRTC-Direct hem performansl\u0131 hem de g\u00fcvenli olabilir. Risk, uygulaman\u0131n nas\u0131l tasarland\u0131\u011f\u0131 ve sertle\u015ftirildi\u011fine ba\u011fl\u0131d\u0131r.<\/p>\n<\/li>\n<li>\n            <strong>SCM s\u0131z\u0131nt\u0131lar\u0131 sadece b\u00fcy\u00fck \u015firketleri mi etkiler?<\/strong><\/p>\n<p>Kesinlikle hay\u0131r. SCM s\u0131z\u0131nt\u0131lar\u0131, boyutundan ba\u011f\u0131ms\u0131z olarak t\u00fcm \u015firketleri ve a\u00e7\u0131k kaynak projeleri etkileyebilir. K\u00fc\u00e7\u00fck bir startup&#8217;\u0131n yanl\u0131\u015fl\u0131kla s\u0131zd\u0131rd\u0131\u011f\u0131 bir API anahtar\u0131, t\u00fcm i\u015f modelini tehlikeye atabilirken, b\u00fcy\u00fck bir \u015firketin s\u0131z\u0131nt\u0131s\u0131 daha geni\u015f \u00e7apl\u0131 veri ihlallerine yol a\u00e7abilir. Her geli\u015ftiricinin bu konuda bilin\u00e7li olmas\u0131 \u00f6nemlidir.<\/p>\n<\/li>\n<li>\n            <strong>Pre-commit hook&#8217;lar\u0131 yeterli midir?<\/strong><\/p>\n<p>Pre-commit hook&#8217;lar\u0131 ilk savunma hatt\u0131 olarak \u00e7ok faydal\u0131d\u0131r ancak tek ba\u015f\u0131na yeterli de\u011fildir. Geli\u015ftiriciler hook&#8217;lar\u0131 atlayabilir veya yerel ortamlar\u0131nda devre d\u0131\u015f\u0131 b\u0131rakabilirler. Bu nedenle, gizli bilgi taray\u0131c\u0131lar\u0131 ve SAST ara\u00e7lar\u0131 gibi CI\/CD boru hatt\u0131na entegre edilmi\u015f ek g\u00fcvenlik kontrolleriyle desteklenmelidir.<\/p>\n<\/li>\n<li>\n            <strong>WebRTC&#8217;de IP adresi s\u0131z\u0131nt\u0131s\u0131 nas\u0131l \u00f6nlenir?<\/strong><\/p>\n<p>IP adresi s\u0131z\u0131nt\u0131s\u0131n\u0131 \u00f6nlemek i\u00e7in WebRTC ba\u011flant\u0131s\u0131 kurulurken ICE adaylar\u0131n\u0131n toplanma \u015feklini kontrol etmek \u00f6nemlidir. \u00d6zellikle VPN kullan\u0131c\u0131lar\u0131 i\u00e7in <code>RTCPeerConnection<\/code> yap\u0131land\u0131rmas\u0131nda <code>iceCandidatePoolSize<\/code> \u00f6zelli\u011fini kullanmak veya sadece TURN sunucular\u0131 \u00fczerinden medya ak\u0131\u015f\u0131n\u0131 zorlamak (<code>iceTransportPolicy: 'relay'<\/code>) faydal\u0131 olabilir. Ayr\u0131ca, taray\u0131c\u0131 uzant\u0131lar\u0131 da bu t\u00fcr s\u0131z\u0131nt\u0131lar\u0131 engellemeye yard\u0131mc\u0131 olabilir.<\/p>\n<\/li>\n<li>\n            <strong>Gizli bilgileri SCM&#8217;den tamamen kald\u0131rman\u0131n en g\u00fcvenli yolu nedir?<\/strong><\/p>\n<p>Hassas bilgiler SCM&#8217;ye s\u0131zd\u0131ktan sonra, bunlar\u0131 tamamen kald\u0131rman\u0131n en g\u00fcvenli yolu <code>git filter-repo<\/code> veya BFG Repo-Cleaner gibi ara\u00e7lar kullanarak deponun ge\u00e7mi\u015fini yeniden yazmakt\u0131r. Ancak bu i\u015flem, deponun t\u00fcm ge\u00e7mi\u015fini de\u011fi\u015ftirdi\u011fi i\u00e7in, t\u00fcm ekip \u00fcyelerinin depolar\u0131n\u0131 yeniden klonlamas\u0131n\u0131 gerektirir ve dikkatli yap\u0131lmal\u0131d\u0131r. En iyisi, hassas bilgilerin depoya hi\u00e7 girmemesini sa\u011flamakt\u0131r.<\/p>\n<\/li>\n<\/ol>\n<p>#WebRTC #G\u00fcvenlik #SCMS\u0131z\u0131nt\u0131lar\u0131 #DevOps #CI\/CD #SiberG\u00fcvenlik #KodG\u00fcvenli\u011fi<\/p>\n","protected":false},"excerpt":{"rendered":"WebRTC-Direct uygulamalar\u0131n\u0131z\u0131 g\u00fc\u00e7lendirmenin ve kritik SCM s\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00f6nlemenin yollar\u0131n\u0131 m\u0131 ar\u0131yorsunuz?","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-44775","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>WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\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\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"WebRTC-Direct uygulamalar\u0131n\u0131z\u0131 g\u00fc\u00e7lendirmenin ve kritik SCM s\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00f6nlemenin yollar\u0131n\u0131 m\u0131 ar\u0131yorsunuz?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-19T06:06:01+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=\"33 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2026-09-19T06:06:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/\"},\"wordCount\":6252,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/\",\"name\":\"WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-09-19T06:06:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber\"}]},{\"@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":"WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","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\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber","og_description":"WebRTC-Direct uygulamalar\u0131n\u0131z\u0131 g\u00fc\u00e7lendirmenin ve kritik SCM s\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00f6nlemenin yollar\u0131n\u0131 m\u0131 ar\u0131yorsunuz?","og_url":"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-09-19T06:06:01+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"33 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber","datePublished":"2026-09-19T06:06:01+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/"},"wordCount":6252,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/","name":"WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-09-19T06:06:01+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/webrtc-direct-guvenligini-artirmak-ve-scm-sizintilarini-onlemek-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"WebRTC-Direct G\u00fcvenli\u011fini Art\u0131rmak ve SCM S\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00d6nlemek: Kapsaml\u0131 Bir Rehber"}]},{"@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\/44775","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=44775"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/44775\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=44775"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=44775"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=44775"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}