SQL İfadeleri – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
RMI Uygulamalarını Gizli Dinlemeden Koruma
Ağ dinleme hakkında öğrendiklerimize dayanarak, ağ iletişimlerinde gizli dinlemeyi gerçekten engelleyemeyeceğiniz sonucuna varabiliriz. Günün sonunda, verilerin kablo üzerinden gitmesi ve birkaç ağ düğümünden geçmesi gerekir, bu da onu müdahaleye açık hale getirir.
Verileri korumanın tek yolu şifrelemektir. SSL, ağ kanallarının güvenliğini sağlamak için endüstri standardı özellikler sunar ve RMI iletişimi için kullanılabilir. Java Güvenli Yuva Uzantısı (JSSE), Java uygulamalarının veri şifreleme, kimlik doğrulama ve mesaj bütünlüğü için SSL’den yararlanmasını sağlayan bir dizi API’dir.
RMI, uygulamaların, varsayılan TCP/IP yuvaları yerine kullanılan dışa aktarılan nesneler için özel yuva fabrikaları sağlamasına olanak tanır. JSSE SSL fabrikalarını hem istemci hem de sunucu için özel soket fabrikaları olarak kullanmak, kanalı etkili bir şekilde korur. Bir RMI ve SSL evliliğinin bir örneği, JavaSoft’un Web sitesinde aşağıdaki URL’de de verilmektedir.
SSL iletişimi, olası tüm istemci/sunucu veri alışverişi için gereksiz olabilecek bir ek yük getirir. Varsayılan soket fabrikalarını kullanmaya devam etmek, ancak verilerin hassas kısımlarını JSSE kullanarak şifrelemek daha iyi bir seçenek olabilir. Java şifrelemesini kullanmanın bir örneği de gösterilmektedir.
JDBC Sürücüsüne ve SQL İfadelerine Dinleme
Sunucu uygulamalarının çoğu, verileri depolamak ve almak için bir veritabanı kullanır. Uygulamanın veritabanıyla nasıl etkileşime girdiğini ve hangi SQL deyimlerini kullandığını bilmek, performans ayarlamada veya tersine mühendislikte çok yardımcı olabilir.
Kalıcılık için en çok tercih edilen teknoloji JDBC’dir ve yakın zamanda değişmeyecektir. JDBC’yi kullanmak için, bir uygulamanın bir sürücüyü tanımlaması ve yüklemesi, bir bağlantı kurması ve ardından güncellemeleri ve sorguları gerçekleştirmek için ifadeleri yürütmesi gerekir.
Performans ayarlama ve tersine mühendislik açısından en ilginç mantık, SQL ifadelerinin yapısı ve parametreleridir. Veritabanı performansının büyük ölçüde uygulama SQL ifadelerinin ne kadar etkili olduğuna bağlı olduğu yaygın bir bilgidir. SQL’i ve yürütme sürelerini analiz etmek, uygulama tarafında, veritabanı tarafında veya her ikisinde de iyileştirmelere de yol açabilir.
Teorik olarak, uygulama kaynağı veya bayt kodunu inceleyebilir ve dizeler halinde depolanan tüm SQL deyimlerini toplayabilirsiniz. Bu, elbette, çok sayıda deyim içeren veya SQL’i dinamik olarak oluşturan uygulamalar için sorunlu olabilir. SQL ifadelerinin günlüğe kaydedilmesini sağlamak için veritabanının kendisine de güvenebilirsiniz.
Bu kesinlikle uygulama kodundan daha iyi bir seçenek olsa da, veritabanı için yönetici ayrıcalıkları gerektirir ve birden fazla uygulama aynı veritabanını paylaşıyorsa çok kolay olmayabilir. JDBC API, DriverManager’ın setLogWriter yöntemi aracılığıyla sürücü düzeyinde veritabanı işlemlerini günlüğe kaydetme yöntemi de sağlar.
SQL karşılaştırma operatörleri
SQL komutları
sql ‘<>’ işareti
SQL koşul ifadeleri
SQL
SQL Operatörleri
SQL eşit değil
SQL eşit olmayanları getir
Sürücülerin kaydı, veritabanı bağlantıları oluşturmak için kullanılan URL’ler ve bağlantı sınıfı adları gibi bilgileri verir. Sürücü yöneticisi günlüğe kaydetmeyle ilgili sorun, SQL ifadeleri ve veritabanına iletilen değerler gibi en önemli bilgileri de sağlamamasıdır.
JDBC sürücüsünün oturum açma kaydını System.out’a yönlendirdim ve sürücüyü kaydeden, bir veritabanı bağlantısı sağlayan ve parametrelerle birkaç SELECT deyimi yürüten basit bir programla test ettim. Listelemede sürücü günlüğü çıktısının incelenmesi, SELECT deyimlerinin hiçbir izini de göstermiyor.
Veritabanı çağrılarını gizlice dinlemenin güvenilir bir yolunu sağlamak için, JDBC sürücüsünü ifadeyi günlüğe kaydeden ve ardından “gerçek” sürücüye yetki veren bir paketleyici ile değiştirmelisiniz. İyi bir teknolojinin/ürünün “basit şeyleri kolay ve karmaşık şeyleri mümkün kıldığını” söyleyen çok güzel eski bir özdeyiş vardır. JDBC günlüğü için kullanacağımız P6Spy tam da bunu gösteriyor.
10 dakikadan daha az bir sürede ve minimum yapılandırma değişikliğiyle, herhangi bir kod değişikliği olmaksızın mevcut uygulamalardan veritabanı çağrılarının günlüğe kaydedilmesini sağlar. P6Spy, SourceForge’dan indirilebilen ücretsiz, açık kaynaklı bir uygulamadır.
P6Spy’ı indirip kurduktan sonra, p6spy.jar ve spy.properties dosyaları hedef uygulamanın CLASSPATH’ine yerleştirilmelidir. Casusu etkinleştirmek için, uygulama tarafından kullanılan gerçek sürücü sınıfının, casus sürücü sınıfı ile değiştirilmesi gerekir. Gerçek sürücünün adı spy.properties’te yapılandırılmalıdır, böylece casus ona yetki de verebilir.
Uygulama için veritabanıyla ilgili yapılandırmanın geri kalanının değişmesi gerekmez. Örneğin uygulama, standart sürücüyü kullanarak bir Oracle veritabanına bağlanıyorsa, gerçek sürücü sınıfının adı oracle.jdbc.driver.OracleDriver olur. Casusu etkinleştirmek için, uygulama yapılandırma dosyasında bu adın com.p6spy.engine.spy.P6SpyDriver ile değiştirilmesi ve spy.properties’te gerçek sürücünün aşağıdaki gibi yapılandırılması da gerekir.
Kısacası;
- Dinleme, bir istemci ile sunucu arasındaki mesaj alışverişini yakalamak ve günlüğe kaydetmektir. İletişimin süreç veya makine sınırlarını aşması gerektiğinden bu mümkündür.
- Tünel oluşturma, bir istemci ile sunucu arasına bir aracı yerleştirmeye ve istemciyi aracıya mesaj gönderecek şekilde yeniden yapılandırmaya dayanan bir tekniktir. Aracı, istekleri sunucuya gönderir ve yanıtı müşteriye geri iletir, süreçteki iletişimi günlüğe kaydeder.
- Protokolün basit metin tabanlı doğası ve çok çeşitli araçlar nedeniyle HTTP’de gizlice dinlemek kolaydır.
- Ağ protokolü paketlerinin düğümler arasında seyahat etmesi gerektiğinden ağ koklama mümkündür. Rastgele bir ağ düğümü, hedef adresten bağımsız olarak tüm paketleri almayı seçer, bu da sniffer’ın ağdan geçen mesajları yakalamasını sağlar.
- RMI gizli dinleme, Ethereal gibi bir ağ algılayıcı kullanılarak mümkündür. RMI mesajlarının ikili içeriğini taşıyan alt düzey ağ paketlerinin analizini gerektirir.
- JDBC gizlice dinleme, gerçek sürücü ve bağlantı nesneleri etrafındaki sarmalayıcıların yardımıyla kolayca gerçekleştirilebilir.
- Sarmalayıcılar, gerçek sürücü sınıflarına iletmeden önce her ifadeyi de günlüğe kaydeder.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)