К основному контенту

Как защитить Asterisk и FreePBX от атак брутфорса и VoIP-мошенничества

В этом руководстве я покажу вам, как обеспечить безопасность Asterisk и FreePBX, настроив эффективный черный список VoIP с использованием фильтрации географического местоположения.

В настоящее время существует множество попыток брута и мошенничества с VoIP, нацеленные на Asterisk, FreePBX и любую другую систему PBX в Интернете.

Задача любого системного администратора минимизировать вероятность успеха для таких попыток — близко к нулю.

Один из способов защитить Asterisk и FreePBX от таких попыток — использование Fail2ban и VoIP Blacklist.

Раз вы уже потратили какие-то средства и решили купить АТС, можно сделать шаг , который позволит сэкономить вам пропускную способность и защитить ваш бизнес.

Чтобы упростить нашу работу, мы будем использовать VoIPBL, который является распределенным черным списком VoIP, который направлен на защиту от мошенничества с VoIP и минимизацию злоупотребления сетью, имеющей общедоступные PBX's.

Как VoIPBL защищен?

Функция VoIPBL Geolocation позволяет блокировать весь сетевой трафик из стран, с которыми сети не нужно связываться, или которые являются известными создателями вредоносной активности.

На ссайте вы можете проверить, находится ли ваш IP-адрес в черном списке.

Как установить VoIPBL

Черный список VoIP зависит от Fail2ban, чтобы реализовать черный список на вашем сервере PBX.

Убедитесь, что установлен пакет fail2ban и запущен сервис:

sudo yum install epel-releasesudo yum install fail2ban fail2ban-systemd

Для Ubuntu и других ос семейства Debian выполните:

sudo apt-get -y install fail2ban ufw

Если вы используете CentOS 6 или любое другое семейство RHEL 6, установите iptables-services и fail2ban без 2ban-systemd

sudo yum install iptables-services fail2ban

Настройки по умолчанию для Fail2ban находятся в ./etc/fail2ban/jail.conf

Базовая конфигурация fail2ban будет иметь мониторинг ssh. Давайте добавим это в файл /etc/fail2ban/jail.local.

$ sudo vim /etc/fail2ban/jail.local

Добавьте следующий контент:

[postfix]enabled= trueport = smtpfilter = postfixlogpath= /var/log/mail.logmaxretry = 3[ssh]enabled = trueport= sshfilter= sshdlogpath= /var/log/auth.logmaxretry = 3[vsftpd]enabled = falseport = ftpfilter = vsftpdlogpath = /var/log/auth.logmaxretry = 5[pure-ftpd]enabled = trueport = ftpfilter = pure-ftpdlogpath = /var/log/syslogmaxretry = 3

Затем запустите и включите службу fail2ban

sudo systemctl enable fail2ban.servicesudo systemctl start fail2ban.service

Загрузите скрипт voipbl.sh и поместите в /usr/local/bin/

wget http://www.voipbl.org/voipbl.sh -O /usr/local/bin/voipbl.sh

Сделайте исполняемым скрипт:

chmod +x /usr/local/bin/voipbl.sh

В приведенном выше примере используется iptables.

Если ваша система поддерживает ipset, вы можете использовать следующий скрипт:

#!/bin/bashURL="http://www.voipbl.org/update/"set -eecho "Downloading rules from VoIP Blacklist"wget -qO - $URL -O /tmp/voipbl.txtecho "Loading rules..."# Check if rule set exists and create one if requiredif ! $(/usr/sbin/ipset list voipbl > /dev/null 2>&1); thenipset -N voipbl iphashfi#Check if rule in iptablesif ! $(/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 DROPfi# Create temporary chainipset destroy voipbl_temp > /dev/null 2>&1 || trueipset -N voipbl_temp iphashcat /tmp/voipbl.txt |\awk '{ print "if [ ! -z \""$1"\" -a \""$1"\" != \"#\" ]; then /usr/sbin/ipset -A voipbl_temp \""$1"\" ;fi;"}' | shipset swap voipbl_temp voipblipset destroy voipbl_temp || trueecho "Done! Rules loaded"

Затем добавьте новый jail Fail2ban в /etc/fail2ban/jail.conf:

[asterisk-iptables]action = iptables-allports[name=ASTERISK, protocol=all]voipbl[serial=XXXXXXXXXX]

Теперь определите действия Blacklist для протокола Fail2ban по адресу /etc/fail2ban/action.d/voipbl.conf.

sudo vim  /etc/fail2ban/action.d/voipbl.conf

Добавьте

# Description: Configuration for Fail2Ban[Definition]actionban ="/ban/?serial=&ip=&count="actionunban ="/unban/?serial=&ip=&count="[Init]getcmd = wget --no-verbose --tries=3 --waitretry=10 --connect-timeout=10 \--read-timeout=60 --retry-connrefused --output-document=- \--user-agent=Fail2Banurl = http://www.voipbl.org

Теперь мы можем создать файл задания cron для обновления правил каждые 3 часа:

$ sudo vim /etc/cron.d/voipbl# update blacklist each 4 hours0 */4 * * * * root /usr/local/bin/voipbl.sh

Теперь мы можем создать файл задания cron для обновления правил каждые 3 часа:

$ sudo vim /etc/cron.d/voipbl# update blacklist each 4 hours0 */4 * * * * root /usr/local/bin/voipbl.sh

Когда это будет сделано, перезапустите fail2ban daemon, чтобы включить защиту от VoIP-мошенничества:

sudo systemct restart fail2ban

Вы также можете выполнять расширенные настройки, такие как:

  • Фильтровать по странам
  • Фильтровать по сети

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…