Aramayan Bulamaz
×
Cryptograph kullanıcısına ait içerikleri görüntülemektesiniz.
Modem ve Router Nedir? Kablo Modem ve TP-Link Bağlantısı

Merhaba, iş yoğunluğum sebebiyle çok sık konu açamıyorum ancak bu durumu değiştirmeye çalışıyorum. Öncelikle modem ve router kavramlarının ne olduğunu açıklamak istiyorum.

Modem; modulator-demodulator kelimelerinin birleşiminden oluşan birleşik kelimedir. Modem evimize telefon hattı, uydu hattı ya da doğrudan fiberoptik kablo ile gelen hat sinyalini internet sinyaline çeviren cihazdır.

Router; yerel ağda bulunan cihazların birbirleriyle haberleşmesini sağlayan cihazdır. Cihazlar routerda bulunan DHCP sayesinde yerel IP adresine sahip olurlar. NAT kuralları, güvenlik duvarı tanımlamaları yine router üzerinden tanımlanır.

Bir internet servis sağlayıcısından hizmet aldığınızda sağlayıcı size bir cihaz gönderir internete bağlanabilmeniz için. Bu cihaz hem modem hem router özelliğine sahiptir. Bir router modem olmadan internete çıkış sağlayamaz.

Asıl konuya gelirsek, yakın zamanda VDSL internet aboneliğimi iptal ederek Kablonet internet hizmeti kullanmaya başladım. Kablonet bilindiği üzere internet hattını evimize uydu kablosu ile getirmektedir. VDSL internet abonesiyken kullandığım modem & router TP-Link markaydı. Kablonet'in verdiği cihaz ise Netmaster marka modem & router. Ancak bu cihazın router özellikleri TP-Link kadar profesyonel olmayıp ihtiyaçlarımı karşılamadığı için TP-Link cihazı wifi router moduna alarak kullanmaya başladım. Ancak bu işlem tek başına yeterli değil gelmedi. Çünkü TP-Link cihazımın VPN özelliklerini bu şekilde rahatça kullanamıyordum. Netmaster marka cihazın da router özelliklerini devredışı bırakarak internet bağlantı türünü köprü modu olarak tanımlayıp cihazı yalnızca modem olarak kullanmam gerekiyordu.

İşlem adımları aşağıdaki gibi:

Netmaster cihazın web arayüzüne giriş sağlıyoruz. &Ou

Vestel Smart TV Uzaktan Kumanda

Merhaba, çok beğenmesem de bir Vestel Smart TV kullanıcısıyım, bu TV'nin Android ve IOS için mobil kumanda uygulamaları mevcut ancak zamanımın çoğunu bilgisayar başında geçirdiğim için bilgisayar uygulaması yapmaya karar verdim. Bunun için mobil uygulamanın TV ile nasıl haberleştiğini çözmem gerekiyordu. TV ve mobil cihazın aynı internet ağında olması gerektiğini biliyorum dolayısıyla aradaki haberleşmeyi dinlemek için Ettercap ve Wireshark uygulamalarını kullandım. Ettercap ile mobil cihazın ve TV'nin internet trafiğini bilgisayarıma aktarıp Wireshark ile mobil cihazdan TV'ye giden istekleri dinlemeye başladım.

Standart HTTP POST istekleri göndererek işlem yaptığını görüntüledim. Ses açma ve kısma işlemlerine ait XML verilerini alıp bunu ilk önce CURL ile TV'ye post ederek test yaptım ve TV'nin sesinde değişiklik oldu. Bunun sonrasında mobil kumanda uygulamasındaki tüm tuşlara tek tek dokunarak tüm tuşlara ait veriyi aldım ve Python ile bir kumanda uygulaması geliştirdim.

Uygulamaya aşağıdaki bağlantıdan ulaşabilirsiniz.

https://github.com/niyazialpay/VestelSmartTVRemoteController

Plesk Panel Sunucu için Wildcard Lets Encrypt SSL Kurulumu

SSL sertifikaları sunucu ve istemci arasındaki bağlantının şifrelenmesinde kullanılan güvenlik sertifikalarıdır. Piyasada bulunan pek çok SSL sertifikasının yapmakta olduğu işlem aynıdır ancak aralarındaki fiyat farkı prestijlerinden ya da birden fazla alan adı desteği, çoklu alt alan adı desteği gibi özelliklerden kaynaklanmaktadır.

Kendinize özel SSL sertifikanızı da oluşturabilirsiniz ancak bu durumda web tarayıcınız SSL sertifikanızın markasını tanımayacağı için güvenlik uyarısı verecektir. Web tarayıcılarının tanıdığı Rapid SSL, Thawte, GeoTrust, Symantec, Comodo, Lets Encrypt gibi markalardır. Bu SSL sertifikalarının arasında ücretsiz olan SSL sertifikası Lets Encrypt tarafından sağlanmaktadır. Lets Encrypt SSL sertifikası diğerlerinden farklı olarak 4096 bit key desteği vermesidir.

