{"id":36440,"date":"2025-12-17T02:40:47","date_gmt":"2025-12-16T23:40:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36440"},"modified":"2025-12-17T02:40:47","modified_gmt":"2025-12-16T23:40:47","slug":"ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/","title":{"rendered":"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\u0131"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\u0131<\/h2>\n<p>Memcached, y\u00fcksek performansl\u0131, da\u011f\u0131t\u0131k bir bellek \u00f6nbellek sistemidir. Dinamik web uygulamalar\u0131n\u0131n performans\u0131n\u0131 art\u0131rmak i\u00e7in veritaban\u0131 sorgular\u0131n\u0131n, API \u00e7a\u011fr\u0131lar\u0131n\u0131n veya sayfa olu\u015fturma i\u015flemlerinin sonu\u00e7lar\u0131n\u0131 ge\u00e7ici olarak bellekte saklar. Bu sayede, ayn\u0131 veriye tekrar tekrar ihtiya\u00e7 duyuldu\u011funda, veritaban\u0131na veya di\u011fer yava\u015f kaynaklara gitmek yerine, \u00e7ok daha h\u0131zl\u0131 olan bellekten okunur. Ubuntu 18.04 sunucular\u0131nda Memcached kurulumu ve do\u011fru yap\u0131land\u0131rmas\u0131, uygulaman\u0131z\u0131n yan\u0131t s\u00fcrelerini \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirebilir. Ancak, Memcached varsay\u0131lan olarak g\u00fcvenlik \u00f6nlemleriyle gelmez ve do\u011fru \u015fekilde g\u00fcvence alt\u0131na al\u0131nmazsa potansiyel g\u00fcvenlik riskleri olu\u015fturabilir. Bu makalede, Ubuntu 18.04 \u00fczerinde Memcached&#8217;in nas\u0131l kurulaca\u011f\u0131n\u0131 ve en iyi uygulamalar\u0131 takip ederek nas\u0131l g\u00fcvenli hale getirilece\u011fini detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>Giri\u015f: Memcached Neden \u00d6nemlidir?<\/h3>\n<p>Modern web uygulamalar\u0131 genellikle yo\u011fun veritaban\u0131 i\u015flemleri, karma\u015f\u0131k hesaplamalar ve harici API \u00e7a\u011fr\u0131lar\u0131 i\u00e7erir. Bu t\u00fcr i\u015flemler, her istekte tekrarland\u0131\u011f\u0131nda sunucu kaynaklar\u0131n\u0131 t\u00fcketir ve yan\u0131t s\u00fcrelerini uzat\u0131r. Memcached, bu t\u00fcr maliyetli i\u015flemlerin sonu\u00e7lar\u0131n\u0131 RAM&#8217;de tutarak bu sorunlar\u0131 \u00e7\u00f6zmeyi ama\u00e7lar. Bir kullan\u0131c\u0131 belirli bir veriyi istedi\u011finde, uygulama \u00f6nce Memcached&#8217;e bakar. E\u011fer veri \u00f6nbellekte bulunuyorsa (cache hit), do\u011frudan buradan al\u0131n\u0131r ve veritaban\u0131 sorgusu gibi daha yava\u015f i\u015flemlerden ka\u00e7\u0131n\u0131l\u0131r. E\u011fer veri \u00f6nbellekte yoksa (cache miss), uygulama veriyi orijinal kayna\u011f\u0131ndan al\u0131r, i\u015fler ve gelecekteki istekler i\u00e7in Memcached&#8217;e kaydeder.<\/p>\n<p>Memcached&#8217;in temel faydalar\u0131 \u015funlard\u0131r:<br \/>\n*   <strong>Performans \u0130yile\u015fmesi:<\/strong> Veritaban\u0131 y\u00fck\u00fcn\u00fc azalt\u0131r ve uygulaman\u0131n yan\u0131t s\u00fcrelerini h\u0131zland\u0131r\u0131r.<br \/>\n*   <strong>\u00d6l\u00e7eklenebilirlik:<\/strong> Birden fazla sunucu aras\u0131nda \u00f6nbelle\u011fi da\u011f\u0131tarak yatay \u00f6l\u00e7eklenebilirli\u011fi destekler.<br \/>\n*   <strong>Basitlik:<\/strong> Kullan\u0131m\u0131 ve entegrasyonu nispeten kolayd\u0131r.<br \/>\n*   <strong>Esneklik:<\/strong> \u00c7o\u011fu pop\u00fcler programlama dili i\u00e7in istemci k\u00fct\u00fcphaneleri mevcuttur.<\/p>\n<p>Bu avantajlar, Memcached&#8217;i y\u00fcksek trafikli web siteleri ve uygulamalar i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline getirir. Ancak, performans kazan\u00e7lar\u0131 elde ederken g\u00fcvenli\u011fi g\u00f6z ard\u0131 etmemek hayati \u00f6nem ta\u015f\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Memcached kurulumuna ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olun:<\/p>\n<p>*   <strong>Ubuntu 18.04 Sunucusu:<\/strong> Bu makale \u00f6zellikle Ubuntu 18.04 LTS (Bionic Beaver) i\u00e7in yaz\u0131lm\u0131\u015ft\u0131r.<br \/>\n*   <strong>Sudo Yetkileri:<\/strong> Kurulum ve yap\u0131land\u0131rma i\u015flemleri i\u00e7in <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131ya veya <code>root<\/code> eri\u015fimine ihtiyac\u0131n\u0131z olacakt\u0131r. G\u00fcvenlik nedenleriyle <code>root<\/code> kullan\u0131c\u0131s\u0131 yerine <code>sudo<\/code> yetkili bir kullan\u0131c\u0131 kullan\u0131lmas\u0131 \u00f6nerilir.<br \/>\n*   <strong>G\u00fcncel Sistem:<\/strong> Sunucunuzdaki paket listesini ve y\u00fckl\u00fc paketleri g\u00fcncel tutmak iyi bir uygulamad\u0131r. A\u015fa\u011f\u0131daki komutlarla sisteminizi g\u00fcncelleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\n    sudo apt upgrade -y<\/code><\/pre>\n<p>*   <strong>Temel A\u011f Bilgisi:<\/strong> G\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmas\u0131 gibi a\u011f ile ilgili ad\u0131mlar\u0131 anlamak i\u00e7in temel d\u00fczeyde a\u011f bilgisi faydal\u0131 olacakt\u0131r.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra Memcached kurulumuna ge\u00e7ebiliriz.<\/p>\n<h3>Memcached Kurulumu<\/h3>\n<p>Ubuntu&#8217;da Memcached kurulumu olduk\u00e7a basittir, \u00e7\u00fcnk\u00fc resmi paket depolar\u0131nda mevcuttur.<\/p>\n<h4>1. Memcached Paketini Y\u00fckleme<\/h4>\n<p>Memcached sunucu uygulamas\u0131n\u0131 ve ilgili istemci k\u00fct\u00fcphanelerini y\u00fcklemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt install memcached libmemcached-tools -y<\/code><\/pre>\n<p>*   <code>memcached<\/code>: Memcached sunucu daemon&#8217;\u0131n\u0131 i\u00e7erir.<br \/>\n*   <code>libmemcached-tools<\/code>: Memcached sunucusuyla etkile\u015fim kurmak ve onu y\u00f6netmek i\u00e7in komut sat\u0131r\u0131 ara\u00e7lar\u0131 (\u00f6rne\u011fin <code>memcstat<\/code>, <code>memccat<\/code>, <code>memcdump<\/code>) sa\u011flar.<\/p>\n<p>Kurulum tamamland\u0131\u011f\u0131nda, Memcached servisi otomatik olarak ba\u015flat\u0131lmal\u0131 ve sistem a\u00e7\u0131l\u0131\u015f\u0131nda otomatik olarak \u00e7al\u0131\u015facak \u015fekilde ayarlanmal\u0131d\u0131r.<\/p>\n<h4>2. Memcached Servisinin Durumunu Kontrol Etme<\/h4>\n<p>Memcached servisinin d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in <code>systemctl<\/code> komutunu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">systemctl status memcached<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da &#8220;active (running)&#8221; ifadesini g\u00f6rmelisiniz. Bu, Memcached servisinin ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<pre><code class=\"language-\">\u25cf memcached.service - memcached daemon\n   Loaded: loaded (\/lib\/systemd\/system\/memcached.service; enabled; vendor preset: enabled)\n   Active: active (running) since ...\n     Docs: man:memcached(1)\n Main PID: 1234 (memcached)\n    Tasks: 1\n   CGroup: \/system.slice\/memcached.service\n           \u2514\u25001234 \/usr\/bin\/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P \/var\/run\/memcached\/memcached.pid<\/code><\/pre>\n<p>Yukar\u0131daki \u00e7\u0131kt\u0131ya benzer bir sonu\u00e7 almal\u0131s\u0131n\u0131z. <code>Main PID<\/code> sat\u0131r\u0131ndaki komuta dikkat edin; bu, Memcached&#8217;in varsay\u0131lan olarak <code>127.0.0.1<\/code> (localhost) \u00fczerinde ve <code>11211<\/code> portunda \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir. Ayr\u0131ca <code>memcache<\/code> kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 da g\u00f6rebilirsiniz, bu iyi bir g\u00fcvenlik uygulamas\u0131d\u0131r.<\/p>\n<h3>Memcached Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Memcached&#8217;in varsay\u0131lan yap\u0131land\u0131rmas\u0131 \u00e7o\u011fu durum i\u00e7in uygun olsa da, uygulaman\u0131z\u0131n ihtiya\u00e7lar\u0131na ve g\u00fcvenlik gereksinimlerinize g\u00f6re baz\u0131 ayarlar\u0131 de\u011fi\u015ftirmeniz gerekebilir. Memcached&#8217;in ana yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/memcached.conf<\/code> konumundad\u0131r.<\/p>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenlemek i\u00e7in bir metin d\u00fczenleyici kullan\u0131n (\u00f6rne\u011fin <code>nano<\/code>):<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/memcached.conf<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi g\u00f6r\u00fcnecektir (yorum sat\u0131rlar\u0131 hari\u00e7 \u00f6nemli k\u0131s\u0131mlar):<\/p>\n<pre><code class=\"language-\"># Start with a cap of 64MB of memory. It's really easy to produce a\n<h2>server configuration that uses more memory than you intended, so<\/h2>\n<h2>make sure you know what you're doing.<\/h2>\n-m 64\n\n<h2>Default connection port is 11211<\/h2>\n-p 11211\n\n<h2>Run the daemon as root. The start-stop-daemon will change this if<\/h2>\n<h2>specified in \/etc\/default\/memcached<\/h2>\n-u memcache\n\n<h2>Specify which IP address to listen on. The default is to listen on<\/h2>\n<h2>all IP addresses (INADDR_ANY).<\/h2>\n<h2>-l 127.0.0.1<\/code><\/pre>\n<\/h2>\n<p>\u015eimdi bu parametreleri ve di\u011fer \u00f6nemli ayarlar\u0131 inceleyelim:<\/p>\n<h4>1. Bellek Limiti (<code>-m<\/code>)<\/h4>\n<p>Memcached&#8217;in kullanabilece\u011fi maksimum bellek miktar\u0131n\u0131 belirler. Varsay\u0131lan de\u011fer 64MB&#8217;dir. Bu de\u011feri uygulaman\u0131z\u0131n \u00f6nbellekleme ihtiya\u00e7lar\u0131na g\u00f6re ayarlamal\u0131s\u0131n\u0131z. \u00c7ok d\u00fc\u015f\u00fck bir de\u011fer, \u00f6nbellek isabet oran\u0131n\u0131 d\u00fc\u015f\u00fcrebilirken, \u00e7ok y\u00fcksek bir de\u011fer sistemin di\u011fer s\u00fcre\u00e7leri i\u00e7in bellek k\u0131tl\u0131\u011f\u0131na yol a\u00e7abilir. Sunucunuzun toplam RAM&#8217;ini g\u00f6z \u00f6n\u00fcnde bulundurarak dikkatli bir se\u00e7im yap\u0131n.<\/p>\n<p>\u00d6rne\u011fin, 512MB olarak ayarlamak i\u00e7in:<\/p>\n<pre><code class=\"language-\">-m 512<\/code><\/pre>\n<h4>2. Dinlenecek Port (<code>-p<\/code>)<\/h4>\n<p>Memcached&#8217;in gelen ba\u011flant\u0131lar\u0131 dinleyece\u011fi TCP portunu belirler. Varsay\u0131lan port 11211&#8217;dir. Genellikle bu portu de\u011fi\u015ftirmeye gerek yoktur, ancak g\u00fcvenlik veya \u00e7ak\u0131\u015fma durumlar\u0131nda de\u011fi\u015ftirebilirsiniz. E\u011fer de\u011fi\u015ftirirseniz, g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131z\u0131 ve uygulaman\u0131z\u0131n Memcached istemci ayarlar\u0131n\u0131 da g\u00fcncellemeniz gerekecektir.<\/p>\n<p>\u00d6rne\u011fin, 11212 portunu kullanmak i\u00e7in:<\/p>\n<pre><code class=\"language-\">-p 11212<\/code><\/pre>\n<h4>3. \u00c7al\u0131\u015fma Kullan\u0131c\u0131s\u0131 (<code>-u<\/code>)<\/h4>\n<p>Memcached daemon&#8217;\u0131n\u0131n hangi kullan\u0131c\u0131 kimli\u011fiyle \u00e7al\u0131\u015faca\u011f\u0131n\u0131 belirler. Varsay\u0131lan olarak <code>memcache<\/code> kullan\u0131c\u0131s\u0131d\u0131r. Bu, Memcached&#8217;in <code>root<\/code> ayr\u0131cal\u0131klar\u0131yla \u00e7al\u0131\u015fmas\u0131n\u0131 engelleyen \u00f6nemli bir g\u00fcvenlik \u00f6nlemidir. Bu ayar\u0131 de\u011fi\u015ftirmemeniz \u015fiddetle tavsiye edilir.<\/p>\n<h4>4. IP Adresi Ba\u011flama (<code>-l<\/code>)<\/h4>\n<p>Memcached&#8217;in hangi IP adresinden gelen ba\u011flant\u0131lar\u0131 dinleyece\u011fini belirler. Bu, g\u00fcvenlik i\u00e7in en kritik ayarlardan biridir.<\/p>\n<p>*   <strong><code>127.0.0.1<\/code> (localhost):<\/strong> Bu, Memcached&#8217;in yaln\u0131zca sunucunun kendisinden (yani ayn\u0131 sunucuda \u00e7al\u0131\u015fan uygulamalardan) gelen ba\u011flant\u0131lar\u0131 kabul edece\u011fi anlam\u0131na gelir. <strong>Bu, \u00e7o\u011fu durumda \u00f6nerilen ve en g\u00fcvenli yap\u0131land\u0131rmad\u0131r.<\/strong> E\u011fer uygulaman\u0131z ve Memcached ayn\u0131 sunucudaysa, bu ayar\u0131 kullanmal\u0131s\u0131n\u0131z.<br \/>\n*   <strong><code>0.0.0.0<\/code> (t\u00fcm aray\u00fczler):<\/strong> Bu, Memcached&#8217;in sunucunun t\u00fcm a\u011f aray\u00fczlerinden gelen ba\u011flant\u0131lar\u0131 dinleyece\u011fi anlam\u0131na gelir. <strong>Bu ayar, g\u00fcvenlik a\u00e7\u0131s\u0131ndan olduk\u00e7a risklidir ve yaln\u0131zca \u00e7ok iyi nedenleriniz varsa ve ek g\u00fcvenlik \u00f6nlemleri (g\u00fcvenlik duvar\u0131 gibi) ald\u0131ysan\u0131z kullan\u0131lmal\u0131d\u0131r.<\/strong> Varsay\u0131lan olarak bu ayar yorum sat\u0131r\u0131 halindedir ve Memcached <code>0.0.0.0<\/code> yerine <code>127.0.0.1<\/code> adresine ba\u011flan\u0131r.<\/p>\n<p>E\u011fer Memcached&#8217;i yaln\u0131zca yerel olarak \u00e7al\u0131\u015ft\u0131rmak istiyorsan\u0131z (ki bu en g\u00fcvenli yoldur), <code>-l 127.0.0.1<\/code> sat\u0131r\u0131n\u0131n yorum sat\u0131r\u0131 olmad\u0131\u011f\u0131ndan emin olun.<\/p>\n<pre><code class=\"language-\">-l 127.0.0.1<\/code><\/pre>\n<p>E\u011fer Memcached&#8217;in belirli bir \u00f6zel IP adresinden (\u00f6rne\u011fin ayn\u0131 yerel a\u011fdaki ba\u015fka bir sunucudan) eri\u015filebilir olmas\u0131n\u0131 istiyorsan\u0131z, o IP adresini belirtmelisiniz. <strong>Ancak bu durumda, g\u00fcvenlik duvar\u0131 kurallar\u0131 ile eri\u015fimi yaln\u0131zca belirli IP&#8217;lerle s\u0131n\u0131rlaman\u0131z zorunludur.<\/strong><\/p>\n<p>\u00d6rne\u011fin, <code>192.168.1.100<\/code> IP adresinden gelen ba\u011flant\u0131lara izin vermek i\u00e7in:<\/p>\n<pre><code class=\"language-\">-l 192.168.1.100<\/code><\/pre>\n<p><strong>Tekrar vurgulayal\u0131m: Memcached&#8217;i genel internete a\u00e7\u0131k b\u0131rakmak son derece tehlikelidir ve asla yap\u0131lmamal\u0131d\u0131r.<\/strong><\/p>\n<h4>5. Maksimum Ba\u011flant\u0131 Say\u0131s\u0131 (<code>-c<\/code>)<\/h4>\n<p>Memcached&#8217;in ayn\u0131 anda kabul edece\u011fi maksimum ba\u011flant\u0131 say\u0131s\u0131n\u0131 belirler. Varsay\u0131lan de\u011fer 1024&#8217;t\u00fcr. \u00c7o\u011fu uygulama i\u00e7in bu yeterlidir. \u00c7ok fazla ba\u011flant\u0131, sunucu kaynaklar\u0131n\u0131 t\u00fcketebilir.<\/p>\n<p>\u00d6rne\u011fin, 2048 ba\u011flant\u0131ya izin vermek i\u00e7in:<\/p>\n<pre><code class=\"language-\">-c 2048<\/code><\/pre>\n<h4>6. Yap\u0131land\u0131rma De\u011fi\u015fikliklerini Uygulama<\/h4>\n<p><code>\/etc\/memcached.conf<\/code> dosyas\u0131nda herhangi bir de\u011fi\u015fiklik yapt\u0131ktan sonra, Memcached servisinin bu de\u011fi\u015fiklikleri uygulayabilmesi i\u00e7in yeniden ba\u015flat\u0131lmas\u0131 gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart memcached<\/code><\/pre>\n<p>Servisin ba\u015far\u0131yla yeniden ba\u015flat\u0131ld\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in tekrar durumunu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">systemctl status memcached<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131daki komut sat\u0131r\u0131 arg\u00fcmanlar\u0131nda yeni yap\u0131land\u0131rman\u0131z\u0131n yans\u0131d\u0131\u011f\u0131n\u0131 g\u00f6rmelisiniz (\u00f6rne\u011fin <code>-m 512<\/code>, <code>-l 127.0.0.1<\/code>).<\/p>\n<h3>Memcached G\u00fcvenli\u011finin Sa\u011flanmas\u0131<\/h3>\n<p>Memcached, varsay\u0131lan olarak herhangi bir kimlik do\u011frulama veya \u015fifreleme mekanizmas\u0131 i\u00e7ermez. Bu, onu do\u011frudan internete maruz b\u0131rakman\u0131n \u00e7ok tehlikeli oldu\u011fu anlam\u0131na gelir. Sald\u0131rganlar, Memcached sunucunuza eri\u015fim sa\u011flayarak hassas verileri okuyabilir, de\u011fi\u015ftirebilir veya DDoS sald\u0131r\u0131lar\u0131 i\u00e7in k\u00f6t\u00fcye kullanabilirler (Memcached DDoS amplifikasyon sald\u0131r\u0131lar\u0131 ge\u00e7mi\u015fte b\u00fcy\u00fck sorunlara neden olmu\u015ftur). Bu nedenle, Memcached&#8217;i g\u00fcvence alt\u0131na almak hayati \u00f6neme sahiptir.<\/p>\n<h4>1. Yerel Ba\u011flant\u0131ya K\u0131s\u0131tlama (Binding to Localhost) &#8211; EN \u00d6NEML\u0130 ADIM<\/h4>\n<p>Daha \u00f6nce de belirtildi\u011fi gibi, Memcached&#8217;in yaln\u0131zca <code>127.0.0.1<\/code> (localhost) veya bir Unix domain soketi \u00fczerinden eri\u015filebilir olmas\u0131, g\u00fcvenlik i\u00e7in at\u0131labilecek en \u00f6nemli ad\u0131md\u0131r. Bu, Memcached&#8217;in yaln\u0131zca ayn\u0131 sunucuda \u00e7al\u0131\u015fan uygulamalar taraf\u0131ndan kullan\u0131labilece\u011fi anlam\u0131na gelir ve d\u0131\u015far\u0131dan do\u011frudan eri\u015fimi tamamen engeller.<\/p>\n<p><code>\/etc\/memcached.conf<\/code> dosyas\u0131nda \u015fu sat\u0131r\u0131n aktif oldu\u011fundan emin olun:<\/p>\n<pre><code class=\"language-\">-l 127.0.0.1<\/code><\/pre>\n<p>E\u011fer bu sat\u0131r\u0131n ba\u015f\u0131nda <code>#<\/code> i\u015fareti varsa, kald\u0131r\u0131n. Dosyay\u0131 kaydedip Memcached&#8217;i yeniden ba\u015flat\u0131n.<\/p>\n<p><strong>Asla, asla Memcached&#8217;i genel IP adresine veya <code>0.0.0.0<\/code>&#8216;a ba\u011flamay\u0131n, \u00f6zellikle de sunucunuz internete a\u00e7\u0131ksa.<\/strong><\/p>\n<h4>2. G\u00fcvenlik Duvar\u0131 (UFW) ile K\u0131s\u0131tlama<\/h4>\n<p>Memcached&#8217;i <code>127.0.0.1<\/code>&#8216;e ba\u011flamak, d\u0131\u015far\u0131dan eri\u015fimi engellemek i\u00e7in yeterli olsa da, ek bir g\u00fcvenlik katman\u0131 olarak g\u00fcvenlik duvar\u0131n\u0131z\u0131 (Ubuntu&#8217;da UFW &#8211; Uncomplicated Firewall) yap\u0131land\u0131rmak iyi bir uygulamad\u0131r. Bu, yanl\u0131\u015f yap\u0131land\u0131rmalar veya gelecekteki de\u011fi\u015fiklikler nedeniyle Memcached&#8217;in yanl\u0131\u015fl\u0131kla d\u0131\u015far\u0131ya a\u00e7\u0131lmas\u0131n\u0131 \u00f6nleyebilir.<\/p>\n<p>\u0130lk olarak, UFW&#8217;nin durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>E\u011fer UFW aktif de\u011filse, etkinle\u015ftirmeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo ufw enable<\/code><\/pre>\n<p><code>y<\/code> ile onaylay\u0131n. Bu, SSH ba\u011flant\u0131n\u0131z\u0131 kesebilir, bu y\u00fczden SSH portuna (varsay\u0131lan 22) izin vermeniz \u00f6nemlidir:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow ssh<\/code><\/pre>\n<p>Veya belirli bir port kullan\u0131yorsan\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 22\/tcp<\/code><\/pre>\n<p>\u015eimdi Memcached portuna (varsay\u0131lan 11211) gelen t\u00fcm d\u0131\u015f ba\u011flant\u0131lar\u0131 reddedin. E\u011fer Memcached&#8217;i <code>127.0.0.1<\/code>&#8216;e ba\u011flad\u0131ysan\u0131z, bu kural zaten teorik olarak gerekli de\u011fildir, ancak bir &#8220;savunma derinli\u011fi&#8221; katman\u0131 sa\u011flar:<\/p>\n<pre><code class=\"language-bash\">sudo ufw deny 11211<\/code><\/pre>\n<p>E\u011fer uygulaman\u0131z farkl\u0131 bir sunucuda \u00e7al\u0131\u015f\u0131yor ve Memcached&#8217;e \u00f6zel bir IP adresi \u00fczerinden eri\u015fmesi gerekiyorsa (ki bu genellikle daha karma\u015f\u0131k bir senaryodur ve dikkatli planlama gerektirir), o zaman yaln\u0131zca o belirli IP adresinden gelen ba\u011flant\u0131lara izin vermelisiniz. <strong>Bu durum, Memcached&#8217;i <code>127.0.0.1<\/code> yerine \u00f6zel bir IP adresine ba\u011flad\u0131\u011f\u0131n\u0131zda ge\u00e7erlidir.<\/strong><\/p>\n<p>\u00d6rne\u011fin, <code>192.168.1.50<\/code> IP adresine sahip bir uygulama sunucusunun Memcached&#8217;e eri\u015fmesine izin vermek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow from 192.168.1.50 to any port 11211<\/code><\/pre>\n<p>Bu kural\u0131 ekledikten sonra, di\u011fer t\u00fcm d\u0131\u015f ba\u011flant\u0131lar\u0131 engelledi\u011finizden emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo ufw deny 11211<\/code><\/pre>\n<p>Bu s\u0131ralama \u00f6nemlidir: \u00d6nce izin verilen kural, sonra engelleme kural\u0131.<\/p>\n<p>UFW kurallar\u0131n\u0131 uygulad\u0131ktan sonra durumu tekrar kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<h4>3. Unix Domain Soket Kullan\u0131m\u0131<\/h4>\n<p>Memcached&#8217;i TCP portu yerine bir Unix domain soketi \u00fczerinden \u00e7al\u0131\u015ft\u0131rmak, daha da g\u00fcvenli bir se\u00e7enektir, \u00f6zellikle de Memcached ve uygulaman\u0131z ayn\u0131 sunucuda \u00e7al\u0131\u015f\u0131yorsa. Unix soketleri, a\u011f y\u0131\u011f\u0131n\u0131 yerine dosya sistemi izinlerini kullanarak ileti\u015fimi kontrol eder.<\/p>\n<p>Unix soketi kullanmak i\u00e7in <code>\/etc\/memcached.conf<\/code> dosyas\u0131nda de\u011fi\u015fiklik yapman\u0131z gerekir:<\/p>\n<p>1.  TCP port ba\u011flamas\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131n (veya <code>127.0.0.1<\/code> olarak b\u0131rak\u0131n, ancak soket \u00f6ncelikli olacakt\u0131r).<br \/>\n2.  <code>-s<\/code> se\u00e7ene\u011fini kullanarak soket yolunu belirtin.<br \/>\n3.  <code>-a<\/code> se\u00e7ene\u011fi ile soket izinlerini ayarlay\u0131n.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/memcached.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin veya d\u00fczenleyin:<\/p>\n<pre><code class=\"language-\"># Dinlenecek TCP portunu devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in yorum sat\u0131r\u0131 yap\u0131n veya -l 127.0.0.1 olarak b\u0131rak\u0131n\n<h2>-p 11211<\/h2>\n<h2>-l 127.0.0.1<\/h2>\n\n<h2>Unix domain soketini etkinle\u015ftir<\/h2>\n-s \/var\/run\/memcached\/memcached.sock\n<h2>Soket izinlerini ayarla (\u00f6rne\u011fin, 0770, sadece memcache grubundaki kullan\u0131c\u0131lar\u0131n okuma\/yazma yapmas\u0131na izin verir)<\/h2>\n-a 0770<\/code><\/pre>\n<p><code>memcache<\/code> kullan\u0131c\u0131s\u0131n\u0131n ve grubunun bu sokete eri\u015febildi\u011finden emin olun. Uygulaman\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 kullan\u0131c\u0131 da bu gruba dahil olmal\u0131d\u0131r. \u00d6rne\u011fin, web sunucunuz <code>www-data<\/code> kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015f\u0131yorsa, <code>www-data<\/code> kullan\u0131c\u0131s\u0131n\u0131 <code>memcache<\/code> grubuna eklemeniz gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo usermod -a -G memcache www-data<\/code><\/pre>\n<p>Ard\u0131ndan Memcached servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart memcached<\/code><\/pre>\n<p>Uygulaman\u0131z\u0131n Memcached istemci k\u00fct\u00fcphanesini Unix soketini kullanacak \u015fekilde yap\u0131land\u0131rman\u0131z gerekecektir.<\/p>\n<h4>4. D\u00fc\u015f\u00fck Yetkili Kullan\u0131c\u0131 ile \u00c7al\u0131\u015ft\u0131rma<\/h4>\n<p>Memcached&#8217;in varsay\u0131lan olarak <code>memcache<\/code> adl\u0131 ayr\u0131cal\u0131ks\u0131z bir kullan\u0131c\u0131 alt\u0131nda \u00e7al\u0131\u015fmas\u0131, \u00f6nemli bir g\u00fcvenlik \u00f6nlemidir. Bu, bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 istismar edilse bile, sald\u0131rgan\u0131n sistem \u00fczerinde <code>root<\/code> ayr\u0131cal\u0131klar\u0131 elde etmesini zorla\u015ft\u0131r\u0131r. <code>\/etc\/memcached.conf<\/code> dosyas\u0131ndaki <code>-u memcache<\/code> sat\u0131r\u0131n\u0131n aktif oldu\u011fundan emin olun ve bu ayar\u0131 de\u011fi\u015ftirmeyin.<\/p>\n<h4>5. Kimlik Do\u011frulama ve \u015eifreleme (Dolayl\u0131 Y\u00f6ntemler)<\/h4>\n<p>Memcached&#8217;in kendisi yerle\u015fik bir kimlik do\u011frulama veya \u015fifreleme mekanizmas\u0131na sahip de\u011fildir. Tasar\u0131m\u0131 gere\u011fi, g\u00fcvenilir bir a\u011f ortam\u0131nda, genellikle uygulaman\u0131n arka ucunda \u00e7al\u0131\u015fmas\u0131 beklenir. E\u011fer hassas verileri \u00f6nbellekliyorsan\u0131z ve bu verilere uzaktan eri\u015fim gerekiyorsa, do\u011frudan Memcached&#8217;e eri\u015fmek yerine a\u015fa\u011f\u0131daki dolayl\u0131 y\u00f6ntemleri kullanmal\u0131s\u0131n\u0131z:<\/p>\n<p>*   <strong>SSH T\u00fcnelleme:<\/strong> Uzak bir sunucudan Memcached&#8217;e g\u00fcvenli bir \u015fekilde eri\u015fmek i\u00e7in SSH t\u00fcneli olu\u015fturabilirsiniz. Bu, ba\u011flant\u0131y\u0131 \u015fifreler ve kimlik do\u011frulamas\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">ssh -L 11211:127.0.0.1:11211 user@memcached_server_ip<\/code><\/pre>\n<p>    Bu komut, yerel makinenizin 11211 portundan gelen ba\u011flant\u0131lar\u0131 uzak sunucunun 127.0.0.1 adresindeki 11211 portuna y\u00f6nlendirir. Uygulaman\u0131z yerel 11211 portuna ba\u011flanarak uzak Memcached&#8217;e g\u00fcvenli bir \u015fekilde eri\u015febilir.<br \/>\n*   <strong>VPN veya G\u00fcvenli A\u011f:<\/strong> Memcached&#8217;in bulundu\u011fu sunucuyu, yaln\u0131zca g\u00fcvenilir uygulamalar\u0131n ve sunucular\u0131n eri\u015febilece\u011fi \u00f6zel bir VPN a\u011f\u0131na veya izole edilmi\u015f bir alt a\u011fa yerle\u015ftirmek, genel eri\u015fimi k\u0131s\u0131tlaman\u0131n etkili bir yoludur.<br \/>\n*   <strong>Uygulama Katman\u0131nda \u015eifreleme:<\/strong> E\u011fer Memcached&#8217;e kaydedece\u011finiz veriler \u00e7ok hassas ise, bu verileri Memcached&#8217;e g\u00f6ndermeden \u00f6nce uygulama katman\u0131nda \u015fifreleyip, okurken tekrar \u00e7\u00f6zebilirsiniz. Bu, Memcached&#8217;in kendisi ele ge\u00e7irilse bile verilerin okunmas\u0131n\u0131 zorla\u015ft\u0131r\u0131r.<\/p>\n<h4>6. DDoS Sald\u0131r\u0131lar\u0131na Kar\u015f\u0131 \u00d6nlemler<\/h4>\n<p>Memcached, amplifikasyon sald\u0131r\u0131lar\u0131 i\u00e7in k\u00f6t\u00fcye kullan\u0131labilen UDP portunu da a\u00e7abilir. <code>\/etc\/memcached.conf<\/code> dosyas\u0131nda <code>-U 0<\/code> se\u00e7ene\u011fini kullanarak UDP portunu tamamen devre d\u0131\u015f\u0131 b\u0131rakman\u0131z \u015fiddetle tavsiye edilir, e\u011fer kullanm\u0131yorsan\u0131z:<\/p>\n<pre><code class=\"language-\"># UDP portunu devre d\u0131\u015f\u0131 b\u0131rak\n-U 0<\/code><\/pre>\n<p>Ayr\u0131ca, g\u00fcvenlik duvar\u0131n\u0131zda Memcached portuna (hem TCP hem de UDP) y\u00f6nelik harici eri\u015fimi tamamen engelledi\u011finizden emin olun. <code>-c<\/code> parametresiyle ba\u011flant\u0131 limitini ayarlamak da olas\u0131 DDoS sald\u0131r\u0131lar\u0131n\u0131n etkisini azaltabilir.<\/p>\n<h4>7. Sistem ve Memcached G\u00fcncellemeleri<\/h4>\n<p>Memcached ve i\u015fletim sisteminizin g\u00fcncel oldu\u011fundan emin olun. Yaz\u0131l\u0131m g\u00fcncellemeleri genellikle g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapatan yamalar i\u00e7erir. D\u00fczenli olarak sisteminizi g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update && sudo apt upgrade -y<\/code><\/pre>\n<h3>Memcached Test Edilmesi<\/h3>\n<p>Memcached&#8217;in do\u011fru bir \u015fekilde \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 ve yap\u0131land\u0131rman\u0131z\u0131n ge\u00e7erli olup olmad\u0131\u011f\u0131n\u0131 test etmek \u00f6nemlidir.<\/p>\n<h4>1. Telnet ile Basit Test<\/h4>\n<p>Memcached&#8217;in yerel olarak eri\u015filebilir olup olmad\u0131\u011f\u0131n\u0131 test etmek i\u00e7in <code>telnet<\/code> kullanabilirsiniz. E\u011fer <code>telnet<\/code> y\u00fckl\u00fc de\u011filse:<\/p>\n<pre><code class=\"language-bash\">sudo apt install telnet -y<\/code><\/pre>\n<p>\u015eimdi Memcached&#8217;e ba\u011flan\u0131n ve bir anahtar-de\u011fer \u00e7ifti ekleyip okumay\u0131 deneyin:<\/p>\n<pre><code class=\"language-bash\">telnet 127.0.0.1 11211<\/code><\/pre>\n<p>Ba\u011flant\u0131 ba\u015far\u0131l\u0131 olursa, a\u015fa\u011f\u0131daki komutlar\u0131 girin:<\/p>\n<pre><code class=\"language-\">set mykey 0 60 5\nhello\nSTORED\nget mykey\nVALUE mykey 0 5\nhello\nEND\nquit<\/code><\/pre>\n<p>*   <code>set mykey 0 60 5<\/code>: <code>mykey<\/code> ad\u0131nda bir anahtar, flags (genellikle 0), 60 saniye \u00f6m\u00fcr ve 5 bayt veri uzunlu\u011fu ile bir de\u011fer ayarlar.<br \/>\n*   <code>hello<\/code>: 5 baytl\u0131k de\u011fer.<br \/>\n*   <code>STORED<\/code>: Memcached&#8217;in veriyi ba\u015far\u0131yla saklad\u0131\u011f\u0131n\u0131 g\u00f6sterir.<br \/>\n*   <code>get mykey<\/code>: <code>mykey<\/code> de\u011ferini ister.<br \/>\n*   <code>VALUE mykey 0 5<\/code>: Anahtar\u0131n de\u011ferini d\u00f6nd\u00fcr\u00fcr.<br \/>\n*   <code>hello<\/code>: Anahtar\u0131n de\u011feri.<br \/>\n*   <code>END<\/code>: Memcached&#8217;in yan\u0131t\u0131 tamamlad\u0131\u011f\u0131n\u0131 g\u00f6sterir.<br \/>\n*   <code>quit<\/code>: Telnet oturumunu sonland\u0131r\u0131r.<\/p>\n<p>E\u011fer bu ad\u0131mlar sorunsuz \u00e7al\u0131\u015f\u0131yorsa, Memcached&#8217;iniz temel olarak i\u015flevseldir.<\/p>\n<h4>2. Programlama Dili ile Test (\u00d6rnek: Python)<\/h4>\n<p>Uygulaman\u0131z\u0131n Memcached ile nas\u0131l etkile\u015fim kuraca\u011f\u0131n\u0131 test etmek i\u00e7in, kulland\u0131\u011f\u0131n\u0131z programlama dilinin bir Memcached istemci k\u00fct\u00fcphanesini kullanarak basit bir betik yazabilirsiniz.<\/p>\n<p><strong>Python \u00d6rne\u011fi:<\/strong><br \/>\n\u0130lk olarak, Python Memcached istemci k\u00fct\u00fcphanesini y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">pip install python-memcached<\/code><\/pre>\n<p>(E\u011fer <code>pip<\/code> kurulu de\u011filse <code>sudo apt install python3-pip -y<\/code> ile kurabilirsiniz.)<\/p>\n<p>\u015eimdi bir Python beti\u011fi olu\u015fturun (\u00f6rne\u011fin <code>test_memcached.py<\/code>):<\/p>\n<pre><code class=\"language-python\">import memcache\n\n<h2>Memcached sunucusuna ba\u011flan<\/h2>\n<h2>E\u011fer Unix soketi kullan\u0131yorsan\u0131z, ['unix:\/var\/run\/memcached\/memcached.sock'] \u015feklinde belirtin<\/h2>\nmc = memcache.Client(['127.0.0.1:11211'], debug=0)\n\n<h2>Veri kaydet<\/h2>\nif mc.set(\"my_app_key\", \"Bu benim \u00f6nbelleklenmi\u015f verim!\", expire=60):\n    print(\"Veri ba\u015far\u0131yla kaydedildi.\")\nelse:\n    print(\"Veri kaydedilemedi.\")\n\n<h2>Veriyi oku<\/h2>\nvalue = mc.get(\"my_app_key\")\nif value:\n    print(f\"\u00d6nbellekten okunan de\u011fer: {value}\")\nelse:\n    print(\"Veri \u00f6nbellekte bulunamad\u0131.\")\n\n<h2>Veriyi sil<\/h2>\nif mc.delete(\"my_app_key\"):\n    print(\"Veri ba\u015far\u0131yla silindi.\")\nelse:\n    print(\"Veri silinemedi.\")\n\n<h2>Silindikten sonra tekrar oku<\/h2>\nvalue = mc.get(\"my_app_key\")\nif value:\n    print(f\"Silindikten sonra okunan de\u011fer: {value}\")\nelse:\n    print(\"Veri silindikten sonra \u00f6nbellekte bulunamad\u0131 (beklendi\u011fi gibi).\")<\/code><\/pre>\n<p>Bu beti\u011fi \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">python3 test_memcached.py<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131, verilerin ba\u015far\u0131yla kaydedildi\u011fini, okundu\u011funu ve silindi\u011fini g\u00f6stermelidir. Bu, uygulaman\u0131z\u0131n Memcached ile d\u00fczg\u00fcn bir \u015fekilde ileti\u015fim kurabildi\u011fini do\u011frular.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>*   <strong>Ba\u011flant\u0131 Sorunlar\u0131:<\/strong><br \/>\n    *   <strong>&#8220;Connection refused&#8221; hatas\u0131:<\/strong> Memcached servisi \u00e7al\u0131\u015fm\u0131yor olabilir (<code>systemctl status memcached<\/code> ile kontrol edin), yanl\u0131\u015f IP adresine ba\u011flanmaya \u00e7al\u0131\u015f\u0131yor olabilirsiniz (Memcached&#8217;in <code>-l<\/code> parametresini kontrol edin) veya g\u00fcvenlik duvar\u0131 (UFW) ba\u011flant\u0131y\u0131 engelliyor olabilir (UFW kurallar\u0131n\u0131z\u0131 kontrol edin).<br \/>\n    *   <strong>Uzak sunucudan eri\u015filemiyor:<\/strong> B\u00fcy\u00fck ihtimalle Memcached <code>127.0.0.1<\/code>&#8216;e ba\u011fl\u0131d\u0131r veya g\u00fcvenlik duvar\u0131 engelliyordur. Memcached&#8217;i \u00f6zel IP adresine ba\u011flay\u0131n ve UFW&#8217;de o IP&#8217;den gelen ba\u011flant\u0131lara izin verin. Ancak bu durumun g\u00fcvenlik risklerini tekrar g\u00f6zden ge\u00e7irin.<br \/>\n*   <strong>Bellek Sorunlar\u0131:<\/strong><br \/>\n    *   <strong>&#8220;Out of memory&#8221; veya s\u00fcrekli \u00f6nbellek bo\u015faltma (eviction):<\/strong> Memcached&#8217;e ayr\u0131lan bellek miktar\u0131 (<code>-m<\/code> parametresi) yetersiz olabilir. Bu de\u011feri art\u0131rman\u0131z gerekebilir. <code>memcstat --servers=127.0.0.1:11211<\/code> komutuyla istatistikleri kontrol ederek \u00f6nbellek isabet oran\u0131n\u0131 ve bo\u015falt\u0131lan \u00f6\u011fe say\u0131s\u0131n\u0131 g\u00f6rebilirsiniz.<br \/>\n*   <strong>Servis Ba\u015flatma Sorunlar\u0131:<\/strong><br \/>\n    *   <strong>Memcached servisi ba\u015flam\u0131yor:<\/strong> <code>\/var\/log\/syslog<\/code> veya <code>journalctl -u memcached.service<\/code> komutlar\u0131yla g\u00fcnl\u00fckleri kontrol edin. Yap\u0131land\u0131rma dosyas\u0131nda (<code>\/etc\/memcached.conf<\/code>) bir s\u00f6zdizimi hatas\u0131 veya \u00e7ak\u0131\u015fan bir port ayar\u0131 olabilir.<br \/>\n*   <strong>Veri Kaybolmas\u0131:<\/strong><br \/>\n    *   Memcached ge\u00e7ici bir \u00f6nbellek sistemidir. Veriler, bellek limiti a\u015f\u0131ld\u0131\u011f\u0131nda veya s\u00fcresi doldu\u011funda otomatik olarak silinir. Kal\u0131c\u0131 depolama i\u00e7in tasarlanmam\u0131\u015ft\u0131r. Uygulaman\u0131z\u0131n bu durumu g\u00f6z \u00f6n\u00fcnde bulundurdu\u011fundan emin olun.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Memcached, web uygulamalar\u0131n\u0131n performans\u0131n\u0131 art\u0131rmak i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r, ancak do\u011fru \u015fekilde kurulup g\u00fcvenli hale getirilmesi kritik \u00f6neme sahiptir. Ubuntu 18.04 \u00fczerinde Memcached&#8217;i kurarken, <code>\/etc\/memcached.conf<\/code> dosyas\u0131ndaki bellek limiti, port ve \u00f6zellikle IP ba\u011flama (<code>-l 127.0.0.1<\/code>) gibi yap\u0131land\u0131rma ayarlar\u0131n\u0131 dikkatlice yapmal\u0131s\u0131n\u0131z.<\/p>\n<p>G\u00fcvenlik a\u00e7\u0131s\u0131ndan en \u00f6nemli ad\u0131mlar \u015funlard\u0131r:<br \/>\n1.  <strong>Memcached&#8217;i yaln\u0131zca localhost&#8217;a (<code>127.0.0.1<\/code>) veya bir Unix domain soketine ba\u011flay\u0131n.<\/strong> Bu, d\u0131\u015far\u0131dan do\u011frudan eri\u015fimi engeller.<br \/>\n2.  <strong>G\u00fcvenlik duvar\u0131n\u0131z\u0131 (UFW) yap\u0131land\u0131rarak Memcached portuna (11211) gelen t\u00fcm d\u0131\u015f ba\u011flant\u0131lar\u0131 reddedin.<\/strong> Bu, ek bir koruma katman\u0131 sa\u011flar.<br \/>\n3.  <strong>UDP portunu devre d\u0131\u015f\u0131 b\u0131rak\u0131n (<code>-U 0<\/code>)<\/strong> veya en az\u0131ndan g\u00fcvenlik duvar\u0131n\u0131zda engelleyin.<br \/>\n4.  <strong>Memcached&#8217;in d\u00fc\u015f\u00fck ayr\u0131cal\u0131kl\u0131 bir kullan\u0131c\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<\/strong><br \/>\n5.  <strong>Memcached&#8217;in yerle\u015fik kimlik do\u011frulama veya \u015fifreleme sunmad\u0131\u011f\u0131n\u0131 unutmay\u0131n.<\/strong> Hassas veriler i\u00e7in uygulama katman\u0131nda \u015fifreleme veya SSH t\u00fcnelleme gibi dolayl\u0131 g\u00fcvenlik y\u00f6ntemleri kullan\u0131n.<br \/>\n6.  <strong>Sisteminizi ve Memcached paketini d\u00fczenli olarak g\u00fcncelleyin.<\/strong><\/p>\n<p>Bu ad\u0131mlar\u0131 izleyerek, Memcached&#8217;in performans avantajlar\u0131ndan yararlan\u0131rken sunucunuzu ve verilerinizi potansiyel g\u00fcvenlik tehditlerine kar\u015f\u0131 koruyabilirsiniz. Unutmay\u0131n, iyi performans, iyi g\u00fcvenlik uygulamalar\u0131yla birlikte gelir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\u0131\nMemcached, y\u00fcksek performansl\u0131, da\u011f\u0131t\u0131k bir bellek \u00f6nbellek sistemidir.","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":[1468],"tags":[],"class_list":{"0":"post-36440","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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>Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\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\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\u0131\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\u0131 Memcached, y\u00fcksek performansl\u0131, da\u011f\u0131t\u0131k bir bellek \u00f6nbellek sistemidir.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-16T23:40:47+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=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\u0131\",\"datePublished\":\"2025-12-16T23:40:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/\"},\"wordCount\":3087,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/\",\"name\":\"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-16T23:40:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\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":"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\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\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\u0131","og_description":"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\u0131 Memcached, y\u00fcksek performansl\u0131, da\u011f\u0131t\u0131k bir bellek \u00f6nbellek sistemidir.","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-16T23:40:47+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\u0131","datePublished":"2025-12-16T23:40:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/"},"wordCount":3087,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/","name":"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-16T23:40:47+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerine-memcached-kurulumu-ve-guvenliginin-saglanmasi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 18.04 \u00dczerine Memcached Kurulumu ve G\u00fcvenli\u011finin Sa\u011flanmas\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\/36440","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=36440"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36440\/revisions"}],"predecessor-version":[{"id":36441,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36440\/revisions\/36441"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}