Halid Altuner

Bir Geliştiricinin Güncesi

Archive for the ‘mysql’ tag

IPTables ile Güvenli MySQL Erişimi

leave a comment

İnternet tabanlı geliştirdiğimiz yazılımlarda “Test Ortamı” oluşturmak başlı başına dert. Eğer kullandığınız geliştirme araçları özel konfigürasyon gerektiriyorsa yazılım kadar sistem tarafı da yorucu olabiliyor.

PHP uygulamalarında genellikle MySQL kullanıyorum. Ancak bazı durumlarda sunucu tarafında hem servis tabanlı port kısıtlaması hem de güvenlik duvarı tabanlı kısıtlamalar olabiliyor.

Bu durumda Remote MySQL’u Local’miş gibi kullanmak en problemsiz çözüm oluyor. Normal şartlarda sanal sunucu ve sunucu kullanırken ssh erişiminiz olduğu için port yönlendirmesi yapabiliyorsunuz. Ancak hosting sahipleri bu durumda port yönlendirmesi yapamıyorlar.

Servis sağlayıcınız temel portları açık bırakıp, MySQL bağlantı portunu kapatmışsa mevcut portlardan birini feda etmeniz gerekebiliyor :)

Bugün benzer bir işlemde, sunucu üzerinde tanımlı 8080 portunun kullanılmadığını gördüğüm için dışarıdan gelen 8080 isteklerini sunucu içindeki 3306 portuna yönlendirdim. Bu durumda MySQL portunu dışarıya açmadığım için herhangi bir güvenlik sorunu da yaşamayacağımı düşündüm.

Iptables yardımı ile şu şekilde yönlendirme yaptım;

1
2
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 123.123.123.123:3306
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 8080 -j ACCEPT

Birinci satırda gördüğünüz gibi 8080 portundan gelen istekler ip adresindeki 3306 portuna iletiliyor. İkinci satırda ise 8080 portundan gelen istekleri onaylayıp, izin veriyorum.

Uyarı: Bu yöntem sadece 3306 portuna izin vermeyen ancak farklı portları açık bırakan ISP’lerde konumlanan sunucuların MySQL portunu dışarıya açmak için kullanılan bir yöntemdir.  Tamamiyle güvenli olduğunu savunmuyorum. Standart port üzerinde olmadığı için “Güvenli” kelimesini kullandım.

Written by Halid ALTUNER

Mayıs 24th, 2010 at 1:27 am

Posted in Linux - Unix

Tagged with , , , ,

OpenFire Yönetici Şifresi Sorunsalı & Sıfırlama

leave a comment

XMPP(Jabber) Sunucusu yazılımı olarak kullanılan OpenFire üzerinde zaman zaman şifre sorunları yaşıyoruz.

Normal şartlar altında, OpenFire üzerindeki kullanıcı ve grupları MySQL, LDAP Server ve ClearSpace üzerinde tutabiliyoruz. Herhangi bir LDAP sunucunuz yok ise MySQL kullanmak en mantıklı ve kolay olan çözüm.

Kurulum sonrasında openFire servisini baştan başlatmanız gerekiyor. Ancak ilk kurulum sonrasında yönetici hesabı – parola uyuşmazlığı yaşanabiliyor.

Eğer servisi yeniden başlatmak çözüme ulaştırmadıysa şu işlemleri gerçekleştirmeniz öneriliyor.

Herhangi bir ssh istemcisi üzerinden openFire için tanımladığınız MySQL sunucusuna bağlanmamız gerekiyor. Bağlandıktan sonra;UPDATE ofUser SET plainPassword=’test123′, encryptedPassword=NULL WHERE username=’admin’;

mysql -uroot -p

komutu ile MySQL servisine bağlanıyoruz.

Bağlantı sonrasında MySQL komut satırı üzerinde,

use openfire;

komutu ile OpenFire için tanımlanan veritabanını seçiyoruz. Sizin kurulumunuzda veritabanı ismi değeri ne ise, onunla değiştirmeniz gerekiyor.

Veritabanı seçim işleminden sonra,

UPDATE ofUser SET plainPassword=’admin’, encryptedPassword=NULL WHERE username=’admin’;

komutu ile mevcut şifreyi “admin” olarak değiştirmiş oluyoruz. Oluşturduğunuz yönetici “admin” hesabından farklı bir hesap ise

WHERE username=’admin’;

şartını değiştirmeniz gerekiyor.

Bu işlemden sonra OpenFire servisini başlatmamız gerekiyor.

/etc/init.d/openfire restart

Web arayüzünden kullanıcı adı – şifre kontrolünü gerçekleştirebilirsiniz. Ancak oluşturduğunuz deneme şifresini tekrar oluşturmayı unutmayın.

Written by Halid ALTUNER

Ocak 23rd, 2010 at 10:06 pm