Applies to VoipNow 3.X.X!

An increased number of VoIP attacks (mostly brute-force) coming from specific countries usually leads to excessive resource utilization and eventually to fraud calls, if the attack is successful. One way to avoid this is by blocking specific countries (one or several).

Step-by-step guide

 It is assumed that you are using a CentOS server with iptables already installed.

  1. Download the script.

     wget -O blockcountry.pl https://raw.githubusercontent.com/4psa/voipnowtoolbox/master/blockcountry.pl


  2. Install the LWP::UserAgent library using the following command: 

    yum install perl-libwww-perl


  3. Edit the blockcountry.pl script and specify the countries that you want to block. The list of countries is available here

    e.g. The code for Palestina is PS. For Turkey, it's TR.

  4. Run the blockcountry.pl script: 

    perl blockcountry.pl


  5. To preserve the rules during reboots, run the following comand: 

    service iptables save && chkconfig iptables on


Make sure you do not mix the countries, otherwise you might get yourself blocked.

To avoid such issues, it is recommended to start with a cronjob that will remove the rules in order to avoid issues. If no issues arise, the cronjob can be removed.

Related articles