Я использую Asterisk 11.7 на Ubuntu для своего малого бизнеса. В последние дни кто-то мог получить доступ к серверу и заставить все добавочные номера звонить через равные промежутки времени. Я хотел бы понять, как этот человек может получить доступ к моему серверу, чтобы исправить брешь в безопасности. Но IT - не моя специальность, а скорее хобби, и сейчас я явно исчерпал свои возможности :-(
Мои меры безопасности: Fail2Ban (несколько обращений в день с 6-часовыми банами), сети, ограниченные запретом / разрешением (доступ из неопределенных сетей приводит к срабатыванию Fail2Ban), хорошие пароли, различные имена пользователей и расширения, 'allowguest = нет '.
Несмотря на это, когда я слежу за tcpdump сетевого устройства сервера с помощью Wireshark, используя функцию Телефония -> Вызовы VoIP, я вижу «НАСТРОЙКА ВЫЗОВА» с IP-номеров, которые я не разрешил и которые запрещены. Я подтвердил, что правила отказа / разрешения работают. Как такое возможно?
Ниже приведен пример содержимого потока UDP, когда я фильтрую один из «нарушающих» IP-адресов (50.30.37.184):
INVITE sip:00972597740379@185.50.232.119 SIP/2.0
To: 00972597740379<sip:00972597740379@185.50.232.119>
From: 3001<sip:3001@185.50.232.119>;tag=b7544775
Via: SIP/2.0/UDP 50.30.37.184:5071;branch=z9hG4bK-c77dfca41a3022494888aee924ac6fc2;rport
Call-ID: c77dfca41a3022494888aee924ac6fc2
CSeq: 1 INVITE
Contact: <sip:3001@50.30.37.184:5071>
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, BYE
User-Agent: sipcli/v1.8
Content-Type: application/sdp
Content-Length: 281
v=0
o=sipcli-Session 1974783073 2136912366 IN IP4 50.30.37.184
s=sipcli
c=IN IP4 50.30.37.184
t=0 0
m=audio 5073 RTP/AVP 18 0 8 101
a=fmtp:101 0-15
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=ptime:20
a=sendrecv
INVITE sip:900972597740379@185.50.232.119 SIP/2.0
To: 900972597740379<sip:900972597740379@185.50.232.119>
From: 3001<sip:3001@185.50.232.119>;tag=f28b82cf
Via: SIP/2.0/UDP 50.30.37.184:5071;branch=z9hG4bK-41939a537a9d2f3071772b2f91b215b7;rport
Call-ID: 41939a537a9d2f3071772b2f91b215b7
CSeq: 1 INVITE
Contact: <sip:3001@50.30.37.184:5071>
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, BYE
User-Agent: sipcli/v1.8
Content-Type: application/sdp
Content-Length: 277
v=0
o=sipcli-Session 71968886 85419647 IN IP4 50.30.37.184
s=sipcli
c=IN IP4 50.30.37.184
t=0 0
m=audio 5073 RTP/AVP 18 0 8 101
a=fmtp:101 0-15
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=ptime:20
a=sendrecv
Может ли кто-нибудь дать мне несколько советов и предложений, как я могу усилить безопасность своего сервера, чтобы запретить этот нежелательный доступ?
Заранее благодарим за помощь!
Вы не говорите, используете ли вы графический интерфейс с Asterisk (например, Elastix или FreePBX) - так как это построит ваш диалплан (и может создать слабое место). FreePBX имел несколько довольно серьезных дыр в безопасности, позволяющих злоумышленникам изменять диалплан. Ваш код обновлен? (Даже если это так, доступ к графическому интерфейсу конфигурации в Интернет является серьезным недостатком в дизайне FreePBX - так что отключите его в любом случае). С каждой исправленной дырой кто-то в конце концов находит новую.
Далее - простой вопрос: отключили ли вы SIP allowguest?
Далее - Fail2Ban довольно тупой, другими словами, только если Asterisk сообщает, что регистрация / попытка набора номера была отклонена, fail2ban действительно что-то сделает. Так что не считайте это системой безопасности. На самом деле Digium предупреждает НЕ использовать fail2ban в качестве системы безопасности (см. http://forums.asterisk.org/viewtopic.php?p=159984),
Я бы посоветовал вам прочитать эту страницу http://www.voip-info.org/wiki/view/Asterisk+security о том, как защитить вашу АТС. Вам необходимо рассмотреть безопасность с точки зрения периметра, конфигурации АТС и интегрированного мониторинга АТС.
Если вы опубликуете более подробную информацию о своей среде, вы можете получить еще несколько предложений. Приведенный выше дамп пакета не имеет особого значения, за исключением географического происхождения вызывающего (Грац, Австрия) и агента (sipcli). Такие инструменты, как SecAst может блокироваться на основе географического IP-адреса и агента SIP, но вы все равно должны решить основную проблему диалплана.