{"id":3418,"date":"2025-12-26T17:16:49","date_gmt":"2025-12-26T14:16:49","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/hacked-php-sitelerini-temizleme-rehberi-backdoor-tespiti-tarama-ve-guvenli-tasima\/"},"modified":"2025-12-26T17:16:49","modified_gmt":"2025-12-26T14:16:49","slug":"hacked-php-sitelerini-temizleme-rehberi-backdoor-tespiti-tarama-ve-guvenli-tasima","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/hacked-php-sitelerini-temizleme-rehberi-backdoor-tespiti-tarama-ve-guvenli-tasima\/","title":{"rendered":"Hacked PHP Sitelerini Temizleme Rehberi: Backdoor Tespiti, Tarama ve G\u00fcvenli Ta\u015f\u0131ma"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Neden_Hacked_PHP_Sitelerini_Temizlemek_Zorlasti\"><span class=\"toc_number toc_depth_1\">1<\/span> Neden Hacked PHP Sitelerini Temizlemek Zorla\u015ft\u0131?<\/a><\/li><li><a href=\"#1_Ilk_Tepki_Panik_Yapmadan_Hasari_Sinirlama\"><span class=\"toc_number toc_depth_1\">2<\/span> 1. \u0130lk Tepki: Panik Yapmadan Hasar\u0131 S\u0131n\u0131rlama<\/a><ul><li><a href=\"#11_Hemen_Yapmaniz_Gerekenler\"><span class=\"toc_number toc_depth_2\">2.1<\/span> 1.1. Hemen Yapman\u0131z Gerekenler<\/a><\/li><li><a href=\"#12_Siteyi_Tamamen_Kapatmali_miyim\"><span class=\"toc_number toc_depth_2\">2.2<\/span> 1.2. Siteyi Tamamen Kapatmal\u0131 m\u0131y\u0131m?<\/a><\/li><\/ul><\/li><li><a href=\"#2_Hacked_PHP_Sitenin_Belirtileri_ve_Ilk_Analiz\"><span class=\"toc_number toc_depth_1\">3<\/span> 2. Hacked PHP Sitenin Belirtileri ve \u0130lk Analiz<\/a><ul><li><a href=\"#21_Saldiri_Gercekten_Var_mi_Nasil_Anlariz\"><span class=\"toc_number toc_depth_2\">3.1<\/span> 2.1. Sald\u0131r\u0131 Ger\u00e7ekten Var m\u0131, Nas\u0131l Anlar\u0131z?<\/a><\/li><li><a href=\"#22_Loglar_Uzerinden_Ilk_Izler\"><span class=\"toc_number toc_depth_2\">3.2<\/span> 2.2. Loglar \u00dczerinden \u0130lk \u0130zler<\/a><\/li><\/ul><\/li><li><a href=\"#3_Backdoor_Tespiti_Sadece_Gorunen_Zararli_Kod_Yetmez\"><span class=\"toc_number toc_depth_1\">4<\/span> 3. Backdoor Tespiti: Sadece G\u00f6r\u00fcnen Zararl\u0131 Kod Yetmez<\/a><ul><li><a href=\"#31_Backdoor_Nedir_Neden_Bu_Kadar_Tehlikeli\"><span class=\"toc_number toc_depth_2\">4.1<\/span> 3.1. Backdoor Nedir, Neden Bu Kadar Tehlikeli?<\/a><\/li><li><a href=\"#32_Tipik_PHP_Backdoor_Imzalari\"><span class=\"toc_number toc_depth_2\">4.2<\/span> 3.2. Tipik PHP Backdoor \u0130mzalar\u0131<\/a><\/li><li><a href=\"#33_SSH_Uzerinden_Dosya_Sistemi_Taramasi\"><span class=\"toc_number toc_depth_2\">4.3<\/span> 3.3. SSH \u00dczerinden Dosya Sistemi Taramas\u0131<\/a><\/li><li><a href=\"#34_FTPSFTP_ile_Indirip_Yerelde_Tarama\"><span class=\"toc_number toc_depth_2\">4.4<\/span> 3.4. FTP\/SFTP ile \u0130ndirip Yerelde Tarama<\/a><\/li><\/ul><\/li><li><a href=\"#4_Dosya_Temizligi_Cekirdek_Kodlar_Eklentiler_ve_Ozel_Yazilim\"><span class=\"toc_number toc_depth_1\">5<\/span> 4. Dosya Temizli\u011fi: \u00c7ekirdek Kodlar, Eklentiler ve \u00d6zel Yaz\u0131l\u0131m<\/a><ul><li><a href=\"#41_Temiz_Yedek_Varsa_En_Kolay_Senaryo\"><span class=\"toc_number toc_depth_2\">5.1<\/span> 4.1. Temiz Yedek Varsa: En Kolay Senaryo<\/a><\/li><li><a href=\"#42_CMS_Tabanli_Siteler_Orn_WordPress\"><span class=\"toc_number toc_depth_2\">5.2<\/span> 4.2. CMS Tabanl\u0131 Siteler (\u00d6rn. WordPress)<\/a><\/li><li><a href=\"#43_Ozel_Gelistirilmis_PHP_Uygulamalari\"><span class=\"toc_number toc_depth_2\">5.3<\/span> 4.3. \u00d6zel Geli\u015ftirilmi\u015f PHP Uygulamalar\u0131<\/a><\/li><li><a href=\"#44_Dosya_Izinlerini_Gozden_Gecirin\"><span class=\"toc_number toc_depth_2\">5.4<\/span> 4.4. Dosya \u0130zinlerini G\u00f6zden Ge\u00e7irin<\/a><\/li><\/ul><\/li><li><a href=\"#5_Veritabani_Temizligi_Gizli_Adminler_ve_Enjekte_Icerikler\"><span class=\"toc_number toc_depth_1\">6<\/span> 5. Veritaban\u0131 Temizli\u011fi: Gizli Adminler ve Enjekte \u0130\u00e7erikler<\/a><ul><li><a href=\"#51_Neden_Sadece_Dosyalar_Yetmez\"><span class=\"toc_number toc_depth_2\">6.1<\/span> 5.1. Neden Sadece Dosyalar Yetmez?<\/a><\/li><li><a href=\"#52_Kullanicilar_ve_Roller\"><span class=\"toc_number toc_depth_2\">6.2<\/span> 5.2. Kullan\u0131c\u0131lar ve Roller<\/a><\/li><li><a href=\"#53_Icerik_Alanlarinda_Zararli_Kod_Tespiti\"><span class=\"toc_number toc_depth_2\">6.3<\/span> 5.3. \u0130\u00e7erik Alanlar\u0131nda Zararl\u0131 Kod Tespiti<\/a><\/li><\/ul><\/li><li><a href=\"#6_FTPSSH_Erisim_Loglari_ve_Hesap_Guvenligi\"><span class=\"toc_number toc_depth_1\">7<\/span> 6. FTP\/SSH Eri\u015fim Loglar\u0131 ve Hesap G\u00fcvenli\u011fi<\/a><ul><li><a href=\"#61_Saldirgan_Nereden_Girdi\"><span class=\"toc_number toc_depth_2\">7.1<\/span> 6.1. Sald\u0131rgan Nereden Girdi?<\/a><\/li><li><a href=\"#62_FTPSSH_Loglarini_Inceleme\"><span class=\"toc_number toc_depth_2\">7.2<\/span> 6.2. FTP\/SSH Loglar\u0131n\u0131 \u0130nceleme<\/a><\/li><li><a href=\"#63_Tum_Erisim_Sifrelerini_Sifirlama\"><span class=\"toc_number toc_depth_2\">7.3<\/span> 6.3. T\u00fcm Eri\u015fim \u015eifrelerini S\u0131f\u0131rlama<\/a><\/li><\/ul><\/li><li><a href=\"#7_Guvenli_Tasima_Kirli_Ortamdan_Temiz_Ortama_Gecis\"><span class=\"toc_number toc_depth_1\">8<\/span> 7. G\u00fcvenli Ta\u015f\u0131ma: Kirli Ortamdan Temiz Ortama Ge\u00e7i\u015f<\/a><ul><li><a href=\"#71_Neden_Yeni_Ortama_Tasimak_Bazen_Daha_Mantikli\"><span class=\"toc_number toc_depth_2\">8.1<\/span> 7.1. Neden Yeni Ortama Ta\u015f\u0131mak Bazen Daha Mant\u0131kl\u0131?<\/a><\/li><li><a href=\"#72_Adim_Adim_Guvenli_Tasima_Plani\"><span class=\"toc_number toc_depth_2\">8.2<\/span> 7.2. Ad\u0131m Ad\u0131m G\u00fcvenli Ta\u015f\u0131ma Plan\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#8_Temizlikten_Sonra_Guvenligi_Sertlestirme\"><span class=\"toc_number toc_depth_1\">9<\/span> 8. Temizlikten Sonra G\u00fcvenli\u011fi Sertle\u015ftirme<\/a><ul><li><a href=\"#81_WAF_Web_Uygulama_Guvenlik_Duvari_Kullanimi\"><span class=\"toc_number toc_depth_2\">9.1<\/span> 8.1. WAF (Web Uygulama G\u00fcvenlik Duvar\u0131) Kullan\u0131m\u0131<\/a><\/li><li><a href=\"#82_Guncellemeler_ve_Otomatik_Yama_Stratejisi\"><span class=\"toc_number toc_depth_2\">9.2<\/span> 8.2. G\u00fcncellemeler ve Otomatik Yama Stratejisi<\/a><\/li><li><a href=\"#83_Guvenlik_Check-listi_Olusturun\"><span class=\"toc_number toc_depth_2\">9.3<\/span> 8.3. G\u00fcvenlik Check-list\u2019i Olu\u015fturun<\/a><\/li><\/ul><\/li><li><a href=\"#9_DCHost_Uzerinde_Hacked_PHP_Siteleri_Icin_Pratik_Yol_Haritasi\"><span class=\"toc_number toc_depth_1\">10<\/span> 9. DCHost \u00dczerinde Hacked PHP Siteleri \u0130\u00e7in Pratik Yol Haritas\u0131<\/a><ul><li><a href=\"#91_Ayri_Ortamda_Temizlik\"><span class=\"toc_number toc_depth_2\">10.1<\/span> 9.1. Ayr\u0131 Ortamda Temizlik<\/a><\/li><li><a href=\"#92_Yonetilen_Guvenlik_ve_Izleme\"><span class=\"toc_number toc_depth_2\">10.2<\/span> 9.2. Y\u00f6netilen G\u00fcvenlik ve \u0130zleme<\/a><\/li><\/ul><\/li><li><a href=\"#Sonuc_Tek_Seferlik_Temizlik_Degil_Surekli_Bir_Guvenlik_Kulturu\"><span class=\"toc_number toc_depth_1\">11<\/span> Sonu\u00e7: Tek Seferlik Temizlik De\u011fil, S\u00fcrekli Bir G\u00fcvenlik K\u00fclt\u00fcr\u00fc<\/a><\/li><\/ul><\/div>\n<h2><span id=\"Neden_Hacked_PHP_Sitelerini_Temizlemek_Zorlasti\">Neden Hacked PHP Sitelerini Temizlemek Zorla\u015ft\u0131?<\/span><\/h2>\n<p>Son y\u0131llarda PHP tabanl\u0131 sitelere y\u00f6nelik sald\u0131r\u0131lar \u00e7ok daha sofistike hale geldi. Art\u0131k sald\u0131rganlar sadece ana sayfay\u0131 bozup gitmiyor; sistemin derinliklerine <strong>backdoor<\/strong> (arka kap\u0131) yerle\u015ftirip haftalarca, hatta aylarca fark edilmeden i\u00e7eride kalabiliyor. \u00d6zellikle ajanslarda ve KOB\u0130\u2019lerde, birden fazla sitenin ayn\u0131 hosting hesab\u0131nda tutuldu\u011fu senaryolarda, tek bir hacked site t\u00fcm hesab\u0131 ve markalar\u0131 riske atabiliyor.<\/p>\n<p>Bu rehberde DCHost ekibinde sahada s\u0131k\u00e7a g\u00f6rd\u00fc\u011f\u00fcm\u00fcz vakalardan s\u00fcz\u00fclm\u00fc\u015f, uygulanabilir bir yol haritas\u0131 payla\u015faca\u011f\u0131z. Amac\u0131m\u0131z; panikle her \u015feyi silmek yerine, <strong>sistematik bir \u015fekilde te\u015fhis yapman\u0131z<\/strong>, <strong>backdoor\u2019lar\u0131 bulup temizlemeniz<\/strong> ve sonras\u0131nda sitenizi <strong>g\u00fcvenli bir ortama ta\u015f\u0131man\u0131z<\/strong> i\u00e7in net ad\u0131mlar sunmak. PHP\u2019nin alt\u0131ndaki framework (WordPress, Laravel, kendi yaz\u0131l\u0131m\u0131n\u0131z vb.) de\u011fi\u015febilir; ancak anlataca\u011f\u0131m\u0131z prensipler neredeyse t\u00fcm PHP siteler i\u00e7in ge\u00e7erli.<\/p>\n<p>Ad\u0131mlar\u0131 s\u0131ras\u0131yla uygulad\u0131\u011f\u0131n\u0131zda, sadece mevcut sald\u0131r\u0131y\u0131 temizlemekle kalmayacak, benzer bir sald\u0131r\u0131n\u0131n tekrar ya\u015fanma ihtimalini de ciddi \u015fekilde azaltacaks\u0131n\u0131z. Ayr\u0131ca rehberin sonunda, DCHost altyap\u0131s\u0131nda bu s\u00fcreci nas\u0131l daha g\u00fcvenli ve kontroll\u00fc y\u00f6netebilece\u011finize de de\u011finece\u011fiz.<\/p>\n<h2><span id=\"1_Ilk_Tepki_Panik_Yapmadan_Hasari_Sinirlama\">1. \u0130lk Tepki: Panik Yapmadan Hasar\u0131 S\u0131n\u0131rlama<\/span><\/h2>\n<h3><span id=\"11_Hemen_Yapmaniz_Gerekenler\">1.1. Hemen Yapman\u0131z Gerekenler<\/span><\/h3>\n<p>Sitenizde garip y\u00f6nlendirmeler, SEO spam i\u00e7erikleri, antivir\u00fcs uyar\u0131lar\u0131 veya arama sonu\u00e7lar\u0131nda &#8220;bu site zararl\u0131&#8221; uyar\u0131lar\u0131 g\u00f6rmeye ba\u015flad\u0131ysan\u0131z, muhtemelen sisteminizde k\u00f6t\u00fc ama\u00e7l\u0131 PHP dosyalar\u0131 ve backdoor\u2019lar vard\u0131r. \u0130lk ad\u0131mda \u015fu temel \u00f6nlemleri al\u0131n:<\/p>\n<ul>\n<li><strong>Admin panellerine eri\u015fimi k\u0131s\u0131tlay\u0131n:<\/strong> M\u00fcmk\u00fcnse IP ile k\u0131s\u0131tlama (htaccess, Nginx kural\u0131, panel ayar\u0131) uygulay\u0131n.<\/li>\n<li><strong>\u015eifreleri hemen de\u011fi\u015ftirin:<\/strong> Hosting paneli, FTP\/SFTP, SSH, veritaban\u0131 kullan\u0131c\u0131lar\u0131, CMS admin hesaplar\u0131.<\/li>\n<li><strong>Oturumlar\u0131 sonland\u0131r\u0131n:<\/strong> Admin panelde a\u00e7\u0131k oturumlar\u0131 (session) sonland\u0131ran eklenti\/\u00f6zellik varsa kullan\u0131n.<\/li>\n<li><strong>Yedek al\u0131n ama \u201ctemiz\u201d diye g\u00fcvenmeyin:<\/strong> Mevcut durumu belgelemek ve geri d\u00f6nebilece\u011finiz bir nokta olu\u015fturmak ad\u0131na tam yedek al\u0131n; ancak bu yedekte de backdoor olabilece\u011fini unutmay\u0131n.<\/li>\n<\/ul>\n<p>cPanel kullan\u0131yorsan\u0131z, h\u0131zl\u0131ca sistemli bir yedek almak i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/cpanelde-tum-siteyi-yedekleme-ve-geri-yukleme-rehberi\/\">cPanel\u2019de t\u00fcm siteyi yedekleme rehberimizi<\/a> takip edebilirsiniz. Yedeklerinizin uzun vadede ger\u00e7ekten i\u015finizi g\u00f6rmesi i\u00e7in de <a href=\"https:\/\/www.dchost.com\/blog\/3-2-1-yedekleme-stratejisi-neden-ise-yariyor-cpanel-plesk-ve-vpste-otomatik-yedekleri-nasil-kurarsin\/\">3-2-1 yedekleme stratejisi<\/a>ni mutlaka g\u00f6zden ge\u00e7irin.<\/p>\n<h3><span id=\"12_Siteyi_Tamamen_Kapatmali_miyim\">1.2. Siteyi Tamamen Kapatmal\u0131 m\u0131y\u0131m?<\/span><\/h3>\n<p>E\u011fer siteniz aktif k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131m da\u011f\u0131t\u0131yorsa (taray\u0131c\u0131 uyar\u0131lar\u0131, zararl\u0131 indirmeler, phishing sayfalar\u0131 vb.), en g\u00fcvenli hareket k\u0131sa s\u00fcreli\u011fine yay\u0131ndan almak olabilir. Ancak \u00e7o\u011fu projede bu m\u00fcmk\u00fcn olmad\u0131\u011f\u0131ndan, \u015fu orta yolu \u00f6nerebiliriz:<\/p>\n<ul>\n<li>\u00d6nce admin eri\u015fimlerini k\u0131s\u0131tlay\u0131n.<\/li>\n<li>\u015eifreleri de\u011fi\u015ftirin.<\/li>\n<li>\n    Kod temelli en kritik a\u00e7\u0131klar\u0131 (\u00f6rne\u011fin t\u00fcm <code>wp-config.php<\/code> veya framework yap\u0131land\u0131rma dosyalar\u0131na enjekte edilmi\u015f k\u00f6t\u00fc kod) tespit etti\u011finizde h\u0131zl\u0131ca temizleyin.\n  <\/li>\n<li>Gerekirse bak\u0131m sayfas\u0131 (503 Maintenance) ile ge\u00e7ici bir ekran verin.<\/li>\n<\/ul>\n<h2><span id=\"2_Hacked_PHP_Sitenin_Belirtileri_ve_Ilk_Analiz\">2. Hacked PHP Sitenin Belirtileri ve \u0130lk Analiz<\/span><\/h2>\n<h3><span id=\"21_Saldiri_Gercekten_Var_mi_Nasil_Anlariz\">2.1. Sald\u0131r\u0131 Ger\u00e7ekten Var m\u0131, Nas\u0131l Anlar\u0131z?<\/span><\/h3>\n<p>Her performans sorunu veya hata bir sald\u0131r\u0131 de\u011fildir. Ancak \u015fu i\u015faretler genellikle hacked bir PHP siteye i\u015faret eder:<\/p>\n<ul>\n<li>Google arama sonu\u00e7lar\u0131nda sitenizin ba\u015fl\u0131k\/a\u00e7\u0131klama k\u0131sm\u0131nda &#8220;casino, porno, viagra&#8221; benzeri spam kelimeler.<\/li>\n<li>Rastgele linklere y\u00f6nlendiren JavaScript kodlar\u0131 veya iframe\u2019ler.<\/li>\n<li>Sunucu \u00fczerinde bilmedi\u011finiz PHP dosyalar\u0131 (\u00f6zellikle <code>image.php<\/code>, <code>config-old.php<\/code>, <code>cache.php<\/code> gibi masum isimlerle).<\/li>\n<li>Antivir\u00fcs veya g\u00fcvenlik taray\u0131c\u0131lar\u0131n\u0131n zararl\u0131 kod uyar\u0131lar\u0131.<\/li>\n<li>FTP\/SSH loglar\u0131nda sizden gelmeyen ba\u011flant\u0131lar veya beklenmedik IP adresleri.<\/li>\n<\/ul>\n<h3><span id=\"22_Loglar_Uzerinden_Ilk_Izler\">2.2. Loglar \u00dczerinden \u0130lk \u0130zler<\/span><\/h3>\n<p>PHP sitenizin sald\u0131r\u0131ya u\u011fray\u0131p u\u011framad\u0131\u011f\u0131n\u0131 anlaman\u0131n en iyi yollar\u0131ndan biri de web sunucusu ve eri\u015fim loglar\u0131na bakmakt\u0131r. DCHost altyap\u0131s\u0131nda Apache\/Nginx loglar\u0131n\u0131 do\u011frudan veya panel \u00fczerinden g\u00f6rebilirsiniz. \u015eu tip istekler dikkat \u00e7ekicidir:<\/p>\n<ul>\n<li>Var olmayan PHP dosyalar\u0131na yo\u011fun istekler (<code>\/wp-login.php<\/code>, <code>\/xmlrpc.php<\/code>, rastgele <code>.php<\/code> yollar\u0131).<\/li>\n<li>Uzun, \u015f\u00fcpheli query string\u2019ler i\u00e7eren istekler (\u00f6zellikle <code>base64<\/code>, <code>eval<\/code>, <code>assert<\/code> gibi kelimeler g\u00f6steren).<\/li>\n<li>Tek bir IP adresinden \u00e7ok k\u0131sa s\u00fcrede y\u00fczlerce POST iste\u011fi.<\/li>\n<\/ul>\n<p>Log okumaya yabanc\u0131ysan\u0131z, HTTP hata kodlar\u0131 ve log analizi i\u00e7in haz\u0131rlad\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/hosting-sunucu-loglarini-okumayi-ogrenin-apache-ve-nginx-ile-4xx-5xx-hatalarini-teshis-rehberi\/\">Apache\/Nginx loglar\u0131n\u0131 okuma rehberini<\/a> de inceleyebilirsiniz.<\/p>\n<h2><span id=\"3_Backdoor_Tespiti_Sadece_Gorunen_Zararli_Kod_Yetmez\">3. Backdoor Tespiti: Sadece G\u00f6r\u00fcnen Zararl\u0131 Kod Yetmez<\/span><\/h2>\n<h3><span id=\"31_Backdoor_Nedir_Neden_Bu_Kadar_Tehlikeli\">3.1. Backdoor Nedir, Neden Bu Kadar Tehlikeli?<\/span><\/h3>\n<p>Backdoor, sald\u0131rgan\u0131n sisteme <strong>istedi\u011fi zaman geri d\u00f6nebilmesini<\/strong> sa\u011flayan gizli kap\u0131d\u0131r. Genellikle \u015fu ama\u00e7larla kullan\u0131l\u0131r:<\/p>\n<ul>\n<li>\u0130stedi\u011fi PHP kodunu uzaktan \u00e7al\u0131\u015ft\u0131rmak (\u00f6rne\u011fin web shell).<\/li>\n<li>Yeni admin kullan\u0131c\u0131lar eklemek.<\/li>\n<li>Spam g\u00f6nderimi veya SEO spam i\u00e7eriklerini otomatik \u00fcretmek.<\/li>\n<li>Yeni zararl\u0131 dosyalar y\u00fcklemek.<\/li>\n<\/ul>\n<p>Bu y\u00fczden sadece g\u00f6r\u00fcnen zararl\u0131 dosyalar\u0131 silmek yetmez; as\u0131l mesele, sisteme tekrar giri\u015fe izin veren <strong>arka kap\u0131lar\u0131n tamam\u0131n\u0131<\/strong> bulup ortadan kald\u0131rmakt\u0131r.<\/p>\n<h3><span id=\"32_Tipik_PHP_Backdoor_Imzalari\">3.2. Tipik PHP Backdoor \u0130mzalar\u0131<\/span><\/h3>\n<p>PHP backdoor\u2019lar genelde \u015fu yap\u0131lara benzer:<\/p>\n<ul>\n<li><code>eval(base64_decode('...'));<\/code><\/li>\n<li><code>eval(gzinflate(base64_decode('...')));<\/code><\/li>\n<li><code>preg_replace('\/.*\/e', $_POST['x'], '');<\/code> (eskiden \u00e7ok yayg\u0131nd\u0131)<\/li>\n<li><code>system($_GET['cmd']);<\/code>, <code>shell_exec<\/code>, <code>passthru<\/code>, <code>exec<\/code> gibi fonksiyonlar\u0131n POST\/GET girdileriyle kullan\u0131m\u0131<\/li>\n<li>Garip de\u011fi\u015fken isimleri ile dolu, tek sat\u0131ra s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f, okunaks\u0131z PHP kod bloklar\u0131<\/li>\n<\/ul>\n<p>Backdoor \u00e7o\u011fu zaman sitenizin k\u00f6k dizininde de\u011fil, daha &#8220;masum&#8221; g\u00f6r\u00fcnen klas\u00f6rlerde (\u00f6rne\u011fin <code>uploads<\/code>, <code>cache<\/code>, <code>tmp<\/code>) saklan\u0131r. Dosya isimleri de genelde <code>functions.php<\/code>, <code>index-old.php<\/code>, <code>image.php<\/code> gibi normalde \u015f\u00fcphe \u00e7ekmeyecek \u015fekildedir.<\/p>\n<h3><span id=\"33_SSH_Uzerinden_Dosya_Sistemi_Taramasi\">3.3. SSH \u00dczerinden Dosya Sistemi Taramas\u0131<\/span><\/h3>\n<p>SSH eri\u015fiminiz varsa, PHP dosyalar\u0131nda h\u0131zl\u0131 bir imza taramas\u0131 yapmak m\u00fcmk\u00fcnd\u00fcr. \u00d6rne\u011fin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cd \/home\/kullanici\/public_html\n\n# base64_decode i\u00e7eren dosyalar\u0131 bul\ngrep -R &quot;base64_decode&quot; -n . | head\n\n# eval, assert, system gibi kritik fonksiyonlar\u0131 ara\ngrep -R &quot;eval(&quot; -n . | head\ngrep -R &quot;assert(&quot; -n . | head\ngrep -R &quot;shell_exec&quot; -n . | head<\/code><\/pre>\n<p>Bu komutlar tek ba\u015f\u0131na &#8220;bu dosya kesin backdoor&#8221; demez; ancak <strong>\u015f\u00fcpheli dosyalar\u0131n listesini<\/strong> \u00e7\u0131karmak i\u00e7in \u00e7ok yararl\u0131d\u0131r. \u00d6zellikle <code>uploads<\/code> gibi normalde PHP dosyas\u0131 olmamas\u0131 gereken klas\u00f6rlerde PHP dosyas\u0131 bulursan\u0131z ekstra dikkatli olun.<\/p>\n<h3><span id=\"34_FTPSFTP_ile_Indirip_Yerelde_Tarama\">3.4. FTP\/SFTP ile \u0130ndirip Yerelde Tarama<\/span><\/h3>\n<p>SSH eri\u015fiminiz yoksa, t\u00fcm site dosyalar\u0131n\u0131z\u0131 yerel bilgisayar\u0131n\u0131za indirip antivir\u00fcs ve ek zararl\u0131 yaz\u0131l\u0131m taray\u0131c\u0131lar\u0131 ile tarayabilirsiniz. Bu a\u015famada <strong>FTP yerine her zaman SFTP\/FTPS kullanman\u0131z<\/strong> gerekti\u011fini hat\u0131rlatal\u0131m; zira d\u00fcz FTP \u015fifrelerinizi a\u011f \u00fczerinde \u015fifrelenmemi\u015f bi\u00e7imde iletir. Bu konuda detaylar i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/ftp-yerine-sftp-kullanmanin-zamani-geldi\/\">FTP yerine SFTP kullanman\u0131n zaman\u0131 geldi<\/a> yaz\u0131m\u0131za mutlaka g\u00f6z at\u0131n.<\/p>\n<p>\u0130ndirdi\u011finiz klas\u00f6r \u00fczerinde metin edit\u00f6r\u00fc veya IDE kullanarak da benzer imza aramalar\u0131 yapabilirsiniz. \u00d6rne\u011fin VS Code i\u00e7inde &#8220;base64_decode(&#8221; veya &#8220;gzinflate(&#8221; gibi aramalar \u00e7o\u011fu zaman i\u015fe yarar.<\/p>\n<h2><span id=\"4_Dosya_Temizligi_Cekirdek_Kodlar_Eklentiler_ve_Ozel_Yazilim\">4. Dosya Temizli\u011fi: \u00c7ekirdek Kodlar, Eklentiler ve \u00d6zel Yaz\u0131l\u0131m<\/span><\/h2>\n<h3><span id=\"41_Temiz_Yedek_Varsa_En_Kolay_Senaryo\">4.1. Temiz Yedek Varsa: En Kolay Senaryo<\/span><\/h3>\n<p>E\u011fer sald\u0131r\u0131dan <strong>\u00f6nce<\/strong> al\u0131nm\u0131\u015f, \u00e7al\u0131\u015f\u0131r durumda ve g\u00fcvenilir bir tam yede\u011finiz varsa, \u00e7o\u011fu zaman en g\u00fcvenli \u00e7\u00f6z\u00fcm \u015fudur:<\/p>\n<ol>\n<li>Yeni bir hosting hesab\u0131 veya izole bir ortam haz\u0131rlay\u0131n (DCHost\u2019ta ayr\u0131 bir kullan\u0131c\u0131 veya ayr\u0131 bir <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a> hesab\u0131 gibi).<\/li>\n<li>Temiz yede\u011fi bu yeni ortama geri y\u00fckleyin.<\/li>\n<li>Veritaban\u0131n\u0131 da ayn\u0131 tarihteki temiz yedekle de\u011fi\u015ftirin.<\/li>\n<li>Alan ad\u0131n\u0131 DNS \u00fczerinden bu yeni ortama y\u00f6nlendirin.<\/li>\n<\/ol>\n<p>Bu yakla\u015f\u0131m, mevcut kirlenmi\u015f ortamda &#8220;neyi silip neyi b\u0131rakaca\u011f\u0131m&#8221; karma\u015fas\u0131n\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde azalt\u0131r. Ancak \u00e7o\u011fu vakada, ya yedek yoktur ya da ne kadar temiz oldu\u011fu belirsizdir. O zaman biraz daha detayl\u0131 ilerlemek gerekir.<\/p>\n<h3><span id=\"42_CMS_Tabanli_Siteler_Orn_WordPress\">4.2. CMS Tabanl\u0131 Siteler (\u00d6rn. WordPress)<\/span><\/h3>\n<p>WordPress gibi yayg\u0131n CMS\u2019lerde takip edebilece\u011finiz tipik yakla\u015f\u0131m:<\/p>\n<ul>\n<li><strong>\u00c7ekirdek dosyalar\u0131 (core) yeniden y\u00fckleyin:<\/strong> Resmi kaynaktan ayn\u0131 veya g\u00fcncel s\u00fcr\u00fcm\u00fc indirip <code>wp-admin<\/code>, <code>wp-includes<\/code> ve k\u00f6kteki \u00e7ekirdek PHP dosyalar\u0131n\u0131 \u00fczerine yaz\u0131n.<\/li>\n<li><strong>Temalar ve eklentiler:<\/strong> M\u00fcmk\u00fcnse <strong>resmi depolardan<\/strong> yeniden indirin ve mevcut temay\u0131\/eklentileri silip temiz kopyay\u0131 y\u00fckleyin.<\/li>\n<li><strong>Y\u00fckleme (uploads) klas\u00f6r\u00fc:<\/strong> Normalde burada PHP dosyas\u0131 olmamal\u0131d\u0131r. <code>.php<\/code> dosyas\u0131 g\u00f6r\u00fcyorsan\u0131z \u00e7ok dikkatle inceleyin; b\u00fcy\u00fck \u00e7o\u011funlu\u011funu silmeniz gerekir.<\/li>\n<\/ul>\n<p>WordPress i\u00e7in detayl\u0131 g\u00fcvenlik \u00f6nlemleri ve s\u0131k tekrarlanan sald\u0131r\u0131 senaryolar\u0131n\u0131 <a href=\"https:\/\/www.dchost.com\/blog\/paylasimli-hostingde-wordpress-guvenligi-eklentiler-waf-2fa-ve-yedekler\/\">payla\u015f\u0131ml\u0131 hosting\u2019de WordPress g\u00fcvenli\u011fi rehberimizde<\/a> ve <a href=\"https:\/\/www.dchost.com\/blog\/wordpress-siteniz-surekli-hackleniyorsa-ne-yapmalisiniz\/\">&#8220;WordPress siteniz s\u00fcrekli hackleniyorsa&#8221; yaz\u0131m\u0131zda<\/a> ayr\u0131nt\u0131l\u0131 \u015fekilde ele ald\u0131k; bu makaleyi okuduktan sonra mutlaka onlara da g\u00f6z at\u0131n.<\/p>\n<h3><span id=\"43_Ozel_Gelistirilmis_PHP_Uygulamalari\">4.3. \u00d6zel Geli\u015ftirilmi\u015f PHP Uygulamalar\u0131<\/span><\/h3>\n<p>Kendi yaz\u0131l\u0131mc\u0131n\u0131z\u0131n geli\u015ftirdi\u011fi \u00f6zel bir PHP uygulama kullan\u0131yorsan\u0131z, genellikle Git deposu veya yerel bir geli\u015ftirme kopyas\u0131 vard\u0131r. Bu durumda yapman\u0131z gereken:<\/p>\n<ul>\n<li><strong>Canl\u0131 sunucudaki kodu git deposuyla kar\u015f\u0131la\u015ft\u0131r\u0131n:<\/strong> Versiyon kontrol sistemi kullan\u0131yorsan\u0131z, <code>git status<\/code> \u00e7\u0131kt\u0131s\u0131 size hangi dosyalar\u0131n son deploy\u2019dan sonra de\u011fi\u015fti\u011fini g\u00f6sterecektir.<\/li>\n<li><strong>De\u011fi\u015fiklikleri inceleyin:<\/strong> Beklenmeyen, sizin veya ekibinizin yapmad\u0131\u011f\u0131 de\u011fi\u015fiklikler b\u00fcy\u00fck ihtimalle sald\u0131rgan\u0131n b\u0131rakt\u0131\u011f\u0131 izlerdir.<\/li>\n<li><strong>Gerekirse komple yeniden deploy yap\u0131n:<\/strong> Temiz oldu\u011fundan emin oldu\u011funuz bir commit\u2019ten itibaren canl\u0131 ortama tekrar deploy edin.<\/li>\n<\/ul>\n<p>E\u011fer versiyon kontrol\u00fc yoksa, bu sald\u0131r\u0131 sizin i\u00e7in ac\u0131 ama de\u011ferli bir ders olsun; temizlik i\u015flemi biter bitmez bir Git ak\u0131\u015f\u0131 olu\u015fturup <strong>canl\u0131 ortama sadece kontroll\u00fc deploy<\/strong> yapman\u0131z\u0131 kesinlikle \u00f6neririz.<\/p>\n<h3><span id=\"44_Dosya_Izinlerini_Gozden_Gecirin\">4.4. Dosya \u0130zinlerini G\u00f6zden Ge\u00e7irin<\/span><\/h3>\n<p>Bir\u00e7ok sald\u0131r\u0131, yanl\u0131\u015f dosya izinleri y\u00fcz\u00fcnden b\u00fcy\u00fcr. PHP dosyalar\u0131n\u0131z herkese yaz\u0131labilir (<code>777<\/code>) durumdaysa, sald\u0131rgan bir kez girdikten sonra her \u015feyi \u00e7ok kolay de\u011fi\u015ftirir. G\u00fcvenli izinler i\u00e7in genel kural:<\/p>\n<ul>\n<li>PHP dosyalar\u0131: <code>644<\/code><\/li>\n<li>Klas\u00f6rler: <code>755<\/code><\/li>\n<li>Asla gereksiz yere <code>777<\/code> vermeyin.<\/li>\n<\/ul>\n<p>Ayr\u0131nt\u0131l\u0131 a\u00e7\u0131klama i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/linux-dosya-izinleri-644-755-777-paylasimli-hosting-ve-vps-icin-guvenli-ayarlar\/\">Linux dosya izinleri ve g\u00fcvenli ayarlar rehberimize<\/a> g\u00f6z atabilirsiniz.<\/p>\n<h2><span id=\"5_Veritabani_Temizligi_Gizli_Adminler_ve_Enjekte_Icerikler\">5. Veritaban\u0131 Temizli\u011fi: Gizli Adminler ve Enjekte \u0130\u00e7erikler<\/span><\/h2>\n<h3><span id=\"51_Neden_Sadece_Dosyalar_Yetmez\">5.1. Neden Sadece Dosyalar Yetmez?<\/span><\/h3>\n<p>Sald\u0131rganlar \u00e7o\u011fu zaman sadece dosyalara de\u011fil, <strong>veritaban\u0131na da iz b\u0131rak\u0131r<\/strong>. \u00d6zellikle:<\/p>\n<ul>\n<li>Admin kullan\u0131c\u0131 listesine kendi hesaplar\u0131n\u0131 ekleyebilirler.<\/li>\n<li>\u0130\u00e7eri\u011fe gizli JavaScript veya iframe\u2019ler enjekte edebilirler.<\/li>\n<li>Ayarlara (\u00f6rne\u011fin site URL, footer kodu, reklam kodlar\u0131) zararl\u0131 scriptler ekleyebilirler.<\/li>\n<\/ul>\n<p>Dolay\u0131s\u0131yla, dosyalar ne kadar temizlenirse temizlensin, veritaban\u0131n\u0131 kontrol etmeden &#8220;tamamen temiz&#8221; demek m\u00fcmk\u00fcn de\u011fildir.<\/p>\n<h3><span id=\"52_Kullanicilar_ve_Roller\">5.2. Kullan\u0131c\u0131lar ve Roller<\/span><\/h3>\n<p>\u00d6ncelikle admin kullan\u0131c\u0131 listesine bak\u0131n:<\/p>\n<ul>\n<li>Tan\u0131mad\u0131\u011f\u0131n\u0131z veya kullan\u0131lmayan admin hesaplar\u0131n\u0131 silin.<\/li>\n<li>Ger\u00e7ek admin hesaplar\u0131n\u0131n \u015fifrelerini <strong>mutlaka<\/strong> de\u011fi\u015ftirin.<\/li>\n<li>M\u00fcmk\u00fcnse iki fakt\u00f6rl\u00fc kimlik do\u011frulama (2FA) ekleyin.<\/li>\n<\/ul>\n<p>Rol bazl\u0131 yetkilendirme kullanan sistemlerde, normalde &#8220;edit\u00f6r&#8221; olmas\u0131 gereken bir kullan\u0131c\u0131n\u0131n &#8220;s\u00fcper admin&#8221; yap\u0131lmad\u0131\u011f\u0131ndan emin olun.<\/p>\n<h3><span id=\"53_Icerik_Alanlarinda_Zararli_Kod_Tespiti\">5.3. \u0130\u00e7erik Alanlar\u0131nda Zararl\u0131 Kod Tespiti<\/span><\/h3>\n<p>\u0130\u00e7erik ba\u015fl\u0131klar\u0131, a\u00e7\u0131klamalar, \u00f6zel alanlar (custom fields) gibi metin alanlar\u0131na enjekte edilmi\u015f zararl\u0131 kodlar i\u00e7in veritaban\u0131 \u00fczerinde arama yapabilirsiniz. \u00d6rne\u011fin MySQL i\u00e7in:<\/p>\n<pre class=\"language-sql line-numbers\"><code class=\"language-sql\">SELECT id, title\nFROM articles\nWHERE content LIKE '%&lt;script%'\n   OR content LIKE '%base64_decode%';<\/code><\/pre>\n<p>Benzer \u015fekilde, sitenizde hi\u00e7 kullanmad\u0131\u011f\u0131n\u0131z, ancak veritaban\u0131nda yo\u011fun \u015fekilde ge\u00e7en keyword\u2019leri (\u00f6rne\u011fin yabanc\u0131 dilde kumar terimleri) aray\u0131p, toplu temizlik veya manuel d\u00fczeltme yapman\u0131z gerekebilir.<\/p>\n<h2><span id=\"6_FTPSSH_Erisim_Loglari_ve_Hesap_Guvenligi\">6. FTP\/SSH Eri\u015fim Loglar\u0131 ve Hesap G\u00fcvenli\u011fi<\/span><\/h2>\n<h3><span id=\"61_Saldirgan_Nereden_Girdi\">6.1. Sald\u0131rgan Nereden Girdi?<\/span><\/h3>\n<p>Backdoor\u2019lar\u0131 temizlemeniz \u00e7ok de\u011ferli, ancak sald\u0131rgan\u0131n i\u00e7eriye nas\u0131l girdi\u011fini anlamazsan\u0131z, ayn\u0131 sorun tekrarlar. En yayg\u0131n giri\u015f noktalar\u0131:<\/p>\n<ul>\n<li>Zay\u0131f FTP\/SFTP \u015fifreleri veya daha \u00f6nce s\u0131zm\u0131\u015f \u015fifreler.<\/li>\n<li>Eski, g\u00fcncellenmemi\u015f PHP uygulamalar\u0131 (zafiyetli eklentiler, temalar).<\/li>\n<li>Payla\u015f\u0131lan cihazlardan \u00e7al\u0131nan SSH anahtarlar\u0131.<\/li>\n<li>Panel (cPanel, Plesk vb.) giri\u015f bilgilerinin oltalama (phishing) ile ele ge\u00e7irilmesi.<\/li>\n<\/ul>\n<h3><span id=\"62_FTPSSH_Loglarini_Inceleme\">6.2. FTP\/SSH Loglar\u0131n\u0131 \u0130nceleme<\/span><\/h3>\n<p>Hosting panelinizde veya DCHost m\u00fc\u015fteri aray\u00fcz\u00fcnde FTP\/SSH eri\u015fim loglar\u0131na genellikle ula\u015fabilirsiniz. \u015eu noktalara bak\u0131n:<\/p>\n<ul>\n<li>Beklenmeyen \u00fclke\/IP adresleri.<\/li>\n<li>Gece \u00e7ok ge\u00e7 saatlerde veya ola\u011fand\u0131\u015f\u0131 zamanlarda yap\u0131lan ba\u011flant\u0131lar.<\/li>\n<li>K\u0131sa s\u00fcrede \u00e7ok say\u0131da ba\u015far\u0131s\u0131z login denemesi.<\/li>\n<\/ul>\n<p>Bu IP\u2019leri g\u00fcvenlik duvar\u0131 \u00fczerinden engelleyebilir, ayr\u0131ca SSH i\u00e7in port de\u011fi\u015ftirme, anahtar bazl\u0131 kimlik do\u011frulama gibi \u00f6nlemler alabilirsiniz. SSH g\u00fcvenli\u011fini daha derinlemesine ele ald\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/vps-sunucu-guvenligi-nasil-saglanir-kapiyi-acik-birakmadan-yasamanin-sirri\/\">VPS sunucu g\u00fcvenli\u011fi rehberimizi<\/a> de incelemenizi \u00f6neririz.<\/p>\n<h3><span id=\"63_Tum_Erisim_Sifrelerini_Sifirlama\">6.3. T\u00fcm Eri\u015fim \u015eifrelerini S\u0131f\u0131rlama<\/span><\/h3>\n<p>Temizlik s\u00fcreci tamamlan\u0131rken:<\/p>\n<ul>\n<li>Hosting panel \u015fifresi<\/li>\n<li>FTP\/SFTP hesaplar\u0131<\/li>\n<li>SSH kullan\u0131c\u0131lar\u0131 (ve m\u00fcmk\u00fcnse anahtarlar)<\/li>\n<li>Veritaban\u0131 kullan\u0131c\u0131lar\u0131<\/li>\n<li>Uygulama admin hesaplar\u0131<\/li>\n<\/ul>\n<p>i\u00e7in yeni, g\u00fc\u00e7l\u00fc ve benzersiz \u015fifreler olu\u015fturun. Ayn\u0131 \u015fifreleri birden fazla yerde kullanmaktan ka\u00e7\u0131n\u0131n; bir yerde s\u0131zan \u015fifre di\u011fer t\u00fcm sistemlere giri\u015f anahtar\u0131 haline gelebilir.<\/p>\n<h2><span id=\"7_Guvenli_Tasima_Kirli_Ortamdan_Temiz_Ortama_Gecis\">7. G\u00fcvenli Ta\u015f\u0131ma: Kirli Ortamdan Temiz Ortama Ge\u00e7i\u015f<\/span><\/h2>\n<h3><span id=\"71_Neden_Yeni_Ortama_Tasimak_Bazen_Daha_Mantikli\">7.1. Neden Yeni Ortama Ta\u015f\u0131mak Bazen Daha Mant\u0131kl\u0131?<\/span><\/h3>\n<p>Baz\u0131 durumlarda, mevcut hosting hesab\u0131n\u0131n tamamen kirlenmi\u015f oldu\u011fu ve her k\u00f6\u015fesindeki dosyaya tek tek bakman\u0131n ekonomik olmad\u0131\u011f\u0131 bir noktaya gelinir. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>Ayn\u0131 hesapta onlarca site var ve hangisinin ilk kaynak oldu\u011fu belirsiz.<\/li>\n<li>\u00c7ok say\u0131da zararl\u0131 cron job veya sisteme yay\u0131lm\u0131\u015f backdoor var.<\/li>\n<li>Paneldeki di\u011fer kullan\u0131c\u0131 ayarlar\u0131, mail hesaplar\u0131, subdomain\u2019ler de kar\u0131\u015fm\u0131\u015f durumda.<\/li>\n<\/ul>\n<p>Bu senaryoda, yeni bir DCHost hesab\u0131 veya izole bir VPS ortam\u0131na <strong>temiz bir kurulum + sadece do\u011frulanm\u0131\u015f dosyalar\u0131n ta\u015f\u0131nmas\u0131<\/strong> ile ba\u015ftan ba\u015flamak \u00e7o\u011fu zaman daha g\u00fcvenlidir.<\/p>\n<h3><span id=\"72_Adim_Adim_Guvenli_Tasima_Plani\">7.2. Ad\u0131m Ad\u0131m G\u00fcvenli Ta\u015f\u0131ma Plan\u0131<\/span><\/h3>\n<ol>\n<li><strong>Yeni ortam\u0131 haz\u0131rlay\u0131n:<\/strong> DCHost \u00fczerinde yeni bir hosting hesab\u0131 veya VPS olu\u015fturun. PHP s\u00fcr\u00fcm\u00fc, veritaban\u0131 s\u00fcr\u00fcm\u00fc ve gerekli uzant\u0131lar\u0131 projeye uygun \u015fekilde ayarlay\u0131n.<\/li>\n<li><strong>Temiz uygulama kurulumunu yap\u0131n:<\/strong> Kullan\u0131lan CMS veya framework\u2019\u00fcn temiz bir kopyas\u0131n\u0131 yeni ortama kurun.<\/li>\n<li><strong>Sadece do\u011frulanm\u0131\u015f dosyalar\u0131 ta\u015f\u0131y\u0131n:<\/strong>\n<ul>\n<li>\u00d6rne\u011fin sadece resim, PDF gibi statik dosyalar.<\/li>\n<li>\u00d6zel yaz\u0131l\u0131m kodlar\u0131n\u0131, git deposundan yeniden deploy edin.<\/li>\n<li>Eski ortamda &#8220;emin olmad\u0131\u011f\u0131n\u0131z&#8221; hi\u00e7bir PHP dosyas\u0131n\u0131 ta\u015f\u0131may\u0131n.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Veritaban\u0131n\u0131 ta\u015f\u0131y\u0131n ve temizleyin:<\/strong> Eski ortamdan <code>mysqldump<\/code> ile ald\u0131\u011f\u0131n\u0131z veritaban\u0131n\u0131 yeni ortama y\u00fckleyin, ard\u0131ndan \u00f6nceki ad\u0131mlardaki veri temizliklerini (admin kullan\u0131c\u0131lar, spam i\u00e7erikler, enjekte scriptler) burada da yap\u0131n.<\/li>\n<li><strong>DNS kesintisiz ge\u00e7i\u015f:<\/strong> Yeni ortamda her \u015fey test edildikten sonra, alan ad\u0131n\u0131n DNS kay\u0131tlar\u0131n\u0131 DCHost\u2019taki yeni sunucuya y\u00f6nlendirin. TTL de\u011ferlerini daha \u00f6nce d\u00fc\u015f\u00fcrd\u00fcyseniz, ge\u00e7i\u015f s\u00fcreci daha da sorunsuz olacakt\u0131r.<\/li>\n<\/ol>\n<p>DNS ge\u00e7i\u015flerini kesinti olmadan yapabilmek i\u00e7in haz\u0131rlad\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/zero-downtime-tasima-icin-ttl-stratejileri-dns-yayilimini-gercekten-nasil-hizlandirirsin\/\">Zero-downtime ta\u015f\u0131ma ve TTL stratejileri rehberi<\/a> de bu a\u015famada olduk\u00e7a faydal\u0131 olacakt\u0131r.<\/p>\n<h2><span id=\"8_Temizlikten_Sonra_Guvenligi_Sertlestirme\">8. Temizlikten Sonra G\u00fcvenli\u011fi Sertle\u015ftirme<\/span><\/h2>\n<h3><span id=\"81_WAF_Web_Uygulama_Guvenlik_Duvari_Kullanimi\">8.1. WAF (Web Uygulama G\u00fcvenlik Duvar\u0131) Kullan\u0131m\u0131<\/span><\/h3>\n<p>Dosyalar\u0131 ve veritaban\u0131n\u0131 temizledikten sonra, benzer bir sald\u0131r\u0131n\u0131n tekrar ya\u015fanmamas\u0131 i\u00e7in <strong>WAF (Web Application Firewall)<\/strong> kullanman\u0131z g\u00fc\u00e7l\u00fc bir koruma katman\u0131 sa\u011flar. Hem DCHost taraf\u0131nda sunucuya entegre ModSecurity gibi \u00e7\u00f6z\u00fcmler, hem de Cloudflare gibi \u00f6nde gelen servislerin WAF katman\u0131, yayg\u0131n sald\u0131r\u0131 vekt\u00f6rlerini daha PHP kodunuza ula\u015fmadan engelleyebilir.<\/p>\n<p>WAF\u2019lar\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve hangi kurallar\u0131 aktif etmeniz gerekti\u011fini detayl\u0131ca anlatt\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/web-uygulama-guvenlik-duvari-waf-nedir-cloudflare-waf-ve-modsecurity-ile-web-sitesi-koruma-rehberi\/\">Web Uygulama G\u00fcvenlik Duvar\u0131 rehberi<\/a> ve <a href=\"https:\/\/www.dchost.com\/blog\/cloudflare-guvenlik-ayarlari-rehberi-kucuk-isletme-siteleri-icin-waf-rate-limit-ve-bot-korumasi\/\">Cloudflare g\u00fcvenlik ayarlar\u0131 yaz\u0131s\u0131<\/a> bu noktada iyi bir tamamlay\u0131c\u0131 olacakt\u0131r.<\/p>\n<h3><span id=\"82_Guncellemeler_ve_Otomatik_Yama_Stratejisi\">8.2. G\u00fcncellemeler ve Otomatik Yama Stratejisi<\/span><\/h3>\n<p>Hacked PHP sitelerin \u00f6nemli bir k\u0131sm\u0131, <strong>g\u00fcncellenmeyen \u00e7ekirdek sistemler, temalar ve eklentiler<\/strong> y\u00fcz\u00fcnden hackleniyor. Temizlikten sonra mutlaka:<\/p>\n<ul>\n<li>CMS, framework ve k\u00fct\u00fcphanelerinizi en g\u00fcncel kararl\u0131 s\u00fcr\u00fcme y\u00fckseltin.<\/li>\n<li>Art\u0131k kullanmad\u0131\u011f\u0131n\u0131z eklentileri sadece devre d\u0131\u015f\u0131 b\u0131rakmay\u0131n, tamamen kald\u0131r\u0131n.<\/li>\n<li>M\u00fcmk\u00fcnse g\u00fcvenlik g\u00fcncellemelerini otomatik olarak alan bir yap\u0131 kurun (\u00f6rn. g\u00fcvenlik patch\u2019leri i\u00e7in otomatik g\u00fcncelleme).<\/li>\n<\/ul>\n<h3><span id=\"83_Guvenlik_Check-listi_Olusturun\">8.3. G\u00fcvenlik Check-list\u2019i Olu\u015fturun<\/span><\/h3>\n<p>Temizledikten sonra her \u015feyin yolunda kalmas\u0131n\u0131 sa\u011flamak i\u00e7in kendi &#8220;mini g\u00fcvenlik check-list&#8221;inizi olu\u015fturun. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>Maksimum 3 ayda bir \u015fifre de\u011fi\u015fimi.<\/li>\n<li>Ayl\u0131k tam yedek ve geri y\u00fckleme testleri.<\/li>\n<li>Ayl\u0131k zararl\u0131 taramas\u0131 (dosya ve veritaban\u0131 seviyesinde).<\/li>\n<li>\u00dc\u00e7\u00fcnc\u00fc parti eri\u015fimlerin (ajans, freelancer) d\u00fczenli g\u00f6zden ge\u00e7irilmesi.<\/li>\n<\/ul>\n<p>Ba\u015flang\u0131\u00e7 noktas\u0131 olarak <a href=\"https:\/\/www.dchost.com\/blog\/yeni-acilan-web-siteleri-icin-hosting-guvenlik-check-listi-ilk-gunden-yapilmasi-gereken-20-ayar\/\">yeni a\u00e7\u0131lan web siteleri i\u00e7in haz\u0131rlad\u0131\u011f\u0131m\u0131z g\u00fcvenlik check-list\u2019ini<\/a> de kendi sitenize uyarlayabilirsiniz.<\/p>\n<h2><span id=\"9_DCHost_Uzerinde_Hacked_PHP_Siteleri_Icin_Pratik_Yol_Haritasi\">9. DCHost \u00dczerinde Hacked PHP Siteleri \u0130\u00e7in Pratik Yol Haritas\u0131<\/span><\/h2>\n<h3><span id=\"91_Ayri_Ortamda_Temizlik\">9.1. Ayr\u0131 Ortamda Temizlik<\/span><\/h3>\n<p>DCHost olarak m\u00fc\u015fterilerimize her zaman, hacked bir PHP siteyi <strong>ayn\u0131 ortamda de\u011fil, izole bir alanda<\/strong> temizlemeyi \u00f6neriyoruz. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>Mevcut hesab\u0131n\u0131z\u0131n yan\u0131na yeni bir DCHost hosting hesab\u0131 veya VPS a\u00e7\u0131yoruz.<\/li>\n<li>Temiz kopya + se\u00e7ili verilerinizi bu yeni ortama ta\u015f\u0131yoruz.<\/li>\n<li>Testleri tamamlad\u0131ktan sonra DNS\u2019i yeni ortama y\u00f6nlendiriyoruz.<\/li>\n<\/ul>\n<p>B\u00f6ylece hem mevcut \u00fcretim ortam\u0131n\u0131 bir s\u00fcre daha referans olarak kullanabiliyor hem de temiz ortama ge\u00e7i\u015fi kontroll\u00fc \u015fekilde yapabiliyorsunuz.<\/p>\n<h3><span id=\"92_Yonetilen_Guvenlik_ve_Izleme\">9.2. Y\u00f6netilen G\u00fcvenlik ve \u0130zleme<\/span><\/h3>\n<p>\u00d6zellikle e-ticaret, SaaS veya kritik kurumsal sitelerde, g\u00fcvenlik ayarlar\u0131n\u0131 bir kere yap\u0131p unutmak ger\u00e7ek\u00e7i de\u011fil. DCHost \u00fczerinde:<\/p>\n<ul>\n<li>G\u00fcvenlik duvar\u0131 (Firewall) ve WAF ayarlar\u0131n\u0131n d\u00fczenli g\u00f6zden ge\u00e7irilmesi,<\/li>\n<li>Yedekleme stratejisinin (3-2-1) planlanmas\u0131 ve test edilmesi,<\/li>\n<li>Loglar\u0131n merkezi \u015fekilde izlenmesi ve \u015f\u00fcpheli aktivitelerde alarm \u00fcretilmesi<\/li>\n<\/ul>\n<p>gibi s\u00fcre\u00e7leri, altyap\u0131 seviyesinde planlay\u0131p i\u015fletmenize \u00f6zel bir yol haritas\u0131 \u00e7iziyoruz. B\u00f6ylece bir sonraki sald\u0131r\u0131 giri\u015fimi, siteniz tamamen ele ge\u00e7irildi\u011finde de\u011fil, ilk denemelerde fark edilebiliyor.<\/p>\n<h2><span id=\"Sonuc_Tek_Seferlik_Temizlik_Degil_Surekli_Bir_Guvenlik_Kulturu\">Sonu\u00e7: Tek Seferlik Temizlik De\u011fil, S\u00fcrekli Bir G\u00fcvenlik K\u00fclt\u00fcr\u00fc<\/span><\/h2>\n<p>Hacked bir PHP siteyi temizlemek, \u00e7o\u011fu zaman &#8220;tek seferlik bir operasyon&#8221; gibi d\u00fc\u015f\u00fcn\u00fcl\u00fcyor. Asl\u0131nda ya\u015fanan \u015fey, size altyap\u0131n\u0131z\u0131n, kod taban\u0131n\u0131z\u0131n ve operasyonel al\u0131\u015fkanl\u0131klar\u0131n\u0131z\u0131n nerelerde zay\u0131f oldu\u011funu g\u00f6steren sert ama \u00f6\u011fretici bir geri bildirim. Bu rehberde anlatt\u0131\u011f\u0131m\u0131z ad\u0131mlar \u2013backdoor tespiti, dosya ve veritaban\u0131 temizli\u011fi, FTP\/SSH log analizi ve g\u00fcvenli ta\u015f\u0131ma\u2013 s\u00fcrecin teknik k\u0131sm\u0131n\u0131 kaps\u0131yor; ancak as\u0131l de\u011fer, bu deneyimi bir <strong>g\u00fcvenlik k\u00fclt\u00fcr\u00fcne<\/strong> d\u00f6n\u00fc\u015ft\u00fcrd\u00fc\u011f\u00fcn\u00fczde ortaya \u00e7\u0131k\u0131yor.<\/p>\n<p>DCHost olarak PHP tabanl\u0131 projeleri sadece bar\u0131nd\u0131rmakla kalm\u0131yor, ayn\u0131 zamanda <strong>g\u00fcvenli mimari tasar\u0131m\u0131, yedekleme stratejisi ve WAF\/Firewall ayarlar\u0131<\/strong> konusunda da m\u00fc\u015fterilerimize rehberlik ediyoruz. Siteniz hacklendiyse ve nereden ba\u015flayaca\u011f\u0131n\u0131z\u0131 bilmiyorsan\u0131z, yukar\u0131daki ad\u0131mlar\u0131 bir kontrol listesi gibi uygulayabilir, ard\u0131ndan altyap\u0131n\u0131z\u0131 daha s\u00fcrd\u00fcr\u00fclebilir ve g\u00fcvenli hale getirmek i\u00e7in bizimle \u00e7al\u0131\u015fabilirsiniz. B\u00f6ylece bir sonraki sald\u0131r\u0131 giri\u015fimi, projenizin kabusu de\u011fil, iyi tasarlanm\u0131\u015f savunma hatt\u0131n\u0131z\u0131n s\u0131radan bir testi olur.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 Neden Hacked PHP Sitelerini Temizlemek Zorla\u015ft\u0131?2 1. \u0130lk Tepki: Panik Yapmadan Hasar\u0131 S\u0131n\u0131rlama2.1 1.1. Hemen Yapman\u0131z Gerekenler2.2 1.2. Siteyi Tamamen Kapatmal\u0131 m\u0131y\u0131m?3 2. Hacked PHP Sitenin Belirtileri ve \u0130lk Analiz3.1 2.1. Sald\u0131r\u0131 Ger\u00e7ekten Var m\u0131, Nas\u0131l Anlar\u0131z?3.2 2.2. Loglar \u00dczerinden \u0130lk \u0130zler4 3. Backdoor Tespiti: Sadece G\u00f6r\u00fcnen Zararl\u0131 Kod Yetmez4.1 3.1. Backdoor Nedir, Neden [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3419,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-3418","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\/3418","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=3418"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3418\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/3419"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=3418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=3418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=3418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}