Archive for December 16th, 2004

PHP, Java, et al

Sekitar beberapa tahun yang lalu, saya menghadapi kenyataan bahwa saya harus mempelajari paling tidak sebuah web-programming language — sebuah bahasa pemrograman yang memungkinkan saya untuk membuat aplikasi-aplikasi berbasis web.

Pada saat itu pilihan saya jatuh ke PHP, karena mudah dipelajari, bisa develop aplikasi dengan cepat, tidak banyak menuntut resources komputer, dst. Dan alhamdulillah ternyata memang banyak manfaat yang saya dapatkan.

Namun akhir-akhir ini dengan semakin populernya PHP, berbagai kelemahannya juga semakin makin terasa. Seperti :

# Banyaknya security hole di berbagai aplikasi PHP – cukup mudah untuk coding aplikasi PHP yang penuh security hole.
# PHP sendiri tidak terlalu aman – ada proyek “hardened PHP”, ada bug di urldecode() sehingga bukannya mengamankan tetapi justru menjadi pintu masuk bagi cracker, PHP 4.3.9 ternyata juga masih banyak security hole-nya, dst
# PHP memang memungkinkan development aplikasi Web dengan cepat, tapi untuk melakukan development aplikasi Web dengan benar cukup membutuhkan waktu; pemisahan presentasi dengan logik perlu dibantu dengan tools seperti Smarty dkk, abstraksi database perlu dibantu dengan ADODB dkk, kurang terasa dorongan dari struktur bahasanya sendiri untuk memprogram dengan rapi (rada “hack-ish” :) )dan aman.

Saya masih akan terus menggunakan PHP, namun sepertinya saya sudah harus mulai memikirkan alternatifnya dari sekarang.

Java masih tetap kurang menarik bagi saya karena kelihatannya learning curve-nya terlalu terjal / barrier to entry-nya terlalu tinggi (saya bisa coding PHP dari tidak tahu sama sekali dalam waktu 2-3 jam saja)

Enter Rails.

Rails adalah web-application framework berbasis Ruby, yang memungkinkan kita untuk develop aplikasi web secara terstruktur, dengan sangat cepat.

Dulu saya kira tidak akan mungkin bisa develop aplikasi web dengan “benar” dan tetap cepat, tapi, ternyata bisa dengan Rails
Saya tidak akan banyak komentar, cukup [ download demo ini ], dan saksikan sendiri kemampuan Rails — dari setup sampai jadi aplikasi blog hanya memakan waktu 10 menit…..

Satu lagi yang menarik adalah Ruby Gems, package management untuk Ruby. Kalau ini sudah terpasang, maka instalasi Rails cuma perlu satu baris perintah :
gem install rails

Dan update-nya juga mudah, tinggal ketik gem update, wow…. sangat berguna, misalnya untuk Rails, yang masih aktif dikembangkan sehingga sering muncul versi barunya; Anda tidak perlu upgrade Rails terus menerus secara manual.

Bagi pengguna Debian yang ingin mencoba memulai Rails dengan memasang Ruby, bisa merujuk kesini.

Selamat mencoba Ruby.

Blackberry

Barusan baca di detikcom, rupanya Indosat baru memperkenalkan Blackberry di Indonesia.

Saran saya kepada yang tertarik dengan ini – jangan.
Mengapa ?

  • Blackberry adalah teknologi yang proprietary : Anda akan terikat dengan vendor ybs, tidak ada kebebasan bagi Anda. Begitu Anda berkomitmen menggunakan Blackberry, maka Anda akan terpaksa menuruti apa saja yang dikehendaki oleh vendor.
  • Blackberry adalah teknologi yang bermasalah : Kalau RIM sampai kalah di pengadilan dan kena denda, coba tebak siapa yang akan ikut menanggungnya ? (yap, Anda sebagai customer)
  • Berbagai kelebihan Blackberry bisa ditawarkan oleh solusi email lainnya:
    • Handphone dengan keyboard: Ada Nokia 6820, Nokia communicator, Treo, Hitachi P1000, dst
    • Secure email : Ada berbagai email client yang bisa mengamankan transmisi email Anda dengan protokol SSL
    • Kompresi email : Bisa diimplementasi dengan memanfaatkan fasilitas extension di protokol SMTP.
    • Push email : Ada berbagai email client yang bisa otomatis memeriksa apakah ada email baru di server
    • dst

Saya sendiri bisa mengakses email saya dari mana saja dengan menggunakan Nokia 6820 dan Psion 5MX saya — tanpa perlu investasi server khusus dan membayar lisensi tambahan ke Blackberry.

Jadi, apa lagi insentif untuk menggunakan Blackberry ya ….. ?

PeerGuardian – false sense of security

