1. Настроим сам Астериск
sip.conf
[general]
context=nocontext ; Чтобы неавторизованные/левые звонки никуда не попадали
allowguest=no ; Вообще запретить неавторизованные вызовы
match_auth_username=no ; Честно, не скажу как это влияет на защиту, но пишут, что влияет. Имеет смысл в том случае, если UserID и AuthUserID - разные
alwaysauthreject=yes ; Не выдает доп. информацию при неудачной регистрации. spwar отказывается работать.
useragent=D-Link DVG-1402S ; Или любой другой - найдите в гугле реальное железо. так вы будете меньше привлекать внимание хацкеров которые ищут астериски в инете.
users.conf
[XXX]
...
deny = 0.0.0.0/0.0.0.0
premit = <подсеть, в которой будет этот телефон>/<маска подсети> ; Не дает возможности регистрироваться экстеншенам из левых подсетей
2. Fail2Ban. Банит IP по проваленным попыткам регистрации.
apt-get install fail2ban
cd /etc/fail2ban/filter.d
vi asterisk.conf
# Fail2Ban configuration file
#
#
# $Revision: 250 $
#
[INCLUDES]
# Read common prefixes. If any customizations available -- read them from
# common.local
#before = common.conf
[Definition]
#_daemon = asterisk
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P
# Values: TEXT
#
# HOST надо поместить в <> скобки.
failregex = NOTICE.* .*: Registration from '.*' failed for '
NOTICE.* .*: Registration from '.*' failed for 'HOST
NOTICE.* .*: Registration from '.*' failed for '
NOTICE.* .*: Registration from '.*' failed for '
NOTICE.* .*: Registration from '.*' failed for '
NOTICE.*
NOTICE.* .*: No registration for peer '.*' \(from
NOTICE.* .*: Host
NOTICE.* .*: Failed to authenticate user .*@
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
vi /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
vi /etc/asterisk/logger.conf
[general]
dateformat=%F %T
No comments:
Post a Comment