LinuxOpen Source

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 fail2banpaketin 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.localdosyaya 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.shKomut 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

Muhammed Kerim Koç

1996 yılında Giresun Şebinkarahisarda dünyaya geldim. İlk ve orta öğretimi Şebinkarahisarda tamamladım. Liseyi Şebinkarahisar Anadolu Teknik ve Endüstri Meslek Lisesinde bitirdim. Üniversite için de Şebinkarahisar Teknik Bilimler Meslek Yüksek Okulunda Bilgisayar programcılığını okudum. Üniversite stajı için gelmiş olduğum özel bir firmada işe başladım. 5,5 yıl bu firmadan çalıştıktan sonra farklı bir sektör olan inşaat sektöründe Bilgi teknolojileri Uzmanı olarak 8 ay çalıştım. Daha sonra özel bir şirkette Sistem Network Sorumlusu olarak 4 ay çalıştıktan sonra proje sonlandırılmasından dolayı işten ayrıldım. Tekrar dan 5.5 yıl çalışmış olduğum firmaya Sistem ve Network Yöneticisi olarak geri döndüm ve çalışmaya başladım. Kendimi geliştirmek için Bilge Adam Akademi den Sistem Uzmanlığı eğitimi aldım. Sanallaştırma ve Ağ tarafında kendimi sürekli olarak geliştiriyorum.

İlgili Makaleler

Başa dön tuşu