{"id":36898,"date":"2025-12-24T16:41:33","date_gmt":"2025-12-24T13:41:33","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36898"},"modified":"2025-12-24T16:41:33","modified_gmt":"2025-12-24T13:41:33","slug":"mongodb-nedir-ve-neden-guvenligi-onemlidir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/","title":{"rendered":"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir?"},"content":{"rendered":"<p><body><\/p>\n<h2>MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir?<\/h2>\n<p>MongoDB, modern uygulamalar i\u00e7in tasarlanm\u0131\u015f pop\u00fcler, a\u00e7\u0131k kaynakl\u0131, belge tabanl\u0131 (document-oriented) bir NoSQL veritaban\u0131d\u0131r. Esnek yap\u0131s\u0131 sayesinde, yap\u0131land\u0131r\u0131lm\u0131\u015f veya yar\u0131 yap\u0131land\u0131r\u0131lm\u0131\u015f verileri depolamak ve y\u00f6netmek i\u00e7in olduk\u00e7a etkilidir. Geleneksel ili\u015fkisel veritabanlar\u0131n\u0131n aksine, MongoDB \u015fema esnekli\u011fi sunar, bu da geli\u015ftiricilerin veri yap\u0131lar\u0131n\u0131 daha h\u0131zl\u0131 de\u011fi\u015ftirmesine ve yinelemesine olanak tan\u0131r.<\/p>\n<p>Ancak, MongoDB&#8217;nin kurulumu ve yap\u0131land\u0131rmas\u0131 s\u0131ras\u0131nda g\u00fcvenlik ad\u0131mlar\u0131na dikkat etmek kritik \u00f6neme sahiptir. Varsay\u0131lan kurulumlar genellikle kimlik do\u011frulama (authentication) olmadan \u00e7al\u0131\u015f\u0131r ve veritaban\u0131na herhangi bir yerden eri\u015fime izin verir. Bu durum, hassas verilerinizin k\u00f6t\u00fc niyetli sald\u0131r\u0131lara, veri s\u0131z\u0131nt\u0131lar\u0131na veya yetkisiz eri\u015fime a\u00e7\u0131k olmas\u0131na neden olabilir. Bu rehberde, Ubuntu 16.04 sunucunuzda MongoDB&#8217;yi g\u00fcvenli bir \u015fekilde nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131z.<\/p>\n<h2>Sistem Haz\u0131rl\u0131\u011f\u0131 ve \u00d6nko\u015fullar<\/h2>\n<p>MongoDB kurulumuna ba\u015flamadan \u00f6nce, sunucunuzun g\u00fcncel oldu\u011fundan ve gerekli ba\u011f\u0131ml\u0131l\u0131klara sahip oldu\u011fundan emin olmal\u0131y\u0131z. Bu ad\u0131mlar, olas\u0131 uyumluluk sorunlar\u0131n\u0131 \u00f6nlemeye ve daha sorunsuz bir kurulum s\u00fcreci sa\u011flamaya yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>Sistemi G\u00fcncelleme<\/h3>\n<p>\u0130lk olarak, sunucunuzdaki paket listesini g\u00fcncelleyin ve y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltin:<\/p>\n<pre><code>sudo apt update\nsudo apt upgrade -y\n<\/code><\/pre>\n<p>Bu komutlar, sisteminizin g\u00fcncel kalmas\u0131n\u0131 ve herhangi bir eski paketin potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 veya uyumsuzluklar\u0131n\u0131 gidermesini sa\u011flar.<\/p>\n<h3>Gerekli Paketlerin Kurulumu<\/h3>\n<p>MongoDB&#8217;nin resmi deposundan kurulum yapabilmek i\u00e7in, GnuPG anahtarlar\u0131n\u0131 y\u00f6netmek i\u00e7in <code>gnupg<\/code> gibi baz\u0131 ek paketlere ihtiyac\u0131m\u0131z olabilir:<\/p>\n<pre><code>sudo apt install gnupg wget curl -y\n<\/code><\/pre>\n<p>Bu paketler, MongoDB deposunun g\u00fcvenilirli\u011fini do\u011frulamak i\u00e7in gereklidir.<\/p>\n<h2>MongoDB Kurulumu<\/h2>\n<p>Sistemimiz haz\u0131r oldu\u011funa g\u00f6re, MongoDB&#8217;yi sunucumuza kurmaya ba\u015flayabiliriz. MongoDB, Ubuntu&#8217;nun varsay\u0131lan depolar\u0131nda bulunmayabilir veya g\u00fcncel olmayabilir, bu nedenle resmi MongoDB deposunu eklememiz gerekecektir.<\/p>\n<h3>MongoDB GPG Anahtar\u0131n\u0131 \u0130\u00e7e Aktarma<\/h3>\n<p>MongoDB&#8217;nin resmi paketlerini do\u011frulamak i\u00e7in genel GPG anahtar\u0131n\u0131 i\u00e7e aktarmam\u0131z gerekiyor. Bu ad\u0131m, indirdi\u011fimiz paketlerin MongoDB taraf\u0131ndan sa\u011fland\u0131\u011f\u0131n\u0131 ve de\u011fi\u015ftirilmedi\u011fini garanti eder.<\/p>\n<pre><code>wget -qO - https:\/\/www.mongodb.org\/static\/pgp\/server-3.6.asc | sudo apt-key add -\n<\/code><\/pre>\n<p>Bu komut, MongoDB&#8217;nin 3.6 s\u00fcr\u00fcm\u00fc i\u00e7in GPG anahtar\u0131n\u0131 indirir ve sisteminize ekler. <code>server-3.6.asc<\/code> URL&#8217;si, Ubuntu 16.04 i\u00e7in genellikle uyumlu olan MongoDB 3.6 s\u00fcr\u00fcm\u00fcn\u00fc hedeflemektedir. Daha yeni Ubuntu s\u00fcr\u00fcmlerinde veya daha yeni MongoDB s\u00fcr\u00fcmlerini kurmak isterseniz, bu URL&#8217;yi ilgili s\u00fcr\u00fcmle de\u011fi\u015ftirmeniz gerekebilir.<\/p>\n<h3>MongoDB Deposu Ekleme<\/h3>\n<p>\u015eimdi, Ubuntu&#8217;nun paket y\u00f6neticisine MongoDB deposunu bildirmemiz gerekiyor. Bu, <code>apt<\/code> komutunun MongoDB paketlerini nereden bulaca\u011f\u0131n\u0131 bilmesini sa\u011flayacakt\u0131r.<\/p>\n<pre><code>echo \"deb [ arch=amd64,arm64 ] https:\/\/repo.mongodb.org\/apt\/ubuntu xenial\/mongodb-org\/3.6 multiverse\" | sudo tee \/etc\/apt\/sources.list.d\/mongodb-org-3.6.list\n<\/code><\/pre>\n<p>Yukar\u0131daki komut, <code>\/etc\/apt\/sources.list.d\/mongodb-org-3.6.list<\/code> adl\u0131 yeni bir dosya olu\u015fturur ve i\u00e7ine MongoDB deposunun adresini yazar. <code>xenial<\/code> ifadesi, Ubuntu 16.04&#8217;\u00fcn kod ad\u0131d\u0131r. <code>3.6<\/code> ise kurmak istedi\u011fimiz MongoDB s\u00fcr\u00fcm\u00fcn\u00fc belirtir. Bu sayede, sistemimiz 3.6 s\u00fcr\u00fcm\u00fcne \u00f6zg\u00fc paketleri bulacakt\u0131r.<\/p>\n<h3>Paket Listesini G\u00fcncelleme ve MongoDB&#8217;yi Kurma<\/h3>\n<p>Yeni depoyu ekledikten sonra, <code>apt<\/code> paket listesini tekrar g\u00fcncellemeliyiz ki sistemimiz yeni depodan paket bilgilerini alabilsin:<\/p>\n<pre><code>sudo apt update\n<\/code><\/pre>\n<p>\u015eimdi MongoDB&#8217;yi kurabiliriz. <code>mongodb-org<\/code> paketi, MongoDB sunucusunu, istemcisini, kabu\u011funu ve ilgili ara\u00e7lar\u0131 i\u00e7erir.<\/p>\n<pre><code>sudo apt install -y mongodb-org\n<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, MongoDB otomatik olarak ba\u015flayacakt\u0131r. Durumunu kontrol edebiliriz:<\/p>\n<pre><code>sudo systemctl status mongod\n<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ifadesini g\u00f6rmelisiniz. Ayr\u0131ca, sistem yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda MongoDB&#8217;nin otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code>sudo systemctl enable mongod\n<\/code><\/pre>\n<h3>\u0130ste\u011fe Ba\u011fl\u0131: MongoDB S\u00fcr\u00fcm\u00fcn\u00fc Sabitleme<\/h3>\n<p>MongoDB&#8217;nin belirli bir s\u00fcr\u00fcmde kalmas\u0131n\u0131 sa\u011flamak ve gelecekteki <code>apt upgrade<\/code> i\u015flemlerinde otomatik olarak y\u00fckseltilmesini \u00f6nlemek isteyebilirsiniz. Bu, \u00fcretim ortamlar\u0131nda s\u00fcr\u00fcm uyumlulu\u011funu korumak i\u00e7in iyi bir uygulamad\u0131r:<\/p>\n<pre><code>echo \"mongodb-org hold\" | sudo dpkg --set-selections\necho \"mongodb-org-server hold\" | sudo dpkg --set-selections\necho \"mongodb-org-shell hold\" | sudo dpkg --set-selections\necho \"mongodb-org-mongos hold\" | sudo dpkg --set-selections\necho \"mongodb-org-tools hold\" | sudo dpkg --set-selections\n<\/code><\/pre>\n<p>Bu komutlar, MongoDB paketlerinin mevcut s\u00fcr\u00fcmde tutulmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>MongoDB G\u00fcvenli\u011fini Yap\u0131land\u0131rma<\/h2>\n<p>MongoDB&#8217;yi kurduk, ancak hen\u00fcz g\u00fcvenli de\u011fil. Varsay\u0131lan olarak, MongoDB kimlik do\u011frulama olmadan \u00e7al\u0131\u015f\u0131r ve yerel a\u011fdan veya hatta internetten eri\u015filebilir olabilir. Bu b\u00f6l\u00fcm, veritaban\u0131n\u0131z\u0131 g\u00fcvence alt\u0131na almak i\u00e7in atman\u0131z gereken kritik ad\u0131mlar\u0131 i\u00e7erir.<\/p>\n<h3>A\u011f Eri\u015fimini K\u0131s\u0131tlama (<code>bindIp<\/code>)<\/h3>\n<p>\u0130lk ve en \u00f6nemli g\u00fcvenlik ad\u0131mlar\u0131ndan biri, MongoDB&#8217;nin yaln\u0131zca belirli IP adreslerinden gelen ba\u011flant\u0131lar\u0131 kabul etmesini sa\u011flamakt\u0131r. MongoDB yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/mongod.conf<\/code> i\u00e7inde bulunur.<\/p>\n<pre><code>sudo nano \/etc\/mongod.conf\n<\/code><\/pre>\n<p>Bu dosyada <code>bindIp<\/code> sat\u0131r\u0131n\u0131 bulun. Varsay\u0131lan olarak genellikle <code>127.0.0.1<\/code> veya <code>0.0.0.0<\/code> olarak ayarlanm\u0131\u015ft\u0131r.\n<\/p>\n<pre><code class=\"language-yaml\"># network interfaces\nnet:\n  port: 27017\n  bindIp: 127.0.0.1  # Yaln\u0131zca localhost'tan eri\u015fime izin verir\n<\/code><\/pre>\n<p>E\u011fer MongoDB sunucunuzla ayn\u0131 makinede \u00e7al\u0131\u015fan uygulamalar\u0131n\u0131z varsa, <code>127.0.0.1<\/code> (localhost) yeterlidir. Bu ayar, yaln\u0131zca sunucunun kendisinin MongoDB&#8217;ye eri\u015fmesine izin verir. Ba\u015fka bir sunucudan veya belirli bir IP adresinden eri\u015fim sa\u011flaman\u0131z gerekiyorsa, o IP adresini de virg\u00fclle ay\u0131rarak ekleyebilirsiniz:<\/p>\n<pre><code class=\"language-yaml\">bindIp: 127.0.0.1,192.168.1.100 # localhost ve belirli bir i\u00e7 IP'den eri\u015fime izin verir\n<\/code><\/pre>\n<p><strong>Uyar\u0131:<\/strong> <code>bindIp<\/code> de\u011ferini <code>0.0.0.0<\/code> olarak ayarlamak, MongoDB&#8217;nin t\u00fcm IP adreslerinden gelen ba\u011flant\u0131lar\u0131 dinlemesine neden olur. Bu, sunucunuzun g\u00fcvenlik duvar\u0131 taraf\u0131ndan korunmad\u0131\u011f\u0131 s\u00fcrece son derece g\u00fcvensizdir.<\/p>\n<p>De\u011fi\u015fiklikleri kaydedin ve d\u00fczenleyiciden \u00e7\u0131k\u0131n (Nano&#8217;da <code>Ctrl+X<\/code>, <code>Y<\/code> ve <code>Enter<\/code>).<\/p>\n<h3>Kimlik Do\u011frulamay\u0131 Etkinle\u015ftirme<\/h3>\n<p>MongoDB&#8217;ye kullan\u0131c\u0131 ad\u0131 ve parola ile eri\u015fimi zorunlu k\u0131lmak i\u00e7in kimlik do\u011frulamay\u0131 etkinle\u015ftirmemiz gerekir. Yine <code>\/etc\/mongod.conf<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n:<\/p>\n<pre><code>sudo nano \/etc\/mongod.conf\n<\/code><\/pre>\n<p><code>security:<\/code> b\u00f6l\u00fcm\u00fcn\u00fc bulun ve <code>authorization: enabled<\/code> sat\u0131r\u0131n\u0131 ekleyin (veya yorum sat\u0131r\u0131ndan \u00e7\u0131kar\u0131n):<\/p>\n<pre><code class=\"language-yaml\">security:\n  authorization: enabled\n<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydedin ve d\u00fczenleyiciden \u00e7\u0131k\u0131n.<\/p>\n<h3>MongoDB Servisini Yeniden Ba\u015flatma<\/h3>\n<p>Yap\u0131land\u0131rma dosyas\u0131 de\u011fi\u015fikliklerinin etkili olmas\u0131 i\u00e7in MongoDB servisini yeniden ba\u015flatman\u0131z gerekir:<\/p>\n<pre><code>sudo systemctl restart mongod\n<\/code><\/pre>\n<p>Servisin durumunu kontrol edin:<\/p>\n<pre><code>sudo systemctl status mongod\n<\/code><\/pre>\n<p>Hala <code>active (running)<\/code> oldu\u011funu g\u00f6rmelisiniz.<\/p>\n<h3>Y\u00f6netici Kullan\u0131c\u0131s\u0131 Olu\u015fturma<\/h3>\n<p>Kimlik do\u011frulama art\u0131k etkin oldu\u011fundan, veritaban\u0131na eri\u015fmek i\u00e7in bir kullan\u0131c\u0131 olu\u015fturmam\u0131z gerekiyor. \u0130lk kullan\u0131c\u0131y\u0131 olu\u015fturmak i\u00e7in, kimlik do\u011frulama etkinle\u015ftirildikten sonra ge\u00e7ici olarak kimlik do\u011frulamas\u0131 olmadan ba\u011flanabiliriz.<\/p>\n<pre><code>mongo\n<\/code><\/pre>\n<p>MongoDB kabu\u011funa girdikten sonra, y\u00f6netici veritaban\u0131na ge\u00e7in ve y\u00f6netici kullan\u0131c\u0131s\u0131n\u0131 olu\u015fturun:<\/p>\n<pre><code>use admin\ndb.createUser(\n   {\n     user: \"adminUser\",\n     pwd: \"CokGucluParola123\", \/\/ G\u00fc\u00e7l\u00fc bir parola kullan\u0131n!\n     roles: [ { role: \"userAdminAnyDatabase\", db: \"admin\" }, \"readWriteAnyDatabase\", \"dbAdminAnyDatabase\" ]\n   }\n)\n<\/code><\/pre>\n<p>Bu komut, <code>adminUser<\/code> ad\u0131nda, <code>admin<\/code> veritaban\u0131nda <code>userAdminAnyDatabase<\/code>, t\u00fcm veritabanlar\u0131nda <code>readWriteAnyDatabase<\/code> ve <code>dbAdminAnyDatabase<\/code> rollerine sahip bir kullan\u0131c\u0131 olu\u015fturur. <code>userAdminAnyDatabase<\/code> rol\u00fc, kullan\u0131c\u0131n\u0131n di\u011fer kullan\u0131c\u0131lar\u0131 olu\u015fturmas\u0131na ve y\u00f6netmesine izin verir. <code>readWriteAnyDatabase<\/code> t\u00fcm veritabanlar\u0131nda okuma\/yazma, <code>dbAdminAnyDatabase<\/code> ise t\u00fcm veritabanlar\u0131nda y\u00f6netim haklar\u0131 sa\u011flar.<\/p>\n<p>Kullan\u0131c\u0131 olu\u015fturulduktan sonra MongoDB kabu\u011fundan \u00e7\u0131k\u0131n:<\/p>\n<pre><code>exit\n<\/code><\/pre>\n<h3>Kimlik Do\u011frulama ile Ba\u011flant\u0131y\u0131 Test Etme<\/h3>\n<p>\u015eimdi yeni olu\u015fturdu\u011fumuz y\u00f6netici kullan\u0131c\u0131s\u0131n\u0131 kullanarak kimlik do\u011frulama ile MongoDB&#8217;ye ba\u011flanmay\u0131 deneyelim:<\/p>\n<pre><code>mongo -u adminUser -p --authenticationDatabase admin\n<\/code><\/pre>\n<p>Parolan\u0131z\u0131 girmeniz istendi\u011finde, <code>CokGucluParola123<\/code> (veya belirledi\u011finiz parola) girin. Ba\u015far\u0131l\u0131 bir \u015fekilde ba\u011flan\u0131rsan\u0131z, art\u0131k MongoDB&#8217;niz kimlik do\u011frulamal\u0131 olarak \u00e7al\u0131\u015f\u0131yor demektir.<\/p>\n<p>Kimlik do\u011frulama olmadan ba\u011flanmaya \u00e7al\u0131\u015f\u0131rsan\u0131z (<code>mongo<\/code> komutuyla), veritaban\u0131na eri\u015fiminiz k\u0131s\u0131tlanacakt\u0131r. Bir veritaban\u0131 veya koleksiyon \u00fczerinde i\u015flem yapmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda hata al\u0131rs\u0131n\u0131z.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131 (UFW)<\/h3>\n<p>MongoDB&#8217;nin a\u011f eri\u015fimini <code>bindIp<\/code> ile k\u0131s\u0131tlaman\u0131n yan\u0131 s\u0131ra, sunucunuzun g\u00fcvenlik duvar\u0131n\u0131 da yap\u0131land\u0131rmak \u00f6nemlidir. Ubuntu&#8217;da UFW (Uncomplicated Firewall) yayg\u0131n olarak kullan\u0131l\u0131r.<\/p>\n<p>E\u011fer UFW kurulu de\u011filse:<\/p>\n<pre><code>sudo apt install ufw -y\n<\/code><\/pre>\n<p>UFW&#8217;yi etkinle\u015ftirin ve SSH eri\u015fimine izin verin (aksi takdirde kendinizi sunucudan kilitleyebilirsiniz):<\/p>\n<pre><code>sudo ufw enable\nsudo ufw allow OpenSSH\n<\/code><\/pre>\n<p>\u015eimdi, yaln\u0131zca belirli IP adreslerinden veya a\u011flardan MongoDB portuna (varsay\u0131lan 27017) eri\u015fime izin verin. \u00d6rne\u011fin, yaln\u0131zca belirli bir dahili IP adresinden eri\u015fime izin vermek i\u00e7in:<\/p>\n<pre><code>sudo ufw allow from 192.168.1.10 to any port 27017\n<\/code><\/pre>\n<p>E\u011fer uygulaman\u0131z ayn\u0131 sunucuda \u00e7al\u0131\u015f\u0131yorsa, harici eri\u015fime izin vermenize gerek yoktur. E\u011fer farkl\u0131 bir sunucudan eri\u015fim gerekiyorsa, o sunucunun IP adresini belirtmelisiniz. Asla <code>sudo ufw allow 27017<\/code> komutunu tek ba\u015f\u0131na kullanmay\u0131n, \u00e7\u00fcnk\u00fc bu, internetteki herkesin veritaban\u0131n\u0131za eri\u015fmesine izin verir.<\/p>\n<p>G\u00fcvenlik duvar\u0131 durumunu kontrol edin:<\/p>\n<pre><code>sudo ufw status\n<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131, izin verilen kurallar\u0131 g\u00f6stermelidir.<\/p>\n<h2>MongoDB Y\u00f6netimi ve Do\u011frulama<\/h2>\n<p>Kurulum ve g\u00fcvenlik yap\u0131land\u0131rmas\u0131 tamamland\u0131ktan sonra, MongoDB servisini nas\u0131l y\u00f6netece\u011finizi bilmeniz \u00f6nemlidir.<\/p>\n<h3>MongoDB Servisini Ba\u015flatma, Durdurma ve Yeniden Ba\u015flatma<\/h3>\n<p>MongoDB servisini y\u00f6netmek i\u00e7in <code>systemctl<\/code> komutunu kullanabilirsiniz:<\/p>\n<ul>\n<li><strong>Ba\u015flatma:<\/strong>\n<pre><code>sudo systemctl start mongod<\/code><\/pre>\n<\/li>\n<li><strong>Durdurma:<\/strong>\n<pre><code>sudo systemctl stop mongod<\/code><\/pre>\n<\/li>\n<li><strong>Yeniden Ba\u015flatma:<\/strong>\n<pre><code>sudo systemctl restart mongod<\/code><\/pre>\n<\/li>\n<li><strong>Durum Kontrol\u00fc:<\/strong>\n<pre><code>sudo systemctl status mongod<\/code><\/pre>\n<\/li>\n<\/ul>\n<h3>G\u00fcnl\u00fckleri Kontrol Etme<\/h3>\n<p>Herhangi bir sorunla kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131zda, MongoDB&#8217;nin g\u00fcnl\u00fck dosyalar\u0131n\u0131 kontrol etmek faydal\u0131d\u0131r. Varsay\u0131lan olarak, g\u00fcnl\u00fckler <code>\/var\/log\/mongodb\/mongod.log<\/code> adresinde bulunur:<\/p>\n<pre><code>sudo tail -f \/var\/log\/mongodb\/mongod.log\n<\/code><\/pre>\n<p>Bu komut, g\u00fcnl\u00fck dosyas\u0131n\u0131n sonunu ger\u00e7ek zamanl\u0131 olarak g\u00f6sterir ve sorun giderme i\u00e7in \u00f6nemli bilgiler sa\u011flar.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Bu rehberde, Ubuntu 16.04 sunucunuza MongoDB&#8217;yi nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve temel g\u00fcvenlik \u00f6nlemlerini nas\u0131l alaca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz. <code>bindIp<\/code> ayar\u0131n\u0131 yaparak a\u011f eri\u015fimini k\u0131s\u0131tlamak, kimlik do\u011frulamay\u0131 etkinle\u015ftirmek ve g\u00fc\u00e7l\u00fc kullan\u0131c\u0131lar olu\u015fturmak, veritaban\u0131n\u0131z\u0131n g\u00fcvenli\u011fini sa\u011flaman\u0131n temel ad\u0131mlar\u0131d\u0131r. Ayr\u0131ca, sunucunuzun g\u00fcvenlik duvar\u0131n\u0131 (UFW) yap\u0131land\u0131rmak, ek bir koruma katman\u0131 sa\u011flar.<\/p>\n<p>Unutmay\u0131n ki g\u00fcvenlik s\u00fcrekli bir s\u00fcre\u00e7tir. D\u00fczenli yedeklemeler almak, veritaban\u0131 performans\u0131n\u0131 izlemek ve MongoDB&#8217;nin ve sunucunuzun en son g\u00fcvenlik yamalar\u0131yla g\u00fcncel oldu\u011fundan emin olmak, uzun vadede veri g\u00fcvenli\u011finiz i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>S1: MongoDB hangi portu kullan\u0131r?<\/strong><br \/>\nC1: MongoDB&#8217;nin varsay\u0131lan portu 27017&#8217;dir. Replica Set&#8217;ler (replika k\u00fcmeleri) i\u00e7in 27017, 27018 ve 27019 portlar\u0131 kullan\u0131labilir.<\/p>\n<p><strong>S2: <code>bindIp<\/code> ayar\u0131 ne i\u015fe yarar?<\/strong><br \/>\nC2: <code>bindIp<\/code> ayar\u0131, MongoDB&#8217;nin hangi IP adreslerinden gelen ba\u011flant\u0131lar\u0131 dinleyece\u011fini belirtir. Bu, veritaban\u0131na eri\u015fimi yaln\u0131zca belirli kaynaklarla s\u0131n\u0131rlayarak \u00f6nemli bir g\u00fcvenlik katman\u0131 sa\u011flar. <code>127.0.0.1<\/code> yaln\u0131zca yerel eri\u015fime izin verirken, belirli bir IP adresi veya virg\u00fclle ayr\u0131lm\u0131\u015f IP listesi, uzaktan eri\u015fime izin verilen kaynaklar\u0131 tan\u0131mlar.<\/p>\n<p><strong>S3: MongoDB&#8217;yi g\u00fcncelledikten sonra ne yapmal\u0131y\u0131m?<\/strong><br \/>\nC3: E\u011fer s\u00fcr\u00fcm sabitleme yapmad\u0131ysan\u0131z ve MongoDB&#8217;yi g\u00fcncellediyseniz, yeni s\u00fcr\u00fcmle birlikte gelen potansiyel yap\u0131land\u0131rma de\u011fi\u015fikliklerini g\u00f6zden ge\u00e7irmelisiniz. \u00d6zellikle <code>mongod.conf<\/code> dosyas\u0131ndaki g\u00fcvenlik ayarlar\u0131n\u0131n (bindIp, authorization) yeni s\u00fcr\u00fcmle uyumlu ve hala g\u00fcvenli oldu\u011fundan emin olun. Ayr\u0131ca, yeni s\u00fcr\u00fcmle birlikte gelen herhangi bir yeni g\u00fcvenlik \u00f6zelli\u011fini veya \u00f6neriyi ara\u015ft\u0131rman\u0131z \u00f6nerilir.<\/p>\n<p><strong>S4: MongoDB parolam\u0131 unuttum, ne yapmal\u0131y\u0131m?<\/strong><br \/>\nC4: MongoDB parolan\u0131z\u0131 unutman\u0131z durumunda, kimlik do\u011frulamay\u0131 ge\u00e7ici olarak devre d\u0131\u015f\u0131 b\u0131rakarak ve ard\u0131ndan yeni bir y\u00f6netici kullan\u0131c\u0131s\u0131 olu\u015fturarak veya mevcut kullan\u0131c\u0131n\u0131n parolas\u0131n\u0131 de\u011fi\u015ftirerek kurtarma yapman\u0131z gerekebilir. Bu i\u015flem genellikle <code>mongod.conf<\/code> dosyas\u0131ndaki <code>authorization: enabled<\/code> sat\u0131r\u0131n\u0131 yorum sat\u0131r\u0131 yaparak, servisi yeniden ba\u015flatarak, kimlik do\u011frulamas\u0131 olmadan ba\u011flanarak ve ard\u0131ndan parolay\u0131 s\u0131f\u0131rlayarak yap\u0131l\u0131r. \u0130\u015flem bittikten sonra kimlik do\u011frulamay\u0131 tekrar etkinle\u015ftirmeyi unutmay\u0131n.<\/p>\n<p><strong>S5: Ubuntu 16.04 i\u00e7in hangi MongoDB s\u00fcr\u00fcm\u00fc \u00f6nerilir?<\/strong><br \/>\nC5: Ubuntu 16.04 (Xenial Xerus) i\u00e7in MongoDB&#8217;nin 3.6 veya 4.0 s\u00fcr\u00fcmleri genellikle uyumludur ve resmi olarak desteklenir. Bu rehberde 3.6 s\u00fcr\u00fcm\u00fcn\u00fc kulland\u0131k \u00e7\u00fcnk\u00fc bu, 16.04 \u00fczerinde olduk\u00e7a kararl\u0131 ve yayg\u0131n olarak kullan\u0131lan bir s\u00fcr\u00fcmd\u00fcr. Daha yeni s\u00fcr\u00fcmler, baz\u0131 ek ba\u011f\u0131ml\u0131l\u0131klar veya daha yeni glibc s\u00fcr\u00fcmleri gerektirebilir ki bu da eski bir i\u015fletim sisteminde sorun yaratabilir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir?\nMongoDB, modern uygulamalar i\u00e7in tasarlanm\u0131\u015f pop\u00fcler, a\u00e7\u0131k kaynakl\u0131, belge tabanl\u0131 (document-","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":[676],"tags":[],"class_list":{"0":"post-36898","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-mongodb","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>MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir? - 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\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir?\" \/>\n<meta property=\"og:description\" content=\"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir? MongoDB, modern uygulamalar i\u00e7in tasarlanm\u0131\u015f pop\u00fcler, a\u00e7\u0131k kaynakl\u0131, belge tabanl\u0131 (document-\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-24T13:41:33+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=\"11 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir?\",\"datePublished\":\"2025-12-24T13:41:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/\"},\"wordCount\":1904,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"MongoDB\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/\",\"name\":\"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-24T13:41:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir?\"}]},{\"@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":"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir? - 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\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/","og_locale":"tr_TR","og_type":"article","og_title":"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir?","og_description":"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir? MongoDB, modern uygulamalar i\u00e7in tasarlanm\u0131\u015f pop\u00fcler, a\u00e7\u0131k kaynakl\u0131, belge tabanl\u0131 (document-","og_url":"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-24T13:41:33+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"11 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir?","datePublished":"2025-12-24T13:41:33+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/"},"wordCount":1904,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["MongoDB"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/","url":"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/","name":"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-24T13:41:33+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/mongodb-nedir-ve-neden-guvenligi-onemlidir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MongoDB Nedir ve Neden G\u00fcvenli\u011fi \u00d6nemlidir?"}]},{"@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\/36898","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=36898"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36898\/revisions"}],"predecessor-version":[{"id":36899,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36898\/revisions\/36899"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}