Merhaba Arkadaşlar,
Daha önce mongodb kurulumundan ve konfigürasyonundan bahsetmiştim. Yazılarım içerisinde bulabilirsiniz.
Burada anlatmak istediğim, mongodb’yi dış IP’ye veya istediğimiz herhangi bir IP adresine (tabi sunucuda kayıtlı) açmak ve dışarıdan erişim sağlamak.
MongoDB Dışarı Port Açmak, Dışarıdan Erişim
Aslında konu özetle çok karmaşık değil. Öncelikle “C:\Program Files\MongoDB\Server\3.6(Sizin Versiyonunuz)\bin” dizinine gidiyoruz ve “Mongod.cfg” isimli dosyamızı metin editörü ile açıyoruz. Karşımıza aşağıdaki gibi bir ekran gelmeli;
İşte 3 püf noktadan biri ve en önemlisi; “authorization” alanı. eğer bu alan yok ise sarıyla belirtildiği şekilde dosyamıza ekliyoruz.
Ancak önemli husus, artık bu ayar işleme alındıktan sonra kullanıcı adı ve şifre olmadan kesinlikle mongoDB’ye erişim sağlayamazsınız.
2. Püf nokta, bindIP yazılı alanda 127.0.0.1 sizin localhost olarak bağlanmanızı sağlar iken, “, xxx.xxx.xxx.xxx” olarak sunucusunuza tanımlı dış IP adresinizi girer iseniz bu sefer mongoDB’yi bu ip üzerinden public olarak tanımlamış, yani dışarı açmış olursunuz.
3. ve belki de en önemli püf noktalardan birisi de “post” ayarı. Default olarak 27017 portu gelir. Ancak lamer veya hacker’lar bu tip default portların tümünü bilirler ve hangi uygulamanın kullandığını bulmaları vakitlerini almaz. Bu yüzden burada da 65500 ‘e kadar farklı bir port belirtmenizde yarar olacaktır. Ki bulunabilirlik bir tık daha zorlaşabilsin. Tabii ki imkansız değil, ama ne kadar zorlaştırır isek o kadar iyidir. 🙂
Bu ayarları yaptıktan ve kaydedip kapattıktan sonra artık mongodb’miz bu ip adresini de dinlemeye başlayacak ve oradan gelen taleplere de cevap verecektir.
Tabii ki son bir ayardan sonra. Bu ayarların geçerli olabilmesi için çalışmakta olan mongodb servisinizin bir restart alması gerekiyor. Başlata tıkladıktan sonra Services (Hizmetler) yazıp açtığımız “Hizmetler” sayfasından mongodb server hizmetimize sağ tıklayıp “Restart” dedikten sonra işlem tamamlanacaktır.
Artık mongodb’niz public olarak kullanılabilir ve o ip adresine erişim sağlayan ve kullanıcı bilgilerine sahip herkes tarafından kullanılabilir durumda.
Peki mongodb’yi kullanıcı doğrulama olmadan açamaz mıyız?
Elbette açabilirsiniz. Bu durumda yapmanız gereken sadece “authorization” yöntemini değiştirmek. Yani “enabled” yerine “disabled” yapmak.
Ama şunu unutmayın ki, eğer authorization olmadan public olarak açar iseniz, ip adresini tarayan veya bilen herkes bu hizmete ulaşır ve bütün veritabanlarınızı mahvedebilir.
Demedi demeyin!!! 🙂
Kullanıcı yetkileriyle alakalı çok daha kapsamlı bir makale de yakında sizlerle olacaktır. Şimdiden haberini vereyim. 🙂
İyi çalışmalar…
Çok teşekkürler. Çok açıklayıcı bir anlatım olmuş. Sorunu çok kısa zamanda hallettim.
Hocam merhabalar,
Evimde statik ip kullanıyorum. Modemden port açarak, iş yerimden evimdeki mongo veritabanına bağlanabilir miyim?
Evin statik ip adresini alanda gösterdiğiniz şekilde mongo.cfg dosyasına tanımlamam yeterli midir yoksa modemden işlem yapmalı mıyım acaba?
Dönüşünüzü bekliyorum, saygılarımla.
Merhabalar,
Modem üzerinden de port açmanız gerekli. Şöyle diyebilirim işlem sırasını;
1) mongo.cfg ip tanımlamanız lazım
2) windows firewall üzerinde o porta izin vermeniz lazım
3) modem üzerinden nat kısmında dış ip’i iç ip’ye ilgili porta yönlendirecek şekilde ayarlamanız lazım.
Bunların ardından bağlanabilirsiniz. Ancak dışarı port açarken default portu değil de uydurma bir port numarası belirtmenizi tavsiye ederim.
Yoksa orada bir db olduğunu anlayıp (mongo’nun default port numarasını bildikleri için) sürekli uzaktan hacklemeye çalışabilirler. 🙂