Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ Voice(Asterisk\Cisco) ⇐

CISCO

Microsoft

Powershell

Python

SQL\T-SQL

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Asterisk: безопастность и fail2ban


Рассмотрим самые необходимые меры предосторожности от взлома Asterisk:

Защищаем сервер от перебора по номерам в sip.conf
alwaysauthreject=yes;

Смена SIP порта(порт подключения телефонов к Asterisk, меняйте на нужный Вам):
/etc/asterisk/sip.conf
[general]:
bindport=3361;

Запрещаем SIP подключение вне нашей локальной сети(для всех sip-пиров добавляем строки):
/etc/asterisk/sip.conf
deny=0.0.0.0/0.0.0.0; 
permit=192.168.0.1/24; 
allowguest=no; 

Сложные пароли для sip-клиентов в sip.conf
secret=b34!#yurF8)@kd54

Запрет международных вызовов (на примере в России  необходимо набрать код 810) на уровне диалплана: /etc/asterisk/extensions.conf
В нужный Вам контекст добавьте строку: 
exten => _7810X.,n,Hangup();

Настройка  iptables:
/etc/sysconfig/iptables
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j DROP -A INPUT -i lo -j ACCEPT 

Для протокола SIP:
iptables -A INPUT -p udp -m udp --dport 5004:5082 -j ACCEPT

Для протокола IAX2:
iptables -A INPUT -p udp -m udp --dport 4569 -j ACCEPT

Медиапотоки RTP:
iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

Некоторые используют протокол MGCP (media gateway control protocol):
iptables -A INPUT -p udp -m udp --dport 2727 -j ACCEPT

Пример разрешения ssh
-A INPUT -s 192.168.0.0/24 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

Сообщить его источнику об отказе icmp-host-prohibited — узел запрещен
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

Отключаем ненужные модули и протоколы Asterisk
/etc/asterisk/modules.conf
и в этот файл прописываем ненужные Вам модули, например: 
noload => chan_skinny.so 

noload => chan_mgcp.so 

noload => chan_iax2.so 
 

Настраиваем fail2ban:
fail2ban собирает информацию с лог-файлов (SSH, Asterisk и др.) и блокирует ip адрес злоумышленника

Пример на debian:

Шаг 1. Установка fail2ban
# apt-get install fail2ban

Шаг 2. Установка python и iptables
# apt-get install iptables python

Шаг 3. Конфигурация fail2ban

# cd /etc/fail2ban/filter.d
Создадим фильтр для Asterisk:
# vim asterisk.conf 

Шаг 4. В конец файла /etc/fail2ban/jail.conf добавляем(не забываю указать нужное именно Вам):

[asterisk-iptables]

enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
sendmail-whois[name=ASTERISK, dest=root, sender=fail2ban@example.org]
logpath  = /var/log/asterisk/messages 
maxretry = 5
bantime = 259200

Шаг 5. Логирование Asterisk: /etc/asterisk/logger.conf раскомментировать:

[general]
dateformat=%F %T

В консоли перегружаем сервис логирования:
# asterisk -rx "logger reload" 

Шаг 6. Перезапуск.
# /etc/init.d/iptables restart 

# iptables -L -v

Chain INPUT (policy ACCEPT 437 packets, 44507 bytes)
 pkts bytes target     prot opt in     out     source               destination
  437 44507 fail2ban-ASTERISK  all  --  any    any     anywhere             anywhere
  103  7928 fail2ban-ssh  tcp  --  any    any     anywhere             anywhere             multiport dports ssh

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 219 packets, 27147 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain fail2ban-ASTERISK (1 references)
 pkts bytes target     prot opt in     out     source               destination
  437 44507 RETURN     all  --  any    any     anywhere             anywhere

Chain fail2ban-ssh (1 references)
 pkts bytes target     prot opt in     out     source               destination
  103  7928 RETURN     all  --  any    any     anywhere             anywhere

Шаг 7. Автозапуск fail2ban и iptables:
# update-rc.d iptables defaults 
# update-rc.d fail2ban defaults 

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект