Как остановить попытки регистрации на Asterisk

Основной вопрос:

Мои журналы Asterisk завалены такими сообщениями:

[2012-05-29 15:53:49] NOTICE[5578] chan_sip.c: Registration from '<sip:[email protected]>' failed for '37.75.210.177' - No matching peer found
[2012-05-29 15:53:50] NOTICE[5578] chan_sip.c: Registration from '<sip:[email protected]>' failed for '37.75.210.177' - No matching peer found
[2012-05-29 15:53:55] NOTICE[5578] chan_sip.c: Registration from '<sip:[email protected]>' failed for '37.75.210.177' - No matching peer found
[2012-05-29 15:53:55] NOTICE[5578] chan_sip.c: Registration from '<sip:[email protected]>' failed for '37.75.210.177' - No matching peer found
[2012-05-29 15:53:57] NOTICE[5578] chan_sip.c: Sending fake auth rejection for device <sip:[email protected]>;tag=cb23fe53
[2012-05-29 15:53:57] NOTICE[5578] chan_sip.c: Sending fake auth rejection for device <sip:[email protected]>;tag=cb23fe53
[2012-05-29 15:54:02] NOTICE[5578] chan_sip.c: Registration from '<sip:[email protected]>' failed for '37.75.210.177' - No matching peer found
[2012-05-29 15:54:03] NOTICE[5578] chan_sip.c: Registration from '<sip:[email protected]>' failed for '37.75.210.177' - No matching peer found
[2012-05-29 21:20:36] NOTICE[5578] chan_sip.c: Registration from '"55435217"<sip:[email protected]>' failed for '65.218.221.180' - No matching peer found
[2012-05-29 21:20:36] NOTICE[5578] chan_sip.c: Registration from '"1731687005"<sip:[email protected]>' failed for '65.218.221.180' - No matching peer found
[2012-05-30 01:18:58] NOTICE[5578] chan_sip.c: Sending fake auth rejection for device "unknown" <sip:[email protected]>;tag=dEBcOzUysX
[2012-05-30 01:18:58] NOTICE[5578] chan_sip.c: Sending fake auth rejection for device "unknown" <sip:[email protected]>;tag=9zUari4Mve
[2012-05-30 01:19:00] NOTICE[5578] chan_sip.c: Sending fake auth rejection for device "unknown" <sip:[email protected]>;tag=sOYgI1ItQn
[2012-05-30 01:19:02] NOTICE[5578] chan_sip.c: Sending fake auth rejection for device "unknown" <sip:[email protected]>;tag=2EGLTzZSEi
[2012-05-30 01:19:04] NOTICE[5578] chan_sip.c: Sending fake auth rejection for device "unknown" <sip:[email protected]>;tag=j0JfZoPcur
[2012-05-30 01:19:06] NOTICE[5578] chan_sip.c: Sending fake auth rejection for device "unknown" <sip:[email protected]>;tag=Ra0DFDKggt
[2012-05-30 01:19:08] NOTICE[5578] chan_sip.c: Sending fake auth rejection for device "unknown" <sip:[email protected]>;tag=rR7q7aTHEz
[2012-05-30 01:19:10] NOTICE[5578] chan_sip.c: Sending fake auth rejection for device "unknown" <sip:[email protected]>;tag=VHUMtOpIvU
[2012-05-30 01:19:12] NOTICE[5578] chan_sip.c: Sending fake auth rejection for device "unknown" <sip:[email protected]>;tag=JxZUzBnPMW

Я использую Asterisk для автоматизированной телефонной системы. Единственное, что он делает, это принимает входящие звонки и выполняет скрипт Perl. Нет исходящих звонков, нет входящих звонков на фактический телефон, нет телефонов, зарегистрированных в Asterisk.

Кажется, должен быть простой способ заблокировать все попытки неавторизованной регистрации, но я долго боролся с этим. Похоже, что должен быть более эффективный способ не допустить, чтобы эти попытки зашли достаточно далеко, чтобы добраться до моих журналов Asterisk. Некоторые настройки, которые я мог бы включить / выключить, которые вообще не допускают попыток регистрации или чего-то еще. Есть какой-либо способ сделать это?

Кроме того, правильно ли я полагаю, что сообщения "Регистрация от..." - это, скорее всего, люди, пытающиеся получить доступ к моему серверу Asterisk (возможно, для совершения звонков в моей учетной записи)? И в чем разница между этими сообщениями и сообщениями "Отправка поддельного отказа..."?

Дальнейшие детали:

Я знаю, что строки "Регистрация от..." являются злоумышленниками, пытающимися получить доступ к моему серверу Asterisk. При установленном Fail2Ban эти IP-адреса блокируются после 5 попыток (по какой-то причине одна получала 6 попыток, но без).

Но я понятия не имею, что означают сообщения "Отправка поддельного отказа от аутентификации..." или как остановить эти потенциальные попытки вторжения. Насколько я могу судить, они никогда не были успешными (не видели каких-либо странных обвинений на моих счетах или что-нибудь).

Вот что я сделал:

  1. Настройте правила аппаратного брандмауэра, как показано ниже. Вот, xx.xx.xx.xx это IP-адрес сервера, yy.yy.yy.yy это IP-адрес нашего объекта, и aa.aa.aa.aa, bb.bb.bb.bb, а также cc.cc.cc.cc IP-адреса, которые использует наш провайдер VoIP. Теоретически, порты 10000-20000 должны быть доступны только для этих трех IP-адресов.
    +-------+-----------------------------+----------+-----------+--------+-----------------------------+------------------+
    | Order |         Source Ip           | Protocol | Direction | Action |        Destination Ip       | Destination Port |
    +-------+-----------------------------+----------+-----------+--------+-----------------------------+------------------+
    |   1   | cc.cc.cc.cc/255.255.255.255 |    udp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |    10000-20000   |
    |   2   |            any              |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |        80        |
    |   3   |            any              |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |       2749       |
    |   4   |            any              |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |        443       |
    |   5   |            any              |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |        53        |
    |   6   |            any              |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |       1981       |
    |   7   |            any              |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |       1991       |
    |   8   |            any              |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |       2001       |
    |   9   | yy.yy.yy.yy/255.255.255.255 |    udp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |      137-138     |
    |   10  | yy.yy.yy.yy/255.255.255.255 |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |        139       |
    |   11  | yy.yy.yy.yy/255.255.255.255 |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |        445       |
    |   14  | aa.aa.aa.aa/255.255.255.255 |    udp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |    10000-20000   |
    |   17  | bb.bb.bb.bb/255.255.255.255 |    udp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |    10000-20000   |
    |   18  |            any              |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |       1971       |
    |   19  |            any              |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |       2739       |
    |   20  |            any              |    tcp   |  inbound  | permit | xx.xx.xx.xx/255.255.255.255 |     1023-1050    |
    |   21  |            any              |    all   |  inbound  |  deny  |        any on server        |      1-65535     |
    +-------+-----------------------------+----------+-----------+--------+-----------------------------+------------------+
  2. Настройте Fail2Ban. Это своего рода работа, но она реагирует, а не проактивна, и, кажется, не блокирует все (например, сообщения "Отправка поддельного отказа...").
  3. Установите правила в sip.conf, чтобы запретить все, кроме моего VoIP-провайдера. Вот мой sip.conf с почти всеми закомментированными строками (для экономии места). Внизу обратите внимание на мою попытку отказать всем, кроме моего провайдера VoIP:
    [general]
    context=default
    allowguest=no
    allowoverlap=no
    bindport=5060
    bindaddr=0.0.0.0
    srvlookup=yes
    disallow=all allow=g726 allow=ulaw allow=alaw allow=g726aal2 allow=adpcm allow=slin allow=lpc10 allow=speex allow=g726
    insecure=invite
    alwaysauthreject=yes
    ;registertimeout=20 registerattempts=0 register => user:pass:[email protected]:5060/700
    [mysipprovider] type=peer username=user fromuser=user secret=pass host=sip.mysipprovider.com fromdomain=sip.mysipprovider.com nat=no ;canreinvite=yes qualify=yes context=inbound-mysipprovider disallow=all allow=ulaw allow=alaw allow=gsm insecure=port,invite
    deny=0.0.0.0/0.0.0.0 permit=aa.aa.aa.aa/255.255.255.255 permit=bb.bb.bb.bb/255.255.255.255 permit=cc.cc.cc.cc/255.255.255.255

4 ответа

Решение

Как долго действуют эти правила брандмауэра? Если вы только что настроили их недавно, и в зависимости от того, как вы их настроили, правила могут применяться только к новым попыткам подключения, но любые установленные подключения все равно будут разрешены. Следовательно, попытки регистрации через уже установленное соединение все еще будут разрешены.

Вы не предоставляете достаточно информации о типе брандмауэра, который используете, но посмотрите, сможете ли вы найти список установленных соединений на порту 5060 и вручную отбросить их. Последующие новые попытки подключения теперь должны быть заблокированы в соответствии с правилами брандмауэра.

Я также вижу, что вы установили bindaddr=0.0.0.0 в вашем конфигурационном файле Asterisk, который заставляет Asterisk прослушивать все доступные интерфейсы. Сколько IP-адресов у этого сервера? Если у него более 1 IP-адреса, вам нужно указать их все в правилах брандмауэра, так как в настоящее время вы только перечисляете xx.xx.xx.xx в качестве IP-адреса назначения для блокировки входящего трафика через порт 5060.

Короче говоря вы блокируете не тот порт. Регистрация SIP происходит через порт 5060 (TCP или UDP). Порты 10000+ предназначены для фактического трафика канала RTP, а не для настройки вызова. Настройте брандмауэр так, чтобы блокировать входящие 5060 и 5061, и вы должны перестать видеть сообщения. Пока вы занимаетесь этим, вы также можете подумать, хотите ли вы, чтобы ваша система прослушивала регистрации SIP на всех интерфейсах. Помните - скорее всего, вы подключаетесь к своему провайдеру, а не наоборот.

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

Конечно - это должно быть остановлено вашим правилом запрета на ловушку, которое вы используете в настоящее время, но оно явно не в состоянии его поймать.

Надеюсь это поможет.

По-видимому, регистрация может проходить через порты 5060/5061. Даже если вы укажете

Порт =5061

или же

bindport=5061

или же

bindaddr=0.0.0.0:5061

Звездочка по-прежнему принимает регистрацию через порт 5060, и все по-прежнему работает.

Другие вопросы по тегам