I knew that using PeerGuardian only gives you false sense of security and will make you careless. However, some people will flame me to death if I ever dare criticise their favorite software.

Unfortunately, I was right:
Cease & Desist letter served to TV show downloader

So, be careful out there. Don’t think that you’re invincible just because you’re using a software – they can still be circumvented.

Forensic analysis

Backdoor pertama kali ketahuan dari hasil output ps -ef, nama proses r0nin

1. Bersihkan dulu server dari backdoor tersebut

  • Cari lokasi backdoor di hard disk : find / -name r0nin
  • Ketemu di /tmp, segera hapus : rm -f /tmp/r0nin*
  • Matikan proses di memory : kill -9 [pid_r0nin]

2. Cari rootkit
rootkit adalah software yang memungkinkan user biasa menjadi memiliki akses root. Karenanya, tentu saja, sangat berbahaya.
Saya memeriksa server saya dengan Rootkit Hunter dan chkrootkit

3. Bagaimana cara spammer masuk ke server:
Karena r0nin dijalankan sebagai user www-data, berarti masuknya melalui Apache. Jadi kita cari informasinya di log Apache :

  • Cari string “r0nin” : find /var/log/apache/ -print | xargs grep r0nin
  • Ketemu di /var/log/apache/error.log, ada hasil perintah-perintah yang dijalankan oleh si spammer. Mustinya di access.log juga ada – tapi, mungkin di-encode.
  • Kelihatan perintah-perintah tersebut dijalankan sekitar tanggal 14 Desember pukul 7 pagi, jadi kita search log Apache untuk entries pada waktu itu: find /home/sufehmi/web/logs/ -print | xargs grep “14/Dec/2004:07″

Ketemu, ternyata spammer tersebut masuk dengan menggunakan vulnerability di phpBB versi 2.0.11 ke bawah. Entry yang berkaitan adalah sbb :

/var/log/apache/agfp-access.log:200.158.9.218 – - [14/Dec/2004:07:20:40 -0600] “GET /forum//viewtopic.php?t=10&highlight=%252echr(47)%252echr(117)%252echr(115)%252echr(114)%252echr(47)%252echr(108)%252echr(111)%252echr(99)%252echr(97)%252echr(108)%252echr(47)%252echr(59)%252echr(108)%252echr(115)%252echr(32)%252echr(45)%252echr(108)%252echr(97)%252echr(59)%252echr(101)%252echr(99)%252echr(104)%252echr(111)%252echr(32)%252echr(95)%252echr(95)%252echr(95)%252echr(70)%252echr(73)%252echr(77)%252echr(95)%252echr(95)%252echr(95)%252echr(59))%252e%2527 HTTP/1.1″ 200 27315 “-” “Mozilla/3.0 (compatible; Indy Library)”

4. Setelah ketahuan biang keroknya, maka forum tersebut langsung di-non aktifkan, sambil menunggu proses upgrade-nya selesai.

5. Kesimpulan:
Walaupun r0nin sudah terpasang, namun tidak berdaya apa-apa karena r0nin melayani akses via port 1666 – sedangkan port tersebut diblokir oleh Firehol.

Case closed ? Belum, masih ada beberapa hal yang bisa dilakukan untuk memperkuat keamanan server ini. Silahkan comment kalau Anda bisa menebaknya :)

Hacked !

Pagi ini ketika sedang inspeksi rutin server, tidak sengaja terlihat ada program bernama “r0nin” yang sedang berjalan. Deg.. apaan tuh :) googling sebentar, dan ternyata firasat saya benar, r0nin adalah backdoor.

Setelah diselidiki lebih lanjut, ternyata setelah saya meng-update semua software di server, termasuk instalasi-instalasi phpBB yang ada, kemudian saya memigrasikan situs AGFP ke server saya. Dan, yap, forum situs tersebut menggunakan phpBB versi baheula :) duhhh.

Ironisnya, saya termasuk yang pertama mengingatkan kawan-kawan saya untuk update phpBB mereka ke versi 2.0.11 (dimana versi sebelumnya bisa ditembus via highlight exploit dengan mudah sekali)

Kelihatannya sih penjebolnya adalah spammer dari Brazil, yang pingin memanfaatkan server ini sebagai spambot :(
Tapi untung keburu ketahuan.

Yang menakjubkan, baru beberapa hari saja saya memindahkan situs AGFP ke server ini, sudah langsung ketemu forumnya yang rentan exploit tersebut oleh mereka.
Jadi bagi yang masih pakai versi phpBB lama, segera upgrade forum Anda !

Langkah-langkah investigasi yang saya lakukan akan saya posting sebentar lagi.

            








SEObox: Web Hosting Murah Unlimited Homeschooling Indonesia lead retrieval trade show registration