Plesk Panel, Cpanel, Centos Web Panel gibi sunucu kontrol panellerinde de artık Lets Encrypt SSL sertifikası bir eklenti olarak gelmekte ancak bu sunucu eklentilerinde gelen Lets Encrypt SSL sertifikası varsayılanda 2048 bit olarak sertifikayı oluşturmaktadır. Ayrıca Lets Encrypt SSL sertifikasında wildcard (*.alanadı.com yani çoklu alt alan adı), ve san (subject alternative names, birden fazla alan adı) desteği de bulunmaktadır ancak Plesk Panel, Cpanel gibi sunucularda bulunan bu Lets Encrypt eklentisine henüz wildcard ve san desteğinin eklenmediğini görmekteyim. Acme.sh isimli bir script ile Lets Encrypt SSL sertifikanızı kendi isteklerinize göre wildcard, san ve 4096 bit olarak oluşturabilmektesiniz. Ben de bu Acme.sh scriptini kullanarak Plesk Panel sunucu için wildcard ve 4096 bit destekli Lets Encrypt sertifikasını oluşturup sunucu üzerine kurulumunu yapan ayrı bir script hazırladım. Hazırladığım scripti Github sayfam üzerinden indirerek kullanabilirsiniz. Ancak hazırladığım script DNS doğrulaması yaparak SSL sertifikasını aktif hale getirmekte ve doğrulama yapacağı DNS kaydını Cloudflare üzerinde API aracılığı ile oluşt

MongoDB Kurulum ve Konfigurasyonu (Kullanıcı Yetkilendirmesi ve SSL Kurulumu)

Linux işletim sistemine MongoDB kurulumu için öncelikle MongoDB repolarını işletim sistemine eklemeniz gerekmekte.

Linux Redhat / CentOS

1. Adım: /etc/yum.repos.d/mongodb-org.repo dosyasının içerisine aşağıdaki bilgileri eklemeniz gerekmekte. Şu anda son sürüm 4.0 daha sonra farklı bir sürüm çıkarsa eğer o sürüme ait olan repoyu eklemeniz gerekecektir. Güncel MongoDB sürümünü  bu bağlantıdan öğrenebilirsiniz.

[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

2. Adım: Kurulum

yum install -y mongodb-org

Ubuntu

1. Adım: MongoDB servisine ait public key bilgisini işletim sistemine import etmemiz gerekiyor

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

2. Adım: /etc/apt/sources.list.d/mongodb-org.list dosyasının içerisine aşağıdaki bilgileri eklememiz gerekmekte.

Ubuntu 14.04 için

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Ubuntu 16.04 için

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

3. Adım: Paketleri güncelle

sudo apt-get update

4. Adım: Kurulum

sudo apt-get install -y mongodb-org

Konuya CentOS üzerinden devam edeceğim. Kurulum işlemi sonrasında service mongod start komutunu vererek servisi başlatabilirsiniz. MongoDB kurulumu tamamlandı ve kullanıma hazır durumda terminal üzerinden mongo komutunu vererek MongoDB'nin shell ekranına giriş yapabilirsiniz. MongoDB daha &ou

MongoDB ve NoSQL Kavramı Nedir?

MongoDB bir NoSQL veritabanıdır. NoSQL "not only sql" olarak da açılabilir, yani SQL değil anlamındadır. Çünkü çalıştırılan sorgular bir MySQL ya da MsSQL sistemlerinde alışmış olduğunuz sorgular değiller.

NoSQL Sistemlerinin Avantajları Nelerdir?

Okuma ve yazma konusunda diğerlerine göre daha performanslı olabilirler.

Yatay olarak genişletilebilirler. Yani binlerce sunucu küme oluşturarak çalıştırılabilir ve daha büyük veriler üzerinde daha rahat işlem yapılabilir.

Farklı bir çok özellikleri olması sebebiyle programlama alanında kolaylıklar sağlar.

Maliyet olarak diğer veritabanı sistemlerine göre daha avantajlıdır.


NoSQL Sistemlerin Dezavantajları Nelerdir?

SQL bir veritabanı kullanan uygulamanın NoSQL sisteme taşınması ilk aşamada zor olacaktır. Özellikle join kullanan sorgularda düzenleme yapılması gerekecektir.

NoSQL veritabanı sitemleri veri güvenliği konusunda SQL veritabanlarındaki gibi gelişmiş bir yapıya sahip değiller.


MongoDB'de yukarıdaki dezavantajlarda bahsettiğim gibi güvenlik konusunda ilk kurulumda yetersiz kalmakta. Varsayılan olarak kullanıcı adı ve şifre bulunmamakta. Doğrudan sunucu adresini yazarak veritabanına bağlantı sağlanabilmekte. Bu sebeple veritabanı erişimini sunucu dışına kapatmak gerek ve MongoDB konfigurasyonlarını düzenleyerek kullanıcı yetkilendirmesini açmanız gerek. Kurulum ve konfigurasyonları sonraki konumda açıklayacağım.


MongoDB

10gen firması tarafından 2007 yılında başlanan ve 2009 yılında AGPL lisansıyla açık kaynak projesine dönüştürülen bir veritabanı sistemidir. Belge yönelimli veritabanı olarak tanıtılmaktadır. (Document oriented). MongoDB üzerinde oluşturulan her kayıt bir dökümandır. Bu dökümanlar json formatında saklanır.

MongoDB ve alışılagelmiş S