{"id":3683,"date":"2025-12-29T19:39:58","date_gmt":"2025-12-29T16:39:58","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/kvkk-ve-gdpr-icin-log-anonimlestirme-ip-maskeleme-ve-pseudonymization\/"},"modified":"2025-12-29T19:39:58","modified_gmt":"2025-12-29T16:39:58","slug":"kvkk-ve-gdpr-icin-log-anonimlestirme-ip-maskeleme-ve-pseudonymization","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/kvkk-ve-gdpr-icin-log-anonimlestirme-ip-maskeleme-ve-pseudonymization\/","title":{"rendered":"KVKK ve GDPR \u0130\u00e7in Log Anonimle\u015ftirme: IP Maskeleme ve Pseudonymization"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><p>Loglar teknik ekipler i\u00e7in hayati: performans analizi, sald\u0131r\u0131 tespiti, hata ay\u0131klama, kapasite planlama\u2026 Ancak KVKK ve GDPR ile birlikte loglar art\u0131k sadece teknik bir ara\u00e7 de\u011fil, ayn\u0131 zamanda ki\u015fisel veri i\u00e7eren birer hukuki risk alan\u0131. \u00d6zellikle IP adresleri, \u00e7erez kimlikleri, kullan\u0131c\u0131 ajanlar\u0131 ve istek URL\u2019leri yanl\u0131\u015f kurgulanm\u0131\u015f bir log mimarisinde do\u011frudan ki\u015fisel veri kategorisine giriyor. Bu noktada soru \u015fu: Hem detayl\u0131 log tutup sistemi g\u00fcvenli ve izlenebilir tutmak, hem de veri minimizasyonu ve saklama s\u00fcresi s\u0131n\u0131rlamas\u0131 gibi y\u00fck\u00fcml\u00fcl\u00fcklere nas\u0131l uyulur?<\/p>\n<p>DCHost altyap\u0131s\u0131nda y\u00fczlerce projede g\u00f6rd\u00fc\u011f\u00fcm\u00fcz en kritik eksik, log anonimle\u015ftirme ve pseudonymization katman\u0131n\u0131n hi\u00e7 d\u00fc\u015f\u00fcn\u00fclmemi\u015f olmas\u0131. Uygulama geli\u015ftiriliyor, sunucu kuruluyor, monitoring ekleniyor; ama kimse access.log i\u00e7inde tam IP, kullan\u0131c\u0131 kimli\u011fi ve token\u2019lar\u0131n y\u0131llarca tutuldu\u011funu fark etmiyor. Bu yaz\u0131da KVKK ve GDPR perspektifinden log verisini ele al\u0131p, IP maskeleme, pseudonymization ve hosting loglar\u0131 i\u00e7in pratik, uygulanabilir bir yol haritas\u0131 \u00e7\u0131karaca\u011f\u0131z. \u00d6rnekler a\u011f\u0131rl\u0131kl\u0131 olarak Linux, Apache, Nginx ve merkezi loglama senaryolar\u0131na g\u00f6re haz\u0131rlanm\u0131\u015ft\u0131r.<\/p>\n<div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#KVKK_GDPR_ve_Log_Verisi_Nerede_Basliyor_Nerede_Bitiyor\"><span class=\"toc_number toc_depth_1\">1<\/span> KVKK, GDPR ve Log Verisi: Nerede Ba\u015fl\u0131yor, Nerede Bitiyor?<\/a><\/li><li><a href=\"#Anonimlestirme_Pseudonymization_ve_Maskeleme_Ayni_Sey_Degil\"><span class=\"toc_number toc_depth_1\">2<\/span> Anonimle\u015ftirme, Pseudonymization ve Maskeleme: Ayn\u0131 \u015eey De\u011fil<\/a><ul><li><a href=\"#Anonimlestirme_Nedir\"><span class=\"toc_number toc_depth_2\">2.1<\/span> Anonimle\u015ftirme Nedir?<\/a><\/li><li><a href=\"#Pseudonymization_Takma_Adlandirma_Nedir\"><span class=\"toc_number toc_depth_2\">2.2<\/span> Pseudonymization (Takma Adland\u0131rma) Nedir?<\/a><\/li><li><a href=\"#Maskeleme_Nedir\"><span class=\"toc_number toc_depth_2\">2.3<\/span> Maskeleme Nedir?<\/a><\/li><\/ul><\/li><li><a href=\"#IP_Maskeleme_Stratejileri_IPv4_ve_IPv6_icin_Yaklasimlar\"><span class=\"toc_number toc_depth_1\">3<\/span> IP Maskeleme Stratejileri: IPv4 ve IPv6 i\u00e7in Yakla\u015f\u0131mlar<\/a><ul><li><a href=\"#IPv4_Maskeleme_Oruntuleri\"><span class=\"toc_number toc_depth_2\">3.1<\/span> IPv4 Maskeleme \u00d6r\u00fcnt\u00fcleri<\/a><\/li><li><a href=\"#IPv6_Maskeleme_Oruntuleri\"><span class=\"toc_number toc_depth_2\">3.2<\/span> IPv6 Maskeleme \u00d6r\u00fcnt\u00fcleri<\/a><\/li><\/ul><\/li><li><a href=\"#Apache_ve_Nginxte_Gercek_Zamanli_IP_Maskeleme\"><span class=\"toc_number toc_depth_1\">4<\/span> Apache ve Nginx\u2019te Ger\u00e7ek Zamanl\u0131 IP Maskeleme<\/a><ul><li><a href=\"#Apache_icin_Yaklasim\"><span class=\"toc_number toc_depth_2\">4.1<\/span> Apache i\u00e7in Yakla\u015f\u0131m<\/a><\/li><li><a href=\"#Nginx_icin_Yaklasim\"><span class=\"toc_number toc_depth_2\">4.2<\/span> Nginx i\u00e7in Yakla\u015f\u0131m<\/a><\/li><\/ul><\/li><li><a href=\"#Pseudonymization_ile_Kullanici_Takibi_ve_Gizlilik_Dengesi\"><span class=\"toc_number toc_depth_1\">5<\/span> Pseudonymization ile Kullan\u0131c\u0131 Takibi ve Gizlilik Dengesi<\/a><\/li><li><a href=\"#Hangi_Hosting_Loglarinda_Anonimlestirme_Gerekir\"><span class=\"toc_number toc_depth_1\">6<\/span> Hangi Hosting Loglar\u0131nda Anonimle\u015ftirme Gerekir?<\/a><\/li><li><a href=\"#Log_Saklama_Sureleri_Yedekler_ve_KVKKGDPR_Dengesi\"><span class=\"toc_number toc_depth_1\">7<\/span> Log Saklama S\u00fcreleri, Yedekler ve KVKK\/GDPR Dengesi<\/a><\/li><li><a href=\"#Merkezi_Loglama_ve_Anonimlestirme_Katmanini_Nereye_Koymali\"><span class=\"toc_number toc_depth_1\">8<\/span> Merkezi Loglama ve Anonimle\u015ftirme Katman\u0131n\u0131 Nereye Koymal\u0131?<\/a><\/li><li><a href=\"#Linux_Sunucularda_Adim_Adim_Log_Anonimlestirme_Plani\"><span class=\"toc_number toc_depth_1\">9<\/span> Linux Sunucularda Ad\u0131m Ad\u0131m Log Anonimle\u015ftirme Plan\u0131<\/a><ul><li><a href=\"#1_Log_Envanterini_Cikarin\"><span class=\"toc_number toc_depth_2\">9.1<\/span> 1. Log Envanterini \u00c7\u0131kar\u0131n<\/a><\/li><li><a href=\"#2_Kisisel_Veriyi_Siniflandirin\"><span class=\"toc_number toc_depth_2\">9.2<\/span> 2. Ki\u015fisel Veriyi S\u0131n\u0131fland\u0131r\u0131n<\/a><\/li><li><a href=\"#3_Saklama_Politikasi_Olusturun\"><span class=\"toc_number toc_depth_2\">9.3<\/span> 3. Saklama Politikas\u0131 Olu\u015fturun<\/a><\/li><li><a href=\"#4_Web_Sunucusunda_IP_Maskeleme_Kurun\"><span class=\"toc_number toc_depth_2\">9.4<\/span> 4. Web Sunucusunda IP Maskeleme Kurun<\/a><\/li><li><a href=\"#5_Uygulama_Loglarini_Temizleyin\"><span class=\"toc_number toc_depth_2\">9.5<\/span> 5. Uygulama Loglar\u0131n\u0131 Temizleyin<\/a><\/li><li><a href=\"#6_Merkezi_Log_Pipelineina_Filtre_Ekleyin\"><span class=\"toc_number toc_depth_2\">9.6<\/span> 6. Merkezi Log Pipeline\u2019\u0131na Filtre Ekleyin<\/a><\/li><li><a href=\"#7_Test_Dokumantasyon_ve_Denetim_Hazirligi\"><span class=\"toc_number toc_depth_2\">9.7<\/span> 7. Test, Dok\u00fcmantasyon ve Denetim Haz\u0131rl\u0131\u011f\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#DCHost_Altyapisinda_Log_Anonimlestirme_Icin_Onerdigimiz_Mimari\"><span class=\"toc_number toc_depth_1\">10<\/span> DCHost Altyap\u0131s\u0131nda Log Anonimle\u015ftirme \u0130\u00e7in \u00d6nerdi\u011fimiz Mimari<\/a><\/li><li><a href=\"#Sik_Yapilan_Hatalar_ve_Denetimlerde_Karsimiza_Cikan_Senaryolar\"><span class=\"toc_number toc_depth_1\">11<\/span> S\u0131k Yap\u0131lan Hatalar ve Denetimlerde Kar\u015f\u0131m\u0131za \u00c7\u0131kan Senaryolar<\/a><\/li><li><a href=\"#Sonuc_Loglarinizi_Susturmayin_Dogru_Konusturun\"><span class=\"toc_number toc_depth_1\">12<\/span> Sonu\u00e7: Loglar\u0131n\u0131z\u0131 Susturmay\u0131n, Do\u011fru Konu\u015fturun<\/a><\/li><\/ul><\/div>\n<h2><span id=\"KVKK_GDPR_ve_Log_Verisi_Nerede_Basliyor_Nerede_Bitiyor\">KVKK, GDPR ve Log Verisi: Nerede Ba\u015fl\u0131yor, Nerede Bitiyor?<\/span><\/h2>\n<p>\u00d6nce kavramlar\u0131 netle\u015ftirelim. KVKK ve GDPR\u2019a g\u00f6re <strong>ki\u015fisel veri<\/strong>, kimli\u011fi belirli veya belirlenebilir ger\u00e7ek ki\u015fiye ili\u015fkin her t\u00fcrl\u00fc bilgidir. IP adresi, \u00e7erez ID\u2019leri, cihaz parmak izi, kullan\u0131c\u0131 ad\u0131, e-posta adresi gibi veriler bunun i\u00e7ine girer. Web ve sunucu loglar\u0131 da bu bilgileri s\u0131k s\u0131k i\u00e7erir.<\/p>\n<p>Tipik bir web sunucusu access log sat\u0131r\u0131 d\u00fc\u015f\u00fcn\u00fcn:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">192.0.2.45 - - [18\/06\/2024:10:15:32 +0300] &quot;GET \/hesabim\/siparisler HTTP\/2.0&quot; 200 5123 &quot;-&quot; &quot;Mozilla\/5.0 ...&quot;<\/code><\/pre>\n<p>Burada IP, ziyaret edilen sayfa (URL), zaman damgas\u0131 ve kullan\u0131c\u0131 ajan\u0131 bir araya geldi\u011finde belirlenebilirlik artar ve bu kay\u0131t ki\u015fisel veri haline gelir. Bu durumda:<\/p>\n<ul>\n<li><strong>KVKK\/GDPR kapsam\u0131 devreye girer<\/strong><\/li>\n<li>Veri sorumlusu olarak siz, veri i\u015fleyen olarak hosting sa\u011flay\u0131c\u0131n\u0131z (\u00f6rne\u011fin DCHost) y\u00fck\u00fcml\u00fcl\u00fck kazan\u0131rs\u0131n\u0131z<\/li>\n<li>Loglar\u0131n saklama s\u00fcresi, eri\u015fim yetkileri, anonimle\u015ftirme d\u00fczeyi ve g\u00fcvenli\u011fi i\u00e7in bilin\u00e7li karar vermeniz gerekir<\/li>\n<\/ul>\n<p>KVKK ve GDPR uyumlu altyap\u0131 kurma taraf\u0131n\u0131 daha geni\u015f \u00e7er\u00e7evede ele ald\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/kvkk-ve-gdpr-uyumlu-hosting-nasil-kurulur-veri-yerellestirme-loglama-ve-silme-uzerine-sicacik-bir-yol-haritasi\/\">KVKK ve GDPR uyumlu hosting nas\u0131l kurulur<\/a> rehberinde genel ilkeleri anlatt\u0131k. Bu yaz\u0131da oda\u011f\u0131 \u00f6zellikle log anonimle\u015ftirme katman\u0131na indiriyoruz.<\/p>\n<h2><span id=\"Anonimlestirme_Pseudonymization_ve_Maskeleme_Ayni_Sey_Degil\">Anonimle\u015ftirme, Pseudonymization ve Maskeleme: Ayn\u0131 \u015eey De\u011fil<\/span><\/h2>\n<p>Hukuki ve teknik tarafta en \u00e7ok kar\u0131\u015fan \u00fc\u00e7 kavram: <strong>anonimle\u015ftirme<\/strong>, <strong>pseudonymization<\/strong> (takma adland\u0131rma) ve <strong>maskeleme<\/strong>. Bunlar\u0131 ay\u0131rmadan do\u011fru log stratejisi kurmak zor.<\/p>\n<h3><span id=\"Anonimlestirme_Nedir\">Anonimle\u015ftirme Nedir?<\/span><\/h3>\n<p>Anonimle\u015ftirme, verinin art\u0131k ger\u00e7ek bir ki\u015fiyle <strong>geri d\u00f6nd\u00fcr\u00fclebilir \u015fekilde ili\u015fkilendirilememesi<\/strong> demektir. Yani bir kere anonimle\u015ftirdi\u011finiz logu, elinizdeki hi\u00e7bir ek bilgiyle bile ger\u00e7ek ki\u015fiye geri ba\u011flayamaman\u0131z gerekir. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>IP adresinin son iki oktetini kal\u0131c\u0131 olarak silmek (203.0.x.x gibi) ve orijinal IP\u2019yi hi\u00e7bir yerde tutmamak<\/li>\n<li>\u00c7erez ID\u2019lerini tamamen kald\u0131rmak<\/li>\n<li>Kullan\u0131c\u0131 ad\u0131n\u0131 sadece rol bilgisiyle (&#8220;editor&#8221;, &#8220;anon&#8221; gibi) de\u011fi\u015ftirmek<\/li>\n<\/ul>\n<p>Anonimle\u015ftirilmi\u015f loglar, \u00e7o\u011fu durumda KVKK\/GDPR kapsam\u0131ndan \u00e7\u0131kar; ancak pratikte &#8220;ger\u00e7ekten geri d\u00f6nd\u00fcr\u00fclemez&#8221; oldu\u011fundan emin olmak hi\u00e7 kolay de\u011fildir.<\/p>\n<h3><span id=\"Pseudonymization_Takma_Adlandirma_Nedir\">Pseudonymization (Takma Adland\u0131rma) Nedir?<\/span><\/h3>\n<p>Pseudonymization, ki\u015fiyi do\u011frudan tan\u0131mlayan verinin, sadece ek bir anahtarla (\u00f6rne\u011fin gizli bir salt veya lookup tablosu) geri \u00e7\u00f6z\u00fclebilen bir <strong>takma ad<\/strong> ile de\u011fi\u015ftirilmesidir. \u00d6rnekler:<\/p>\n<ul>\n<li>IP adresini SHA-256 ile hash\u2019leyip veritaban\u0131nda saklamak<\/li>\n<li>Kullan\u0131c\u0131 ID\u2019sini rastgele bir UUID ile e\u015fleyip, e\u015fleme tablosunu ayr\u0131 bir sistemde tutmak<\/li>\n<\/ul>\n<p>Burada \u00f6nemli nokta \u015fu: Pseudonymization <strong>KVKK\/GDPR kapsam\u0131n\u0131 ortadan kald\u0131rmaz<\/strong>, sadece riski ve etkiyi azalt\u0131r. \u00c7\u00fcnk\u00fc do\u011fru anahtarla veri tekrar ki\u015fiye ba\u011flanabilir. Denetimlerde bu veri h\u00e2l\u00e2 ki\u015fisel veri say\u0131l\u0131r.<\/p>\n<h3><span id=\"Maskeleme_Nedir\">Maskeleme Nedir?<\/span><\/h3>\n<p>Maskeleme genellikle teknik bir y\u00f6ntemdir; hem anonimle\u015ftirme hem de pseudonymization i\u00e7in kullan\u0131labilir. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>IP\u2019nin son oktetini &#8220;0&#8221; yapmak (192.0.2.45 \u2192 192.0.2.0)<\/li>\n<li>Telefon numaras\u0131n\u0131n ortas\u0131ndaki 4 haneyi y\u0131ld\u0131zlamak<\/li>\n<li>E-posta adresinin kullan\u0131c\u0131 ad\u0131n\u0131 k\u0131smi g\u00f6stermek (ali***@ornek.com)<\/li>\n<\/ul>\n<p>Maskelemenin anonim mi yoksa pseudo mu say\u0131laca\u011f\u0131, maskelemeden \u00f6nceki orijinal veriyi nerede ve ne kadar s\u00fcre saklad\u0131\u011f\u0131n\u0131za ba\u011fl\u0131d\u0131r.<\/p>\n<h2><span id=\"IP_Maskeleme_Stratejileri_IPv4_ve_IPv6_icin_Yaklasimlar\">IP Maskeleme Stratejileri: IPv4 ve IPv6 i\u00e7in Yakla\u015f\u0131mlar<\/span><\/h2>\n<p>Log anonimle\u015ftirmenin kalbi IP adresleri ile ba\u015flar. \u00c7\u00fcnk\u00fc bir\u00e7ok log t\u00fcr\u00fcnde ki\u015fisel verinin <strong>en belirgin \u00f6\u011fesi IP\u2019dir<\/strong>. Hem KVKK\/GDPR riskini d\u00fc\u015f\u00fcrmek hem de g\u00fcvenlik analiti\u011finden \u00e7ok fazla \u00f6d\u00fcn vermemek i\u00e7in do\u011fru maskeleme stratejisini se\u00e7mek kritik.<\/p>\n<h3><span id=\"IPv4_Maskeleme_Oruntuleri\">IPv4 Maskeleme \u00d6r\u00fcnt\u00fcleri<\/span><\/h3>\n<p>IPv4 adresleri i\u00e7in en yayg\u0131n stratejiler \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>\/24 seviyesinde maskeleme:<\/strong> Son okteti s\u0131f\u0131rlamak (192.0.2.45 \u2192 192.0.2.0)<\/li>\n<li><strong>\/16 seviyesinde maskeleme:<\/strong> Son iki okteti s\u0131f\u0131rlamak (192.0.2.45 \u2192 192.0.0.0)<\/li>\n<li><strong>Tam anonimle\u015ftirme:<\/strong> IP\u2019yi tamamen kald\u0131rmak veya rastgele bir ID ile de\u011fi\u015ftirmek<\/li>\n<\/ul>\n<p>\/24 \u00e7o\u011fu web analiti\u011fi senaryosu i\u00e7in yeterli gran\u00fclerlik sunarken, tekil kullan\u0131c\u0131y\u0131 do\u011frudan ay\u0131rt etmeyi zorla\u015ft\u0131r\u0131r. G\u00fcvenlik analizi (\u00f6rn. IP bazl\u0131 sald\u0131r\u0131 tespiti) kritikse, pseudonymization ile hash\u2019lenmi\u015f IP kullanmak da bir se\u00e7enektir.<\/p>\n<h3><span id=\"IPv6_Maskeleme_Oruntuleri\">IPv6 Maskeleme \u00d6r\u00fcnt\u00fcleri<\/span><\/h3>\n<p>IPv6 adresleri \u00e7ok daha geni\u015f bir adres alan\u0131na sahip oldu\u011fu i\u00e7in maskeleme genellikle <strong>ilk 48 veya 64 biti koruyup kalan\u0131n\u0131 s\u0131f\u0131rlamak<\/strong> \u015feklinde yap\u0131l\u0131r:<\/p>\n<ul>\n<li>\/64 maskeleme: 2001:db8:abcd:1234:5678:90ab:cdef:0001 \u2192 2001:db8:abcd:1234::<\/li>\n<li>\/48 maskeleme: 2001:db8:abcd:1234:5678:90ab:cdef:0001 \u2192 2001:db8:abcd::<\/li>\n<\/ul>\n<p>Bu sayede ayn\u0131 a\u011f blo\u011fundan gelen trafi\u011fi g\u00f6rebilir, ama tekil cihaz\u0131 do\u011frudan te\u015fhis etmeyi zorla\u015ft\u0131r\u0131rs\u0131n\u0131z. IPv6 taraf\u0131n\u0131 ihmal etmemek \u00f6nemli; bir\u00e7ok ortamda sadece IPv4 i\u00e7in maskeleme yap\u0131l\u0131p IPv6 tamamen unutuluyor.<\/p>\n<h2><span id=\"Apache_ve_Nginxte_Gercek_Zamanli_IP_Maskeleme\">Apache ve Nginx\u2019te Ger\u00e7ek Zamanl\u0131 IP Maskeleme<\/span><\/h2>\n<p>En sa\u011fl\u0131kl\u0131 y\u00f6ntem, log anonimle\u015ftirmeyi <strong>kaynakta<\/strong> yapmak, yani web sunucusunun log\u2019a yazd\u0131\u011f\u0131 sat\u0131r\u0131 en ba\u015fta maskelemeden ge\u00e7irmesidir. B\u00f6ylece disk \u00fczerinde hi\u00e7bir zaman &#8220;ham&#8221; IP tutulmam\u0131\u015f olur.<\/p>\n<h3><span id=\"Apache_icin_Yaklasim\">Apache i\u00e7in Yakla\u015f\u0131m<\/span><\/h3>\n<p>Apache\u2019de <code>LogFormat<\/code> direktifiyle custom bir format tan\u0131mlayabilir ve IP yerine maskeleme mant\u0131\u011f\u0131 kurabilirsiniz. Basit bir \u00f6rnek; IP\u2019nin son oktetini s\u0131f\u0131rlamak yerine, <code>mod_remoteip<\/code> ve \u00e7evre de\u011fi\u015fkenleriyle iste\u011fi bir ara katmandan ge\u00e7irip maskelemek m\u00fcmk\u00fcnd\u00fcr. \u00d6rne\u011fin bir reverse proxy veya WAF taraf\u0131nda <code>X-Forwarded-For<\/code> yerine zaten maskeli IP yazd\u0131rabilirsiniz. Apache taraf\u0131nda ise:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">LogFormat &quot;%a %l %u %t &quot;%r&quot; %&gt;s %b &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot;&quot; combined<\/code><\/pre>\n<p>Burada <code>%a<\/code> gelen IP\u2019yi temsil eder. E\u011fer \u00f6nde duran bir Nginx reverse proxy\u2019de maskeleme yapar ve Apache\u2019ye sadece maskeli IP\u2019yi ge\u00e7irirseniz, Apache loglar\u0131 otomatik olarak anonim hale gelir.<\/p>\n<h3><span id=\"Nginx_icin_Yaklasim\">Nginx i\u00e7in Yakla\u015f\u0131m<\/span><\/h3>\n<p>Nginx taraf\u0131nda daha esnek bir yap\u0131 kurabilirsiniz. IP maskeleme i\u00e7in <code>map<\/code> ve <code>log_format<\/code> kombinasyonu olduk\u00e7a i\u015fe yarar. Basitle\u015ftirilmi\u015f bir \u00f6rnek:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">map $remote_addr $masked_ip {\n    ~^(?&lt;a&gt;d+.d+.d+).d+$  $a.0;   # IPv4 i\u00e7in son okteti 0'la\n    ~^(?&lt;a&gt;[0-9a-fA-F:]+):[0-9a-fA-F]+$  $a::; # IPv6 i\u00e7in son k\u0131sm\u0131 :: yap\n    default  $remote_addr;\n}\n\nlog_format anonymized '$masked_ip - $remote_user [$time_local] '\n                    '&quot;$request&quot; $status $body_bytes_sent '\n                    '&quot;$http_referer&quot; &quot;$http_user_agent&quot;';\n\naccess_log \/var\/log\/nginx\/access_anonymized.log anonymized;<\/code><\/pre>\n<p>Bu \u00f6rnekte:<\/p>\n<ul>\n<li><code>$remote_addr<\/code>\u2019\u0131 regex ile par\u00e7alayarak <code>$masked_ip<\/code> isimli yeni bir de\u011fi\u015fkene d\u00f6n\u00fc\u015ft\u00fcr\u00fcyoruz<\/li>\n<li><code>log_format<\/code> i\u00e7inde ham IP yerine <code>$masked_ip<\/code> kullan\u0131yoruz<\/li>\n<li>Sonu\u00e7: Diskte <strong>hi\u00e7bir zaman<\/strong> ham IP saklanm\u0131yor<\/li>\n<\/ul>\n<p>Benzer yakla\u015f\u0131m\u0131 <a href=\"https:\/\/www.dchost.com\/blog\/nginx-reverse-proxy-ve-basit-load-balancer-kurulumu-kucuk-projeler-icin-uygulamali-rehber\/\">Nginx reverse proxy mimariniz<\/a> i\u00e7inde de kullanabilirsiniz; \u00f6nde duran Nginx, arkadaki t\u00fcm uygulamalara sadece maskelemi\u015f adresleri ge\u00e7irebilir.<\/p>\n<h2><span id=\"Pseudonymization_ile_Kullanici_Takibi_ve_Gizlilik_Dengesi\">Pseudonymization ile Kullan\u0131c\u0131 Takibi ve Gizlilik Dengesi<\/span><\/h2>\n<p>Baz\u0131 projelerde IP\u2019yi tamamen anonimle\u015ftirmek yeterli gelmez; \u00f6zellikle g\u00fcvenlik analizi, fraud tespiti veya oran s\u0131n\u0131rlama (rate limiting) gibi senaryolarda ayn\u0131 kullan\u0131c\u0131n\u0131n davran\u0131\u015f\u0131n\u0131 bir s\u00fcre takip etmek istersiniz. Burada <strong>pseudonymization<\/strong> devreye girer.<\/p>\n<p>Basit bir strateji \u015f\u00f6yle olabilir:<\/p>\n<ul>\n<li>IP adresi + g\u00fcn (veya saat) bilgisini birle\u015ftirin: <code>192.0.2.45|2024-06-18<\/code><\/li>\n<li>Buna g\u00fc\u00e7l\u00fc bir salt ekleyip SHA-256 ile hash\u2019leyin<\/li>\n<li>Logs\u2019a bu hash de\u011ferini &#8220;client_id&#8221; olarak yaz\u0131n, ham IP\u2019yi hi\u00e7 tutmay\u0131n<\/li>\n<\/ul>\n<p>B\u00f6ylece:<\/p>\n<ul>\n<li>Ayn\u0131 g\u00fcn i\u00e7inde gelen isteklerin ayn\u0131 &#8220;client_id&#8221; ile geldi\u011fini g\u00f6r\u00fcr, sald\u0131r\u0131 tespiti yapabilirsiniz<\/li>\n<li>Salt sadece g\u00fcvenli bir ortamda tutuldu\u011fu i\u00e7in log s\u0131zsa bile do\u011frudan IP\u2019ye geri d\u00f6nmek zordur<\/li>\n<li>Salt\u2019\u0131 periyodik de\u011fi\u015ftirerek riskinizi daha da azalt\u0131rs\u0131n\u0131z<\/li>\n<\/ul>\n<p>Burada kilit soru: Salt\u2019\u0131 nerede ve ne kadar s\u00fcre sakl\u0131yorsunuz? E\u011fer salt kal\u0131c\u0131 ve eri\u015filebilir durumdaysa, denetim makamlar\u0131 bu veriyi h\u00e2l\u00e2 ki\u015fisel veri olarak de\u011ferlendirecektir. Bu nedenle pseudonymization\u2019\u0131 &#8220;risk azalt\u0131c\u0131 ama h\u00e2l\u00e2 koruma gerektiren&#8221; bir katman olarak d\u00fc\u015f\u00fcnmek do\u011fru olur.<\/p>\n<h2><span id=\"Hangi_Hosting_Loglarinda_Anonimlestirme_Gerekir\">Hangi Hosting Loglar\u0131nda Anonimle\u015ftirme Gerekir?<\/span><\/h2>\n<p>DCHost ortamlar\u0131nda en s\u0131k kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z log t\u00fcrlerini ve tipik KVKK\/GDPR riskini kabaca a\u015fa\u011f\u0131daki gibi \u00f6zetleyebiliriz.<\/p>\n<table border=\"1\" cellpadding=\"6\" cellspacing=\"0\">\n<thead>\n<tr>\n<th>Log T\u00fcr\u00fc<\/th>\n<th>\u00d6rnek Kaynak<\/th>\n<th>Tipik Ki\u015fisel Veriler<\/th>\n<th>\u00d6nerilen Yakla\u015f\u0131m<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Web eri\u015fim loglar\u0131<\/td>\n<td>Apache, Nginx<\/td>\n<td>IP, URL, \u00e7erez ID, user-agent<\/td>\n<td>Kaynakta IP maskeleme + gerekiyorsa pseudonymization<\/td>\n<\/tr>\n<tr>\n<td>Web hata loglar\u0131<\/td>\n<td>Apache, Nginx, uygulama<\/td>\n<td>Query string, form verileri<\/td>\n<td>Hata mesajlar\u0131nda PII\u2019yi asla loglama, filtre katman\u0131<\/td>\n<\/tr>\n<tr>\n<td>Uygulama loglar\u0131<\/td>\n<td>PHP, Node.js, Laravel, WordPress eklentileri<\/td>\n<td>Kullan\u0131c\u0131 ID, e-posta, token, IP<\/td>\n<td>PII loglamay\u0131 tasar\u0131mdan yasakla, gerekirse hash\u2019le<\/td>\n<\/tr>\n<tr>\n<td>Mail loglar\u0131<\/td>\n<td>Postfix, Exim vb.<\/td>\n<td>G\u00f6nderen\/al\u0131c\u0131 adresi, IP<\/td>\n<td>Zorunlu saklama + k\u0131s\u0131tl\u0131 eri\u015fim, s\u00fcrelere dikkat<\/td>\n<\/tr>\n<tr>\n<td>Sistem \/ auth loglar\u0131<\/td>\n<td>syslog, journal, auth.log<\/td>\n<td>Kullan\u0131c\u0131 adlar\u0131, IP, komutlar<\/td>\n<td>Yetkiyi k\u0131s\u0131tla, saklama s\u00fcresini k\u0131sa tut<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u00d6zellikle web eri\u015fim loglar\u0131 i\u00e7in IP maskeleme ve uygulama loglar\u0131 i\u00e7in ki\u015fisel veri loglamama prensibi en kritik iki ad\u0131m. E-posta ve kimlik do\u011frulama loglar\u0131 ise \u00e7o\u011fu zaman yasal ve operasyonel gereklilikler nedeniyle bir s\u00fcre ham veri i\u00e7ermek zorunda; bu durumda <strong>s\u00fcre, eri\u015fim ve \u015fifreleme<\/strong> taraf\u0131n\u0131 s\u0131k\u0131 tutmak gerekir. Bu konuda detayl\u0131 \u00f6rnekleri <a href=\"https:\/\/www.dchost.com\/blog\/hosting-ve-e-posta-altyapisinda-log-saklama-sureleri\/\">hosting ve e-posta altyap\u0131s\u0131nda log saklama s\u00fcreleri<\/a> yaz\u0131m\u0131zda daha ayr\u0131nt\u0131l\u0131 anlatt\u0131k.<\/p>\n<h2><span id=\"Log_Saklama_Sureleri_Yedekler_ve_KVKKGDPR_Dengesi\">Log Saklama S\u00fcreleri, Yedekler ve KVKK\/GDPR Dengesi<\/span><\/h2>\n<p>Anonimle\u015ftirme tek ba\u015f\u0131na yeterli de\u011fil; <strong>saklama s\u00fcresi<\/strong> do\u011fru kurgulanmam\u0131\u015fsa yine sorun ya\u015fan\u0131r. KVKK ve GDPR\u2019da &#8220;gere\u011finden uzun s\u00fcre saklamama&#8221; ilkesi \u00e7ok a\u00e7\u0131k. Pratikte DCHost m\u00fc\u015fterileriyle kurdu\u011fumuz tipik \u00e7er\u00e7eve \u015f\u00f6yle oluyor:<\/p>\n<ul>\n<li><strong>Ham (anonimle\u015ftirilmemi\u015f) loglar:<\/strong> 7\u201330 g\u00fcn aras\u0131, sadece g\u00fcvenlik ve hata analizi i\u00e7in<\/li>\n<li><strong>Anonimle\u015ftirilmi\u015f loglar:<\/strong> 6\u201312 ay aras\u0131, kapasite planlama, raporlama ve istatistik i\u00e7in<\/li>\n<li><strong>\u00d6zet istatistikler:<\/strong> S\u00fcresiz, art\u0131k ki\u015fisel veri i\u00e7ermeyecek \u015fekilde<\/li>\n<\/ul>\n<p>Bu ayr\u0131m\u0131 uygulayabilmek i\u00e7in log pipeline\u2019\u0131n\u0131z\u0131 iki katmanl\u0131 d\u00fc\u015f\u00fcnmeniz gerekir: \u00d6nce ham loglar toplan\u0131r, ikinci katmanda anonimle\u015ftirme\/pseudonymization yap\u0131l\u0131r, \u00fc\u00e7\u00fcnc\u00fc katmanda ise sadece anonim veya \u00f6zet veri daha uzun s\u00fcre saklan\u0131r. Bu stratejinin yedeklerle de uyumlu olmas\u0131 \u015fart; <a href=\"https:\/\/www.dchost.com\/blog\/yedek-saklama-suresi-nasil-belirlenir-kvkk-gdpr-ve-maliyet-dengesi\/\">yedek saklama s\u00fcresi nas\u0131l belirlenir<\/a> rehberinde bu dengeyi ayr\u0131nt\u0131l\u0131 i\u015fledik.<\/p>\n<p>Unutmay\u0131n: Log dosyalar\u0131n\u0131z\u0131n kopyalar\u0131 yedeklerin i\u00e7inde de ya\u015fayabilir. Yani prod sunucuda 30 g\u00fcnde sildi\u011finiz bir log, 1 y\u0131l saklanan tam yedeklerin i\u00e7inde kalmaya devam edebilir. Bu y\u00fczden yedek stratejinizde de loglar\u0131n saklama s\u00fcresini ve anonimle\u015ftirme durumunu dikkate alman\u0131z gerekir.<\/p>\n<h2><span id=\"Merkezi_Loglama_ve_Anonimlestirme_Katmanini_Nereye_Koymali\">Merkezi Loglama ve Anonimle\u015ftirme Katman\u0131n\u0131 Nereye Koymal\u0131?<\/span><\/h2>\n<p>Tek bir <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a> ile s\u0131n\u0131rl\u0131 de\u011filseniz ve \u00e7ok sunuculu bir mimaride \u00e7al\u0131\u015f\u0131yorsan\u0131z, loglar\u0131n\u0131z\u0131 genellikle merkezi bir sisteme ta\u015f\u0131yorsunuzdur: ELK, Loki, Prometheus, vs. Bu durumda anonimle\u015ftirme katman\u0131n\u0131 nereye koydu\u011funuz kritik hale gelir.<\/p>\n<ul>\n<li><strong>Kaynakta anonimle\u015ftirme:<\/strong> Her sunucuda Nginx\/Apache\/uygulama, log\u2019a yazmadan \u00f6nce IP\u2019yi maske veya hash\u2019ler<\/li>\n<li><strong>Ta\u015f\u0131ma katman\u0131nda anonimle\u015ftirme:<\/strong> rsyslog, Filebeat, Promtail gibi ajanlar logu merkezi sisteme g\u00f6ndermeden \u00f6nce filtre uygular<\/li>\n<li><strong>Merkezde anonimle\u015ftirme:<\/strong> Logstash, Loki pipeline vb. gelen log\u2019u indexlemeden \u00f6nce temizler<\/li>\n<\/ul>\n<p>DCHost olarak pratikte tavsiyemiz: <strong>kritik ki\u015fisel veriyi kayna\u011fa en yak\u0131n noktada temizlemek<\/strong>. B\u00f6ylece hem disk, hem network, hem de merkezi log sisteminizde ham veri dola\u015fmam\u0131\u015f olur. <a href=\"https:\/\/www.dchost.com\/blog\/birden-fazla-sunucuda-log-yonetimi-elk-ve-loki-stack-ile-merkezi-hosting-loglama\/\">Birden fazla sunucuda merkezi loglama<\/a> ve <a href=\"https:\/\/www.dchost.com\/blog\/vps-log-yonetimi-nasil-rayina-oturur-grafana-loki-promtail-ile-merkezi-loglama-tutma-sureleri-ve-alarm-kurallari\/\">VPS log y\u00f6netimi i\u00e7in Loki + Promtail<\/a> rehberlerimizde bu mimarinin teknik ayr\u0131nt\u0131lar\u0131n\u0131 ad\u0131m ad\u0131m anlatt\u0131k.<\/p>\n<h2><span id=\"Linux_Sunucularda_Adim_Adim_Log_Anonimlestirme_Plani\">Linux Sunucularda Ad\u0131m Ad\u0131m Log Anonimle\u015ftirme Plan\u0131<\/span><\/h2>\n<p>Teoriyi bir kenara b\u0131rak\u0131p pratik bir yol haritas\u0131 \u00e7\u0131karal\u0131m. DCHost \u00fczerinde kendi VPS\u2019inizde veya <a href=\"https:\/\/www.dchost.com\/tr\/fiziksel-sunucu\">dedicated sunucu<\/a>nuzda uygulayabilece\u011finiz tipik bir plan \u015fu \u015fekilde:<\/p>\n<h3><span id=\"1_Log_Envanterini_Cikarin\">1. Log Envanterini \u00c7\u0131kar\u0131n<\/span><\/h3>\n<p>\u00d6nce neyi tuttu\u011funuzu bilin. A\u015fa\u011f\u0131daki sorular\u0131 cevaplayarak ba\u015flay\u0131n:<\/p>\n<ul>\n<li>Hangi servisler log \u00fcretiyor? (web, uygulama, veritaban\u0131, mail, sistem)<\/li>\n<li>Log dosyalar\u0131 nerede, hangi formatta?<\/li>\n<li>Loglarda IP, kullan\u0131c\u0131 ad\u0131, e-posta, telefon, TC kimlik gibi veriler var m\u0131?<\/li>\n<\/ul>\n<p>Bu a\u015famada birka\u00e7 g\u00fcnl\u00fck log \u00f6rne\u011fini al\u0131p, basit grep ve anonimle\u015ftirme kontrolleri yapabilirsiniz. &#8220;@&#8221;, &#8220;+90&#8221;, &#8220;TC&#8221; gibi desenler \u00fczerinden tarama yapmak i\u015fe yarar.<\/p>\n<h3><span id=\"2_Kisisel_Veriyi_Siniflandirin\">2. Ki\u015fisel Veriyi S\u0131n\u0131fland\u0131r\u0131n<\/span><\/h3>\n<p>Buldu\u011funuz veriyi \u00fc\u00e7 seviyeye ay\u0131r\u0131n:<\/p>\n<ul>\n<li><strong>Kritik PII:<\/strong> TC kimlik, telefon, adres, e-posta gibi a\u00e7\u0131k kimlik verileri<\/li>\n<li><strong>Dolayl\u0131 PII:<\/strong> IP, \u00e7erez ID\u2019si, kullan\u0131c\u0131 ajan\u0131, benzersiz cihaz ID\u2019leri<\/li>\n<li><strong>Teknik veri:<\/strong> HTTP durum kodu, response byte, query s\u00fcresi vb.<\/li>\n<\/ul>\n<p>Hedefiniz: Kritik PII\u2019yi loglardan tamamen \u00e7\u0131karmak, dolayl\u0131 PII\u2019yi ise maskeleme veya pseudonymization ile riskini d\u00fc\u015f\u00fcrmek.<\/p>\n<h3><span id=\"3_Saklama_Politikasi_Olusturun\">3. Saklama Politikas\u0131 Olu\u015fturun<\/span><\/h3>\n<p>Her log t\u00fcr\u00fc i\u00e7in saklama s\u00fcresini ve anonimle\u015ftirme zaman\u0131n\u0131 belirleyin. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>access.log (ham): 14 g\u00fcn, sonra sil veya anonimle\u015ftir<\/li>\n<li>access_anonymized.log: 6 ay<\/li>\n<li>error.log: 30 g\u00fcn, kritik PII yoksa 3 aya kadar uzat\u0131labilir<\/li>\n<\/ul>\n<p>Bu politikan\u0131n yedek ve ar\u015fivlerinizle de tutarl\u0131 olmas\u0131 gerekir. Gerekirse iki a\u015famal\u0131 logrotate senaryosu kurgulayabilirsiniz: \u00f6nce lokal dosyada k\u0131saltma, sonra merkezi sistemde toplu silme.<\/p>\n<h3><span id=\"4_Web_Sunucusunda_IP_Maskeleme_Kurun\">4. Web Sunucusunda IP Maskeleme Kurun<\/span><\/h3>\n<p>\u00d6nce en riskli ve en hacimli kaynaktan ba\u015flay\u0131n: web eri\u015fim loglar\u0131. Yukar\u0131da verdi\u011fimiz Nginx map\/log_format \u00f6rne\u011fini kendi ortam\u0131n\u0131za uyarlayarak maskeli bir <code>access_anonymized.log<\/code> \u00fcretin. Apache taraf\u0131nda ise ya \u00f6nde duran bir Nginx reverse proxy ile maskeli IP ge\u00e7in ya da logging\u2019i tamamen uygulama katman\u0131na ta\u015f\u0131y\u0131n.<\/p>\n<p>WordPress, Laravel gibi uygulamalarda kulland\u0131\u011f\u0131n\u0131z eri\u015fim loglamay\u0131 (\u00f6rne\u011fin Laravel request logging) g\u00f6zden ge\u00e7irip, IP ve kullan\u0131c\u0131 kimliklerini do\u011frudan loglamamaya dikkat edin. Bu t\u00fcr framework bazl\u0131 g\u00fcvenlik sertle\u015ftirmesini merak ediyorsan\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/wordpress-guvenlik-sertlestirme-kontrol-listesi-dosya-izinleri-salt-keys-xml-rpc-ufw-fail2ban-nasil-tatli-tatli-kurulur\/\">WordPress g\u00fcvenlik sertle\u015ftirme kontrol listesi<\/a> yaz\u0131m\u0131za da g\u00f6z atabilirsiniz.<\/p>\n<h3><span id=\"5_Uygulama_Loglarini_Temizleyin\">5. Uygulama Loglar\u0131n\u0131 Temizleyin<\/span><\/h3>\n<p>KVKK ve GDPR ihlallerinin \u00f6nemli bir k\u0131sm\u0131, uygulama geli\u015ftiricilerin &#8220;debug i\u00e7in her \u015feyi loglayal\u0131m&#8221; yakla\u015f\u0131m\u0131ndan kaynaklan\u0131yor. \u00d6zellikle:<\/p>\n<ul>\n<li>Login\/register formlar\u0131nda girilen e-posta ve telefonlar<\/li>\n<li>\u00d6deme hatalar\u0131nda kart veya isim bilgileri<\/li>\n<li>API hatalar\u0131nda t\u00fcm request g\u00f6vdesini loglayan middleware\u2019ler<\/li>\n<\/ul>\n<p>\u00dcretim ortam\u0131nda bu verilerin log\u2019lanmas\u0131n\u0131 tamamen kapat\u0131n. Debug ama\u00e7l\u0131 tam g\u00f6vde loglamak gerekiyorsa, bunu sadece k\u0131sa s\u00fcreli, izole bir staging ortam\u0131nda yap\u0131n ve loglar\u0131 h\u0131zla silin.<\/p>\n<h3><span id=\"6_Merkezi_Log_Pipelineina_Filtre_Ekleyin\">6. Merkezi Log Pipeline\u2019\u0131na Filtre Ekleyin<\/span><\/h3>\n<p>Grafana Loki, Elasticsearch veya benzeri bir merkezi loglama kullan\u0131yorsan\u0131z, ingest katman\u0131nda ek filtreler tan\u0131mlay\u0131n. \u00d6rne\u011fin Promtail\u2019de belirli regex desenlerine uyan alanlar\u0131 kald\u0131rabilir veya maskeleyebilirsiniz. Ayn\u0131 \u015fekilde rsyslog ile gelen sat\u0131rlarda IP alan\u0131n\u0131 regex ile de\u011fi\u015ftirip sonra uzak sunucuya forward etmek de m\u00fcmk\u00fcn.<\/p>\n<p>B\u00f6ylece masa\u00fcst\u00fcn\u00fczde a\u00e7t\u0131\u011f\u0131n\u0131z bir Grafana tablosunda hi\u00e7bir zaman ham IP veya hassas ki\u015fisel veri g\u00f6rmemi\u015f olursunuz; bu da ekran payla\u015f\u0131m\u0131, ekran g\u00f6r\u00fcnt\u00fcs\u00fc vb. riskleri de azalt\u0131r.<\/p>\n<h3><span id=\"7_Test_Dokumantasyon_ve_Denetim_Hazirligi\">7. Test, Dok\u00fcmantasyon ve Denetim Haz\u0131rl\u0131\u011f\u0131<\/span><\/h3>\n<p>Yap\u0131land\u0131rmalar\u0131 devreye almadan \u00f6nce mutlaka:<\/p>\n<ul>\n<li>Eski ve yeni loglar\u0131 kar\u015f\u0131la\u015ft\u0131r\u0131n (\u00f6rne\u011fin ayn\u0131 iste\u011fin iki log\u2019undaki IP fark\u0131n\u0131 g\u00f6r\u00fcn)<\/li>\n<li>Denetim s\u0131ras\u0131nda g\u00f6sterebilece\u011finiz k\u0131sa bir dok\u00fcmantasyon haz\u0131rlay\u0131n: &#8220;web eri\u015fim loglar\u0131nda IP \u015fu \u015fekilde maskelenir, ham loglar X g\u00fcn saklan\u0131r&#8221; gibi<\/li>\n<li>\u0130\u00e7 prosed\u00fcrlerinize log anonimle\u015ftirme ve saklama s\u00fcresi politikas\u0131n\u0131 dahil edin<\/li>\n<\/ul>\n<p>B\u00f6yle bir dok\u00fcmantasyon, olas\u0131 bir veri ihlali veya otorite denetiminde elinizi \u00e7ok g\u00fc\u00e7lendirir.<\/p>\n<h2><span id=\"DCHost_Altyapisinda_Log_Anonimlestirme_Icin_Onerdigimiz_Mimari\">DCHost Altyap\u0131s\u0131nda Log Anonimle\u015ftirme \u0130\u00e7in \u00d6nerdi\u011fimiz Mimari<\/span><\/h2>\n<p>DCHost olarak hem <a href=\"https:\/\/www.dchost.com\/tr\/web-hosting\">payla\u015f\u0131ml\u0131 hosting<\/a> hem de VPS\/dedicated\/colocation taraf\u0131nda loglar\u0131 g\u00fcvenlik, performans ve mevzuat gereklilikleri aras\u0131nda dengelemeye \u00e7al\u0131\u015f\u0131yoruz. Genel yakla\u015f\u0131m\u0131m\u0131z \u015f\u00f6yle:<\/p>\n<ul>\n<li>Payla\u015f\u0131ml\u0131 hosting ortamlar\u0131nda, g\u00fcvenlik ve performans analizi i\u00e7in gerekli minimum ham log tutulur, eri\u015fim s\u0131k\u0131 \u015fekilde s\u0131n\u0131rland\u0131r\u0131l\u0131r<\/li>\n<li>VPS ve dedicated sunucu kullanan m\u00fc\u015fterilerimize, log pipeline\u2019\u0131n\u0131 tamamen kendilerine g\u00f6re tasarlayabilecekleri esnek bir ortam sunar\u0131z<\/li>\n<li>\u0130steyen m\u00fc\u015fteriler i\u00e7in, kendi VPS\u2019leri \u00fczerinde Grafana Loki + Promtail veya ELK tabanl\u0131 merkezi loglama mimarisini kurma ve IP maskeleme\/pseudonymization katman\u0131n\u0131 birlikte tasarlama konusunda destek veririz<\/li>\n<\/ul>\n<p>\u00d6zellikle \u00e7ok sunuculu mimarilerde, log anonimle\u015ftirme stratejinizi hosting mimarinizle birlikte yeniden d\u00fc\u015f\u00fcnmek istiyorsan\u0131z, bizimle \u00e7al\u0131\u015f\u0131rken &#8220;log saklama s\u00fcresi, anonimle\u015ftirme noktas\u0131 ve merkezi log yap\u0131s\u0131&#8221; \u00fc\u00e7l\u00fcs\u00fcn\u00fc tek seferde planlamak \u00e7ok daha sa\u011fl\u0131kl\u0131 oluyor.<\/p>\n<h2><span id=\"Sik_Yapilan_Hatalar_ve_Denetimlerde_Karsimiza_Cikan_Senaryolar\">S\u0131k Yap\u0131lan Hatalar ve Denetimlerde Kar\u015f\u0131m\u0131za \u00c7\u0131kan Senaryolar<\/span><\/h2>\n<p>Son olarak sahada en \u00e7ok g\u00f6rd\u00fc\u011f\u00fcm\u00fcz hatalar\u0131 toparlayal\u0131m. Bunlar\u0131n \u00e7o\u011fu k\u00fc\u00e7\u00fck gibi g\u00f6r\u00fcnse de KVKK\/GDPR perspektifinden ciddi risk yaratabiliyor:<\/p>\n<ul>\n<li><strong>access.log i\u00e7inde tam IP + kullan\u0131c\u0131 ad\u0131 + e-posta<\/strong> kombinasyonunu uzun s\u00fcre saklamak<\/li>\n<li>\u00d6deme veya destek formlar\u0131ndaki t\u00fcm alanlar\u0131 debug modunda loglay\u0131p, flag\u2019i unutmak<\/li>\n<li>Uygulama token\u2019lar\u0131n\u0131 (JWT, session ID) loglara oldu\u011fu gibi yazmak<\/li>\n<li>Logrotate yap\u0131land\u0131rmas\u0131n\u0131 ihmal edip, y\u0131llanm\u0131\u015f log dosyalar\u0131n\u0131 ayn\u0131 dizinde tutmak<\/li>\n<li>Yedekleri planlarken loglar\u0131n i\u00e7eri\u011fini hi\u00e7 hesaba katmamak<\/li>\n<li>Geli\u015ftirme ortamlar\u0131nda ger\u00e7ek \u00fcretim verisiyle test yapmak ve bu ortamlar\u0131n loglar\u0131n\u0131 temizlememek<\/li>\n<\/ul>\n<p>Denetim veya ihlal incelemelerinde ilk bak\u0131lan yerlerden biri log dosyalar\u0131 oluyor. \u0130hlal tespit edilirken loglara bakmak zorunda kalmak, ama ayn\u0131 loglar\u0131n i\u00e7inde fazlas\u0131yla ki\u015fisel veri g\u00f6rmek \u00e7o\u011fu zaman cezay\u0131 b\u00fcy\u00fcten etkenlerden biri haline geliyor.<\/p>\n<h2><span id=\"Sonuc_Loglarinizi_Susturmayin_Dogru_Konusturun\">Sonu\u00e7: Loglar\u0131n\u0131z\u0131 Susturmay\u0131n, Do\u011fru Konu\u015fturun<\/span><\/h2>\n<p>Loglar\u0131 tamamen kapatmak, KVKK ve GDPR riskini s\u0131f\u0131rlamaz; sadece sizi k\u00f6r b\u0131rak\u0131r. As\u0131l ama\u00e7, loglar\u0131 <strong>ihtiyac\u0131n\u0131z oldu\u011fu kadar detayl\u0131<\/strong> ama <strong>gerekenden fazla ki\u015fisel veri i\u00e7ermeyecek \u015fekilde<\/strong> tasarlamakt\u0131r. IP maskeleme, pseudonymization, saklama s\u00fcresi planlamas\u0131 ve merkezi log mimarisi bu denklemin ana par\u00e7alar\u0131.<\/p>\n<p>DCHost olarak biz, loglar\u0131n\u0131z\u0131 hem g\u00fcvenlik ve performans i\u00e7in etkin \u015fekilde kullanabildi\u011finiz, hem de KVKK ve GDPR beklentilerine uyumlu kalabildi\u011finiz bir altyap\u0131y\u0131 kurman\u0131za yard\u0131mc\u0131 oluyoruz. \u0130ster tek bir Linux VPS, ister \u00e7ok sunuculu bir mimari \u00fczerinde olun; log envanterinizi \u00e7\u0131kar\u0131p anonimle\u015ftirme stratejinizi netle\u015ftirmek i\u00e7in bug\u00fcnden ba\u015flamak en sa\u011fl\u0131kl\u0131s\u0131. \u00d6zellikle KVKK ve GDPR uyumlu hosting, log saklama s\u00fcreleri ve merkezi loglama mimarisi hakk\u0131nda daha derin teknik rehberler ar\u0131yorsan\u0131z, ilgili yaz\u0131lar\u0131m\u0131z\u0131 inceleyebilir ve ihtiya\u00e7 duydu\u011funuz noktada DCHost ekibiyle do\u011frudan ileti\u015fime ge\u00e7ebilirsiniz.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Loglar teknik ekipler i\u00e7in hayati: performans analizi, sald\u0131r\u0131 tespiti, hata ay\u0131klama, kapasite planlama\u2026 Ancak KVKK ve GDPR ile birlikte loglar art\u0131k sadece teknik bir ara\u00e7 de\u011fil, ayn\u0131 zamanda ki\u015fisel veri i\u00e7eren birer hukuki risk alan\u0131. \u00d6zellikle IP adresleri, \u00e7erez kimlikleri, kullan\u0131c\u0131 ajanlar\u0131 ve istek URL\u2019leri yanl\u0131\u015f kurgulanm\u0131\u015f bir log mimarisinde do\u011frudan ki\u015fisel veri kategorisine giriyor. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3684,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-3683","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=3683"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3683\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/3684"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=3683"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=3683"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=3683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}