Asterisk ve FreePBX’i VoIP Dolandırıcılık ve Kaba kuvvet saldırılarından koruyun
Bu kılavuzda, Coğrafi konum filtrelemeyi kullanarak etkili bir VoIP Kara Listesi oluşturarak Asterisk ve FreePBX kurulumunuzu nasıl güvence altına alacağınızı göstereceğim. Günümüzde Asterisk, FreePBX ve internetteki diğer PBX sistemlerini hedef alan çok sayıda kaba kuvvet saldırısı ve VoIP Dolandırıcılığı girişimi bulunmaktadır.
Bu tür girişimler için başarı oranının sıfıra yakın en aza indirilmesini sağlamak her sistem Yöneticisinin görevidir. Asterisk ve FreePBX’i bu tür girişimlerden korumanın bir yolu Fail2ban ve VoIP Kara Listesini kullanmaktır.
Bu size bant genişliği tasarrufu sağlayacak ve işinizi koruyacaktır. İşimizi kolaylaştırmak için, VoIP Dolandırıcılığına karşı koruma sağlamayı ve halka açık PBX’lere sahip bir ağın kötüye kullanımını en aza indirmeyi amaçlayan dağıtılmış VoIP kara listesi olan VoIPBL’yi kullanacağız .
VoIPBL nasıl güvenli?
VoIPBL Geolocation özelliği, bir ağın iletişim kurması gerekmediği veya kötü niyetli etkinliğin kaynağı olduğu bilinen ülkelerden gelen tüm ağ trafiğini engellemenize olanak tanır. Kendi sitelerinden IP adresinizin kara listede olup olmadığını kontrol edebilirsiniz .
VoIPBL nasıl kurulur
VoIP Kara Listesi, PBX sunucunuzda kara listeye alınmasını sağlamak için Fail2ban’a bağlıdır. Bir fail2ban
paketin kurulu olduğundan ve hizmetin çalıştığından emin olun :
sudo yum install epel-release
sudo yum install fail2ban fail2ban-systemd
Ubuntu ve diğer Debian aileleri için şunu çalıştırın:
sudo apt-get -y install fail2ban ufw
CentOS 6 veya başka bir RHEL 6 ailesini çalıştırıyorsanız, kurun iptables-services
ve fail2ban’ı fail2ban-systemd
sudo yum install iptables-services fail2ban
Fail2ban için varsayılan ayarlar, üzerinde yapılandırılır./etc/fail2ban/jail.conf
Temel bir fail2ban yapılandırması ssh izleme özelliğine sahip olacaktır. Bunu /etc/fail2ban/jail.local
dosyaya ekleyelim .
$ sudo vim /etc/fail2ban/jail.local
Aşağıdaki içeriği ekleyin:
[postfix]
enabled = true
port = smtp
filter = postfix
logpath = /var/log/mail.log
maxretry = 3
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
[vsftpd]
enabled = false
port = ftp
filter = vsftpd
logpath = /var/log/auth.log
maxretry = 5
[pure-ftpd]
enabled = true
port = ftp
filter = pure-ftpd
logpath = /var/log/syslog
maxretry = 3
Ardından fail2ban hizmetini başlatın ve etkinleştirin:
sudo systemctl enable fail2ban.service
sudo systemctl start fail2ban.service
voipbl.sh
Komut dosyasını indirin ve altına yerleştirin/usr/local/bin/
wget http://www.voipbl.org/voipbl.sh -O /usr/local/bin/voipbl.sh
Komut dosyasını yürütülebilir yapın:
chmod +x /usr/local/bin/voipbl.sh
Yukarıdakiler iptables kullanır. Sisteminiz ipset’i destekliyorsa , bunun yerine aşağıdaki komut dosyasını kullanabilirsiniz:
#!/bin/bash
URL="http://www.voipbl.org/update/"
set -e
echo "Downloading rules from VoIP Blacklist"
wget -qO - $URL -O /tmp/voipbl.txt
echo "Loading rules..."
# Check if rule set exists and create one if required
if ! $(/usr/sbin/ipset list voipbl > /dev/null 2>&1); then
ipset -N voipbl iphash
fi
#Check if rule in iptables
if ! $(/sbin/iptables -w --check INPUT -m set --match-set voipbl src -j DROP > /dev/null 2>&1); then
/sbin/iptables -I INPUT 1 -m set --match-set voipbl src -j DROP
fi
# Create temporary chain
ipset destroy voipbl_temp > /dev/null 2>&1 || true
ipset -N voipbl_temp iphash
cat /tmp/voipbl.txt |\
awk '{ print "if [ ! -z \""$1"\" -a \""$1"\" != \"#\" ]; then /usr/sbin/ipset -A voipbl_temp \""$1"\" ;fi;"}' | sh
ipset swap voipbl_temp voipbl
ipset destroy voipbl_temp || true
echo "Done! Rules loaded"
Ardından şuraya yeni bir Fail2ban Jail ekleyin /etc/fail2ban/jail.conf
:
[asterisk-iptables]
action = iptables-allports[name=ASTERISK, protocol=all]
voipbl[serial=XXXXXXXXXX]
Şimdi /etc/fail2ban/action.d/voipbl.conf üzerinde Fail2ban için VoIP Kara Liste eylemlerini tanımlayın .
sudo vim /etc/fail2ban/action.d/voipbl.conf
Ekle:
# Description: Configuration for Fail2Ban
[Definition]
actionban = <getcmd> "<url>/ban/?serial=<serial>&ip=<ip>&count=<failures>"
actionunban = <getcmd> "<url>/unban/?serial=<serial>&ip=<ip>&count=<failures>"
[Init]
getcmd = wget --no-verbose --tries=3 --waitretry=10 --connect-timeout=10 \
--read-timeout=60 --retry-connrefused --output-document=- \
--user-agent=Fail2Ban
url = http://www.voipbl.org
Artık kuralları her 3 saatte bir güncellemek için cron iş dosyası oluşturabiliriz :
$ sudo vim /etc/cron.d/voipbl
# update blacklist each 4 hours
0 */4 * * * * root /usr/local/bin/voipbl.sh
Bittiğinde, VoIP Sahtekarlığına karşı korunmak için fail2ban arka plan programını yeniden başlatın:
sudo systemct restart fail2ban