TENDANG USER MULTI LOGIN SSH
Anda jualan SSH ya? Nah sebagai seller tentunya anda pernah atau masih merasa was-was dengan adanya perilaku nakal ( = baca: setia kawan) dari user yg membagi akun yg dibeli dari anda ke orang2 lain, dengan kata lain akan terjadi multiple-login dari 1 akun tsb. Secara teori itu akan menyebabkan anda rugi secara ga langsung… Potensi profit yg seharusnya lebih tapi akhirnya ga maksimal. Jika 1 akun dibagi ke 5 orang maka anda mengalami rugi karena seharusnya profit yg anda dapat 6 x harga sewa menjadi 1 saja. Plus kerugian lain yaitu pemborosan resources (ram, bandwidth) pada VPS yg anda sewa untuk bisnis tunneling.
Dari yg saya tahu… meskipun cuma sok tahu, banyak ssh seller yg hanya sekedar melarang user utk multi-login dan itu wujudnya hanyalah himbauan, sekedar slogan atau authentication banner saja, tanpa ada upaya preventif untuk mencegah user yg nakal seperti ini. Hasilnya? Tentu saja user masih bisa dengan bebas membagi akunnya ke para tetangga. Seller bisa saja mengambil tindakan tegas namun akan banyak menguras energi kalo tiap saat harus memelototi layar putty melihat siapa yg multi-login dan menjalankan kill -9 bertubi2.
Well, sekarang saatnya anda melindungi aset bisnis berjualan SSH anda dengan langkah yg lebih paten, lebih dari sekedar himbauan untuk tidak multi-login tapi juga tindakan yg akan dipatuhi oleh customer anda. Berikut ini adalah contoh yg bisa anda lakukan untuk memperketat user dalam menggunakan tunneling.
Jurus tendangan maut ini saya ujicobakan pada sebuah VPS dg OS Debian 7.1 32 bit, jadi bagi yg pake OS lain misal CentOS harap menyesuaikan sendiri. Script membatasi user ini originally ditulis oleh om mikodemos dan saya edit seperlunya plus sedikit oprekan di server agar berjalan secara auto. OK mari kita mulai oprek server, pertama buatlah file misalnya bernama “tendang” di dalam /usr/bin…
vim /usr/bin/tendang
Selanjutnya copas mantra jahat berikut ini dengan benar kedalam file “tendang” tsb:
#!/bin/bash # Credit: om mikodemos # Saya edit dikit meskipun saya # ga paham bash programming hehehe PARAM=$1 echo -n > /tmp/pid2 ps ax|grep dropbear > /tmp/pid cat /tmp/pid | grep -i 'dropbear -p' > /tmp/pids cat /var/log/auth.log | grep -i "Password auth succeeded" > /tmp/sks perl -pi -e 's/Password auth succeeded for//g' /tmp/sks perl -pi -e 's/dropbear//g' /tmp/sks cat /tmp/pid | while read line;do set -- $line p=$1 var=`cat /tmp/sks | grep -i $1` set -- $var l=$6 if [ "$6" != '' ] then echo "$p $l" | cat - /tmp/pid2 > /tmp/temp && mv /tmp/temp /tmp/pid2 fi done echo -n > /tmp/user1 cat /tmp/pid2 | while read line;do set -- $line p=$1 u=$2 cat /tmp/user1 | grep -i $u > /dev/null if [ $? = 1 ];then echo $line >> /tmp/user1 else kill $p echo "kill $p user $u" fi done rm -f /tmp/pid rm -f /tmp/pid2 rm -f /tmp/pids rm -f /tmp/sks rm -f /tmp/user1 exit 0Kalau sudah, agar file tsb bisa dieksekusi menjadi sebuah command, buatlah menjadi executable dg membisikkan mantra:
chmod +x /usr/bin/tendang
Script ini pada dasarnya berfungsi untuk membatasi user agar login HANYA dari 1 instance saja. Saat saya ujicoba dg menjalankan 2 Bitvise bersamaan di sebuah PC menggunakan data user yg sama, dan kemudian saya ketik “tendang” di console yg terjadi adalah salah satu koneksi di Bitvise tsb akan disconnect. Nahhhhh…. biar ga harus manual ngetik “tendang” sambil pelototin layar putty 24 jam, saya akan manfaatkan crontab utk mengeksekusi script tsb tiap menit.
vim /etc/crontab
Lalu tambahkan jurus berikut ini:
* * * * * root /usr/bin/tendang
Entry crontab tsb artinya ialah setiap 1 menit root akan menjalankan script tendang! Sip kan? Jangan lupa restart cron setelah menambahkan jurus tendangan maut tsb. Selanjutnya jika ada user yg login lebih dari satu maka dia akan secara otomatis menderita tendangan bertubi2 tiap menit, jika multi-login sebanyak 2x maka keduanya akan disconnect bergantian tiap menit. Bitvise memang memberi opsi untuk auto-reconnect jika terjadi dc… maka saya akan berikan trik lebih kejam agar bisa menendang setiap 5 detik! Bersiaplah! Rasakan pembalasanku…
Sebenernya satuan waktu terkecil yg bisa dijalankan oleh crontab adalah 1 menit artinya anda ga akan bisa menjalankan perintah yg ingin dijalankan kurang dari 1 menit.. but here’s the dirty trick:
* * * * * root /usr/bin/tendang
* * * * * root sleep 5; /usr/bin/tendang
* * * * * root sleep 10; /usr/bin/tendang
* * * * * root sleep 15; /usr/bin/tendang
tambahkan lagi dst… sampe sleep 55;
Simpen kembali primbon crontab tsb dan restart. Lakukan test dg login di 2 Bitvise dg data user yg sama (lakukan dari 1 pc ga perlu pinjem pc tetangga) dan silahkan berhitung mundur… 5..4..3..2..1 gubrakkkk kedua Bitvise akan bergantian dc terus menerus tiap 5 detik dan baru akan terhindar dari tendangan jika salah satu Bitvise sudah logout/exit. Hahahahaa
0 komentar