Cara Sederhana Hadapi Deface Web Site

Baru-baru ini kasus defacing web site menjadi topik lagi gara-gara terjadi ke beberapa web site terkenal di Indonesia. Saya jadi terpikir apa cara termudah untuk menangkal dan mengamati hal itu.

Sekilas, defacing terjadi karena isi dari laman web kita, terutama laman utama,  diubah oleh orang lain. Biasanya laman utama tersebut diubah dan mengindikasikan bahwa telah diubah oleh seseorang tanpa seijin yang punya laman. Pengubahan laman utama berarti isi dari file laman utama teah diganti oleh orang lain. Biasanya file laman utama adalah index.php, index.html atau index atau file dengan nama apa saja asal sesuai dengan konfigurasi dari web server. Umumnya file laman utama untuk web server Apache atau NGINX adalah index.php atau index.html.

 

Salah satu alternatif yang terfikirkan adalah memanfaatkan fungsi cron untuk menjaga file laman utama. Idenya adalah kita mempunyai suatu program di cron yang diaktifkan setiap satu  menit sekali. Program tersebut akan membandingkan file laman utama atau file lainnya yang dijada dengan file cadangan yang ada di direktori lain.

Apabila isi dari file laman utama yang dipublikasikan sama dengan file laman yang di direktori cadangan maka program tersebut tidak melakukan apa-apa. Akan tetapi bila berbeda, maka file tersebut akan ditimpa oleh file yang ada di direktori cadangan.

Dengan demikian apabila file di laman utama berubah, maka paling lama dalam waktu satu menit, akan kembali menjadi file yang benar lagi. Jadi kalaupun terjadi defacing, maka dalam waktu satu menit akan kembali normal lagi.

Bisa saja ditambahkan, apabila terjadi perubahan file di laman utama, program cron tersebut akan mengirim email kepada sang administrator.

Dalam contoh dibawah ini, program yang dijalankan cron adalah berbasih shell bash.

tagdir adalah direktori laman utama

refdir adalah direktori cadangan laman utama

testweb.log adalah file yang mencatat log apabila terjadi perubahan.

 

#!/bin/bash

tagwaktu(){
date “+%Y-%m-%d %H:%M:%S”
}

tagdir=(“/var/www/html/*.php”)
refdir=(“/home/useradmin/backup/html/*.php”)

dftagdir=()
for f in $tagdir; do
dftagdir[${#dftagdir[@]}]=”$f”
done
jumtagdir=${#dftagdir[@]}

dfrefdir=()
for f in $refdir; do
dfrefdir[${#dfrefdir[@]}]=”$f”
done
jumrefdir=${#dfrefdir[@]}

if [ $jumrefdir=$jumtagdir ]; then
for ((i=0;i<$jumrefdir;i++));
do

if cmp ${dftagdir[$i]} ${dfrefdir[$i]}; then
statusok=1
else
echo “$(tagwaktu) System detect different ${dftagdir[$i]}, solved.” >> /var/log/testweb.log

cp -f ${dfrefdir[$i]} ${dftagdir[$i]}
fi

done

fi

Sebelum program ini dijalankan, pastikan bahwa file-file di direktori laman utama telah di copy ke direktori cadangan.

Semoga bermanfaat.

 

post

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s