Friday 23 October 2020

Mengatasi CAPTCHA Google di Mikrotik

 


Pernah mengalami seperti ini :

Yubs, tentu sangat membosankan bukan? kenapa terjadi seperti itu ? jawabannya adalah karena si mbah google mendeteksi adanya malware atau sejenis spam yang melakukan query tertentu pada mesin pencarian google sehingga perlu adanya pembatasan atau pencegahan query. Bisa dibayangkan jika aktivitas spamming ini tidak diatasi pihak google. Tentu hal ini sudah dipikirkan mbah google agar kejadian ini teratasi dengan cara memberikan captcha. Perlu diketahui, ada beberapa kasus dimana tidak semua komputer terkena spam, mengenai hal ini saya kurang paham methode apa yg dipakai google untuk menerapkan pencegahan, karena fakta di lapangan ketika 1 ip public indih*me dishare ke banyak user, tidak semua kena spam. Namun jika terus menerus kena spam, dalam kurun waktu sekitar 30 menit maka semua komputer muncul captcha. Solusi satu-satunyanya saat ini harus generate ip baru. Nah lalu bagaimana cara mendeteksi kena spam ? tentu kita memanfaatkan domain ipv4.google.com/sorry/ bla bla bla yang akan kita tangkap dan kita eksekusi perintah untuk redial pppoe indih*me.

Baiklah langsung saja, kali ini saya akan bagi tips versi kedua yang mana pada script ini ada pembaharuan sehingga lebih valid. Karena terkadang akses ke google kena spam hanya ke beberapa pc saja dan pc lainnya tidak kena. solusinya gunakan layer7.
Pertama tama, buat regex layer7 pada mikrotik kasih nama spamgoogle :
^.*(ipv4.google.com)

kemudian buat rule firewall filter agar address yg kena spam masuk ke address-list. (sesuaikan cidr_nat adalah pool ip client anda)
/ip fi fi add action=add-src-to-address-list address-list=kena_spam address-list-timeout=\
none-dynamic chain=forward comment=kena_spam layer7-protocol=spamgoogle protocol=tcp src-address-list=cidr_nat
kemudian buat script seperti berikut dan jangan lupa buat schedulernya.
:global iface 0pppoe0
:global currentIP
#:if ([:len [/ip firewall address-list find list=kena_spam dynamic=yes ]] != 0 ) do={
:if ([/ip firewall address-list print  count-only where list=kena_spam] >=5) do={
:log error "akses google kena spam"
/in pppoe-client disable $iface
:delay 2
/in pppoe-client enable $iface
:delay 2
:set $currentIP ([/ip address get [find interface="$iface"] address])
:for i from=( [:len $currentIP] - 1) to=0 step=-1 do={
      :if ( [:pick $currentIP $i] = "/") do={
         :set currentIP [:pick $currentIP 0 $i]
         }
      }
:foreach i in=[/ip firewall address-list find list=kena_spam ] do={:put $i; /ip firewall address-list remove $i }
:log warning "telah digenerate dengan ip baru : $currentIP"
:local router [/system identity get name]
:local time [/system clock get time]
:local date [/system clock get date]
:local voltage [/system health get voltage]
:local tegangan (. [:pick $voltage 0 2] . "," . [:pick $voltage 2 3] ." volt")
:local pesan ("[ $router ]%0A" ."GENERATE IP%0A$currentIP:81/userman%0A103.77.159.87:81/userman%0AKENA SPAM pada : %0A" . $time .", ".$date. "%0AVoltase saat ini $tegangan.")
/tool fetch url="https://api.telegram.org/bot38xx21546:AAGn69QpFDuLSOQd3E3JtI5nhfUmg05hQys/sendMessage?chat_id=-20xx3762&text=$pesan" keep-result=no
}
:if ($currentIP  in 10.0.0.0/8) do={
:log error "dapet ip private! redial kembali untuk mendapatkan ip kepala 36";
/in pppoe-client disable $iface
:delay 2
/in pppoe-client enable $iface
:delay 2
:set $currentIP ([/ip address get [find interface="$iface"] address])
:for i from=( [:len $currentIP] - 1) to=0 step=-1 do={
      :if ( [:pick $currentIP $i] = "/") do={
         :set currentIP [:pick $currentIP 0 $i]
         }
      }
:foreach i in=[/ip firewall address-list find list=kena_spam ] do={:put $i; /ip firewall address-list remove $i }
:log warning "telah digenerate dengan ip baru : $currentIP"
:local router [/system identity get name]
:local time [/system clock get time]
:local date [/system clock get date]
:local voltage [/system health get voltage]
:local tegangan (. [:pick $voltage 0 2] . "," . [:pick $voltage 2 3] ." volt")
:local pesan ("[ $router ]%0A" ."GENERATE IP%0A$currentIP:81/userman%0A103.77.159.87:81/userman%0AKENA SPAM pada : %0A" . $time .", ".$date. "%0AVoltase saat ini $tegangan.")
/tool fetch url="https://api.telegram.org/bot38xx921546:AAGn69QpFDuLSOQd3E3JtI5nhfUmg05hQys/sendMessage?chat_id=-20353xx762&text=$pesan" keep-result=no
}

hasilnya :


dan telah dilaporkan ke telegram Anda. semoga bermanfaat
 
Source : https://rahox.blogspot.com/2018/05/mengatasi-captcha-google-mikrotik.html

No comments:

Post a Comment