{"id":4740,"date":"2026-02-07T23:12:06","date_gmt":"2026-02-07T20:12:06","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/env-dosyalarinin-otesinde-vps-uzerinde-gizli-bilgi-yonetimi\/"},"modified":"2026-02-07T23:12:06","modified_gmt":"2026-02-07T20:12:06","slug":"env-dosyalarinin-otesinde-vps-uzerinde-gizli-bilgi-yonetimi","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/env-dosyalarinin-otesinde-vps-uzerinde-gizli-bilgi-yonetimi\/","title":{"rendered":"Env Dosyalar\u0131n\u0131n \u00d6tesinde VPS \u00dczerinde Gizli Bilgi Y\u00f6netimi"},"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=\"#Env_dosyalarinin_sinirlari_Sorun_nerede_basliyor\"><span class=\"toc_number toc_depth_1\">1<\/span> Env dosyalar\u0131n\u0131n s\u0131n\u0131rlar\u0131: Sorun nerede ba\u015fl\u0131yor?<\/a><\/li><li><a href=\"#env_dosyasinin_otesine_gecmek_neden_zorunlu_hale_geliyor\"><span class=\"toc_number toc_depth_1\">2<\/span> .env dosyas\u0131n\u0131n \u00f6tesine ge\u00e7mek neden zorunlu hale geliyor?<\/a><ul><li><a href=\"#1_Sizinti_yuzeyinin_cok_genis_olmasi\"><span class=\"toc_number toc_depth_2\">2.1<\/span> 1. S\u0131z\u0131nt\u0131 y\u00fczeyinin \u00e7ok geni\u015f olmas\u0131<\/a><\/li><li><a href=\"#2_Ortamlar_arasi_tutarlilik_sorunu\"><span class=\"toc_number toc_depth_2\">2.2<\/span> 2. Ortamlar aras\u0131 tutarl\u0131l\u0131k sorunu<\/a><\/li><li><a href=\"#3_Rotasyon_anahtar_dondurme_ve_denetim_izi_eksikligi\"><span class=\"toc_number toc_depth_2\">2.3<\/span> 3. Rotasyon (anahtar d\u00f6nd\u00fcrme) ve denetim izi eksikli\u011fi<\/a><\/li><\/ul><\/li><li><a href=\"#VPS_uzerinde_gizli_bilgi_yonetimi_icin_temel_yaklasimlar\"><span class=\"toc_number toc_depth_1\">3<\/span> VPS \u00fczerinde gizli bilgi y\u00f6netimi i\u00e7in temel yakla\u015f\u0131mlar<\/a><\/li><li><a href=\"#HashiCorp_Vault_VPS_uzerinde_kendi_secret_managerinizi_barindirmak\"><span class=\"toc_number toc_depth_1\">4<\/span> HashiCorp Vault: VPS \u00fczerinde kendi secret manager\u2019\u0131n\u0131z\u0131 bar\u0131nd\u0131rmak<\/a><ul><li><a href=\"#Vaultun_temel_bilesenleri\"><span class=\"toc_number toc_depth_2\">4.1<\/span> Vault\u2019un temel bile\u015fenleri<\/a><\/li><li><a href=\"#Tek_VPS_senaryolarinda_Vault_mimarisi\"><span class=\"toc_number toc_depth_2\">4.2<\/span> Tek VPS senaryolar\u0131nda Vault mimarisi<\/a><\/li><li><a href=\"#Ornek_Vault_kurulumu_ve_basit_KV_engine_yapilandirmasi\"><span class=\"toc_number toc_depth_2\">4.3<\/span> \u00d6rnek: Vault kurulumu ve basit KV engine yap\u0131land\u0131rmas\u0131<\/a><\/li><li><a href=\"#Uygulamanin_Vaulttan_secret_okumasi\"><span class=\"toc_number toc_depth_2\">4.4<\/span> Uygulaman\u0131n Vault\u2019tan secret okumas\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#Parameter_store_ve_SSM_benzeri_servisler_Yonetilen_secret_altyapisi\"><span class=\"toc_number toc_depth_1\">5<\/span> Parameter store ve SSM benzeri servisler: Y\u00f6netilen secret altyap\u0131s\u0131<\/a><ul><li><a href=\"#VPS_ile_parameter_store_entegrasyonu\"><span class=\"toc_number toc_depth_2\">5.1<\/span> VPS ile parameter store entegrasyonu<\/a><\/li><li><a href=\"#SSM_benzeri_agent_tabanli_yaklasimlar\"><span class=\"toc_number toc_depth_2\">5.2<\/span> SSM benzeri agent tabanl\u0131 yakla\u015f\u0131mlar<\/a><\/li><\/ul><\/li><li><a href=\"#Vault_vs_yonetilen_parameter_store_Hangisi_sizin_icin_dogru\"><span class=\"toc_number toc_depth_1\">6<\/span> Vault vs y\u00f6netilen parameter store: Hangisi sizin i\u00e7in do\u011fru?<\/a><ul><li><a href=\"#1_Tam_kontrol_mu_operasyonel_konfor_mu\"><span class=\"toc_number toc_depth_2\">6.1<\/span> 1. Tam kontrol m\u00fc, operasyonel konfor mu?<\/a><\/li><li><a href=\"#2_Bagimlilik_seviyesi_ve_tasinabilirlik\"><span class=\"toc_number toc_depth_2\">6.2<\/span> 2. Ba\u011f\u0131ml\u0131l\u0131k seviyesi ve ta\u015f\u0131nabilirlik<\/a><\/li><li><a href=\"#3_Ekip_yetkinligi_ve_operasyonel_kapasite\"><span class=\"toc_number toc_depth_2\">6.3<\/span> 3. Ekip yetkinli\u011fi ve operasyonel kapasite<\/a><\/li><li><a href=\"#4_Performans_ve_gecikme\"><span class=\"toc_number toc_depth_2\">6.4<\/span> 4. Performans ve gecikme<\/a><\/li><\/ul><\/li><li><a href=\"#DCHost_uzerinde_pratik_bir_mimari_Kucuk_SaaS_ornegi\"><span class=\"toc_number toc_depth_1\">7<\/span> DCHost \u00fczerinde pratik bir mimari: K\u00fc\u00e7\u00fck SaaS \u00f6rne\u011fi<\/a><\/li><li><a href=\"#Operasyonel_en_iyi_uygulamalar_Rotasyon_loglama_ve_yedek\"><span class=\"toc_number toc_depth_1\">8<\/span> Operasyonel en iyi uygulamalar: Rotasyon, loglama ve yedek<\/a><ul><li><a href=\"#Anahtar_rotasyonunu_surec_haline_getirin\"><span class=\"toc_number toc_depth_2\">8.1<\/span> Anahtar rotasyonunu s\u00fcre\u00e7 haline getirin<\/a><\/li><li><a href=\"#Loglama_ve_denetim_izi\"><span class=\"toc_number toc_depth_2\">8.2<\/span> Loglama ve denetim izi<\/a><\/li><li><a href=\"#Yedekleme_ve_felaket_senaryolari\"><span class=\"toc_number toc_depth_2\">8.3<\/span> Yedekleme ve felaket senaryolar\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#envden_profesyonel_secret_yonetimine_gecis_icin_yol_haritasi\"><span class=\"toc_number toc_depth_1\">9<\/span> .env\u2019den profesyonel secret y\u00f6netimine ge\u00e7i\u015f i\u00e7in yol haritas\u0131<\/a><\/li><li><a href=\"#Sonuc_DCHost_uzerinde_secret_yonetimini_bir_seviye_yukari_tasiyin\"><span class=\"toc_number toc_depth_1\">10<\/span> Sonu\u00e7: DCHost \u00fczerinde secret y\u00f6netimini bir seviye yukar\u0131 ta\u015f\u0131y\u0131n<\/a><\/li><\/ul><\/div>\n<h2><span id=\"Env_dosyalarinin_sinirlari_Sorun_nerede_basliyor\">Env dosyalar\u0131n\u0131n s\u0131n\u0131rlar\u0131: Sorun nerede ba\u015fl\u0131yor?<\/span><\/h2>\n<p>Modern web uygulamalar\u0131nda veritaban\u0131 parolalar\u0131, API anahtarlar\u0131, OAuth client secret\u2019lar\u0131, \u00f6deme altyap\u0131s\u0131 anahtarlar\u0131 ve benzeri t\u00fcm gizli bilgiler genellikle <code>.env<\/code> dosyalar\u0131nda saklan\u0131yor. Bu yakla\u015f\u0131m k\u00fc\u00e7\u00fck projelerde h\u0131zl\u0131 ve pratik g\u00f6r\u00fcnse de, \u00f6l\u00e7ek b\u00fcy\u00fcd\u00fck\u00e7e ciddi risklere ve operasyonel karma\u015f\u0131kl\u0131\u011fa yol a\u00e7maya ba\u015fl\u0131yor. \u00d6zellikle DCHost \u00fczerinde birden fazla <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a>, staging\/canl\u0131 ortam ayr\u0131m\u0131 ve CI\/CD kullanan ekiplerde, <code>.env<\/code> dosyas\u0131 tek ba\u015f\u0131na s\u00fcrd\u00fcr\u00fclebilir olmaktan \u00e7\u0131k\u0131yor.<\/p>\n<p>G\u00fcvenlik denetimi, KVKK\/GDPR uyumlulu\u011fu ya da basit bir mimari tasar\u0131m toplant\u0131s\u0131nda \u015fu sorular ka\u00e7\u0131n\u0131lmaz hale geliyor:<\/p>\n<ul>\n<li>Gizli bilgileri kim, ne zaman, nas\u0131l de\u011fi\u015ftirdi?<\/li>\n<li>Bir anahtar\u0131 d\u00f6nd\u00fcrmem (rotate) gerekirse ka\u00e7 sunucuya, ka\u00e7 dosyaya dokunmam laz\u0131m?<\/li>\n<li>Git deposuna yanl\u0131\u015fl\u0131kla commit edilen bir <code>.env<\/code> dosyas\u0131n\u0131 ger\u00e7ekten \u201cgeri alm\u0131\u015f\u201d say\u0131labilir miyim?<\/li>\n<li>Staging ortam\u0131ndaki secret\u2019lar\u0131n canl\u0131 ortamla kar\u0131\u015fmad\u0131\u011f\u0131ndan ne kadar eminim?<\/li>\n<\/ul>\n<p>Bu yaz\u0131da, <strong>VPS \u00fczerinde gizli bilgi y\u00f6netimi<\/strong>ni .env dosyalar\u0131n\u0131n \u00f6tesine ta\u015f\u0131man\u0131n pratik yollar\u0131n\u0131 konu\u015faca\u011f\u0131z. \u00d6zellikle \u00fc\u00e7 yakla\u015f\u0131m\u0131 mercek alt\u0131na alaca\u011f\u0131z:<\/p>\n<ul>\n<li>VPS \u00fczerinde kendi y\u00f6netti\u011finiz <strong>HashiCorp Vault<\/strong><\/li>\n<li>Genel bulut sa\u011flay\u0131c\u0131lar\u0131n sundu\u011fu <strong>parameter store ve SSM benzeri y\u00f6netilen secret servisleri<\/strong><\/li>\n<li>.env d\u00fcnyas\u0131ndan bu yap\u0131lara ge\u00e7i\u015fte mimari, g\u00fcvenlik ve operasyon stratejileri<\/li>\n<\/ul>\n<p>DCHost ekibi olarak, hem k\u00fc\u00e7\u00fck SaaS projelerinde tek VPS\u2019te, hem de \u00e7ok VPS\u2019li mimarilerde farkl\u0131 secret y\u00f6netimi yakla\u015f\u0131mlar\u0131n\u0131 sahada deniyoruz. Bu yaz\u0131 da o ger\u00e7ek deneyimlerin s\u00fcz\u00fclm\u00fc\u015f, pratik bir \u00f6zeti gibi d\u00fc\u015f\u00fcnebilirsiniz.<\/p>\n<h2><span id=\"env_dosyasinin_otesine_gecmek_neden_zorunlu_hale_geliyor\">.env dosyas\u0131n\u0131n \u00f6tesine ge\u00e7mek neden zorunlu hale geliyor?<\/span><\/h2>\n<p>.env dosyalar\u0131n\u0131 tamamen \u00e7\u00f6pe at\u0131n demiyoruz; ama s\u0131n\u0131rlar\u0131n\u0131 \u00e7ok net bilmek gerekiyor. Zaten blogumuzda <a href=\"https:\/\/www.dchost.com\/blog\/vpste-env-ve-gizli-anahtar-yonetimi\/\">VPS\u2019te .env ve gizli anahtar y\u00f6netimi<\/a> \u00fczerine detayl\u0131 bir rehber yay\u0131nlam\u0131\u015ft\u0131k. Oradaki iyi uygulamalar\u0131 bile uygulasan\u0131z, belli bir noktada a\u015fa\u011f\u0131daki sorunlarla y\u00fczle\u015fiyorsunuz:<\/p>\n<h3><span id=\"1_Sizinti_yuzeyinin_cok_genis_olmasi\">1. S\u0131z\u0131nt\u0131 y\u00fczeyinin \u00e7ok geni\u015f olmas\u0131<\/span><\/h3>\n<p>.env dosyas\u0131 \u015fu kanallardan s\u0131zabilir:<\/p>\n<ul>\n<li>Git deposuna yanl\u0131\u015fl\u0131kla commit edilmesi<\/li>\n<li>Sunucu yede\u011fi \u015fifrelenmeden saklan\u0131yorsa yedek dosyalar\u0131ndan<\/li>\n<li>Payla\u015f\u0131ml\u0131 eri\u015fim (SFTP\/SSH) verilen ki\u015filerin dosyay\u0131 kopyalamas\u0131ndan<\/li>\n<li>Yanl\u0131\u015f dosya izinleri (\u00f6rne\u011fin 644) nedeniyle ba\u015fka kullan\u0131c\u0131lar taraf\u0131ndan okunabilmesinden<\/li>\n<\/ul>\n<p>.env\u2019yi korumak i\u00e7in al\u0131nacak \u00f6nlemler s\u0131n\u0131rl\u0131 ve \u00e7o\u011fu manuel disipline dayan\u0131yor. \u0130nsan hatas\u0131n\u0131 s\u0131f\u0131rlamak ise imk\u00e2ns\u0131za yak\u0131n.<\/p>\n<h3><span id=\"2_Ortamlar_arasi_tutarlilik_sorunu\">2. Ortamlar aras\u0131 tutarl\u0131l\u0131k sorunu<\/span><\/h3>\n<p>Geli\u015ftirme, test, staging ve canl\u0131 ortamlar\u0131 olan projelerde <code>.env<\/code> dosyalar\u0131n\u0131 kopyala-yap\u0131\u015ft\u0131r ile y\u00f6netmek hem riskli hem de izlenemez bir s\u00fcre\u00e7. \u00d6zellikle <a href=\"https:\/\/www.dchost.com\/blog\/laravel-ve-node-js-icin-staging-ortami-kurulumu-veritabani-senkronizasyonu-env-ve-ci-cd\/\">Laravel ve Node.js i\u00e7in staging ortam\u0131 kurarken .env y\u00f6netimi<\/a> ba\u015fl\u0131 ba\u015f\u0131na bir problem haline geliyor.<\/p>\n<p>Basit bir API anahtar\u0131n\u0131 staging\u2019den canl\u0131ya ta\u015f\u0131rken bile:<\/p>\n<ul>\n<li>Do\u011fru dosyay\u0131 m\u0131 d\u00fczenledim?<\/li>\n<li>Eski de\u011fer ger\u00e7ekten silindi mi?<\/li>\n<li>Rollback gerekti\u011finde eski de\u011ferlere nas\u0131l d\u00f6nece\u011fim?<\/li>\n<\/ul>\n<p>sorular\u0131yla u\u011fra\u015f\u0131yorsunuz.<\/p>\n<h3><span id=\"3_Rotasyon_anahtar_dondurme_ve_denetim_izi_eksikligi\">3. Rotasyon (anahtar d\u00f6nd\u00fcrme) ve denetim izi eksikli\u011fi<\/span><\/h3>\n<p>Bir veritaban\u0131 parolas\u0131n\u0131 d\u00f6nd\u00fcrmek istiyorsunuz diyelim. .env ile bu s\u00fcre\u00e7 genelde \u015f\u00f6yle ilerler:<\/p>\n<ol>\n<li>Veritaban\u0131nda yeni parolay\u0131 tan\u0131mlars\u0131n\u0131z.<\/li>\n<li>T\u00fcm VPS\u2019lerde ilgili .env dosyalar\u0131n\u0131 g\u00fcncellersiniz.<\/li>\n<li>Uygulamalar\u0131 yeniden ba\u015flat\u0131rs\u0131n\u0131z.<\/li>\n<li>Bir yerde eski parola kalm\u0131\u015fsa gece yar\u0131s\u0131 s\u00fcrpriz hata al\u0131rs\u0131n\u0131z.<\/li>\n<\/ol>\n<p>Dahas\u0131, kim ne zaman de\u011fi\u015ftirdi, \u00f6ncesinde hangi de\u011fer vard\u0131, ka\u00e7 kez denendi gibi sorulara yan\u0131t vermek m\u00fcmk\u00fcn de\u011fildir. G\u00fcvenlik denetimlerinde bu ciddi bir eksi olarak kar\u015f\u0131n\u0131za \u00e7\u0131kar.<\/p>\n<h2><span id=\"VPS_uzerinde_gizli_bilgi_yonetimi_icin_temel_yaklasimlar\">VPS \u00fczerinde gizli bilgi y\u00f6netimi i\u00e7in temel yakla\u015f\u0131mlar<\/span><\/h2>\n<p>.env dosyalar\u0131n\u0131 tamamen terk etmeden, ama merkezi bir gizli bilgi y\u00f6netimi katman\u0131 ekleyerek ilerlemek en pragmatik yol. Sahada en \u00e7ok kulland\u0131\u011f\u0131m\u0131z yakla\u015f\u0131mlar\u0131 \u015f\u00f6yle \u00f6zetleyebiliriz:<\/p>\n<ul>\n<li><strong>.env + \u015fifreli secrets dosyalar\u0131<\/strong> (\u00f6rn. sops + age ile GitOps ak\u0131\u015f\u0131)<\/li>\n<li><strong>Uygulama ba\u015flatma a\u015famas\u0131nda secrets \u00e7ekme<\/strong> (systemd unit, entrypoint script vb.)<\/li>\n<li><strong>Merkezi secret manager<\/strong> (HashiCorp Vault, parameter store\/SSM benzeri servisler)<\/li>\n<\/ul>\n<p>sops + age yakla\u015f\u0131m\u0131n\u0131 blogda ayr\u0131nt\u0131l\u0131 anlatt\u0131k: <a href=\"https:\/\/www.dchost.com\/blog\/vpste-secrets-yonetimi-nasil-tatli-tatli-cozulur-sops-age-gitops-akisi-systemd-ve-rotasyon\/\">VPS\u2019te secrets y\u00f6netimi, sops + age, GitOps ak\u0131\u015f\u0131 ve rotasyon<\/a> yaz\u0131s\u0131 bu makalenin \u00e7ok iyi bir tamamlay\u0131c\u0131s\u0131. Bu yaz\u0131da ise daha \u00e7ok <strong>\u00e7al\u0131\u015fma an\u0131nda (runtime) secrets servisinden okuma<\/strong> yapan, yani ger\u00e7ek anlamda <em>secret manager<\/em> diyebilece\u011fimiz yap\u0131lara odaklanaca\u011f\u0131z.<\/p>\n<h2><span id=\"HashiCorp_Vault_VPS_uzerinde_kendi_secret_managerinizi_barindirmak\">HashiCorp Vault: VPS \u00fczerinde kendi secret manager\u2019\u0131n\u0131z\u0131 bar\u0131nd\u0131rmak<\/span><\/h2>\n<p>HashiCorp Vault, gizli bilgileri g\u00fcvenli \u015fekilde saklamak, eri\u015fimi yetkilendirmek ve denetlemek i\u00e7in tasarlanm\u0131\u015f g\u00fc\u00e7l\u00fc bir ara\u00e7. Kendi DCHost VPS\u2019iniz \u00fczerinde Vault kurarak <strong>tam kontrol\u00fc elinizde tutabilir<\/strong>, d\u0131\u015f ba\u011f\u0131ml\u0131l\u0131klar\u0131 minimize edebilirsiniz.<\/p>\n<h3><span id=\"Vaultun_temel_bilesenleri\">Vault\u2019un temel bile\u015fenleri<\/span><\/h3>\n<p>K\u0131saca \u015fu kavramlar\u0131 bilmek yeterli:<\/p>\n<ul>\n<li><strong>KV Secrets Engine<\/strong>: Anahtar\/de\u011fer \u00e7iftleri saklad\u0131\u011f\u0131n\u0131z basit ama g\u00fc\u00e7l\u00fc yap\u0131. \u00d6rne\u011fin <code>database\/prod<\/code> alt\u0131nda DB kullan\u0131c\u0131 ad\u0131 ve parolas\u0131n\u0131 tutabilirsiniz.<\/li>\n<li><strong>Dynamic Secrets<\/strong>: Vault\u2019un hedef sistemde (MySQL, PostgreSQL vb.) anl\u0131k kullan\u0131c\u0131 a\u00e7\u0131p k\u0131sa s\u00fcreli kimlik bilgisi \u00fcretmesi. B\u00f6ylece veritaban\u0131nda uzun \u00f6m\u00fcrl\u00fc parolalar yerine zaman k\u0131s\u0131tl\u0131 kullan\u0131c\u0131lar kullan\u0131rs\u0131n\u0131z.<\/li>\n<li><strong>Transit Engine<\/strong>: Uygulaman\u0131n veriyi Vault\u2019a g\u00f6nderip \u015fifrelenmi\u015f halde geri ald\u0131\u011f\u0131, anahtar y\u00f6netimini Vault\u2019a b\u0131rakt\u0131\u011f\u0131n\u0131z senaryo. \u00d6zellikle kart verisi, kritik ki\u015fisel veriler i\u00e7in ideal.<\/li>\n<li><strong>Auth Methods<\/strong>: Hangi istemcinin hangi policy ile ba\u011flanaca\u011f\u0131n\u0131 tan\u0131mlayan kimlik do\u011frulama mekanizmalar\u0131 (token, AppRole, JWT, Kubernetes vb.).<\/li>\n<\/ul>\n<h3><span id=\"Tek_VPS_senaryolarinda_Vault_mimarisi\">Tek VPS senaryolar\u0131nda Vault mimarisi<\/span><\/h3>\n<p>K\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli projelerde, \u00f6zellikle DCHost \u00fczerinde tek VPS kullanan ekiplerde \u015fu mimariyi \u00f6neriyoruz:<\/p>\n<ul>\n<li>Ayn\u0131 VPS \u00fczerinde <strong>Vault<\/strong> + <strong>uygulama (PHP\/Laravel, Node.js, vb.)<\/strong><\/li>\n<li>Vault\u2019u <strong>file storage<\/strong> veya ihtiyaca g\u00f6re daha g\u00fcvenli bir backend (Consul, PostgreSQL vb.) ile \u00e7al\u0131\u015ft\u0131rmak<\/li>\n<li>Uygulaman\u0131n Vault ile <strong>localhost \u00fczerinden TLS ile konu\u015fmas\u0131<\/strong><\/li>\n<li>Eri\u015fim i\u00e7in <strong>AppRole<\/strong> ya da <strong>statik token + IP k\u0131s\u0131tlamas\u0131<\/strong> gibi basit ama kontroll\u00fc bir y\u00f6ntem<\/li>\n<\/ul>\n<p>Tek VPS\u2019te bile Vault\u2019un en b\u00fcy\u00fck kazanc\u0131, <strong>tek bir merkezi yerden secret y\u00f6netimi<\/strong> ve <strong>detayl\u0131 denetim izi<\/strong> sunmas\u0131. Yar\u0131n ayn\u0131 uygulamay\u0131 ikinci bir DCHost VPS\u2019e yaymak istedi\u011finizde de ayn\u0131 Vault\u2019u kullanmaya devam edebilirsiniz.<\/p>\n<h3><span id=\"Ornek_Vault_kurulumu_ve_basit_KV_engine_yapilandirmasi\">\u00d6rnek: Vault kurulumu ve basit KV engine yap\u0131land\u0131rmas\u0131<\/span><\/h3>\n<p>Detayl\u0131 kurulum ad\u0131mlar\u0131n\u0131 burada ba\u015ftan sona anlatmayal\u0131m; ancak mant\u0131\u011f\u0131 somutla\u015ft\u0131rmak i\u00e7in basit bir ak\u0131\u015f payla\u015fal\u0131m. Varsayal\u0131m ki Linux tabanl\u0131 bir DCHost VPS\u2019iniz var:<\/p>\n<ol>\n<li>Vault paketlerini kurun ve systemd servisi olarak ba\u015flat\u0131n.<\/li>\n<li>\u0130lk kez <code>vault operator init<\/code> komutu ile cluster\u2019\u0131 ba\u015flat\u0131n, olu\u015fan unseal key\u2019leri g\u00fcvenli bir yerde saklay\u0131n.<\/li>\n<li><code>vault login<\/code> ile root token kullanarak panele giri\u015f yap\u0131n.<\/li>\n<li>KV motorunu etkinle\u015ftirin:<br \/><code>vault secrets enable -path=secret kv-v2<\/code><\/li>\n<li>\u0130lk secret\u2019\u0131 yaz\u0131n:<br \/><code>vault kv put secret\/app\/database username=app_user password=super-secret-pass<\/code><\/li>\n<li>Uygulama i\u00e7in s\u0131n\u0131rl\u0131 eri\u015fimli bir policy tan\u0131mlay\u0131n:<\/li>\n<\/ol>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">path &quot;secret\/data\/app\/database&quot; {\n  capabilities = [&quot;read&quot;]\n}\n<\/code><\/pre>\n<p>Ard\u0131ndan bu policy\u2019yi kullanacak bir AppRole ya da token olu\u015fturup sadece uygulaman\u0131n eri\u015febildi\u011fi \u015fekilde sunucuya yerle\u015ftirirsiniz. B\u00f6ylece veritaban\u0131 parolas\u0131 hi\u00e7bir zaman .env\u2019de d\u00fcz metin olarak durmak zorunda kalmaz.<\/p>\n<h3><span id=\"Uygulamanin_Vaulttan_secret_okumasi\">Uygulaman\u0131n Vault\u2019tan secret okumas\u0131<\/span><\/h3>\n<p>\u0130ki yayg\u0131n yakla\u015f\u0131m var:<\/p>\n<ul>\n<li><strong>Uygulama ba\u015flarken env\u2019e enjekte etmek:<\/strong> systemd unit i\u00e7inde, uygulama ba\u015flamadan \u00f6nce k\u00fc\u00e7\u00fck bir script ile Vault\u2019tan secret\u2019lar\u0131 \u00e7ekip <code>Environment=<\/code> sat\u0131rlar\u0131 ya da ge\u00e7ici bir env dosyas\u0131 olu\u015fturmak.<\/li>\n<li><strong>Uygulama i\u00e7inden do\u011frudan Vault API\u2019ine konu\u015fmak:<\/strong> Laravel, Node.js vb. i\u00e7inde HTTP istemcisi ile Vault\u2019a ba\u011flan\u0131p config cache\u2019i doldurmak.<\/li>\n<\/ul>\n<p>\u0130lk y\u00f6ntem daha az kod de\u011fi\u015fikli\u011fi gerektirir; mevcut <code>config(&#039;database.password&#039;)<\/code> \u00e7a\u011fr\u0131lar\u0131 ayn\u0131 kal\u0131r, sadece de\u011fer kayna\u011f\u0131 de\u011fi\u015fmi\u015f olur. \u0130kinci y\u00f6ntem daha esnektir; dinamik secret kullan\u0131m\u0131 veya anahtar rotasyonunu uygulama i\u00e7inden daha ak\u0131ll\u0131 y\u00f6netebilirsiniz.<\/p>\n<h2><span id=\"Parameter_store_ve_SSM_benzeri_servisler_Yonetilen_secret_altyapisi\">Parameter store ve SSM benzeri servisler: Y\u00f6netilen secret altyap\u0131s\u0131<\/span><\/h2>\n<p>Baz\u0131 genel bulut sa\u011flay\u0131c\u0131lar, uygulama yap\u0131land\u0131rmas\u0131n\u0131 ve gizli bilgileri saklamak i\u00e7in <strong>parameter store<\/strong> ve <strong>uzak y\u00f6netim\/SSM benzeri<\/strong> servisler sunuyor. Bu servisler tipik olarak:<\/p>\n<ul>\n<li>\u015eifreli parametre saklama (\u00f6rn. veritaban\u0131 parolas\u0131, API anahtarlar\u0131)<\/li>\n<li>Versiyonlama ve \u00f6nceki de\u011ferlere d\u00f6nebilme<\/li>\n<li>RBAC ve detayl\u0131 eri\u015fim kontrol\u00fc<\/li>\n<li>Denetim loglar\u0131 (kim, neyi, ne zaman okudu\/de\u011fi\u015ftirdi?)<\/li>\n<li>Sunuculara agent ile ba\u011flan\u0131p komut \u00e7al\u0131\u015ft\u0131rma ve dosya da\u011f\u0131t\u0131m\u0131 (SSM benzeri)<\/li>\n<\/ul>\n<p>Buradaki g\u00fczel nokta \u015fu: <strong>VPS\u2019iniz DCHost \u00fczerinde olsa bile<\/strong>, bu tarz y\u00f6netilen servislerle HTTPS \u00fczerinden konu\u015fabilirsiniz. Yani compute kayna\u011f\u0131n\u0131z\u0131 DCHost VPS olarak se\u00e7ip, secret y\u00f6netimini ve uzaktan y\u00f6netimi d\u0131\u015f bir servise emanet edebilirsiniz.<\/p>\n<h3><span id=\"VPS_ile_parameter_store_entegrasyonu\">VPS ile parameter store entegrasyonu<\/span><\/h3>\n<p>Basit bir senaryoda \u015fu ak\u0131\u015f \u00e7al\u0131\u015fabilir:<\/p>\n<ol>\n<li>D\u0131\u015f parameter store servisinde <code>\/prod\/app\/database\/password<\/code> gibi bir parametre tan\u0131mlars\u0131n\u0131z.<\/li>\n<li>DCHost VPS\u2019inizde uygulaman\u0131n ba\u015flatma script\u2019ine a\u015fa\u011f\u0131daki mant\u0131\u011f\u0131 ekleriniz:<\/li>\n<\/ol>\n<ul>\n<li>Kimlik do\u011frulama i\u00e7in gerekli eri\u015fim anahtar\u0131\/rol bilgisi (m\u00fcmk\u00fcnse k\u0131sa \u00f6m\u00fcrl\u00fc token) haz\u0131r bulunsun.<\/li>\n<li>Uygulama ba\u015flamadan \u00f6nce CLI veya HTTP API ile ilgili parametreleri \u00e7ekin.<\/li>\n<li>\u00c7ekilen de\u011ferleri ya environment de\u011fi\u015fkenlerine ya da uygulaman\u0131n okuyaca\u011f\u0131 konfig\u00fcrasyon dosyas\u0131na yaz\u0131n.<\/li>\n<\/ul>\n<p>Bu entegrasyonu CI\/CD hatt\u0131na da ba\u011flayabilirsiniz. \u00d6rne\u011fin <a href=\"https:\/\/www.dchost.com\/blog\/github-actions-ile-vpse-otomatik-deploy-ve-zero-downtime-yayin\/\">GitHub Actions ile VPS\u2019e otomatik deploy<\/a> hatt\u0131n\u0131zda, deployment \u00f6ncesi ad\u0131mda parameter store\u2019dan en g\u00fcncel secret\u2019\u0131 \u00e7ekip sunucudaki config\u2019i g\u00fcncellemek m\u00fcmk\u00fcn.<\/p>\n<h3><span id=\"SSM_benzeri_agent_tabanli_yaklasimlar\">SSM benzeri agent tabanl\u0131 yakla\u015f\u0131mlar<\/span><\/h3>\n<p>SSM tarz\u0131 servisler, sunuculara bir agent kurarak merkezi komut y\u00fcr\u00fctme, konfig\u00fcrasyon y\u00f6netimi ve bazen de secret da\u011f\u0131t\u0131m\u0131 sa\u011flayabiliyor. DCHost VPS \u00fczerinde de bu agent\u2019lar\u0131 \u00e7al\u0131\u015ft\u0131rarak:<\/p>\n<ul>\n<li>Belirli periyotlarda ya da tetikleyicilerle konfig\u00fcrasyon \u00e7ekme<\/li>\n<li>Secret\u2019lar\u0131 otomatik olarak belirli dosyalara veya env de\u011fi\u015fkenlerine yazma<\/li>\n<li>Toplu komut \u00e7al\u0131\u015ft\u0131rma (\u00f6rne\u011fin t\u00fcm uygulama sunucular\u0131n\u0131 yeniden ba\u015flatma)<\/li>\n<\/ul>\n<p>gibi senaryolar\u0131 hayata ge\u00e7irebilirsiniz. Burada dikkat edilmesi gereken nokta, agent\u2019\u0131n sahip oldu\u011fu yetkilerin do\u011fru s\u0131n\u0131rland\u0131r\u0131lmas\u0131 ve VPS \u00fczerinde <strong>en az yetkiyle<\/strong> \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131d\u0131r. Agent\u2019\u0131n compromise olmas\u0131 durumunda, ba\u011fl\u0131 oldu\u011fu rol\/kimlik \u00fczerinden neleri yapabilece\u011fini iyi tasarlamak gerekir.<\/p>\n<h2><span id=\"Vault_vs_yonetilen_parameter_store_Hangisi_sizin_icin_dogru\">Vault vs y\u00f6netilen parameter store: Hangisi sizin i\u00e7in do\u011fru?<\/span><\/h2>\n<p>Karar verirken a\u015fa\u011f\u0131daki sorular\u0131 sormak \u00e7ok i\u015fe yar\u0131yor:<\/p>\n<h3><span id=\"1_Tam_kontrol_mu_operasyonel_konfor_mu\">1. Tam kontrol m\u00fc, operasyonel konfor mu?<\/span><\/h3>\n<ul>\n<li><strong>Vault (self-hosted)<\/strong>: T\u00fcm kontrol sizde. Yedekleme, g\u00fcncelleme, \u00f6l\u00e7eklendirme, TLS sertifikalar\u0131, eri\u015fim loglar\u0131\u2026 Hepsi sizin sorumlulu\u011funuzda. \u00d6zellikle reg\u00fclasyon veya veri egemenli\u011fi gereksinimleri varsa b\u00fcy\u00fck avantaj.<\/li>\n<li><strong>Y\u00f6netilen parameter store \/ SSM benzeri servisler<\/strong>: Altyap\u0131 y\u00f6netimiyle u\u011fra\u015fmazs\u0131n\u0131z. Yedekleme, \u00f6l\u00e7eklendirme, y\u00fcksek eri\u015filebilirlik servis sa\u011flay\u0131c\u0131ya aittir. Siz sadece entegrasyona odaklan\u0131rs\u0131n\u0131z.<\/li>\n<\/ul>\n<h3><span id=\"2_Bagimlilik_seviyesi_ve_tasinabilirlik\">2. Ba\u011f\u0131ml\u0131l\u0131k seviyesi ve ta\u015f\u0131nabilirlik<\/span><\/h3>\n<ul>\n<li>Vault, DCHost \u00fczerindeki VPS\u2019ten kendi veri merkezinize, oradan ba\u015fka sa\u011flay\u0131c\u0131lara ta\u015f\u0131n\u0131rken mimarinizin <strong>ta\u015f\u0131nabilirli\u011fini<\/strong> art\u0131r\u0131r.<\/li>\n<li>Belirli bir parameter store\/SSM implementasyonuna kilitlenmek, ileride sa\u011flay\u0131c\u0131 de\u011fi\u015fimlerinde ekstra i\u015f y\u00fck\u00fc yaratabilir. Abstraction katman\u0131 (\u00f6rne\u011fin kendi k\u00fc\u00e7\u00fck secret servisiniz) yazman\u0131z bu riski azalt\u0131r.<\/li>\n<\/ul>\n<h3><span id=\"3_Ekip_yetkinligi_ve_operasyonel_kapasite\">3. Ekip yetkinli\u011fi ve operasyonel kapasite<\/span><\/h3>\n<ul>\n<li>Vault kurmak ve do\u011fru y\u00f6netmek belirli bir <strong>DevOps yetkinli\u011fi<\/strong> gerektirir. K\u00fc\u00e7\u00fck ekiplerde bu y\u00fck bazen a\u011f\u0131r gelebilir.<\/li>\n<li>Y\u00f6netilen secret servisleri entegrasyonu genelde daha basittir; birka\u00e7 CLI komutu ve SDK \u00e7a\u011fr\u0131s\u0131 ile i\u015fe ba\u015flayabilirsiniz.<\/li>\n<\/ul>\n<h3><span id=\"4_Performans_ve_gecikme\">4. Performans ve gecikme<\/span><\/h3>\n<ul>\n<li>Vault\u2019u DCHost \u00fczerindeki VPS\u2019inize <strong>yak\u0131n konumda<\/strong> ko\u015fturdu\u011funuzda, secret okuma gecikmesi \u00e7ok d\u00fc\u015f\u00fckt\u00fcr (localhost ya da ayn\u0131 a\u011f).<\/li>\n<li>D\u0131\u015f bir parameter store kullan\u0131yorsan\u0131z, her secret okuma iste\u011fi ek bir a\u011f s\u0131\u00e7ramas\u0131 demektir. Bu y\u00fczden \u00e7al\u0131\u015fma an\u0131nda s\u0131k secret okuma yapacaksan\u0131z caching stratejisi \u015fartt\u0131r.<\/li>\n<\/ul>\n<h2><span id=\"DCHost_uzerinde_pratik_bir_mimari_Kucuk_SaaS_ornegi\">DCHost \u00fczerinde pratik bir mimari: K\u00fc\u00e7\u00fck SaaS \u00f6rne\u011fi<\/span><\/h2>\n<p>Somutla\u015ft\u0131ral\u0131m. Diyelim ki DCHost \u00fczerinde:<\/p>\n<ul>\n<li>1 adet uygulama VPS\u2019i (Laravel veya Node.js API)<\/li>\n<li>1 adet veritaban\u0131 VPS\u2019i (PostgreSQL\/MariaDB)<\/li>\n<\/ul>\n<p>kullanan k\u00fc\u00e7\u00fck bir SaaS projeniz var. Gizli bilgileriniz neler?<\/p>\n<ul>\n<li>Canl\u0131 veritaban\u0131 kullan\u0131c\u0131 ad\u0131\/parolas\u0131<\/li>\n<li>\u00d6deme servisleri i\u00e7in secret key\u2019ler<\/li>\n<li>3. parti e-posta sa\u011flay\u0131c\u0131s\u0131n\u0131n API anahtar\u0131<\/li>\n<li>Uygulama i\u00e7i \u015fifreleme anahtarlar\u0131 (\u00f6rne\u011fin Laravel <code>APP_KEY<\/code>)<\/li>\n<\/ul>\n<p>Bu senaryoda a\u015fa\u011f\u0131daki ad\u0131mlar sa\u011fl\u0131kl\u0131 bir yol haritas\u0131 sunar:<\/p>\n<ol>\n<li>DCHost \u00fczerindeki uygulama VPS\u2019ine Vault kurun ve sadece <strong>KV engine<\/strong> ile ba\u015flay\u0131n.<\/li>\n<li>T\u00fcm secret\u2019lar\u0131n\u0131z\u0131 <code>secret\/prod\/... <\/code> path\u2019leri alt\u0131nda toplay\u0131n.<\/li>\n<li>Uygulama i\u00e7in sadece ilgili path\u2019lere read yetkisi olan bir policy olu\u015fturun.<\/li>\n<li>systemd unit dosyan\u0131za k\u00fc\u00e7\u00fck bir pre-start script\u2019i ekleyin; bu script Vault\u2019tan secret\u2019lar\u0131 \u00e7ekip <code>Environment=<\/code> sat\u0131rlar\u0131 ile prosese aktaracak bir dosya \u00fcretsin.<\/li>\n<li>CI\/CD hatt\u0131n\u0131zda (\u00f6rne\u011fin <a href=\"https:\/\/www.dchost.com\/blog\/github-actions-ile-vpse-otomatik-deploy-ve-zero-downtime-yayin\/\">GitHub Actions ile VPS\u2019e otomatik deploy<\/a> senaryosunda), deployment sonras\u0131 sadece <code>systemctl restart app.service<\/code> komutu ile yeni secret\u2019lar\u0131n devreye al\u0131nmas\u0131n\u0131 sa\u011flay\u0131n.<\/li>\n<\/ol>\n<p>Bir ad\u0131m ileri gidip, yaln\u0131zca .env d\u00fcnyas\u0131ndan \u00e7\u0131kmak de\u011fil, <strong>\u015fifreleme anahtarlar\u0131n\u0131z\u0131 da profesyonelce y\u00f6netmek<\/strong> istiyorsan\u0131z, Vault\u2019un transit engine\u2019i ile blogumuzdaki <a href=\"https:\/\/www.dchost.com\/blog\/yedek-sifreleme-ve-anahtar-yonetimi-rehberi\/\">yedek \u015fifreleme ve anahtar y\u00f6netimi rehberi<\/a>nde anlatt\u0131\u011f\u0131m\u0131z prensipleri birle\u015ftirmek \u00e7ok g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<h2><span id=\"Operasyonel_en_iyi_uygulamalar_Rotasyon_loglama_ve_yedek\">Operasyonel en iyi uygulamalar: Rotasyon, loglama ve yedek<\/span><\/h2>\n<p>Secret manager kullan\u0131yor olmak tek ba\u015f\u0131na sihirli de\u011fnek de\u011fil; onu nas\u0131l y\u00f6netti\u011finiz as\u0131l fark\u0131 yarat\u0131yor.<\/p>\n<h3><span id=\"Anahtar_rotasyonunu_surec_haline_getirin\">Anahtar rotasyonunu s\u00fcre\u00e7 haline getirin<\/span><\/h3>\n<p>Veritaban\u0131 parolas\u0131 veya API anahtarlar\u0131 \u201cs\u0131zd\u0131\u011f\u0131 i\u00e7in\u201d de\u011fil, <strong>politika gere\u011fi<\/strong> belirli aral\u0131klarla d\u00f6nd\u00fcr\u00fclmeli. \u00d6neriler:<\/p>\n<ul>\n<li>Her kritik secret i\u00e7in rotasyon periyodu tan\u0131mlay\u0131n (\u00f6rne\u011fin 90 g\u00fcn).<\/li>\n<li>Rotasyon tarihlerini CI\/CD veya izleme sisteminize hat\u0131rlatma olarak ekleyin.<\/li>\n<li>Dynamic secret kullanabiliyorsan\u0131z (Vault + veritaban\u0131 gibi), manuel rotasyon y\u00fck\u00fcn\u00fcz ciddi bi\u00e7imde azal\u0131r.<\/li>\n<\/ul>\n<h3><span id=\"Loglama_ve_denetim_izi\">Loglama ve denetim izi<\/span><\/h3>\n<p>Kim, hangi secret\u2019a, ne zaman eri\u015fti? Bu soruya yan\u0131t veremiyorsan\u0131z, olas\u0131 bir g\u00fcvenlik olay\u0131 sonras\u0131 yapabilecekleriniz s\u0131n\u0131rl\u0131 kal\u0131r. Vault veya y\u00f6netilen parameter store taraf\u0131nda:<\/p>\n<ul>\n<li>Eri\u015fim loglar\u0131n\u0131 mutlaka merkezi bir yere (\u00f6rne\u011fin VPS log mimarinizde Loki\/ELK) g\u00f6nderin.<\/li>\n<li>\u015e\u00fcpheli desenler (beklenmeyen IP\u2019lerden gelen istekler, k\u0131sa s\u00fcrede \u00e7ok say\u0131da okuma vb.) i\u00e7in alarm kurun.<\/li>\n<li>Secret okuma iste\u011fi ba\u015far\u0131s\u0131z oldu\u011funda uygulaman\u0131n loglar\u0131na da anlaml\u0131 kay\u0131t d\u00fc\u015fmesini sa\u011flay\u0131n.<\/li>\n<\/ul>\n<h3><span id=\"Yedekleme_ve_felaket_senaryolari\">Yedekleme ve felaket senaryolar\u0131<\/span><\/h3>\n<p>Secret manager veri kayb\u0131, <strong>t\u00fcm mimarinizin eri\u015filemez hale gelmesi<\/strong> anlam\u0131na gelir. Bu y\u00fczden:<\/p>\n<ul>\n<li>Vault backend\u2019inizi (file, Consul, veritaban\u0131) d\u00fczenli olarak yedekleyin.<\/li>\n<li>Yedeklerin <strong>\u015fifreli<\/strong> ve eri\u015fim kontrol\u00fc yap\u0131lm\u0131\u015f bir depoda sakland\u0131\u011f\u0131ndan emin olun.<\/li>\n<li>Yedekten geri d\u00f6n\u00fc\u015f prova\u2019lar\u0131n\u0131, genel felaket kurtarma plan\u0131n\u0131zla entegre edin. Bu konuda blogdaki <a href=\"https:\/\/www.dchost.com\/blog\/felaket-kurtarma-plani-nasil-yazilir-rto-rpoyu-kafada-netlestirip-yedek-testleri-ve-runbooklari-gercekten-calisir-hale-getirmek\/\">felaket kurtarma plan\u0131 yaz\u0131s\u0131<\/a> uygulamaya d\u00f6n\u00fck net ad\u0131mlar i\u00e7eriyor.<\/li>\n<\/ul>\n<h2><span id=\"envden_profesyonel_secret_yonetimine_gecis_icin_yol_haritasi\">.env\u2019den profesyonel secret y\u00f6netimine ge\u00e7i\u015f i\u00e7in yol haritas\u0131<\/span><\/h2>\n<p>Her projede \u201cbir g\u00fcnde Vault\u2019a ge\u00e7elim\u201d ger\u00e7ek\u00e7i olmayabilir. DCHost taraf\u0131nda m\u00fc\u015fterilerimizle izledi\u011fimiz tipik yol haritas\u0131 \u015f\u00f6yle:<\/p>\n<ol>\n<li><strong>Mevcut durum envanteri:<\/strong> T\u00fcm gizli bilgilerinizi (parolalar, anahtarlar, token\u2019lar) en az\u0131ndan bir envanter d\u00f6k\u00fcman\u0131nda toplay\u0131n. Nerede sakland\u0131klar\u0131, kimlerin eri\u015fimi oldu\u011fu net olsun.<\/li>\n<li><strong>.env hijyeni:<\/strong> Mevcut .env\u2019leriniz i\u00e7in dosya izinlerini, yedekleme stratejisini, Git d\u0131\u015flama kurallar\u0131n\u0131 iyile\u015ftirin. \u0130lk ad\u0131m olarak mutlaka <a href=\"https:\/\/www.dchost.com\/blog\/vpste-env-ve-gizli-anahtar-yonetimi\/\">VPS\u2019te .env ve gizli anahtar y\u00f6netimi rehberi<\/a>ndeki kontrolleri uygulay\u0131n.<\/li>\n<li><strong>K\u00fc\u00e7\u00fck bir pilot:<\/strong> T\u00fcm secret\u2019lar yerine \u00f6nce tek bir kritik par\u00e7ay\u0131 (\u00f6rne\u011fin veritaban\u0131 parolas\u0131) Vault veya parameter store\u2019a ta\u015f\u0131y\u0131n. Uygulaman\u0131n o secret\u2019\u0131 yeni kaynaktan okumas\u0131n\u0131 sa\u011flay\u0131n.<\/li>\n<li><strong>CI\/CD entegrasyonu:<\/strong> Da\u011f\u0131t\u0131m hatt\u0131n\u0131zda secret g\u00fcncellemeleriyle uyumlu bir ak\u0131\u015f kurun. Gerekirse <a href=\"https:\/\/www.dchost.com\/blog\/vpste-secrets-yonetimi-nasil-tatli-tatli-cozulur-sops-age-gitops-akisi-systemd-ve-rotasyon\/\">sops + age + GitOps<\/a> yakla\u015f\u0131m\u0131yla <em>configuration as code<\/em> taraf\u0131n\u0131 da g\u00fc\u00e7lendirin.<\/li>\n<li><strong>Tam ge\u00e7i\u015f ve dok\u00fcmantasyon:<\/strong> T\u00fcm secret\u2019lar\u0131n\u0131z\u0131 y\u00f6netilen bir yap\u0131ya ald\u0131ktan sonra, bu yap\u0131n\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve kimlerin hangi s\u00fcre\u00e7te ne yapaca\u011f\u0131n\u0131 mutlaka yaz\u0131l\u0131 hale getirin.<\/li>\n<\/ol>\n<h2><span id=\"Sonuc_DCHost_uzerinde_secret_yonetimini_bir_seviye_yukari_tasiyin\">Sonu\u00e7: DCHost \u00fczerinde secret y\u00f6netimini bir seviye yukar\u0131 ta\u015f\u0131y\u0131n<\/span><\/h2>\n<p>\u00d6zetleyelim: .env dosyalar\u0131, tek VPS\u2019li basit projelerde i\u015f g\u00f6rse de, ciddi i\u015f y\u00fcklerinde hem g\u00fcvenlik hem de operasyon taraf\u0131nda t\u0131kanma noktas\u0131 haline geliyor. DCHost \u00fczerinde bar\u0131nd\u0131rd\u0131\u011f\u0131n\u0131z uygulamalarda:<\/p>\n<ul>\n<li>Kendi y\u00f6netti\u011finiz bir <strong>HashiCorp Vault<\/strong> ile tam kontrol sahibi olabilir,<\/li>\n<li>Genel bulutun sa\u011flad\u0131\u011f\u0131 <strong>parameter store ve SSM benzeri servisleri<\/strong> kullanarak operasyonel y\u00fck\u00fc azaltabilir,<\/li>\n<li>Ya da bu ikisini hibrit \u015fekilde kullanarak hem esneklik hem de g\u00fcvenlik elde edebilirsiniz.<\/li>\n<\/ul>\n<p>En kritik nokta, gizli bilgilerinizi rastgele dosyalarda de\u011fil, <strong>tasarlanm\u0131\u015f bir mimaride<\/strong> sakl\u0131yor olman\u0131z. Buradan sonra ataca\u011f\u0131n\u0131z her ad\u0131m, hem g\u00fcvenlik denetimlerinde hem de ekip i\u00e7i huzurda kendini fazlas\u0131yla geri \u00f6deyecek.<\/p>\n<p>E\u011fer DCHost \u00fczerinde \u00e7al\u0131\u015fan projeniz i\u00e7in hangi yakla\u015f\u0131m\u0131n daha uygun oldu\u011funa karar veremiyorsan\u0131z, mevcut mimarinizi birlikte g\u00f6zden ge\u00e7irebiliriz. Altyap\u0131n\u0131z ister tek VPS, ister \u00e7ok VPS\u2019li ya da <a href=\"https:\/\/www.dchost.com\/tr\/fiziksel-sunucu\">dedicated sunucu<\/a> olsun; secret y\u00f6netimini sade, denetlenebilir ve otomasyona uygun hale getirmek m\u00fcmk\u00fcn. Bir sonraki bak\u0131m penceresinde sadece kodu de\u011fil, <strong>gizli bilgilerinizi y\u00f6netti\u011finiz altyap\u0131y\u0131<\/strong> da g\u00fcncelleme listesine alman\u0131z\u0131 \u015fiddetle \u00f6neriyoruz.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 Env dosyalar\u0131n\u0131n s\u0131n\u0131rlar\u0131: Sorun nerede ba\u015fl\u0131yor?2 .env dosyas\u0131n\u0131n \u00f6tesine ge\u00e7mek neden zorunlu hale geliyor?2.1 1. S\u0131z\u0131nt\u0131 y\u00fczeyinin \u00e7ok geni\u015f olmas\u01312.2 2. Ortamlar aras\u0131 tutarl\u0131l\u0131k sorunu2.3 3. Rotasyon (anahtar d\u00f6nd\u00fcrme) ve denetim izi eksikli\u011fi3 VPS \u00fczerinde gizli bilgi y\u00f6netimi i\u00e7in temel yakla\u015f\u0131mlar4 HashiCorp Vault: VPS \u00fczerinde kendi secret manager\u2019\u0131n\u0131z\u0131 bar\u0131nd\u0131rmak4.1 Vault\u2019un temel bile\u015fenleri4.2 Tek VPS [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4741,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-4740","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\/4740","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=4740"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/4740\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/4741"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=4740"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=4740"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=4740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}