[TIPS] Menambah Rule Blocking Unauthorized Call Attempt Di Kamailio

Suatu pagi kebangun gara-gara laper. Sambail makan, sambil buka Homer Capture Server, nemu log unauthorized call seperti ini banyak sekali:

Click detail CallID:

Sebenarnya sudah ada module antiflood pike.so, cuma saya orangnya risih ngelihat seperti ini sempet lewat di log. Akhirnya saya tambahkan rule berikut di SIP Server Kamailio:

Di bagian route utama :

route{
    ...
    # bantai dulu, check belakangan
    route(SECURITY_CHECKS);
    ...
}

Kemudian di subroute:

#bantai dulu, check belakangan.
route[SECURITY_CHECKS] 
{
    if (is_method("INVITE|REGISTER")) {
        if($ua =~ "(friendly-scanner|sipvicious)") {
            xlog("L_INFO","Scanner dari  $si. ");
            exit;
        }

        # nemu $fU trunk di Homer:
        if($fU =~ "(trunk)") {
            xlog("L_INFO","calls attempt from bogus $si . Blocked! Tanpa tabayyun!");
            exit;
        }
    }
}

Rule di atas akan melakukan drop transaction ketika menemukan parameter User Agent bernama friendly-scanner atau sipvicious. Selain itu juga akan ngeblok from user dari header FROM SIP packet bernama “trunk” yang barusan tadi ketemu di log Homer.

Selanjutnya tinggal reload Kamailio dan tunggu hasilnya, dan bener saja, di log langsung muncul:

Nov 14 04:44:36 ss kamailio[11188]: INFO:  calls attempt from bogus 185.107.83.130 . Blocked! Tanpa tabayyun!
Nov 14 04:50:10 ss kamailio[11171]: INFO:  calls attempt from bogus 185.107.83.132 . Blocked! Tanpa tabayyun!
Nov 14 05:04:19 ss kamailio[11172]: INFO:  calls attempt from bogus 185.107.83.130 . Blocked! Tanpa tabayyun!

Kalau mau lebih kreatip lagi, log tersebut bisa ditambahkan di regex fail2ban, dan ketika sudah muncul sekian kali bisa langsung diblok permanen. Tapi tidak saya bahas dulu di sini, mungkin besok-besok.

Dan kalau masih bingung dengan variable $fU, $si, $ua dst, itu adalah pseudo variable dari Kamailio, yang listnya bisa dilihat di :

https://www.kamailio.org/wiki/cookbooks/4.2.x/pseudovariables

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>