25 Kasım 2015 Çarşamba

DigitalOcean Taşınma Maceram

Bir süredir barındırma sunucum bana maliyetli gelmeye başlamıştı. Malum dolar 3 TL bulunca ve sadece WHM için 40 TL civarında verince yok artık dedim ve DigitalOcean'a (DO) transfer olmaya kadar verdim. Aslında öncesinde "Linode mi (ek IP alınabiliyor) DigitalOcean mı" diye araştırınca ve Linode eski müşterilerinden bazı olumsuz yorumlar alında DO'ya transferde karar kıldık. Taşınma ile ilgili tüm notlarımı ihtiyacı olanlar için paylaşacağım.

Taşınmaya karar verdiyseniz DigitalOcean kayıt referans linkimi kullanabilirsiniz :)
https://m.do.co/c/b7276c06e18e

5 Şubat 2015 Perşembe

QT5, MySQL 5.6 ve Ubuntu 14.04: QMYSQL driver not loaded

Yaklaşık 1 günümüzü harcadığımız ve sonunda çözdüğümüz problemi paylaşarak Türkçe kaynağa katkıda bulunmak istedim. Burada genel sorun QT'nin MySQL kütüphanesinin LAMPP / LEMP veya benzeri yöntemle kurulmasından veya Ubuntu ile gelen MySQL güncellemesi sırasında ilgili kütüphanenin değiştirilmesinden kaynaklandığını düşünüyorum. Bunun için yapılması gereken işlem ilk olarak QT kurulumunu SRC ile birlikte yapmış olmak. Sonrasında aşağıdaki komutları QT'nin kurulu olduğu klasöre göre bulup çalıştırmak.

İşlemleri yapmadan öncesinde Ubuntu için Lib Qt5 Sql5 kütüphanesini yükleyerek hatanın giderilip giderilmediğini denemenizi öneririm. Çözüm olursa daha fazla vakit ayırmamış olursunuz. Eğer yine çözüm olmaz ise sonraki aşamaları deneyebilirsiniz. Sonraki aşamaların denenmesi dizin yolları doğru olduğu sürece hiçbir problem oluşturmayacaktır.

sudo apt-get install libqt5sql5-mysql


Ben QT5.4 kurulumunu /home/aydin/Qt5.4.0/ klasörüne yaptım. ~/ home klasörünüzü işaret eder. Sizde aşağıdaki yolları buna göre düzenlemelisiniz.

cd ~/Qt5.4.0/5.4/Src/qtbase/src/plugins/sqldrivers/mysql

sudo ~/Qt5.4.0/5.4/gcc_64/bin/qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/x86_64-linux-gnu -lmysqlclient_r" mysql.pro

sudo make 

sudo make install

NOT: Lütfen her komut çalıştırdığınızda çıkan mesajı (varsa) kontrol ediniz. Not found'un "dosya bulunamadı" anlamına geldiğini ve sizdeki QT versiyonu veya MySQL yolu ile ilgili olarak ihtiyaç duyulan dosyanın bulunamadığını dikkate alınır.

Artık QT ve Python yolculuğu için ilk adımı attık. Bakalım daha ne sorunlarla karşılaşacağız ve tabi çözümlerini paylaşacağız.

9 Ocak 2015 Cuma

Sunucuda C99 / R57 vb PHP Arka Kapıları (Backdoor) Bulmak

Sunucu da C99 ve R57 php shell scriptlerini arayalım:

C99 Shell ara:
grep -iR 'c99shell' /home
 find /home -name \*.php -type f -print0 | xargs -0 grep c99


R57 Shell ara:
grep -iR 'r57shell' /home

~10 Mb. 'dan büyük PHP dosyalarını ara (/home):
find /home -name "*.php" -type f -size +10000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
Tehlikeli PHP Fonksiyonları arayalım:
grep -RPn "(passthru|shell_exec|system|base64_decode|eval)" /home

Küçük bir script ile tüm sunucuyu taramak yerine sadece public_html klasörlerini tarayabilirsiniz. Cpanel/WHM kullandığım CentOS sunucu için yazdığım basit bash scripti kendinize göre uyarlayabilirsiniz (/home/kullaniciadi/public_html/ klasörlerini tarar):
#!/bin/bash
for d in /home/*/ ; do

        grep -iR 'c99shell' "$d"public_html
        grep -iR 'r57shell' "$d"public_html
        grep -RPn "(passthru|shell_exec|system|base64_decode|eval)" "$d"public_html
        find "$d"public_html -name \*.php -type f -print0 | xargs -0 grep c99
        find "$d"public_html -name "*.php" -type f -size +10000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'

done


Gelişmiş özellikler ile Linux Malware Detect kullanabilirsiniz.

Kaynak: Cyberciti.biz (PHP güvenliği üzerine birçok konu var)