Halid Altuner

Bir Geliştiricinin Güncesi

Archive for the ‘nasıl’ 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 , , , ,

Ubuntu 10.04 64 Bit Adobe AIR Sorunsalı

leave a comment

Kişisel bilgisayarımda ve ofisteki bilgisayarımda TweetDeck, DestroyTwitter vb. Adobe AIR platformu üzerinde çalışan yazılımlar kullanıyorum. Ofisteki Intel i7 işlemcili makinama Ubuntu 64 Bit 10.04 kurduktan sonra ciddi sorunlar yaşamadım. Ancak son birkaç gündür Adobe AIR ile ilgili tutarsızlık ve yazılım arayüzlerinde çeşitli sorunlar yaşamaya başladım. Bundan dolayıdır ki, Adobe KB vb. ortamlarda benzer sorunları yaşayan insanlara ait girdileri araştırdım.

Şurada ve şurada çözüm önerileri sunulmuş. Ancak her ikisinde de farklı çözüm yolları sunulmuş. Yöntemleri deneyip başarılı bir sonuca ulaşamadım. Ancak yine araştırırken şu şekilde bir çözüm yoluna rastladım.

Getlibs paketini indirip kuruyoruz;

1
wget http://frozenfox.freehostia.com/cappy/getlibs-all.deb ; sudo dpkg -i getlibs-all.deb

Gerekli paketleri kuruyoruz;

1
2
sudo apt-get install lib32asound2 lib32gcc1 lib32ncurses5 lib32stdc++6 \
lib32z1 libc6 libc6-i386 lib32nss-mdns

Gerekli kütüphaneleri getlibs yazılımı ile ediniyoruz;

1
2
3
sudo getlibs -l libnss3.so.1d libnssutil3.so.1d libsmime3.so.1d libssl3.so.1d \
libnspr4.so.0d libplc4.so.0d libplds4.so.0d libgnome-keyring.so libgnome-keyring.so.0 \
libgnome-keyring.so.0.1.1

İlgili kütüphaneyi kopyalıyoruz;

1
sudo cp /usr/lib/libadobecertstore.so /usr/lib32

Konfigürasyonu yeniliyoruz;

1
sudo ldconfig

Bu işlemlerden sonra şu adresten Adobe AIR’ı edinerek, kurabilirsiniz.

Written by Halid ALTUNER

Mayıs 21st, 2010 at 12:17 am

Posted in Linux - Unix

Tagged with , , , , ,

Google Talk ve Pidgin Konfigürasyonu

leave a comment

Google Talk, şüphesiz tüm dünyada XMPP üzerine inşâ en stabil sistemlerden birisi. 2006 öncesinde Ajax kullanılarak tarayıcı – sunucu şeklinde çalışan GTalk, 2006 yılı itibariyle sunucu – sunucu şeklinde hizmet vermeye başladı.

XMPP protokolünün açık ve XML tabanlı olması nedeniyle destekleyen dil sayısı oldukça geniş. Bu durumda XML yorumlayabilen her dil, XMPP protokolünü kullanabiliyor ve mesajlaşma üzerine yazılımlar geliştirilebiliyor.

*Nix tabanlı dağıtımlarda en fazla kullanılan yenilikçi Mesajlaşma istemcisi olan Pidgin, temel anlamda Google Talk’ı destekleyen bir yapıya sahip. Ancak Google her alanda olduğu Google Talk’ta da SSL ile şifreleme gerçekleştiriyor. Bu durumda veri aktarımı şifrelenmiş bir yoldan geçiyor.


Google Talk’ı, Pidgin ile kullanabilmek ise standart ayarlarla maalesef mümkün değil. Google’ın veri iletimindeki SSL politikasından ötürü bazı değişiklikler yapmanız gerekebiliyor. İnternette pek çok farklı yöntem var. Benim izlediğim yol ise şu şekilde;

Pidgin – > Hesaplar kısmından Ekle diyerek yeni Google Talk hesabı ekliyoruz. Gelen sayfada sadece kullanıcı adı ve alan adı kısmını dolduruyoruz.  Bu kısımda şifreyi hatırla seçeneği riskli bir işlem olabilir.  libpurple(pidgin) klasörünüzü ele geçiren birisi için şifrenizi öğrenmek çok basit.  Kaynak(Home) kısmını doldurmak zorunda değilsiniz.  Zira bu kısım XMPP sunucularda gruplandırma ve ayrıştırma işlemi için yapılıyor.

Advanced kısmında ise “SSL/TLS gerekli” ve “Eski(port 5223) SSL Kullan” seçeneklerini aktif ediyoruz. Bağlantı portu kısmını 5223 olarak değiştiriyoruz. Bağlantı sunucusu kısmına ise “talk.google.com” adresini eklemeyi unutmuyoruz. Eğer ekstra bir Proxy kullanmıyorsanız, Proxy ayarlarıyla ilgili “Gnome Vekil Ayarlarını Kullan” seçeneği yeterli oluyor.

Bu işlemden sonra Google Talk, Pidgin üzerinde stabil bir şekilde çalışıyor.

Written by Halid ALTUNER

Mayıs 18th, 2010 at 3:37 pm

Posted in Linux - Unix

Tagged with , , , ,

SshFS ile Uzak Linux Sunucudan Klasör Bağlamak

5 comments

Uzak sunuculara bağlanıp, dosya işlemleri gerçekleştirirken FTP, SFTP gibi ek servisleri kullanmak ciddi mânâda hızımı engelliyordu.

İşlem yapılan dosyaları indirip, işlem yapmak ise senkronize sırasında değişiklik yapılan dosyaları tekrar tekrar taramak ve herhangi bir diff aracından geçirmeyip gerektiriyordu.

Bu nedenle sshfs’i kısa süredir denemekteyim. SshFS, Secure Shell ile bağlandığınız sunucudan herhangi bir klasörü ya da diski kendi yerel bilgisayarınıza(linux olması şart!) bağlamaya yarıyor. Bu durumda o dosyalar üzerinde sanki kendi bilgisayarınızdaymış gibi hareket edebiliyorsunuz.

SshFs’i öncelikli olarak yüklemek için;

Debian/Ubuntu tabanlı bir dağıtımsa,

1
sudo aptitude install sshfs

Redhat, Centos tabanlı bir dağıtımsa,

1
sudo -c 'yum install sshfs'

şeklinde yüklemeniz gerekiyor.

Uzak sunucudaki klasörü ise şu şekilde bağlıyoruz;

1
sshfs kullaniciAdi@uzaksunucu:/path/ /baglanacak/path

Written by Halid ALTUNER

Mayıs 5th, 2010 at 11:34 am

Posted in Diğer

Tagged with , ,