{"id":40629,"date":"2026-02-28T04:40:48","date_gmt":"2026-02-28T01:40:48","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=40629"},"modified":"2026-02-28T04:40:48","modified_gmt":"2026-02-28T01:40:48","slug":"digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/","title":{"rendered":"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131"},"content":{"rendered":"<p><body><\/p>\n<h2>DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131<\/h2>\n<p>DigitalOcean, geli\u015ftiricilere ve i\u015fletmelere bulut altyap\u0131s\u0131 sa\u011flamada pop\u00fcler bir platformdur. Sundu\u011fu hizmetler aras\u0131nda, veritaban\u0131 y\u00f6netiminin karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 ortadan kald\u0131ran ve y\u00fcksek performans, \u00f6l\u00e7eklenebilirlik ile g\u00fcvenilirlik sunan Y\u00f6netilen Veritabanlar\u0131 (Managed Databases) \u00f6nemli bir yer tutar. PostgreSQL, MySQL, Redis ve MongoDB gibi pop\u00fcler veritaban\u0131 motorlar\u0131 i\u00e7in sunulan bu hizmetler, altyap\u0131 y\u00f6netimi y\u00fck\u00fcn\u00fc DigitalOcean&#8217;a devrederek geli\u015ftiricilerin ana i\u015flerine odaklanmalar\u0131n\u0131 sa\u011flar. Ancak, bu veritabanlar\u0131na &#8220;her yerden&#8221; eri\u015fim sa\u011flarken, \u00f6zellikle de \u00fcretim ortamlar\u0131nda, g\u00fcvenli\u011fi en \u00fcst d\u00fczeyde tutmak kritik bir \u00f6neme sahiptir. Bu makale, DigitalOcean Y\u00f6netilen Veritabanlar\u0131na d\u00fcnyan\u0131n herhangi bir noktas\u0131ndan nas\u0131l g\u00fcvenli bir \u015fekilde ba\u011flan\u0131laca\u011f\u0131n\u0131, farkl\u0131 ba\u011flant\u0131 y\u00f6ntemlerini, en iyi g\u00fcvenlik uygulamalar\u0131n\u0131 ve s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlar\u0131 detayl\u0131 bir \u015fekilde ele alacakt\u0131r.<\/p>\n<h3>DigitalOcean Y\u00f6netilen Veritabanlar\u0131 Nedir ve Neden Tercih Edilmeli?<\/h3>\n<p>DigitalOcean Y\u00f6netilen Veritabanlar\u0131, veritaban\u0131 sunucular\u0131n\u0131 kurma, yap\u0131land\u0131rma, yedekleme, g\u00fcncelleme ve \u00f6l\u00e7eklendirme gibi rutin ve zaman al\u0131c\u0131 g\u00f6revleri DigitalOcean&#8217;\u0131n \u00fcstlendi\u011fi tam olarak y\u00f6netilen bir hizmettir. Bu hizmet, geli\u015ftiricilerin veritaban\u0131 altyap\u0131s\u0131 yerine uygulama geli\u015ftirme ve veri y\u00f6netimi \u00fczerine yo\u011funla\u015fmalar\u0131na olanak tan\u0131r.<\/p>\n<h4>Y\u00f6netilen Veritabanlar\u0131n\u0131n Avantajlar\u0131:<\/h4>\n<p>*   <strong>Otomatik Bak\u0131m ve G\u00fcncellemeler:<\/strong> DigitalOcean, veritaban\u0131 motorunuzun g\u00fcvenlik yamalar\u0131n\u0131, s\u00fcr\u00fcm y\u00fckseltmelerini ve genel bak\u0131mlar\u0131n\u0131 otomatik olarak ger\u00e7ekle\u015ftirir. Bu, sistem y\u00f6neticilerinin \u00fczerindeki y\u00fck\u00fc azalt\u0131r ve veritaban\u0131n\u0131n her zaman g\u00fcncel ve g\u00fcvenli kalmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong>Y\u00fcksek Eri\u015filebilirlik ve Yedekleme:<\/strong> Y\u00f6netilen veritabanlar\u0131, varsay\u0131lan olarak y\u00fcksek eri\u015filebilirlik (High Availability &#8211; HA) i\u00e7in yap\u0131land\u0131r\u0131labilir. Bu, birincil veritaban\u0131 d\u00fc\u011f\u00fcm\u00fcnde bir ar\u0131za durumunda otomatik olarak ikincil bir d\u00fc\u011f\u00fcme ge\u00e7i\u015f yap\u0131lmas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, g\u00fcnl\u00fck otomatik yedeklemeler ve belirli bir noktaya geri y\u00fckleme (Point-in-Time Recovery) yetene\u011fi sayesinde veri kayb\u0131 riski minimuma indirilir.<br \/>\n*   <strong>\u00d6l\u00e7eklenebilirlik:<\/strong> \u0130htiya\u00e7lar\u0131n\u0131za g\u00f6re veritaban\u0131n\u0131z\u0131n kaynaklar\u0131n\u0131 (CPU, RAM, depolama) kolayca \u00f6l\u00e7eklendirebilirsiniz. Bu, uygulaman\u0131z\u0131n b\u00fcy\u00fcmesiyle birlikte veritaban\u0131n\u0131z\u0131n performans\u0131n\u0131 da art\u0131rma esnekli\u011fi sunar. Okuma replikalar\u0131 (Read Replicas) ekleyerek okuma y\u00fck\u00fcn\u00fc da\u011f\u0131tmak da m\u00fcmk\u00fcnd\u00fcr.<br \/>\n*   <strong>G\u00fcvenlik:<\/strong> DigitalOcean, veritaban\u0131 trafi\u011fi i\u00e7in SSL\/TLS \u015fifrelemesi, a\u011f d\u00fczeyinde g\u00fcvenlik duvar\u0131 kurallar\u0131 ve iste\u011fe ba\u011fl\u0131 olarak \u00f6zel a\u011f (VPC) entegrasyonu gibi kapsaml\u0131 g\u00fcvenlik \u00f6zellikleri sunar. Verileriniz diskte \u015fifrelenmi\u015f olarak saklan\u0131r (encryption at rest).<br \/>\n*   <strong>Kolay Y\u00f6netim:<\/strong> DigitalOcean Kontrol Paneli, API veya <code>doctl<\/code> CLI arac\u0131 \u00fczerinden veritabanlar\u0131n\u0131z\u0131 kolayca olu\u015fturabilir, yap\u0131land\u0131rabilir ve izleyebilirsiniz. Ba\u011flant\u0131 dizeleri, sertifikalar ve kullan\u0131c\u0131 y\u00f6netimi gibi i\u015flemler basitle\u015ftirilmi\u015ftir.<br \/>\n*   <strong>Performans:<\/strong> SSD tabanl\u0131 depolama, optimize edilmi\u015f yap\u0131land\u0131rmalar ve g\u00fc\u00e7l\u00fc donan\u0131m se\u00e7enekleri sayesinde y\u00fcksek performansl\u0131 veritaban\u0131 i\u015flemleri elde edilir.<\/p>\n<p>Bu avantajlar, DigitalOcean Y\u00f6netilen Veritabanlar\u0131n\u0131 modern bulut tabanl\u0131 uygulamalar i\u00e7in cazip bir se\u00e7enek haline getirmektedir. Ancak, bu veritabanlar\u0131na eri\u015fim, \u00f6zellikle de internet \u00fczerinden yap\u0131l\u0131yorsa, dikkatli bir g\u00fcvenlik planlamas\u0131 gerektirir.<\/p>\n<h3>G\u00fcvenli Ba\u011flant\u0131n\u0131n \u00d6nemi ve Temel Prensipler<\/h3>\n<p>Veritabanlar\u0131, \u00e7o\u011fu uygulama i\u00e7in en de\u011ferli varl\u0131k olan veriyi bar\u0131nd\u0131r\u0131r. Bu nedenle, veritaban\u0131 ba\u011flant\u0131lar\u0131n\u0131n g\u00fcvenli\u011fi herhangi bir sistemin genel g\u00fcvenlik duru\u015funun temelini olu\u015fturur. G\u00fcvenli olmayan bir ba\u011flant\u0131, yetkisiz eri\u015fime, veri ihlallerine ve ciddi i\u015f kay\u0131plar\u0131na yol a\u00e7abilir.<\/p>\n<h4>Temel G\u00fcvenlik Prensipleri:<\/h4>\n<p>*   <strong>En Az Ayr\u0131cal\u0131k Prensibi (Least Privilege):<\/strong> Kullan\u0131c\u0131lara ve uygulamalara yaln\u0131zca i\u015flerini yapmak i\u00e7in kesinlikle gerekli olan minimum ayr\u0131cal\u0131klar\u0131 verin. \u00d6rne\u011fin, bir web uygulamas\u0131na veritaban\u0131nda sadece okuma ve yazma yetkisi verilirken, \u015fema de\u011fi\u015fiklikleri i\u00e7in ayr\u0131 bir y\u00f6netici kullan\u0131c\u0131s\u0131 kullan\u0131lmal\u0131d\u0131r.<br \/>\n*   <strong>Derinlemesine Savunma (Defense in Depth):<\/strong> Tek bir g\u00fcvenlik katman\u0131na g\u00fcvenmek yerine, birden \u00e7ok g\u00fcvenlik katman\u0131 uygulay\u0131n. Bu, bir katman\u0131n a\u015f\u0131lmas\u0131 durumunda di\u011fer katmanlar\u0131n koruma sa\u011flamaya devam etmesini sa\u011flar. \u00d6rne\u011fin, g\u00fcvenlik duvar\u0131, SSL\/TLS \u015fifrelemesi ve g\u00fc\u00e7l\u00fc kimlik do\u011frulama kombinasyonu.<br \/>\n*   <strong>\u0130letimde \u015eifreleme (Encryption in Transit):<\/strong> Veritaban\u0131 ile istemci aras\u0131ndaki t\u00fcm ileti\u015fimin \u015fifrelendi\u011finden emin olun. Bu, a\u011f trafi\u011finin dinlenmesini (eavesdropping) \u00f6nler ve hassas verilerin a\u00e7\u0131\u011fa \u00e7\u0131kmas\u0131n\u0131 engeller. DigitalOcean Y\u00f6netilen Veritabanlar\u0131 i\u00e7in SSL\/TLS kullan\u0131m\u0131 zorunludur veya \u015fiddetle tavsiye edilir.<br \/>\n*   <strong>A\u011f Segmentasyonu (Network Segmentation):<\/strong> Veritaban\u0131n\u0131z\u0131 di\u011fer a\u011f kaynaklar\u0131ndan izole edin. DigitalOcean&#8217;\u0131n \u00d6zel A\u011f (VPC) \u00f6zelli\u011fi, bu izolasyonu sa\u011flaman\u0131n etkili bir yoludur. Veritaban\u0131n\u0131n yaln\u0131zca belirli IP adreslerinden veya belirli bir \u00f6zel a\u011f i\u00e7inden eri\u015filebilir olmas\u0131n\u0131 sa\u011flamak, sald\u0131r\u0131 y\u00fczeyini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<br \/>\n*   <strong>G\u00fc\u00e7l\u00fc Kimlik Do\u011frulama:<\/strong> Varsay\u0131lan kullan\u0131c\u0131 adlar\u0131 ve \u015fifreler yerine karma\u015f\u0131k, benzersiz ve d\u00fczenli olarak de\u011fi\u015ftirilen \u015fifreler kullan\u0131n. M\u00fcmk\u00fcnse, Multi-Factor Authentication (MFA) gibi ek kimlik do\u011frulama y\u00f6ntemlerini de\u011ferlendirin (ancak veritaban\u0131 ba\u011flant\u0131lar\u0131 i\u00e7in genellikle uygulama d\u00fczeyinde y\u00f6netilir).<\/p>\n<h3>DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Ba\u011flant\u0131 Y\u00f6ntemleri<\/h3>\n<p>DigitalOcean Y\u00f6netilen Veritabanlar\u0131na ba\u011flanmak i\u00e7in birka\u00e7 farkl\u0131 y\u00f6ntem bulunmaktad\u0131r. Her bir y\u00f6ntemin kendi g\u00fcvenlik ve kullan\u0131m senaryolar\u0131 vard\u0131r.<\/p>\n<h4>Genel A\u011f (Public Network) \u00dczerinden Ba\u011flant\u0131<\/h4>\n<p>Bu, DigitalOcean Y\u00f6netilen Veritabanlar\u0131na ba\u011flanman\u0131n en basit yoludur. Veritaban\u0131n\u0131z\u0131n genel bir IP adresi \u00fczerinden internete a\u00e7\u0131k olmas\u0131n\u0131 i\u00e7erir. Ancak, bu y\u00f6ntem en \u00e7ok dikkat gerektiren ve do\u011fru yap\u0131land\u0131r\u0131lmad\u0131\u011f\u0131 takdirde en riskli olan\u0131d\u0131r.<\/p>\n<h5>G\u00fcvenlik Duvar\u0131 (Firewall) Kurallar\u0131<\/h5>\n<p>DigitalOcean Y\u00f6netilen Veritabanlar\u0131, yerle\u015fik bir g\u00fcvenlik duvar\u0131 ile gelir. Bu g\u00fcvenlik duvar\u0131, veritaban\u0131n\u0131za hangi IP adreslerinden veya IP aral\u0131klar\u0131ndan eri\u015filebilece\u011fini kontrol etmenizi sa\u011flar.<\/p>\n<p>*   <strong>Yap\u0131land\u0131rma:<\/strong> DigitalOcean Kontrol Paneli&#8217;nde veritaban\u0131n\u0131z\u0131n ayarlar\u0131na giderek &#8220;G\u00fcvenlik Duvar\u0131&#8221; b\u00f6l\u00fcm\u00fcnde kurallar ekleyebilirsiniz. Her kural, bir kaynak IP adresi (veya CIDR blo\u011fu) ve izin verilen bir port (genellikle veritaban\u0131n\u0131n varsay\u0131lan portu, \u00f6rn: PostgreSQL i\u00e7in 5432, MySQL i\u00e7in 3306) belirtir.<br \/>\n*   <strong>En \u0130yi Uygulama:<\/strong> Asla <code>0.0.0.0\/0<\/code> (t\u00fcm internet) eri\u015fimine izin vermeyin. Bu, veritaban\u0131n\u0131z\u0131 herkese a\u00e7\u0131k hale getirir. Bunun yerine, uygulaman\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucular\u0131n statik IP adreslerini, geli\u015ftirme ortam\u0131n\u0131z\u0131n IP adresini veya ofisinizin \u00e7\u0131k\u0131\u015f IP adresini (statik IP&#8217;niz varsa) belirtin. E\u011fer IP adresiniz dinamikse, VPN kullanarak sabit bir \u00e7\u0131k\u0131\u015f noktas\u0131 elde etmeyi d\u00fc\u015f\u00fcn\u00fcn.<br \/>\n*   <strong>Y\u00f6netim:<\/strong> G\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131z\u0131 d\u00fczenli olarak g\u00f6zden ge\u00e7irin ve art\u0131k ihtiya\u00e7 duyulmayan eri\u015fimleri kald\u0131r\u0131n.<\/p>\n<h5>SSL\/TLS Kullan\u0131m\u0131<\/h5>\n<p>Genel a\u011f \u00fczerinden ba\u011flan\u0131rken, veritaban\u0131 ile istemci aras\u0131ndaki t\u00fcm ileti\u015fimin \u015fifrelenmesi zorunludur. DigitalOcean Y\u00f6netilen Veritabanlar\u0131, SSL\/TLS \u015fifrelemesini destekler ve \u00e7o\u011fu zaman bunu zorunlu k\u0131lar.<\/p>\n<p>*   <strong>Sertifika \u0130ndirme:<\/strong> DigitalOcean Kontrol Paneli&#8217;nden veya <code>doctl<\/code> CLI arac\u0131l\u0131\u011f\u0131yla veritaban\u0131n\u0131z\u0131n CA (Certificate Authority) sertifikas\u0131n\u0131 indirebilirsiniz. Bu sertifika, istemcinizin veritaban\u0131 sunucusunun kimli\u011fini do\u011frulamas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong>Ba\u011flant\u0131 Dizeleri:<\/strong> \u0130stemci uygulaman\u0131zda veya komut sat\u0131r\u0131 arac\u0131n\u0131zda SSL\/TLS kullanmak i\u00e7in uygun parametreleri belirtmeniz gerekir. \u00d6rne\u011fin:<br \/>\n    *   <strong>PostgreSQL (psql):<\/strong><\/p>\n<pre><code class=\"language-bash\">psql \"sslmode=require sslrootcert=\/path\/to\/ca-certificate.crt host=your-db-host.ondigitalocean.com port=5432 user=your-user password=your-password dbname=your-database\"<\/code><\/pre>\n<p>    *   <strong>MySQL (mysql client):<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -h your-db-host.ondigitalocean.com -P 3306 -u your-user -p --ssl-mode=VERIFY_IDENTITY --ssl-ca=\/path\/to\/ca-certificate.crt your-database<\/code><\/pre>\n<p>*   <strong><code>sslmode<\/code> \/ <code>ssl-mode<\/code> Se\u00e7enekleri:<\/strong><br \/>\n    *   <code>require<\/code>: SSL kullanmay\u0131 zorunlu k\u0131lar, ancak sunucu sertifikas\u0131n\u0131 do\u011frulamaz. Man-in-the-middle sald\u0131r\u0131lar\u0131na kar\u015f\u0131 savunmas\u0131z olabilir.<br \/>\n    *   <code>verify-ca<\/code>: SSL kullanmay\u0131 zorunlu k\u0131lar ve sunucu sertifikas\u0131n\u0131n CA taraf\u0131ndan imzaland\u0131\u011f\u0131n\u0131 do\u011frular.<br \/>\n    *   <code>verify-full<\/code> (PostgreSQL) \/ <code>VERIFY_IDENTITY<\/code> (MySQL): SSL kullanmay\u0131 zorunlu k\u0131lar, CA do\u011frulamas\u0131 yapar ve sunucu sertifikas\u0131ndaki ana bilgisayar ad\u0131n\u0131n ba\u011flant\u0131 kurulan ana bilgisayar ad\u0131yla e\u015fle\u015fti\u011fini do\u011frular. Bu, en g\u00fcvenli se\u00e7enektir ve \u015fiddetle tavsiye edilir.<\/p>\n<h4>\u00d6zel A\u011f (VPC) \u00dczerinden Ba\u011flant\u0131<\/h4>\n<p>DigitalOcean \u00d6zel A\u011f (Virtual Private Cloud &#8211; VPC), ayn\u0131 veri merkezi b\u00f6lgesindeki DigitalOcean kaynaklar\u0131n\u0131z (Droplet&#8217;ler, Kubernetes K\u00fcmeleri, Y\u00f6netilen Veritabanlar\u0131) aras\u0131nda tamamen izole edilmi\u015f, \u00f6zel bir a\u011f olu\u015fturman\u0131za olanak tan\u0131r. Bu, veritaban\u0131 ba\u011flant\u0131lar\u0131 i\u00e7in en g\u00fcvenli ve performans\u0131 en y\u00fcksek y\u00f6ntemdir.<\/p>\n<h5>VPC Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h5>\n<p>Bir VPC, DigitalOcean genel a\u011f\u0131 i\u00e7inde, size \u00f6zel ayr\u0131lm\u0131\u015f bir a\u011f dilimidir. VPC i\u00e7indeki kaynaklar, genel internete maruz kalmadan birbirleriyle \u00f6zel IP adresleri \u00fczerinden ileti\u015fim kurabilir. Bu, a\u011f trafi\u011finin DigitalOcean&#8217;\u0131n i\u00e7 a\u011f\u0131 i\u00e7inde kalmas\u0131n\u0131 sa\u011flar ve genel internet \u00fczerinden ge\u00e7i\u015f riskini ortadan kald\u0131r\u0131r.<\/p>\n<h5>VPC Ba\u011flant\u0131s\u0131n\u0131 Yap\u0131land\u0131rma<\/h5>\n<p>*   <strong>VPC Olu\u015fturma:<\/strong> DigitalOcean Kontrol Paneli&#8217;nde bir VPC olu\u015fturman\u0131z gerekir.<br \/>\n*   <strong>Veritaban\u0131n\u0131 VPC&#8217;ye Ekleme:<\/strong> Y\u00f6netilen veritaban\u0131n\u0131z\u0131 olu\u015ftururken veya mevcut bir veritaban\u0131n\u0131 d\u00fczenlerken, onu belirli bir VPC&#8217;ye atayabilirsiniz. Veritaban\u0131n\u0131z, bu VPC i\u00e7inde \u00f6zel bir IP adresi alacakt\u0131r.<br \/>\n*   <strong>Ba\u011flant\u0131 Kurma:<\/strong><br \/>\n    *   <strong>Ayn\u0131 VPC&#8217;deki Droplet&#8217;ler:<\/strong> E\u011fer uygulaman\u0131z bir DigitalOcean Droplet \u00fczerinde \u00e7al\u0131\u015f\u0131yorsa ve bu Droplet ayn\u0131 VPC&#8217;ye ba\u011fl\u0131ysa, veritaban\u0131n\u0131za \u00f6zel IP adresi \u00fczerinden do\u011frudan ba\u011flanabilirsiniz. Bu durumda, genel g\u00fcvenlik duvar\u0131 kurallar\u0131na gerek kalmaz (veya \u00e7ok daha basit kurallar yeterli olur) ve ba\u011flant\u0131 daha h\u0131zl\u0131 ve g\u00fcvenlidir.<br \/>\n    *   <strong>Kubernetes K\u00fcmeleri:<\/strong> DigitalOcean Kubernetes (DOKS) k\u00fcmeleri de VPC&#8217;lere ba\u011flanabilir. K\u00fcmelerinizdeki pod&#8217;lar, veritaban\u0131na \u00f6zel IP \u00fczerinden eri\u015febilir.<br \/>\n*   <strong>SSL\/TLS Kullan\u0131m\u0131:<\/strong> VPC i\u00e7indeki ba\u011flant\u0131lar genel internete a\u00e7\u0131k olmasa da, yine de SSL\/TLS kullanmak iyi bir g\u00fcvenlik uygulamas\u0131d\u0131r. Bu, &#8220;derinlemesine savunma&#8221; prensibine uyar ve i\u00e7 a\u011fda olas\u0131 bir ihlal durumunda bile verilerinizin \u015fifreli kalmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>VPN veya T\u00fcnelleme Y\u00f6ntemleri ile Ba\u011flant\u0131<\/h4>\n<p>Uygulaman\u0131z veya geli\u015ftirme ortam\u0131n\u0131z DigitalOcean VPC&#8217;si d\u0131\u015f\u0131nda (\u00f6rne\u011fin, \u015firket i\u00e7i sunucular\u0131n\u0131zda, ba\u015fka bir bulut sa\u011flay\u0131c\u0131s\u0131nda veya yerel geli\u015ftirme makinenizde) bulunuyorsa ve veritaban\u0131na g\u00fcvenli bir \u015fekilde eri\u015fmeniz gerekiyorsa, VPN veya SSH t\u00fcnelleme gibi y\u00f6ntemler kullanabilirsiniz.<\/p>\n<h5>Site-to-Site VPN (IPsec)<\/h5>\n<p>Bu y\u00f6ntem, \u015firket i\u00e7i a\u011f\u0131n\u0131z ile DigitalOcean VPC&#8217;niz aras\u0131nda kal\u0131c\u0131, \u015fifreli bir t\u00fcnel olu\u015fturur. Genellikle, DigitalOcean VPC&#8217;nizde bir Droplet \u00fczerine bir VPN a\u011f ge\u00e7idi (\u00f6rne\u011fin, OpenSwan\/Libreswan veya pfSense) kurularak ger\u00e7ekle\u015ftirilir.<\/p>\n<p>*   <strong>Senaryo:<\/strong> \u015eirket i\u00e7i sunucular\u0131n DigitalOcean&#8217;daki veritaban\u0131na s\u00fcrekli ve g\u00fcvenli eri\u015fim sa\u011flamas\u0131 gereken durumlarda idealdir.<br \/>\n*   <strong>Karma\u015f\u0131kl\u0131k:<\/strong> Kurulumu ve y\u00f6netimi di\u011fer y\u00f6ntemlere g\u00f6re daha karma\u015f\u0131kt\u0131r, a\u011f m\u00fchendisli\u011fi bilgisi gerektirir.<br \/>\n*   <strong>Avantaj:<\/strong> T\u00fcm a\u011f trafi\u011fi \u015fifrelenir ve \u00f6zel bir t\u00fcnel \u00fczerinden ge\u00e7er.<\/p>\n<h5>Client-to-Site VPN (OpenVPN, WireGuard)<\/h5>\n<p>Bireysel kullan\u0131c\u0131lar\u0131n (geli\u015ftiriciler, y\u00f6neticiler) yerel makinelerinden DigitalOcean VPC&#8217;sine g\u00fcvenli bir \u015fekilde ba\u011flanmas\u0131n\u0131 sa\u011flar. DigitalOcean VPC&#8217;nizde bir Droplet \u00fczerine bir VPN sunucusu (\u00f6rne\u011fin, OpenVPN veya WireGuard) kurars\u0131n\u0131z. Kullan\u0131c\u0131lar bu VPN sunucusuna ba\u011flanarak kendilerini VPC&#8217;nin bir par\u00e7as\u0131 gibi g\u00f6sterir ve veritaban\u0131na \u00f6zel IP adresi \u00fczerinden eri\u015febilirler.<\/p>\n<p>*   <strong>Kurulum Ad\u0131mlar\u0131:<\/strong><br \/>\n    1.  DigitalOcean VPC&#8217;nizde bir Droplet olu\u015fturun.<br \/>\n    2.  Bu Droplet \u00fczerine bir VPN sunucusu (\u00f6rn: OpenVPN Access Server veya WireGuard) kurun ve yap\u0131land\u0131r\u0131n.<br \/>\n    3.  Yerel makinenizde VPN istemcisini kurun ve sunucuya ba\u011flan\u0131n.<br \/>\n    4.  VPN ba\u011flant\u0131s\u0131 kurulduktan sonra, veritaban\u0131na \u00f6zel IP adresi ve SSL\/TLS ile ba\u011flan\u0131n.<br \/>\n*   <strong>Avantaj:<\/strong> Esnek, bireysel kullan\u0131c\u0131lar i\u00e7in g\u00fcvenli eri\u015fim sa\u011flar. Genel IP adreslerinin g\u00fcvenlik duvar\u0131nda listelenmesi ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r.<\/p>\n<h5>SSH T\u00fcnelleme (Port Forwarding)<\/h5>\n<p>SSH t\u00fcnelleme, genellikle geli\u015ftirme ve y\u00f6netim ama\u00e7lar\u0131 i\u00e7in kullan\u0131lan ge\u00e7ici ve g\u00fcvenli bir ba\u011flant\u0131 y\u00f6ntemidir. DigitalOcean VPC&#8217;nizde bulunan bir Droplet&#8217;i (bir &#8220;jump host&#8221; veya &#8220;bastion host&#8221;) ara sunucu olarak kullanarak yerel makinenizden veritaban\u0131na g\u00fcvenli bir t\u00fcnel olu\u015fturman\u0131z\u0131 sa\u011flar.<\/p>\n<p>*   <strong>Nas\u0131l \u00c7al\u0131\u015f\u0131r:<\/strong> Yerel makinenizdeki belirli bir porttan gelen trafi\u011fi, jump host \u00fczerinden veritaban\u0131n\u0131n \u00f6zel IP adresindeki belirli bir porta y\u00f6nlendirirsiniz.<br \/>\n*   <strong>Komut \u00d6rne\u011fi:<\/strong><\/p>\n<pre><code class=\"language-bash\">ssh -L 5432:your-db-private-ip:5432 your-user@your-jump-host-ip -N<\/code><\/pre>\n<p>    Bu komut, yerel makinenizin 5432 portundan gelen trafi\u011fi, <code>your-jump-host-ip<\/code> adresindeki Droplet \u00fczerinden <code>your-db-private-ip<\/code> adresindeki veritaban\u0131n\u0131n 5432 portuna (PostgreSQL i\u00e7in) y\u00f6nlendirir. <code>-N<\/code> bayra\u011f\u0131, uzak komut \u00e7al\u0131\u015ft\u0131rmadan sadece t\u00fcnel kurmay\u0131 sa\u011flar.<br \/>\n*   <strong>Kullan\u0131m:<\/strong> T\u00fcnel kurulduktan sonra, yerel makinenizdeki veritaban\u0131 istemcinizi (\u00f6rne\u011fin <code>psql<\/code> veya bir IDE) <code>localhost:5432<\/code> adresine ba\u011flanacak \u015fekilde yap\u0131land\u0131rabilirsiniz.<br \/>\n*   <strong>Avantaj:<\/strong> Kurulumu nispeten kolayd\u0131r, ek bir VPN sunucusu gerektirmez, tekil ve ge\u00e7ici ba\u011flant\u0131lar i\u00e7in idealdir.<br \/>\n*   <strong>Dezavantaj:<\/strong> Her oturum i\u00e7in t\u00fcnelin manuel olarak kurulmas\u0131 gerekir, b\u00fcy\u00fck \u00f6l\u00e7ekli uygulama ba\u011flant\u0131lar\u0131 i\u00e7in uygun de\u011fildir.<\/p>\n<h3>Ba\u011flant\u0131 Dizeleri ve \u00d6rnekler<\/h3>\n<p>Veritaban\u0131n\u0131za ba\u011flan\u0131rken do\u011fru ba\u011flant\u0131 dizelerini kullanmak \u00e7ok \u00f6nemlidir. \u0130\u015fte baz\u0131 pop\u00fcler veritaban\u0131 motorlar\u0131 ve programlama dilleri i\u00e7in \u00f6rnekler:<\/p>\n<h4>PostgreSQL Ba\u011flant\u0131 \u00d6rnekleri<\/h4>\n<p>*   <strong>Komut Sat\u0131r\u0131 (psql):<\/strong><\/p>\n<pre><code class=\"language-bash\">psql \"host=your-db-host.ondigitalocean.com port=5432 user=your-user password=your-password dbname=your-database sslmode=verify-full sslrootcert=\/path\/to\/ca-certificate.crt\"<\/code><\/pre>\n<p>    Veya \u00f6zel a\u011f kullan\u0131yorsan\u0131z:<\/p>\n<pre><code class=\"language-bash\">psql \"host=your-db-private-ip port=5432 user=your-user password=your-password dbname=your-database sslmode=require sslrootcert=\/path\/to\/ca-certificate.crt\"<\/code><\/pre>\n<p>    (VPC i\u00e7inde <code>sslmode=require<\/code> yeterli olabilir, ancak <code>verify-full<\/code> her zaman daha g\u00fcvenlidir.)<br \/>\n*   <strong>Python (psycopg2):<\/strong><\/p>\n<pre><code class=\"language-python\">import psycopg2\n    conn = psycopg2.connect(\n        host=\"your-db-host.ondigitalocean.com\",\n        port=5432,\n        user=\"your-user\",\n        password=\"your-password\",\n        dbname=\"your-database\",\n        sslmode=\"verify-full\",\n        sslrootcert=\"\/path\/to\/ca-certificate.crt\"\n    )\n    cursor = conn.cursor()\n    cursor.execute(\"SELECT version();\")\n    print(cursor.fetchone())\n    conn.close()<\/code><\/pre>\n<p>*   <strong>Node.js (pg):<\/strong><\/p>\n<pre><code class=\"language-javascript\">const { Client } = require('pg');\n    const client = new Client({\n        host: 'your-db-host.ondigitalocean.com',\n        port: 5432,\n        user: 'your-user',\n        password: 'your-password',\n        database: 'your-database',\n        ssl: {\n            rejectUnauthorized: true, \/\/ For verify-full\n            ca: require('fs').readFileSync('\/path\/to\/ca-certificate.crt').toString(),\n        },\n    });\n    client.connect();\n    client.query('SELECT version();', (err, res) => {\n        if (err) throw err;\n        console.log(res.rows[0]);\n        client.end();\n    });<\/code><\/pre>\n<h4>MySQL Ba\u011flant\u0131 \u00d6rnekleri<\/h4>\n<p>*   <strong>Komut Sat\u0131r\u0131 (mysql client):<\/strong><\/p>\n<pre><code class=\"language-bash\">mysql -h your-db-host.ondigitalocean.com -P 3306 -u your-user -p --ssl-mode=VERIFY_IDENTITY --ssl-ca=\/path\/to\/ca-certificate.crt your-database<\/code><\/pre>\n<p>    Veya \u00f6zel a\u011f kullan\u0131yorsan\u0131z:<\/p>\n<pre><code class=\"language-bash\">mysql -h your-db-private-ip -P 3306 -u your-user -p --ssl-mode=REQUIRED --ssl-ca=\/path\/to\/ca-certificate.crt your-database<\/code><\/pre>\n<p>*   <strong>Python (mysql-connector-python):<\/strong><\/p>\n<pre><code class=\"language-python\">import mysql.connector\n    cnx = mysql.connector.connect(\n        host=\"your-db-host.ondigitalocean.com\",\n        port=3306,\n        user=\"your-user\",\n        password=\"your-password\",\n        database=\"your-database\",\n        ssl_mode=\"VERIFY_IDENTITY\",\n        ssl_ca=\"\/path\/to\/ca-certificate.crt\"\n    )\n    cursor = cnx.cursor()\n    cursor.execute(\"SELECT VERSION();\")\n    print(cursor.fetchone())\n    cnx.close()<\/code><\/pre>\n<p>*   <strong>Node.js (mysql):<\/strong><\/p>\n<pre><code class=\"language-javascript\">const mysql = require('mysql');\n    const fs = require('fs');\n    const connection = mysql.createConnection({\n        host: 'your-db-host.ondigitalocean.com',\n        port: 3306,\n        user: 'your-user',\n        password: 'your-password',\n        database: 'your-database',\n        ssl: {\n            ca: fs.readFileSync('\/path\/to\/ca-certificate.crt'),\n            rejectUnauthorized: true \/\/ For VERIFY_IDENTITY\n        }\n    });\n    connection.connect();\n    connection.query('SELECT VERSION();', (err, rows, fields) => {\n        if (err) throw err;\n        console.log(rows[0]);\n        connection.end();\n    });<\/code><\/pre>\n<p><strong>\u00d6nemli Not:<\/strong> Ba\u011flant\u0131 dizelerindeki hassas bilgileri (\u015fifreler) do\u011frudan kodunuza yazmak yerine, ortam de\u011fi\u015fkenleri, DigitalOcean App Platform Secrets veya bir s\u0131r y\u00f6netimi hizmeti (\u00f6rne\u011fin HashiCorp Vault) kullanarak y\u00f6netmelisiniz.<\/p>\n<h3>En \u0130yi G\u00fcvenlik Uygulamalar\u0131<\/h3>\n<p>DigitalOcean Y\u00f6netilen Veritabanlar\u0131na her yerden g\u00fcvenli bir \u015fekilde ba\u011flanmak i\u00e7in yukar\u0131da belirtilen y\u00f6ntemleri kullanman\u0131n yan\u0131 s\u0131ra, genel g\u00fcvenlik duru\u015funuzu g\u00fc\u00e7lendirecek ek en iyi uygulamalar\u0131 benimsemek hayati \u00f6neme sahiptir.<\/p>\n<h4>\u015eifre Y\u00f6netimi<\/h4>\n<p>*   <strong>G\u00fc\u00e7l\u00fc ve Benzersiz \u015eifreler:<\/strong> T\u00fcm veritaban\u0131 kullan\u0131c\u0131lar\u0131 i\u00e7in uzun, karma\u015f\u0131k ve benzersiz \u015fifreler kullan\u0131n. \u015eifre y\u00f6neticileri bu konuda yard\u0131mc\u0131 olabilir.<br \/>\n*   <strong>S\u0131r Y\u00f6netimi:<\/strong> \u015eifreleri ve di\u011fer hassas kimlik bilgilerini kod taban\u0131n\u0131zda veya yap\u0131land\u0131rma dosyalar\u0131nda d\u00fcz metin olarak saklamaktan ka\u00e7\u0131n\u0131n. Bunun yerine, DigitalOcean App Platform&#8217;un s\u0131r y\u00f6netimi, Kubernetes s\u0131rlar\u0131 veya \u00fc\u00e7\u00fcnc\u00fc taraf s\u0131r y\u00f6netimi \u00e7\u00f6z\u00fcmleri (\u00f6rne\u011fin HashiCorp Vault, AWS Secrets Manager) kullan\u0131n.<br \/>\n*   <strong>D\u00fczenli \u015eifre De\u011fi\u015fikli\u011fi:<\/strong> G\u00fcvenlik politikalar\u0131n\u0131z do\u011frultusunda \u015fifreleri d\u00fczenli olarak de\u011fi\u015ftirin.<\/p>\n<h4>Kullan\u0131c\u0131 Ayr\u0131cal\u0131klar\u0131<\/h4>\n<p>*   <strong>En Az Ayr\u0131cal\u0131k Prensibi:<\/strong> Her kullan\u0131c\u0131ya veya uygulamaya yaln\u0131zca i\u015fini yapmak i\u00e7in gerekli olan minimum veritaban\u0131 ayr\u0131cal\u0131klar\u0131n\u0131 verin. \u00d6rne\u011fin, bir web uygulamas\u0131na sadece <code>SELECT<\/code>, <code>INSERT<\/code>, <code>UPDATE<\/code>, <code>DELETE<\/code> yetkisi verin, ancak <code>CREATE TABLE<\/code> veya <code>DROP DATABASE<\/code> gibi DDL (Data Definition Language) yetkileri vermeyin.<br \/>\n*   <strong>Ayr\u0131 Kullan\u0131c\u0131lar:<\/strong> Farkl\u0131 uygulamalar veya hizmetler i\u00e7in ayr\u0131 veritaban\u0131 kullan\u0131c\u0131lar\u0131 olu\u015fturun. Bu, bir uygulaman\u0131n g\u00fcvenli\u011fi ihlal edildi\u011finde di\u011ferlerinin etkilenme riskini azalt\u0131r.<br \/>\n*   <strong>Varsay\u0131lan Kullan\u0131c\u0131lar\u0131 K\u0131s\u0131tla:<\/strong> DigitalOcean&#8217;\u0131n olu\u015fturdu\u011fu varsay\u0131lan kullan\u0131c\u0131lar\u0131n (genellikle <code>doadmin<\/code>) s\u00fcper kullan\u0131c\u0131 yetkileri vard\u0131r. Bu kullan\u0131c\u0131y\u0131 sadece y\u00f6netim g\u00f6revleri i\u00e7in kullan\u0131n ve uygulama ba\u011flant\u0131lar\u0131 i\u00e7in daha k\u0131s\u0131tl\u0131 yetkilere sahip yeni kullan\u0131c\u0131lar olu\u015fturun.<\/p>\n<h4>Eri\u015fim Denetimi (Access Control)<\/h4>\n<p>*   <strong>G\u00fcvenlik Duvar\u0131 Kurallar\u0131n\u0131 G\u00f6zden Ge\u00e7irme:<\/strong> Veritaban\u0131 g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131z\u0131 d\u00fczenli olarak g\u00f6zden ge\u00e7irin. Art\u0131k ihtiya\u00e7 duyulmayan IP adreslerini veya aral\u0131klar\u0131n\u0131 kald\u0131r\u0131n.<br \/>\n*   <strong>IP Beyaz Listeleme:<\/strong> M\u00fcmk\u00fcn oldu\u011funca belirli IP adreslerini veya k\u00fc\u00e7\u00fck IP aral\u0131klar\u0131n\u0131 beyaz listeye al\u0131n. <code>0.0.0.0\/0<\/code> (t\u00fcm internet) eri\u015fiminden kesinlikle ka\u00e7\u0131n\u0131n.<br \/>\n*   <strong>VPC Kullan\u0131m\u0131:<\/strong> M\u00fcmk\u00fcnse, veritaban\u0131n\u0131z\u0131 bir DigitalOcean VPC&#8217;si i\u00e7ine yerle\u015ftirin ve uygulamalar\u0131n\u0131z\u0131 da ayn\u0131 VPC&#8217;ye ba\u011flay\u0131n. Bu, veritaban\u0131n\u0131z\u0131 genel internete maruz kalmaktan korur.<\/p>\n<h4>G\u00fcncellemeler ve Yama Y\u00f6netimi<\/h4>\n<p>*   <strong>DigitalOcean Sorumlulu\u011fu:<\/strong> Y\u00f6netilen veritabanlar\u0131 i\u00e7in i\u015fletim sistemi ve veritaban\u0131 motoru yamalar\u0131n\u0131 DigitalOcean otomatik olarak y\u00f6netir. Bu, sizin i\u00e7in \u00f6nemli bir g\u00fcvenlik y\u00fck\u00fcn\u00fc ortadan kald\u0131r\u0131r.<br \/>\n*   <strong>Uygulama Ba\u011f\u0131ml\u0131l\u0131klar\u0131:<\/strong> Uygulamalar\u0131n\u0131z\u0131n kulland\u0131\u011f\u0131 veritaban\u0131 s\u00fcr\u00fcc\u00fclerinin ve k\u00fct\u00fcphanelerinin g\u00fcncel oldu\u011fundan emin olun. Eski s\u00fcr\u00fcmlerde g\u00fcvenlik a\u00e7\u0131klar\u0131 bulunabilir.<\/p>\n<h4>Denetim ve \u0130zleme (Auditing and Monitoring)<\/h4>\n<p>*   <strong>DigitalOcean Metrikleri:<\/strong> DigitalOcean Kontrol Paneli \u00fczerinden veritaban\u0131n\u0131z\u0131n CPU, RAM, disk I\/O ve ba\u011flant\u0131 say\u0131lar\u0131 gibi temel metriklerini izleyin. Anormal kullan\u0131m desenleri, potansiyel bir sald\u0131r\u0131n\u0131n i\u015fareti olabilir.<br \/>\n*   <strong>Veritaban\u0131 Loglar\u0131:<\/strong> Veritaban\u0131 sunucusu loglar\u0131n\u0131 (hata loglar\u0131, yava\u015f sorgu loglar\u0131, ba\u011flant\u0131 loglar\u0131) d\u00fczenli olarak inceleyin. DigitalOcean, bu loglara eri\u015fim sa\u011flayabilir veya bunlar\u0131 harici bir log y\u00f6netimi hizmetine aktarman\u0131za izin verebilir.<br \/>\n*   <strong>Anomali Tespiti:<\/strong> Ba\u011flant\u0131 denemelerinde veya sorgu desenlerindeki ani art\u0131\u015flar gibi anormallikleri tespit etmek i\u00e7in izleme ve uyar\u0131 sistemleri kurun.<\/p>\n<h4>Veri \u015eifrelemesi (At Rest ve In Transit)<\/h4>\n<p>*   <strong>Disk \u00dczerinde \u015eifreleme (Encryption at Rest):<\/strong> DigitalOcean Y\u00f6netilen Veritabanlar\u0131, disk \u00fczerinde depolanan verileri otomatik olarak \u015fifreler. Bu, fiziksel depolama ortam\u0131na yetkisiz eri\u015fim durumunda verilerinizin korunmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong>\u0130letimde \u015eifreleme (Encryption in Transit):<\/strong> Yukar\u0131da belirtildi\u011fi gibi, t\u00fcm veritaban\u0131 ba\u011flant\u0131lar\u0131 i\u00e7in SSL\/TLS \u015fifrelemesini zorunlu k\u0131l\u0131n ve <code>verify-full<\/code> veya <code>VERIFY_IDENTITY<\/code> gibi en g\u00fcvenli do\u011frulama modlar\u0131n\u0131 kullan\u0131n.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Veritaban\u0131 ba\u011flant\u0131lar\u0131nda \u00e7e\u015fitli sorunlarla kar\u015f\u0131la\u015fmak olas\u0131d\u0131r. \u0130\u015fte baz\u0131 yayg\u0131n sorunlar ve bunlar\u0131n potansiyel \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong><code>Connection refused<\/code> (Ba\u011flant\u0131 reddedildi):<\/strong><br \/>\n    *   <strong>Neden:<\/strong> En yayg\u0131n neden, istemci IP adresinizin veritaban\u0131 g\u00fcvenlik duvar\u0131 kurallar\u0131nda izin verilmiyor olmas\u0131d\u0131r. Yanl\u0131\u015f port numaras\u0131 veya veritaban\u0131 hizmetinin \u00e7al\u0131\u015fm\u0131yor olmas\u0131 da bir neden olabilir.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> DigitalOcean Kontrol Paneli&#8217;nde veritaban\u0131n\u0131z\u0131n g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131 kontrol edin ve istemcinizin IP adresinin (veya kulland\u0131\u011f\u0131n\u0131z VPN\/proxy&#8217;nin \u00e7\u0131k\u0131\u015f IP&#8217;sinin) listede oldu\u011fundan emin olun. Port numaras\u0131n\u0131 kontrol edin.<br \/>\n*   <strong><code>SSL error<\/code> (SSL hatas\u0131) veya <code>certificate verification failed<\/code> (sertifika do\u011frulamas\u0131 ba\u015far\u0131s\u0131z):<\/strong><br \/>\n    *   <strong>Neden:<\/strong> \u0130stemcinin CA sertifikas\u0131n\u0131 bulamamas\u0131, yanl\u0131\u015f sertifika kullan\u0131lmas\u0131, sertifikan\u0131n bozuk olmas\u0131 veya <code>sslmode<\/code> \/ <code>ssl-mode<\/code> ayar\u0131n\u0131n yanl\u0131\u015f yap\u0131land\u0131r\u0131lmas\u0131.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> DigitalOcean&#8217;dan do\u011fru CA sertifikas\u0131n\u0131 indirdi\u011finizden ve istemci uygulaman\u0131zda do\u011fru yola i\u015faret etti\u011finizden emin olun. <code>sslmode=verify-full<\/code> veya <code>ssl-mode=VERIFY_IDENTITY<\/code> kullan\u0131yorsan\u0131z, veritaban\u0131 ana bilgisayar ad\u0131n\u0131n ba\u011flant\u0131 dizesinde belirtilen ana bilgisayar ad\u0131yla e\u015fle\u015fti\u011finden emin olun.<br \/>\n*   <strong><code>Authentication failed<\/code> (Kimlik do\u011frulama ba\u015far\u0131s\u0131z):<\/strong><br \/>\n    *   <strong>Neden:<\/strong> Yanl\u0131\u015f kullan\u0131c\u0131 ad\u0131, yanl\u0131\u015f \u015fifre veya kullan\u0131c\u0131n\u0131n veritaban\u0131na eri\u015fim yetkisinin olmamas\u0131.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Kullan\u0131c\u0131 ad\u0131n\u0131 ve \u015fifreyi iki kez kontrol edin. DigitalOcean Kontrol Paneli&#8217;nde veritaban\u0131 kullan\u0131c\u0131s\u0131n\u0131n mevcut oldu\u011funu ve do\u011fru \u015fifreye sahip oldu\u011funu do\u011frulay\u0131n. Gerekirse \u015fifreyi s\u0131f\u0131rlay\u0131n.<br \/>\n*   <strong><code>Connection timed out<\/code> (Ba\u011flant\u0131 zaman a\u015f\u0131m\u0131na u\u011frad\u0131):<\/strong><br \/>\n    *   <strong>Neden:<\/strong> A\u011f sorunlar\u0131, g\u00fcvenlik duvar\u0131n\u0131n ba\u011flant\u0131y\u0131 tamamen engellemesi (reddetmek yerine sessizce d\u00fc\u015f\u00fcrmesi) veya \u00e7ok yava\u015f bir a\u011f ba\u011flant\u0131s\u0131.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> \u0130stemci ile veritaban\u0131 aras\u0131ndaki a\u011f ba\u011flant\u0131s\u0131n\u0131 kontrol edin (\u00f6rne\u011fin <code>ping<\/code> veya <code>telnet<\/code> ile veritaban\u0131 portuna ula\u015fmaya \u00e7al\u0131\u015f\u0131n). G\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131 tekrar g\u00f6zden ge\u00e7irin.<br \/>\n*   <strong><code>Too many connections<\/code> (\u00c7ok fazla ba\u011flant\u0131):<\/strong><br \/>\n    *   <strong>Neden:<\/strong> Veritaban\u0131na ayn\u0131 anda \u00e7ok fazla istemci ba\u011flanmaya \u00e7al\u0131\u015f\u0131yor veya a\u00e7\u0131k b\u0131rak\u0131lan ba\u011flant\u0131lar d\u00fczg\u00fcn bir \u015fekilde kapat\u0131lm\u0131yor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Uygulaman\u0131z\u0131n ba\u011flant\u0131 havuzunu (connection pooling) do\u011fru yap\u0131land\u0131rd\u0131\u011f\u0131ndan emin olun. Gerekirse veritaban\u0131 ba\u011flant\u0131 limitini art\u0131rmay\u0131 veya daha b\u00fcy\u00fck bir veritaban\u0131 plan\u0131na ge\u00e7meyi d\u00fc\u015f\u00fcn\u00fcn.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>DigitalOcean Y\u00f6netilen Veritabanlar\u0131, modern uygulamalar i\u00e7in g\u00fc\u00e7l\u00fc, esnek ve y\u00f6netimi kolay bir veri depolama \u00e7\u00f6z\u00fcm\u00fc sunar. Ancak, bu hizmetin t\u00fcm potansiyelinden yararlan\u0131rken, &#8220;her yerden&#8221; eri\u015fim imkan\u0131n\u0131 g\u00fcvenlikten \u00f6d\u00fcn vermeden sa\u011flamak kritik bir zorunluluktur. Bu makalede ele al\u0131nan genel a\u011f \u00fczerinden g\u00fcvenlik duvar\u0131 ve SSL\/TLS ile ba\u011flant\u0131, DigitalOcean VPC kullanarak \u00f6zel a\u011f \u00fczerinden ba\u011flant\u0131 ve VPN\/SSH t\u00fcnelleme gibi geli\u015fmi\u015f y\u00f6ntemler, farkl\u0131 senaryolara uygun g\u00fcvenli eri\u015fim stratejileri sunmaktad\u0131r.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, tek bir g\u00fcvenlik katman\u0131na g\u00fcvenmek yerine, derinlemesine savunma prensibini benimseyerek birden fazla g\u00fcvenlik \u00f6nlemini bir arada kullanmak en sa\u011flam yakla\u015f\u0131m\u0131 olu\u015fturur. G\u00fc\u00e7l\u00fc \u015fifre politikalar\u0131, en az ayr\u0131cal\u0131k ilkesi, d\u00fczenli denetim ve izleme, ve her zaman iletimde \u015fifreleme kullan\u0131m\u0131, veritaban\u0131 g\u00fcvenli\u011finizin temel ta\u015flar\u0131d\u0131r. Bu rehberdeki bilgileri uygulayarak, DigitalOcean Y\u00f6netilen Veritabanlar\u0131n\u0131za d\u00fcnyan\u0131n neresinde olursan\u0131z olun g\u00fcvenli ve verimli bir \u015fekilde ba\u011flanabilir, uygulaman\u0131z\u0131n veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve gizlili\u011fini koruyabilirsiniz. Gelecekte, DigitalOcean&#8217;\u0131n daha entegre g\u00fcvenlik ve a\u011f \u00e7\u00f6z\u00fcmleri sunmas\u0131yla bu ba\u011flant\u0131 s\u00fcre\u00e7lerinin daha da basitle\u015fece\u011fi ve g\u00fcvenli\u011fin daha da art\u0131r\u0131laca\u011f\u0131 \u00f6ng\u00f6r\u00fclebilir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131 DigitalOcean, geli\u015ftiricilere ve i\u015fletmelere bulut altyap\u0131s\u0131 sa\u011flamada pop\u00fcler bir platformdur.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1401],"tags":[],"class_list":{"0":"post-40629","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-git","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131\" \/>\n<meta property=\"og:description\" content=\"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131 DigitalOcean, geli\u015ftiricilere ve i\u015fletmelere bulut altyap\u0131s\u0131 sa\u011flamada pop\u00fcler bir platformdur.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-28T01:40:48+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131\",\"datePublished\":\"2026-02-28T01:40:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/\"},\"wordCount\":3587,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Git\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/\",\"name\":\"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-28T01:40:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/","og_locale":"tr_TR","og_type":"article","og_title":"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131","og_description":"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131 DigitalOcean, geli\u015ftiricilere ve i\u015fletmelere bulut altyap\u0131s\u0131 sa\u011flamada pop\u00fcler bir platformdur.","og_url":"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-28T01:40:48+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131","datePublished":"2026-02-28T01:40:48+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/"},"wordCount":3587,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Git"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/","url":"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/","name":"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-28T01:40:48+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-yonetilen-veritabanlarina-her-yerden-guvenli-baglanti\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"DigitalOcean Y\u00f6netilen Veritabanlar\u0131na Her Yerden G\u00fcvenli Ba\u011flant\u0131"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/40629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=40629"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/40629\/revisions"}],"predecessor-version":[{"id":40630,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/40629\/revisions\/40630"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=40629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=40629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=40629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}