{"id":1734,"date":"2025-11-12T14:38:08","date_gmt":"2025-11-12T11:38:08","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/s3-object-lock-ile-fidye-yazilima-karsi-kale-gibi-yedek-versioning-mfa-delete-ve-geri-donus-testlerini-samimi-samimi-konusalim\/"},"modified":"2025-11-12T14:38:08","modified_gmt":"2025-11-12T11:38:08","slug":"s3-object-lock-ile-fidye-yazilima-karsi-kale-gibi-yedek-versioning-mfa-delete-ve-geri-donus-testlerini-samimi-samimi-konusalim","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/s3-object-lock-ile-fidye-yazilima-karsi-kale-gibi-yedek-versioning-mfa-delete-ve-geri-donus-testlerini-samimi-samimi-konusalim\/","title":{"rendered":"S3 Object Lock ile Fidye Yaz\u0131l\u0131ma Kar\u015f\u0131 Kale Gibi Yedek: Versioning, MFA Delete ve Geri D\u00f6n\u00fc\u015f Testlerini Samimi Samimi Konu\u015fal\u0131m"},"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=\"#Ofiste_Silinmeyen_Yedek_Muhabbeti_ve_Neden_Onemli_Oldugunu_Anladigim_O_Gun\"><span class=\"toc_number toc_depth_1\">1<\/span> Ofiste \u201cSilinmeyen Yedek\u201d Muhabbeti ve Neden \u00d6nemli Oldu\u011funu Anlad\u0131\u011f\u0131m O G\u00fcn<\/a><\/li><li><a href=\"#Ransomware_Korkusunu_Kiran_Fikir_Degistirilemeyen_Yedek\"><span class=\"toc_number toc_depth_1\">2<\/span> Ransomware Korkusunu K\u0131ran Fikir: De\u011fi\u015ftirilemeyen Yedek<\/a><\/li><li><a href=\"#S3_Object_Lock_Nedir_Nasil_Calisir_Ve_O_Kucuk_Ama_Kritik_Ilk_Adim\"><span class=\"toc_number toc_depth_1\">3<\/span> S3 Object Lock Nedir, Nas\u0131l \u00c7al\u0131\u015f\u0131r? (Ve O K\u00fc\u00e7\u00fck Ama Kritik \u0130lk Ad\u0131m)<\/a><\/li><li><a href=\"#Versioning_Neden_Hayat_Kurtarir_En_Basit_Haliyle_Geri_Alma_Bileti\"><span class=\"toc_number toc_depth_1\">4<\/span> Versioning Neden Hayat Kurtar\u0131r? En Basit Haliyle Geri Alma Bileti<\/a><\/li><li><a href=\"#MFA_Delete_Silmeye_Bir_Dusun_Daha_Freni\"><span class=\"toc_number toc_depth_1\">5<\/span> MFA Delete: Silmeye \u201cBir D\u00fc\u015f\u00fcn Daha\u201d Freni<\/a><\/li><li><a href=\"#Geri_Donus_Testleri_Kagit_Ustunde_Kalmayan_Plan\"><span class=\"toc_number toc_depth_1\">6<\/span> Geri D\u00f6n\u00fc\u015f Testleri: Ka\u011f\u0131t \u00dcst\u00fcnde Kalmayan Plan<\/a><\/li><li><a href=\"#Uctan_Uca_Akis_Yedekleri_Nasil_Tasiyip_Kilitleriz\"><span class=\"toc_number toc_depth_1\">7<\/span> U\u00e7tan Uca Ak\u0131\u015f: Yedekleri Nas\u0131l Ta\u015f\u0131y\u0131p Kilitleriz?<\/a><\/li><li><a href=\"#Maliyet_Yasam_Dongusu_ve_Akil_Sagligi\"><span class=\"toc_number toc_depth_1\">8<\/span> Maliyet, Ya\u015fam D\u00f6ng\u00fcs\u00fc ve Ak\u0131l Sa\u011fl\u0131\u011f\u0131<\/a><\/li><li><a href=\"#Gercek_Dunya_Senaryosu_Saldiri_Panik_ve_38_Dakikada_Ayaga_Kalkmak\"><span class=\"toc_number toc_depth_1\">9<\/span> Ger\u00e7ek D\u00fcnya Senaryosu: Sald\u0131r\u0131, Panik ve 38 Dakikada Aya\u011fa Kalkmak<\/a><\/li><li><a href=\"#Veritabani_Geri_Donusleri_Yalniz_Dosyalar_Degil_Zaman_Cizgisi_de_Onemli\"><span class=\"toc_number toc_depth_1\">10<\/span> Veritaban\u0131 Geri D\u00f6n\u00fc\u015fleri: Yaln\u0131z Dosyalar De\u011fil, Zaman \u00c7izgisi de \u00d6nemli<\/a><\/li><li><a href=\"#Kimlik_Yetki_ve_Kucuk_Polisler_IAM_Kuralinin_Gucu\"><span class=\"toc_number toc_depth_1\">11<\/span> Kimlik, Yetki ve K\u00fc\u00e7\u00fck Polisler: IAM Kural\u0131n\u0131n G\u00fcc\u00fc<\/a><\/li><li><a href=\"#Kucuk_Taslar_Buyuk_Dersler_Deneyimden_Notlar\"><span class=\"toc_number toc_depth_1\">12<\/span> K\u00fc\u00e7\u00fck Ta\u015flar, B\u00fcy\u00fck Dersler: Deneyimden Notlar<\/a><\/li><li><a href=\"#WordPress_Laravel_Dosyalar_ve_Surada_Bir_Kucuk_Yedek_Daha_Hissi\"><span class=\"toc_number toc_depth_1\">13<\/span> WordPress, Laravel, Dosyalar ve \u201c\u015eurada Bir K\u00fc\u00e7\u00fck Yedek Daha\u201d Hissi<\/a><\/li><li><a href=\"#S3te_Kucuk_Bir_Nasil_Yapilir_Krokisi_Yol_Kaybetmeyin\"><span class=\"toc_number toc_depth_1\">14<\/span> S3\u2019te K\u00fc\u00e7\u00fck Bir \u201cNas\u0131l Yap\u0131l\u0131r\u201d Krokisi: Yol Kaybetmeyin<\/a><ul><li><a href=\"#Bucket_Asamasi\"><span class=\"toc_number toc_depth_2\">14.1<\/span> Bucket A\u015famas\u0131<\/a><\/li><li><a href=\"#Versioning_ve_Kurallar\"><span class=\"toc_number toc_depth_2\">14.2<\/span> Versioning ve Kurallar<\/a><\/li><li><a href=\"#MFA_ve_Yetki\"><span class=\"toc_number toc_depth_2\">14.3<\/span> MFA ve Yetki<\/a><\/li><\/ul><\/li><li><a href=\"#Surecleri_Olcmek_Oldu_mu_Degil_Ne_Kadar_Surdu\"><span class=\"toc_number toc_depth_1\">15<\/span> S\u00fcre\u00e7leri \u00d6l\u00e7mek: \u201cOldu mu?\u201d De\u011fil, \u201cNe Kadar S\u00fcrd\u00fc?\u201d<\/a><\/li><li><a href=\"#S3_Object_Lock_Versioning_MFA_Delete_Uclu_Savunmanin_Akici_Hali\"><span class=\"toc_number toc_depth_1\">16<\/span> S3 Object Lock + Versioning + MFA Delete: \u00dc\u00e7l\u00fc Savunman\u0131n Ak\u0131c\u0131 Hali<\/a><\/li><li><a href=\"#Ne_Zaman_Guncelleme_Ne_Zaman_Dondurma\"><span class=\"toc_number toc_depth_1\">17<\/span> Ne Zaman G\u00fcncelleme, Ne Zaman Dondurma?<\/a><\/li><li><a href=\"#Kapanis_Hadi_Gercekten_Koruyalim_Demenin_Pratik_Yolu\"><span class=\"toc_number toc_depth_1\">18<\/span> Kapan\u0131\u015f: \u201cHadi Ger\u00e7ekten Koruyal\u0131m\u201d Demenin Pratik Yolu<\/a><\/li><\/ul><\/div>\n<h2 id='section-1'><span id=\"Ofiste_Silinmeyen_Yedek_Muhabbeti_ve_Neden_Onemli_Oldugunu_Anladigim_O_Gun\">Ofiste \u201cSilinmeyen Yedek\u201d Muhabbeti ve Neden \u00d6nemli Oldu\u011funu Anlad\u0131\u011f\u0131m O G\u00fcn<\/span><\/h2>\n<p>Hi\u00e7 ba\u015f\u0131n\u0131za geldi mi? Sessiz sakin bir sabah, kahve daha bitmemi\u015f, Slack\u2019te bir mesaj: \u201cYedekler de \u015fifrelenmi\u015f olabilir mi?\u201d \u0130\u015fte o an, kalp bir anl\u0131\u011f\u0131na duruyor. Bir m\u00fc\u015fteride ya\u015fam\u0131\u015ft\u0131k; sunuculara fidye yaz\u0131l\u0131m\u0131 bula\u015fm\u0131\u015f, dosyalar \u015fifrelenmi\u015f, baz\u0131 payla\u015f\u0131ml\u0131 alanlar bo\u015falm\u0131\u015f. Neyse ki yedeklerimiz farkl\u0131 bir yere ak\u0131yordu ama o g\u00fcn bir \u015fey kafama kaz\u0131nd\u0131: Yedek dedi\u011fin, sadece ba\u015fka bir kopya de\u011fil; gerekti\u011finde bir \u015falter indirip geri d\u00f6nmeni sa\u011flayan, dokunulamaz bir sigorta poli\u00e7esi olmal\u0131.<\/p>\n<p>Bu yaz\u0131da tam da bunu konu\u015faca\u011f\u0131z. <strong>S3 Object Lock<\/strong> ile <strong>immutability<\/strong> (de\u011fi\u015ftirilemezlik) ne demek, neden fidye yaz\u0131l\u0131mlara kar\u015f\u0131 \u00e7ok g\u00fc\u00e7l\u00fc bir kalkan? <strong>Versioning<\/strong> ile yan yana nas\u0131l \u00e7al\u0131\u015f\u0131r, <strong>MFA Delete<\/strong> devreye girdi\u011finde silmeler nas\u0131l iki kere d\u00fc\u015f\u00fcn\u00fcl\u00fcr hale gelir? Ve en \u00f6nemlisi, b\u00fct\u00fcn bunlar ka\u011f\u0131t \u00fcst\u00fcnde kalmas\u0131n diye <strong>geri d\u00f6n\u00fc\u015f testlerini<\/strong> nas\u0131l planlay\u0131p canland\u0131r\u0131r\u0131z? Hadi birlikte ad\u0131m ad\u0131m gidelim; teknik terimlere bo\u011fulmadan, ger\u00e7ek hayatta i\u015fimize yarayacak bir \u00e7er\u00e7eve kural\u0131m.<\/p>\n<p>Bu arada, akl\u0131n\u0131zda pratik bir ak\u0131\u015f canlans\u0131n diye zaman zaman \u201cMesela \u015f\u00f6yle d\u00fc\u015f\u00fcn\u00fcn\u2026\u201d diye ufak senaryolarla ilerleyece\u011fim. B\u00f6ylece sadece kavramlar\u0131 de\u011fil, uygulamay\u0131 da birlikte kurgular\u0131z.<\/p>\n<h2 id='section-2'><span id=\"Ransomware_Korkusunu_Kiran_Fikir_Degistirilemeyen_Yedek\">Ransomware Korkusunu K\u0131ran Fikir: De\u011fi\u015ftirilemeyen Yedek<\/span><\/h2>\n<p>Fidye yaz\u0131l\u0131mlar\u0131n\u0131n en can s\u0131k\u0131c\u0131 taraf\u0131, sadece dosyalar\u0131 \u015fifrelemekle kalmay\u0131p \u201cgeriye d\u00f6n\u00fc\u015f kap\u0131lar\u0131n\u0131\u201d da kapatmaya \u00e7al\u0131\u015fmalar\u0131. Yani sald\u0131rgan yedekleri de hedef al\u0131yor; bazen siliyor, bazen \u00fczerine yaz\u0131yor, bazen eri\u015fimi kilitliyor. \u0130\u015fte <strong>immutability<\/strong> burada devreye giriyor: Belli bir s\u00fcre boyunca <strong>yedeklere dokunulam\u0131yor<\/strong>. Ne yanl\u0131\u015fl\u0131kla, ne de k\u00f6t\u00fc niyetle. Ne bir kullan\u0131c\u0131, ne de bir s\u00fcre\u00e7 o dosyay\u0131 silemiyor veya \u00fczerinde oynama yapam\u0131yor.<\/p>\n<p>Mesela \u015f\u00f6yle d\u00fc\u015f\u00fcn\u00fcn: Bir kasan\u0131z var ve i\u00e7ine kritik kasetleri koyuyorsunuz. Kasay\u0131 kapatt\u0131\u011f\u0131n\u0131zda, belirledi\u011finiz tarih gelene kadar anahtar\u0131 sizde bile olsa kilit a\u00e7\u0131lm\u0131yor. <strong>S3 Object Lock<\/strong> tam olarak bu hissi veriyor. Fark, bunun bir veri nesnesi \u00fczerinde, bulutta ve fena halde pratik olu\u015fu.<\/p>\n<p>Baz\u0131 ekipler, bunun \u201cfazla sert\u201d bir yakla\u015f\u0131m oldu\u011fundan korkuyor; \u201cYa yanl\u0131\u015f retention s\u00fcresi koyarsak?\u201d diye soruyor. Hakl\u0131lar, \u00e7\u00fcnk\u00fc yanl\u0131\u015f s\u00fcre hem maliyeti, hem de esnekli\u011fi etkiler. Ama kural do\u011fru kurulunca, bu \u201csertlik\u201d asl\u0131nda panik an\u0131nda arad\u0131\u011f\u0131n\u0131z dinginlik oluyor. Silinmezlik, yanl\u0131\u015f bir komutu bile etkisiz k\u0131l\u0131yor.<\/p>\n<h2 id='section-3'><span id=\"S3_Object_Lock_Nedir_Nasil_Calisir_Ve_O_Kucuk_Ama_Kritik_Ilk_Adim\">S3 Object Lock Nedir, Nas\u0131l \u00c7al\u0131\u015f\u0131r? (Ve O K\u00fc\u00e7\u00fck Ama Kritik \u0130lk Ad\u0131m)<\/span><\/h2>\n<p>\u00d6nce en temelinden: <strong>S3 Object Lock<\/strong>, nesnelerin belirli bir s\u00fcre boyunca <strong>WORM<\/strong> (Write Once, Read Many) mant\u0131\u011f\u0131yla saklanmas\u0131n\u0131 sa\u011fl\u0131yor. Yani bir kere yaz\u0131yorsunuz, sonra sadece okuyorsunuz. Bu kilidi koyduktan sonra, s\u00fcre dolana kadar de\u011fi\u015ftirme yok, silme yok. Hatta ka\u00e7amak bir k\u0131sayol da yok. Bu \u00f6zelli\u011fi kullanabilmek i\u00e7in, <strong>bucket olu\u015ftururken Object Lock\u2019\u0131 aktif etmi\u015f olman\u0131z<\/strong> gerekiyor; sonradan \u201cbir t\u0131kla a\u00e7ay\u0131m\u201d yok. Bu k\u00fc\u00e7\u00fck detay, her projede ilk checklist maddelerimden biri haline geldi.<\/p>\n<p>\u0130kinci nokta, <strong>mode<\/strong> se\u00e7imi. Basit\u00e7e anlatay\u0131m: \u201c<strong>Governance<\/strong>\u201d modunda, belli yetkilerle yine de baz\u0131 y\u00f6netsel istisnalar yap\u0131labiliyor. \u201c<strong>Compliance<\/strong>\u201d modunda ise \u201cb\u0131\u00e7ak gibi\u201d kesin; s\u00fcre bitmeden kimse dokunam\u0131yor. Finansal kay\u0131t gibi mutlak korunmas\u0131 gereken veriler i\u00e7in compliance, g\u00fcnl\u00fck operasyonlar i\u00e7in governance daha rahat hissettiriyor. Ama hangi modu se\u00e7erseniz se\u00e7in, <strong>temel fikir ayn\u0131<\/strong>: S\u00fcre bitene kadar o yedek orada g\u00fcvende.<\/p>\n<p>\u00dc\u00e7\u00fcnc\u00fc par\u00e7a, <strong>retention<\/strong> s\u00fcreleri ve <strong>legal hold<\/strong>. Retention, s\u00fcre bazl\u0131 kural koyuyor; legal hold ise \u201cs\u00fcre ba\u011f\u0131ms\u0131z bir durdurma d\u00fc\u011fmesi\u201d gibi, kald\u0131rana kadar nesne kilitli kal\u0131yor. Mesela bir olay ara\u015ft\u0131rmas\u0131 yap\u0131yorsan\u0131z ve o s\u0131rada baz\u0131 yedeklerin hi\u00e7 k\u0131p\u0131rdamamas\u0131n\u0131 istiyorsan\u0131z, legal hold \u201cdur, burada kal\u201d diyor.<\/p>\n<p>Detayl\u0131 okumak isterseniz <a href=\"https:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/userguide\/object-lock.html\" rel=\"nofollow noopener\" target=\"_blank\">AWS S3 Object Lock belgeleri<\/a> sade bir referans sunuyor; ama \u015funu bilin: G\u00fcnl\u00fck hayatta en kritik karar, bucket\u2019\u0131 ba\u015ftan do\u011fru haz\u0131rlay\u0131p do\u011fru retention stratejisini belirlemek oluyor.<\/p>\n<h2 id='section-4'><span id=\"Versioning_Neden_Hayat_Kurtarir_En_Basit_Haliyle_Geri_Alma_Bileti\">Versioning Neden Hayat Kurtar\u0131r? En Basit Haliyle Geri Alma Bileti<\/span><\/h2>\n<p>Versioning\u2019i, bir dosyan\u0131n <strong>zaman makinesi<\/strong> gibi d\u00fc\u015f\u00fcn\u00fcn. Her yeni y\u00fckleme, yeni bir versiyon. Bir \u015feyi yanl\u0131\u015fl\u0131kla g\u00fcncellediniz veya fidye yaz\u0131l\u0131m\u0131 dosyay\u0131 bozdu; dert etmiyorsunuz, \u00e7\u00fcnk\u00fc eski versiyon orada, sessiz sakin bekliyor. S3\u2019te <strong>silme<\/strong> bile asl\u0131nda bir t\u00fcr versiyon; yani <strong>delete marker<\/strong> at\u0131l\u0131yor ve geride ger\u00e7ek nesne versiyonlar\u0131 kal\u0131yor.<\/p>\n<p>Mesela \u015f\u00f6yle d\u00fc\u015f\u00fcn\u00fcn: Bir rapor dosyas\u0131 var; ak\u015fam saatlerinde beklenmedik bir ak\u0131\u015f, dosyay\u0131 bozuyor. Ertesi sabah, versioning sayesinde \u00f6nceki temiz versiyona d\u00f6n\u00fcyorsunuz. Sizin tek yapman\u0131z gereken, hangi versiyonun \u201ctemiz\u201d oldu\u011funa karar vermek. Bu karar i\u00e7in de izleme ve loglar \u00e7ok i\u015fe yar\u0131yor.<\/p>\n<p>Versioning, tek ba\u015f\u0131na da i\u015fe yar\u0131yor ama <strong>Object Lock ile yan yana<\/strong> \u00e7ok daha g\u00fc\u00e7l\u00fc bir kalkan oluyor. \u00c7\u00fcnk\u00fc sald\u0131rgan sadece overwrite ve delete ile oynasa bile, en kritik versiyonlar belirli s\u00fcreyle dokunulmaz. Buna \u201cyedeklerin yede\u011fi\u201d gibi bakabilirsiniz; \u00fcst \u00fcste kesi\u015fen g\u00fcvenlik halkalar\u0131.<\/p>\n<p>Versioning\u2019in mant\u0131\u011f\u0131n\u0131 daha iyi anlamak isterseniz, bir g\u00f6z atmak faydal\u0131 olur: <a href=\"https:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/userguide\/Versioning.html\" rel=\"nofollow noopener\" target=\"_blank\">S3 Versioning rehberi<\/a>. Ama i\u015fin \u00f6z\u00fc \u015fu: Bir g\u00fcn\u00fcm\u00fc kurtaran \u00f6zelliklerden biri oldu; basit, g\u00f6r\u00fcnmez, ama kritik.<\/p>\n<h2 id='section-5'><span id=\"MFA_Delete_Silmeye_Bir_Dusun_Daha_Freni\">MFA Delete: Silmeye \u201cBir D\u00fc\u015f\u00fcn Daha\u201d Freni<\/span><\/h2>\n<p><strong>MFA Delete<\/strong>, silme ve baz\u0131 versiyon i\u015flemlerine ikinci bir do\u011frulama koyuyor. Yani birisi yanl\u0131\u015fl\u0131kla, aceleyle veya k\u00f6t\u00fc niyetle bir nesneyi silmek istedi\u011finde, kar\u015f\u0131s\u0131na bir duvar \u00e7\u0131k\u0131yor: <strong>ikinci ad\u0131m<\/strong>. Telefonunuzda ya da donan\u0131m anahtar\u0131n\u0131zda \u00fcretilen tek seferlik kod olmadan, o silme olmuyor. G\u00fczel taraf\u0131 \u015fu: Insani hatay\u0131 da, kritik bir anda olu\u015fabilecek panik hamleleri de frenliyor.<\/p>\n<p>Ben bir projede, admin aray\u00fczden h\u0131zl\u0131ca yap\u0131lan bir temizlik s\u0131ras\u0131nda yanl\u0131\u015f klas\u00f6r\u00fcn hedef al\u0131nd\u0131\u011f\u0131n\u0131 g\u00f6rm\u00fc\u015ft\u00fcm. \u201cNeyse ki MFA a\u00e7\u0131k\u201d dedi\u011fimiz andaki ferahl\u0131\u011f\u0131 unutamam. \u00dcstelik bu sadece bireysel koruma de\u011fil; <strong>de\u011fi\u015fiklikleri planlamay\u0131 da \u00f6\u011fretiyor<\/strong>. \u00c7\u00fcnk\u00fc silme, art\u0131k bir ekip karar\u0131 haline geliyor.<\/p>\n<p>Teknik ayr\u0131nt\u0131ya \u00e7ok girmeden \u015funu da not edeyim: MFA Delete\u2019i etkinle\u015ftirme ve kullanma taraf\u0131nda baz\u0131 i\u015flem ad\u0131mlar\u0131 var; ayr\u0131nt\u0131lar i\u00e7in <a href=\"https:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/userguide\/MultiFactorAuthenticationDelete.html\" rel=\"nofollow noopener\" target=\"_blank\">MFA Delete dok\u00fcman\u0131<\/a> yol g\u00f6steriyor. Benim tavsiyem, MFA cihazlar\u0131n\u0131 yedekli tutmak ve \u201ckimde, nerede\u201d bilgisini bir eri\u015fim kasas\u0131nda saklamak. Panik an\u0131nda ikinci cihaz\u0131 bulamamak, gereksiz stres yarat\u0131yor.<\/p>\n<h2 id='section-6'><span id=\"Geri_Donus_Testleri_Kagit_Ustunde_Kalmayan_Plan\">Geri D\u00f6n\u00fc\u015f Testleri: Ka\u011f\u0131t \u00dcst\u00fcnde Kalmayan Plan<\/span><\/h2>\n<p>\u0130\u015fin kalbi burada. Bir\u00e7ok ekip \u201cYedek al\u0131yoruz ya\u201d rahatl\u0131\u011f\u0131yla y\u0131llar ge\u00e7iriyor, geri d\u00f6n\u00fc\u015f g\u00fcn\u00fc geldi\u011finde ise beklenmedik k\u00fc\u00e7\u00fck ta\u015flar koca kamyonu durduruyor. O y\u00fczden ben <strong>geri d\u00f6n\u00fc\u015f testlerini<\/strong> bir proje gibi ele al\u0131yorum. K\u00fc\u00e7\u00fck ba\u015flay\u0131p geni\u015fletmek g\u00fczel bir taktik. \u00d6nce tek bir uygulaman\u0131n tek bir yede\u011fini, <strong>ba\u011f\u0131ms\u0131z bir ortamda<\/strong> aya\u011fa kald\u0131r\u0131n. Sonra veri tutarl\u0131l\u0131\u011f\u0131na, performansa ve eri\u015fim izinlerine bak\u0131n. S\u00fcr\u00fcm uyu\u015fmazl\u0131\u011f\u0131 var m\u0131, uygulama gizli bir dosyay\u0131 ar\u0131yor mu? K\u00fc\u00e7\u00fck notlar al\u0131n, runbook\u2019a ekleyin.<\/p>\n<p>Mesela \u015f\u00f6yle d\u00fc\u015f\u00fcn\u00fcn: Bir e-ticaret veritaban\u0131n\u0131z var. Haftal\u0131k bir ritim tutturup, prod verisini de\u011fil ama maskelemi\u015f bir kopyay\u0131, izole bir test ortam\u0131na d\u00f6nd\u00fcr\u00fcyorsunuz. Uygulaman\u0131n login\u2019i a\u00e7\u0131l\u0131yor mu, sipari\u015f sayfalar\u0131 normal mi, arama \u00e7al\u0131\u015f\u0131yor mu? Bu mini tatbikatlar, ger\u00e7ek g\u00fcn\u00fc kolayla\u015ft\u0131r\u0131yor. Hem de ekibi da\u011f\u0131tm\u0131yor; ak\u0131c\u0131 bir ritim.<\/p>\n<p>Runbook taraf\u0131n\u0131 seviyorsan\u0131z, <a href=\"https:\/\/www.dchost.com\/blog\/felaket-kurtarma-plani-nasil-yazilir-rto-rpoyu-kafada-netlestirip-yedek-testleri-ve-runbooklari-gercekten-calisir-hale-getirmek\/\">RTO\/RPO\u2019yu netle\u015ftirip yedek testlerini ger\u00e7ekten \u00e7al\u0131\u015f\u0131r hale getirmek<\/a> \u00fczerine derli toplu bir yol haritas\u0131 i\u015finizi h\u0131zland\u0131rabilir. En sevdi\u011fim detay, karar anlar\u0131nda kimin ne yapaca\u011f\u0131n\u0131 netle\u015ftirmek. B\u00f6ylece telefon trafi\u011fi azal\u0131yor, herkes neyi nereden kontrol edece\u011fini biliyor.<\/p>\n<h2 id='section-7'><span id=\"Uctan_Uca_Akis_Yedekleri_Nasil_Tasiyip_Kilitleriz\">U\u00e7tan Uca Ak\u0131\u015f: Yedekleri Nas\u0131l Ta\u015f\u0131y\u0131p Kilitleriz?<\/span><\/h2>\n<p>T\u00fcm bu \u00f6zellikler g\u00fczel ama g\u00fcnl\u00fck ak\u0131\u015f\u0131n\u0131z nas\u0131l olacak? Benim sevdi\u011fim yakla\u015f\u0131m \u015fu: Uygulamalar kendi yedeklerini yerelde \u00fcretsin, sonra bir senkronizasyon arac\u0131yla S3\u2019e aktar\u0131ls\u0131n. <strong>Versioning<\/strong> mutlaka a\u00e7\u0131k, <strong>Object Lock<\/strong> kurallar\u0131 net. \u0130lk saatlerde s\u0131cak eri\u015fim, sonra <strong>lifecycle<\/strong> ile daha so\u011fuk katmanlara ta\u015f\u0131ma. Mesela 7 g\u00fcn kolay eri\u015fim, 30 g\u00fcn so\u011fuk, 180 g\u00fcn ar\u015fiv; tabii bu tamamen veri tipine g\u00f6re de\u011fi\u015fir. Ama prensip \u015fu: Her verinin bir \u00f6mr\u00fc var; ak\u0131\u015f bunu kabul etmeli.<\/p>\n<p>Aktar\u0131m taraf\u0131nda pratik bir \u00f6rnek ar\u0131yorsan\u0131z, <a href=\"https:\/\/www.dchost.com\/blog\/rclone-ile-s3-backblaze-b2-yedek-senkronizasyonu-sse-lifecycle-ve-glacier-ile-masrafi-nasil-tatli-tatli-dusururuz\/\">rclone ile S3\/Backblaze B2 yedek senkronizasyonu ve lifecycle ile maliyeti d\u00fc\u015f\u00fcrme<\/a> yaz\u0131s\u0131ndaki ak\u0131\u015flar i\u015finize yarayabilir. \u00d6zellikle \u015fifreleme ve saklama politikalar\u0131n\u0131 ak\u0131ll\u0131ca kurunca, hem g\u00fcven hem b\u00fct\u00e7e taraf\u0131 dengeleniyor.<\/p>\n<p>Bir ipucu daha: Yedekler yaln\u0131zca <strong>bir hesaba<\/strong> ba\u011fl\u0131 olmas\u0131n. Cross-account mant\u0131\u011f\u0131, \u201ctek anahtar\u0131n sahibi\u201d riskini azalt\u0131yor. Ayr\u0131ca baz\u0131 ekipler, farkl\u0131 b\u00f6lgeye replikasyonla \u201cb\u00f6lgesel felaket\u201d ihtimalini de kaps\u0131yor. Burada da Object Lock kurallar\u0131n\u0131n replikasyon taraf\u0131nda nas\u0131l ta\u015f\u0131nd\u0131\u011f\u0131na dikkat etmek \u00f6nemli; testlerde bunu da do\u011frulay\u0131n.<\/p>\n<h2 id='section-8'><span id=\"Maliyet_Yasam_Dongusu_ve_Akil_Sagligi\">Maliyet, Ya\u015fam D\u00f6ng\u00fcs\u00fc ve Ak\u0131l Sa\u011fl\u0131\u011f\u0131<\/span><\/h2>\n<p>Konu\u015fmad\u0131\u011f\u0131m\u0131z bir \u015fey kald\u0131: Maliyet. \u0130tiraf edeyim, ilk ba\u015fta \u201ckilitli yedekler pahal\u0131ya patlar m\u0131?\u201d diye ben de \u00e7ok d\u00fc\u015f\u00fcnd\u00fcm. Ama ak\u0131\u015f do\u011fru oturunca, <strong>lifecycle<\/strong> ve <strong>ar\u015fiv katmanlar\u0131<\/strong> devreye girdi\u011finde gayet y\u00f6netilebilir oluyor. \u015e\u00f6yle bir ritim iyi i\u015fliyor: \u0130lk g\u00fcnler daha h\u0131zl\u0131 eri\u015fim; k\u0131sa s\u00fcre sonra daha ucuz s\u0131n\u0131fa ge\u00e7i\u015f; daha sonra ar\u015fiv. Bu sayede \u201cKritik d\u00f6nemde h\u0131zl\u0131y\u0131m, uzun vadede ekonomik\u201d dengesini tutturuyorsunuz.<\/p>\n<p>Saklama s\u00fcresi, her veri i\u00e7in ayn\u0131 olmak zorunda de\u011fil. Loglar daha k\u0131sa, finansal kay\u0131tlar daha uzun; medya yedekleri kullan\u0131m senaryosuna ba\u011fl\u0131. Bu kararlar\u0131 tek liste gibi d\u00fc\u015f\u00fcnmeyin; <strong>veri profillerine<\/strong> g\u00f6re ayr\u0131 kurallar koymak, b\u00fct\u00e7eyi de, riski de y\u00f6netiyor. Mesela web i\u00e7eri\u011fi anl\u0131k restore isteyebilir, ar\u015fiv raporlar\u0131 daha sab\u0131rl\u0131 olabilir.<\/p>\n<p>Ve evet, yanl\u0131\u015f bir retention ya da gereksiz bir kural maliyeti \u015fi\u015firebilir. O y\u00fczden ben \u00fc\u00e7 \u015feyi bir arada takip ediyorum: Son 90 g\u00fcn geri d\u00f6n\u00fc\u015f istekleri, ayl\u0131k GB da\u011f\u0131l\u0131m\u0131 ve eri\u015fim desenleri. Bu \u00fc\u00e7l\u00fc, \u201cnerede \u015fi\u015ftik, nerede zay\u0131f\u0131z\u201d sorusuna h\u0131zl\u0131 cevap veriyor.<\/p>\n<h2 id='section-9'><span id=\"Gercek_Dunya_Senaryosu_Saldiri_Panik_ve_38_Dakikada_Ayaga_Kalkmak\">Ger\u00e7ek D\u00fcnya Senaryosu: Sald\u0131r\u0131, Panik ve 38 Dakikada Aya\u011fa Kalkmak<\/span><\/h2>\n<p>Bir ak\u015fam, bildirimler art arda d\u00fc\u015fmeye ba\u015flad\u0131. Disk kullan\u0131m\u0131 havaya f\u0131rlam\u0131\u015f, baz\u0131 dosyalar beklenmedik \u015fekilde de\u011fi\u015fmi\u015f. \u0130lk refleks, yede\u011fi kontrol etmek oldu. \u0130yi ki <strong>Object Lock<\/strong> ve <strong>Versioning<\/strong> kurallar\u0131 yerli yerindeydi; ge\u00e7mi\u015fte al\u0131nan dosyalar tertemiz duruyordu. \u00d6nce olay\u0131n kapsam\u0131n\u0131 anlad\u0131k, sonra izole bir ortamda h\u0131zl\u0131ca geri d\u00f6n\u00fc\u015f yapt\u0131k. Sald\u0131rgan\u0131n \u201csilme\u201d hamleleri, <strong>MFA Delete<\/strong> duvar\u0131na tak\u0131lm\u0131\u015ft\u0131.<\/p>\n<p>En g\u00fczel taraf\u0131, bu an\u0131n daha \u00f6nce provas\u0131 yap\u0131lm\u0131\u015ft\u0131. Dok\u00fcmanda \u201c\u00f6nce X yede\u011fini d\u00f6n, audit loglara bak, uygulama i\u00e7in Y ad\u0131m\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u201d diye net bir ak\u0131\u015f vard\u0131. Ekip i\u00e7inde roller belliydi; kim kiminle konu\u015facak, kim hangi ekran\u0131 kontrol edecek\u2026 Sonu\u00e7? Yay\u0131n\u0131 etkileyen k\u0131s\u0131m, 38 dakika i\u00e7inde temiz veriye d\u00f6nd\u00fc. Bu s\u00fcre, ekip \u015femas\u0131na ve veri b\u00fcy\u00fckl\u00fc\u011f\u00fcne g\u00f6re de\u011fi\u015fir elbette ama hissi \u015fu: Panik yok; ad\u0131mlar belli.<\/p>\n<p>Bu senaryoda en \u00e7ok \u015fa\u015f\u0131rd\u0131\u011f\u0131m \u015fey, k\u00fc\u00e7\u00fck bir veri par\u00e7as\u0131n\u0131n atlad\u0131\u011f\u0131m\u0131zda nas\u0131l b\u00fcy\u00fck gecikmelere yol a\u00e7abildi\u011fi. Bir <strong>konfig dosyas\u0131<\/strong>, yanl\u0131\u015f yerde olunca uygulama a\u00e7\u0131lm\u0131\u015f g\u00f6r\u00fcn\u00fcp i\u00e7 sayfada tak\u0131ld\u0131. Sonraki testlerde \u201ckonfiglerin \u00f6zel yede\u011fi\u201d diye ayr\u0131 bir sat\u0131r ekledik. Ufak bir not, b\u00fcy\u00fck bir fark.<\/p>\n<h2 id='section-10'><span id=\"Veritabani_Geri_Donusleri_Yalniz_Dosyalar_Degil_Zaman_Cizgisi_de_Onemli\">Veritaban\u0131 Geri D\u00f6n\u00fc\u015fleri: Yaln\u0131z Dosyalar De\u011fil, Zaman \u00c7izgisi de \u00d6nemli<\/span><\/h2>\n<p>Dosyalar bir yana, veritabanlar\u0131 ayr\u0131 bir d\u00fcnya. Burada sadece \u201cdosya geri d\u00f6nmek\u201d de\u011fil, <strong>zaman \u00e7izgisini<\/strong> do\u011fru yakalamak kritik. \u00d6rne\u011fin <strong>PITR<\/strong> (Point-In-Time Recovery), olaydan hemen \u00f6nceki dakikay\u0131 yakalamak i\u00e7in harika. Ben veritaban\u0131 taraf\u0131nda pratik \u00e7al\u0131\u015fmalar\u0131 anlatan \u015fu rehbere \u00e7ok ba\u015fvurdum: <a href=\"https:\/\/www.dchost.com\/blog\/vps-uzerinde-postgresql-yedekleme-ve-pitr-pgbackrest-ile-wal-arsivleme-adim-adim\/\">PostgreSQL yedekleme ve noktaya d\u00f6n\u00fc\u015f (PITR) pratik ad\u0131mlar\u0131<\/a>. Buradaki disiplin, dosya yedekleriyle birle\u015fince tam bir z\u0131rh oluyor.<\/p>\n<p>Mesela \u015f\u00f6yle d\u00fc\u015f\u00fcn\u00fcn: Web dosyalar\u0131n\u0131 bir versiyona d\u00f6nd\u00fcn\u00fcz, ama veritaban\u0131n\u0131z 5 dakika ileride. O zaman veri uyumsuzlu\u011fu ya\u015fayabiliyorsunuz. Bu y\u00fczden \u201cUygulama X i\u00e7in dosya versiyonu A, veritaban\u0131 zaman\u0131 B\u201d diye \u00e7ift tarafl\u0131 bir not tutmak \u00e7ok i\u015f g\u00f6r\u00fcyor. Bir \u00e7e\u015fit senkron dans\u0131 gibi; ikisi ayn\u0131 ritme girmeli.<\/p>\n<p>Veritaban\u0131 geri d\u00f6n\u00fc\u015flerinde <strong>test verisi maskeleme<\/strong> ve <strong>izole ortam<\/strong> \u015fart. Canl\u0131 veriyi test ortam\u0131na getirmeyin; maskeleyin, s\u0131n\u0131rland\u0131r\u0131n, \u015fifreleri de\u011fi\u015ftirin. Bu hem g\u00fcven, hem de yasal taraf i\u00e7in iyi bir al\u0131\u015fkanl\u0131k.<\/p>\n<h2 id='section-11'><span id=\"Kimlik_Yetki_ve_Kucuk_Polisler_IAM_Kuralinin_Gucu\">Kimlik, Yetki ve K\u00fc\u00e7\u00fck Polisler: IAM Kural\u0131n\u0131n G\u00fcc\u00fc<\/span><\/h2>\n<p>\u0130\u015fin bir de eri\u015fim taraf\u0131 var. Ben S3 i\u00e7in \u201csilmeyi \u00f6zel \u015fartlara ba\u011flayan\u201d politikalar\u0131 seviyorum. Mesela \u015f\u00f6yle bir kural, d\u00fc\u015f\u00fcnce olarak ho\u015fuma gidiyor: \u201cSilme i\u015flemi i\u00e7in MFA zorunlu.\u201d Bu, <strong>MFA Delete<\/strong> ile ruhen ayn\u0131 fikir; bir ad\u0131m daha g\u00fcvenlik. Yine \u201cpublic access\u201d taraf\u0131n\u0131 s\u0131k\u0131 tutmak, yazma yetkilerini az kullan\u0131c\u0131ya vermek ve <strong>CloudTrail<\/strong> ile \u201ckim, ne zaman ne yapt\u0131\u201dy\u0131 rahat\u00e7a okuyabilmek, bir sald\u0131r\u0131 an\u0131nda zaman kazand\u0131r\u0131yor.<\/p>\n<p>Bir ba\u015fka pratik, <strong>break-glass<\/strong> hesab\u0131. Yani kapal\u0131 bir zarfta, yetkisi g\u00fc\u00e7l\u00fc ama <strong>\u00e7ok nadiren<\/strong> kullan\u0131lan bir kullan\u0131c\u0131. Sadece ger\u00e7ekten gerekli anlarda a\u00e7\u0131l\u0131yor, sonra tekrar kapat\u0131l\u0131yor. Bu hesab\u0131n kimde oldu\u011fu, MFA cihaz\u0131n\u0131n nerede durdu\u011fu, eri\u015fim g\u00fcnl\u00fc\u011f\u00fcn\u00fcn nas\u0131l yaz\u0131ld\u0131\u011f\u0131 gibi detaylar\u0131 runbook\u2019ta net yazmak, gelecekteki siz\u2019e te\u015fekk\u00fcr sebebi.<\/p>\n<p>E\u011fer otomasyon seviyorsan\u0131z, bu kurallar\u0131 altyap\u0131 kodu olarak yazmak \u00e7ok ferahlat\u0131c\u0131. Ben \u00e7o\u011fu ortamda, <a href=\"https:\/\/www.dchost.com\/blog\/terraform-ile-vps-ve-dns-otomasyonu-cloudflare-proxmox-openstack-ve-sifir-kesinti-dagitim-nasil-bir-araya-gelir\/\">Terraform ile altyap\u0131 otomasyonu ve tekrarlanabilir da\u011f\u0131t\u0131mlar<\/a> yaz\u0131s\u0131n\u0131 referans alarak bir temel kuruyorum. B\u00f6ylece ortamlar aras\u0131nda <strong>tutarl\u0131l\u0131k<\/strong> geliyor; elle yap\u0131lan hatalar azal\u0131yor.<\/p>\n<h2 id='section-12'><span id=\"Kucuk_Taslar_Buyuk_Dersler_Deneyimden_Notlar\">K\u00fc\u00e7\u00fck Ta\u015flar, B\u00fcy\u00fck Dersler: Deneyimden Notlar<\/span><\/h2>\n<p>\u0130lk ders: <strong>Object Lock<\/strong> olmadan versioning bile zaman zaman yetersiz kalabiliyor. \u00c7\u00fcnk\u00fc sald\u0131rgan bazen \u201csilme\u201d ile yetinmiyor, \u201c\u00fcst\u00fcne yazma\u201d ve \u201ckilitleme\u201d gibi hileler deniyor. Nesne d\u00fczeyinde de\u011fi\u015ftirilemezlik, bu oyunlar\u0131 bo\u015fa \u00e7\u0131kar\u0131yor. Burada retention s\u00fcresinin karar\u0131n\u0131 i\u015f birimleriyle birlikte almak g\u00fczel; \u201cka\u00e7 g\u00fcn, hangi veri i\u00e7in?\u201d sorusuna ortak bir cevap vermek, sonradan \u00e7\u0131kan s\u00fcrprizleri azalt\u0131yor.<\/p>\n<p>\u0130kinci ders: Geri d\u00f6n\u00fc\u015f testlerini \u201cs\u0131k\u0131c\u0131 bir zorunluluk\u201d de\u011fil, <strong>ekip ritmi<\/strong>nin par\u00e7as\u0131 yapmak gerekiyor. Ayda bir k\u00fc\u00e7\u00fck tatbikat, \u00fc\u00e7 ayda bir b\u00fcy\u00fck tatbikat; hem bilgi tazelenir, hem de yeni kat\u0131lanlar ritmi yakalar. Bir tatbikatta bir mod\u00fcl\u00fcn hi\u00e7 beklemedi\u011finiz bir \u00f6zelli\u011fiyle zorlanabilirsiniz; ertesi ay\u0131n konusu \u00e7\u0131kar.<\/p>\n<p>\u00dc\u00e7\u00fcnc\u00fc ders: Maliyet konu\u015fmas\u0131n\u0131 ertelemeyin ama geri d\u00f6n\u00fc\u015f\u00fc de ucuzlatmay\u0131n. Bir iki saniye kazanal\u0131m diye her \u015feyi s\u0131cak tutmak \u015fart de\u011fil; ama \u201ciki g\u00fcn u\u011fra\u015fal\u0131m ucuz olsun\u201d da hi\u00e7 gereksiz. Veri profillerine \u00f6zel s\u00fcre ve katman kombinasyonu, hem c\u00fczdan\u0131, hem sabr\u0131n\u0131z\u0131 koruyor.<\/p>\n<h2 id='section-13'><span id=\"WordPress_Laravel_Dosyalar_ve_Surada_Bir_Kucuk_Yedek_Daha_Hissi\">WordPress, Laravel, Dosyalar ve \u201c\u015eurada Bir K\u00fc\u00e7\u00fck Yedek Daha\u201d Hissi<\/span><\/h2>\n<p>Web uygulamalar\u0131nda dosya ve veritaban\u0131 ikilisi me\u015fhur. WordPress\u2019te medya y\u00fcklemeleri, tema dosyalar\u0131, eklentiler derken birbiriyle i\u00e7 i\u00e7e bir yap\u0131 oluyor. Laravel\u2019de storage klas\u00f6r\u00fc, config, env dosyalar\u0131, public i\u00e7erikler\u2026 Ben bu t\u00fcr ortamlarda, <strong>dosya yedeklerini s\u00fcr\u00fcmlemek<\/strong> ve en kritik klas\u00f6rlere <strong>Object Lock<\/strong> uygulamakla birlikte, \u201cstatik-ezilen-dinamik\u201d ayr\u0131m\u0131 yapmay\u0131 seviyorum. Yani statik dosyalar i\u00e7in daha uzun retention, dinamikler i\u00e7in daha k\u0131sa ve s\u0131k yedek gibi bir denge.<\/p>\n<p>Bir\u00e7ok ekibin g\u00f6zden ka\u00e7\u0131rd\u0131\u011f\u0131 nokta, <strong>gizli dosyalar<\/strong> ve <strong>environment<\/strong> de\u011fi\u015fkenleri. Uygulama aya\u011fa kalk\u0131yor ama kritik bir env de\u011feri eksikse, i\u00e7 sayfalarda bocalayabiliyor. Geri d\u00f6n\u00fc\u015f testlerinde \u201cUygulama a\u00e7\u0131ld\u0131 m\u0131?\u201d sorusunun yan\u0131na \u201cEkrandan \u00f6deme yap\u0131l\u0131yor mu?\u201d gibi ger\u00e7ek ak\u0131\u015f sorular\u0131n\u0131 da ekleyin. K\u00fc\u00e7\u00fck ama etkili.<\/p>\n<h2 id='section-14'><span id=\"S3te_Kucuk_Bir_Nasil_Yapilir_Krokisi_Yol_Kaybetmeyin\">S3\u2019te K\u00fc\u00e7\u00fck Bir \u201cNas\u0131l Yap\u0131l\u0131r\u201d Krokisi: Yol Kaybetmeyin<\/span><\/h2>\n<h3><span id=\"Bucket_Asamasi\">Bucket A\u015famas\u0131<\/span><\/h3>\n<p>Yeni bir bucket a\u00e7arken <strong>Object Lock<\/strong> se\u00e7ene\u011fini aktif etmeyi unutmay\u0131n. Bu, sonradan a\u00e7\u0131lmad\u0131\u011f\u0131 i\u00e7in en kritik ad\u0131m. Varsay\u0131lan retention s\u00fcresini \u00e7ok agresif yapmay\u0131n; \u00f6nce k\u00fc\u00e7\u00fck ba\u015flay\u0131p, g\u00f6zlemlerle iyile\u015ftirmek iyi bir pratik. B\u00fcy\u00fck projelerde, farkl\u0131 veri tipleri i\u00e7in ayr\u0131 bucket ya da en az\u0131ndan ayr\u0131 \u00f6nekler (prefix) kullanmak d\u00fczeni art\u0131r\u0131yor.<\/p>\n<h3><span id=\"Versioning_ve_Kurallar\">Versioning ve Kurallar<\/span><\/h3>\n<p><strong>Versioning<\/strong> her zaman a\u00e7\u0131k olsun. Bu, g\u00fcnl\u00fck hatalardan karmakar\u0131\u015f\u0131k senaryolara kadar geni\u015f bir g\u00fcven alan\u0131 sunuyor. Lifecycle kurallar\u0131yla \u201c\u015fu klas\u00f6rleri \u015fu s\u00fcrede \u015fu katmana ta\u015f\u0131\u201d gibi basit ama etkili politikalar kurun. \u0130lk g\u00fcnler, eri\u015fim ve geri d\u00f6n\u00fc\u015f testlerinden \u00f6\u011frendiklerinizle bu kurallar\u0131 yumu\u015fat\u0131p sertle\u015ftirebilirsiniz.<\/p>\n<h3><span id=\"MFA_ve_Yetki\">MFA ve Yetki<\/span><\/h3>\n<p><strong>MFA Delete<\/strong> ve silme i\u00e7in MFA zorunlulu\u011fu, birden fazla hatay\u0131 tek hamlede engelliyor. Silme yetkisini sadece birka\u00e7 ki\u015fide tutmak, acil durumlar i\u00e7in yedek MFA cihazlar\u0131 planlamak ve \u201ckimde, nerede\u201d bilgisini netle\u015ftirmek gerek. Bu bilgiyi bir kasada saklamak, g\u00fcncelli\u011fini takip etmek de ayr\u0131ca \u00f6nemli.<\/p>\n<h2 id='section-15'><span id=\"Surecleri_Olcmek_Oldu_mu_Degil_Ne_Kadar_Surdu\">S\u00fcre\u00e7leri \u00d6l\u00e7mek: \u201cOldu mu?\u201d De\u011fil, \u201cNe Kadar S\u00fcrd\u00fc?\u201d<\/span><\/h2>\n<p>Geri d\u00f6n\u00fc\u015f testlerinde en sevdi\u011fim soru \u201cne kadar s\u00fcrd\u00fc?\u201d oluyor. \u00c7\u00fcnk\u00fc bu soru, sizi do\u011frudan darbo\u011faza g\u00f6t\u00fcr\u00fcyor. E\u011fer dosya geri d\u00f6n\u00fc\u015f\u00fc kolay ama uygulama yeniden kurulum ad\u0131m\u0131 yorucuysa, onu otomatikle\u015ftirme \u015fans\u0131 yakal\u0131yorsunuz. E\u011fer veritaban\u0131 geri d\u00f6n\u00fc\u015f\u00fc h\u0131zl\u0131 ama indeksleme sonradan uzuyorsa, o indeksleri farkl\u0131 bir teknikle ele alma f\u0131rsat\u0131 do\u011fuyor.<\/p>\n<p>Mesela \u015f\u00f6yle d\u00fc\u015f\u00fcn\u00fcn: 20 dakikada yede\u011fi d\u00f6nd\u00fcn\u00fcz ama 40 dakika DNS yay\u0131l\u0131m\u0131 beklediniz. O zaman strateji, ge\u00e7ici bir hostname \u00fcst\u00fcnden servis vermek olabilir. Altyap\u0131 kodu bu noktada elinizi g\u00fc\u00e7lendiriyor. \u0130htiya\u00e7 duyarsan\u0131z, <a href=\"https:\/\/www.dchost.com\/blog\/terraform-ile-vps-ve-dns-otomasyonu-cloudflare-proxmox-openstack-ve-sifir-kesinti-dagitim-nasil-bir-araya-gelir\/\">Terraform ile altyap\u0131 otomasyonu ve tekrarlanabilir da\u011f\u0131t\u0131mlar<\/a> yaz\u0131s\u0131ndaki pratikler g\u00fczel bir temel olabilir.<\/p>\n<p>Bu \u00f6l\u00e7\u00fcmleri yazmak, sadece bug\u00fcn de\u011fil yar\u0131n da i\u015finizi kolayla\u015ft\u0131r\u0131yor. Ekip b\u00fcy\u00fcyor, uygulama b\u00fcy\u00fcyor, veri b\u00fcy\u00fcyor; s\u00fcreler de\u011fi\u015fiyor. Yaz\u0131l\u0131 bir kay\u0131t, \u201cd\u00fcn nas\u0131ld\u0131, bug\u00fcn nas\u0131l?\u201d sorusuna h\u0131zl\u0131 yan\u0131t verdiriyor.<\/p>\n<h2 id='section-16'><span id=\"S3_Object_Lock_Versioning_MFA_Delete_Uclu_Savunmanin_Akici_Hali\">S3 Object Lock + Versioning + MFA Delete: \u00dc\u00e7l\u00fc Savunman\u0131n Ak\u0131c\u0131 Hali<\/span><\/h2>\n<p>Bu \u00fc\u00e7l\u00fc birlikte \u00e7al\u0131\u015ft\u0131\u011f\u0131nda ortaya g\u00fcven veren bir resim \u00e7\u0131k\u0131yor. <strong>Versioning<\/strong>, yanl\u0131\u015f g\u00fcncellemeyi geriye ald\u0131r\u0131yor. <strong>Object Lock<\/strong>, belli s\u00fcre boyunca hi\u00e7bir g\u00fcc\u00fcn yedeklere dokunamamas\u0131n\u0131 sa\u011fl\u0131yor. <strong>MFA Delete<\/strong> ise \u201csilme\u201d hallerinde ikinci bir kap\u0131 bek\u00e7isi gibi duruyor. \u0130simleri teknik gelebilir; ama hissettirdikleri gayet insani: \u201cSakin ol, bir \u00e7\u0131k\u0131\u015f kap\u0131s\u0131 var.\u201d<\/p>\n<p>Bu arada bir not: Yedek ta\u015f\u0131rken \u015fifreleme taraf\u0131n\u0131 da unutmay\u0131n. Sunucudan \u00e7\u0131kar \u00e7\u0131kmaz \u015fifreli ta\u015f\u0131mak, var\u0131\u015fta da sunucu taraf\u0131nda \u015fifrelemek rahatlat\u0131c\u0131. Hangi y\u00f6ntemi se\u00e7ece\u011finiz, ekibin al\u0131\u015fkanl\u0131klar\u0131na ve ara\u00e7 setine ba\u011fl\u0131. Ama prensip basit: Yedek, yolculukta da g\u00fcvende kals\u0131n.<\/p>\n<h2 id='section-17'><span id=\"Ne_Zaman_Guncelleme_Ne_Zaman_Dondurma\">Ne Zaman G\u00fcncelleme, Ne Zaman Dondurma?<\/span><\/h2>\n<p>Yedek stratejisi bir kere yaz\u0131l\u0131p b\u0131rak\u0131lacak bir \u015fey de\u011fil. Uygulama g\u00fcncelleniyor, veri profili de\u011fi\u015fiyor, ekip b\u00fcy\u00fcyor. Ben her alt\u0131 ayda bir, \u201cyedek ve geri d\u00f6n\u00fc\u015f stratejisi\u201d oturumlar\u0131 yapmay\u0131 seviyorum. Bu oturumlarda, ya\u015fanan k\u00fc\u00e7\u00fck aksakl\u0131klar ve yeni gereksinimler konu\u015fuluyor. Gerekiyorsa retention s\u00fcresi uzat\u0131l\u0131yor, gerekiyorsa lifecycle kurallar\u0131 yeniden dengeleniyor.<\/p>\n<p>Bu dinamik yakla\u015f\u0131m, Object Lock\u2019\u0131n kat\u0131l\u0131\u011f\u0131n\u0131 yumu\u015fatm\u0131yor; sadece do\u011fru zemine koyuyor. \u201cDe\u011fi\u015ftirilemezlik\u201d bir kalkan; ama o kalkan\u0131 nerede, ne kadar s\u00fcre kald\u0131raca\u011f\u0131n\u0131za siz karar veriyorsunuz. Bu karar, pratikte maliyet, h\u0131z ve risk \u00fc\u00e7l\u00fcs\u00fcn\u00fc dengeleyen bir sanat.<\/p>\n<h2 id='section-18'><span id=\"Kapanis_Hadi_Gercekten_Koruyalim_Demenin_Pratik_Yolu\">Kapan\u0131\u015f: \u201cHadi Ger\u00e7ekten Koruyal\u0131m\u201d Demenin Pratik Yolu<\/span><\/h2>\n<p>Toparlayal\u0131m. Fidye yaz\u0131l\u0131mlar\u0131, sadece bir dosyay\u0131 de\u011fil, moralinizi de kilitleyebiliyor. Ama <strong>S3 Object Lock<\/strong> ile <strong>de\u011fi\u015ftirilemeyen yedekler<\/strong>, <strong>Versioning<\/strong> ile geri alma \u00f6zg\u00fcrl\u00fc\u011f\u00fc ve <strong>MFA Delete<\/strong> ile \u201ciki kere d\u00fc\u015f\u00fcn\u201d duvar\u0131 birle\u015fince, tablo de\u011fi\u015fiyor. \u00dcst\u00fcne d\u00fczenli <strong>geri d\u00f6n\u00fc\u015f testleri<\/strong> eklenince, \u201colur mu?\u201d sorusu \u201cnas\u0131l, ne kadar s\u00fcrede olur?\u201da d\u00f6n\u00fc\u015f\u00fcyor. \u0130\u015fte o g\u00fcn, ekipteki herkes daha rahat uyuyor.<\/p>\n<p>Ba\u015flamak i\u00e7in k\u00fc\u00e7\u00fck bir liste b\u0131rakay\u0131m: Yeni bucket a\u00e7arken Object Lock\u2019\u0131 i\u015faretleyin, versioning\u2019i kal\u0131c\u0131 a\u00e7\u0131k b\u0131rak\u0131n, silmelerde MFA\u2019y\u0131 zorunlu k\u0131l\u0131n. \u0130lk ay bir mini geri d\u00f6n\u00fc\u015f tatbikat\u0131 yap\u0131n. Sonra veriyi profillere b\u00f6l\u00fcp lifecycle ile katmanland\u0131r\u0131n. Ara ara \u00f6l\u00e7\u00fcp runbook\u2019u g\u00fcncelleyin. \u0130sterseniz, <a href=\"https:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/userguide\/object-lock.html\" rel=\"nofollow noopener\" target=\"_blank\">Object Lock<\/a>, <a href=\"https:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/userguide\/Versioning.html\" rel=\"nofollow noopener\" target=\"_blank\">Versioning<\/a> ve <a href=\"https:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/userguide\/MultiFactorAuthenticationDelete.html\" rel=\"nofollow noopener\" target=\"_blank\">MFA Delete<\/a> d\u00f6k\u00fcmanlar\u0131n\u0131 g\u00f6z atmal\u0131k bir kenara pinleyin; unuttu\u011funuz bir ayr\u0131nt\u0131 olursa elinizin alt\u0131nda kals\u0131n.<\/p>\n<p>Son bir not: Bu yaz\u0131da bahsettiklerimiz, tek ba\u015f\u0131na bir mucize de\u011fil. Ama birlikte uyguland\u0131klar\u0131nda, ger\u00e7ekten g\u00fc\u00e7l\u00fc bir savunma \u00f6r\u00fcyorlar. Umar\u0131m bu sat\u0131rlar, sizde de bir aksiyon plan\u0131na d\u00f6n\u00fc\u015f\u00fcr. Tak\u0131ld\u0131\u011f\u0131n\u0131z yerde yaz\u0131n, beraber d\u00fc\u015f\u00fcnelim. Bir dahaki yaz\u0131da g\u00f6r\u00fc\u015fmek \u00fczere.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 Ofiste \u201cSilinmeyen Yedek\u201d Muhabbeti ve Neden \u00d6nemli Oldu\u011funu Anlad\u0131\u011f\u0131m O G\u00fcn2 Ransomware Korkusunu K\u0131ran Fikir: De\u011fi\u015ftirilemeyen Yedek3 S3 Object Lock Nedir, Nas\u0131l \u00c7al\u0131\u015f\u0131r? (Ve O K\u00fc\u00e7\u00fck Ama Kritik \u0130lk Ad\u0131m)4 Versioning Neden Hayat Kurtar\u0131r? En Basit Haliyle Geri Alma Bileti5 MFA Delete: Silmeye \u201cBir D\u00fc\u015f\u00fcn Daha\u201d Freni6 Geri D\u00f6n\u00fc\u015f Testleri: Ka\u011f\u0131t \u00dcst\u00fcnde Kalmayan Plan7 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1735,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-1734","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\/1734","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=1734"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/1734\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/1735"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=1734"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=1734"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=1734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}