Como posso proteger meu servidor Asterisk?

4

Nosso servidor asterisco foi comprometido. algumas chamadas foram feitas para os países da Ásia no último final de semana.

Pensando que melhoramos nossa configuração de rede, ainda queremos determinar como a invasão foi feita, achamos que há pistas em nossos arquivos de registro de asterisco.

mas não sabemos o que procurar, com base em um asterisco padrão:

Quais considerações de segurança você toma ao instalar um servidor asterisco?

    
por SDReyes 09.10.2012 / 22:21

3 respostas

4

É assim que eu seguro meu servidor Asterisk, que está em produção continuamente desde 2006.

Firewall

Abra portas de entrada apenas para serviços necessários. (Você precisa abrir um amplo intervalo para fluxos RTP, mas isso geralmente não é um problema, já que nada normalmente ouve esse intervalo de portas.)

  • 22/tcp ssh (para gerenciamento, claro)
  • 4520/udp DUNDi (se você estiver usando o DUNDi)
  • 4569/tcp IAX2 (se você estiver usando o IAX)
  • 5060/udp registro SIP
  • 10000-20000/udp RTP - transporte de mídia
    Alguns dispositivos têm um intervalo muito menor de portas que eles usam para fluxos RTP. Por exemplo, certos dispositivos Cisco (anteriormente chamados de números de peça Linksys / Sipura; começam com PAP, SPA ou WRP) usam apenas 16384-16482 .

Extensões

Se possível, restrinja os intervalos de endereços IP dos quais os clientes SIP podem se conectar. Se isso for implantado em um escritório, restrinja as conexões à porta 5060 para endereços IP dentro dos locais onde os telefones estão localizados. Se você precisar aceitar conexões de endereços da Internet que não estão sob seu controle, considere o bloqueio de intervalos de endereços IP específicos do país.

Não use o número do ramal SIP como o nome de usuário. Se seus clientes SIP o suportarem, dê a eles todos os nomes.

Defina senhas strongs para todas as extensões SIP. Isso deve ser óbvio, mas nem sempre é assim.

A partir da leitura dos registros anexados à sua pergunta anterior , consegui determinar que você tinha uma extensão SIP definida com o nome de usuário 1 , com um segredo tão fácil de adivinhar que o atacante acertou na primeira tentativa. A extensão provavelmente não tinha nenhum segredo definido.

Use alwaysauthreject=yes em sip.conf . Isso impede que atacantes sejam capazes de determinar se existe uma extensão SIP por meio da força bruta.

Use allowguest=no em sip.conf . Isso evita que clientes não autenticados façam chamadas.

Administração

Altere todas senhas padrão para seus usuários UNIX, seus bancos de dados e seus front-ends administrativos, como o FreePBX.

Defina bindaddr = 127.0.0.1 em manager.conf para garantir que a interface de gerenciamento do Asterisk não esteja aberta ao mundo.

Outro

Instale o fail2ban. Eu tenho configurado para bloquear após duas tentativas com falha, mas se você tiver controle total de todos os seus dispositivos de forma que eles nunca deixem de fazer o login corretamente, você poderá configurá-lo para bloquear após uma tentativa malsucedida.

Se você não precisar fazer chamadas internacionais, peça ao provedor de tronco SIP para desativar a capacidade no final. Você também pode configurar seu servidor asterisco para não rotear tais chamadas.

Isso deve cobrir o básico, e vai mantê-lo fora de problemas na maior parte. Se você implantar serviços incomuns ou escrever suas próprias configurações personalizadas, talvez seja necessário fazer algum trabalho adicional para protegê-los.

    
por 09.10.2012 / 23:02
2

Tivemos um problema semelhante há algum tempo. Além da resposta de Michael Hampton. Três coisas que fizemos corrigiram isso.

1) Instalando o fail2ban . O que isso faz é verificar arquivos de log procurando por tentativas de falha de senha. Demais e ele irá firewall do IP. Ele funciona para mais do que apenas um asterisco, mas para o SSH e qualquer serviço que você precise.

2) Lista de permissões ou IP de lista negra de países que você deseja / não deseja permitir. por exemplo. Você quer permitir o acesso SIP da China? Você pode obter listas de IP de nirsoft

3) Se você estiver fazendo entroncamento ou emparelhamento com um provedor de upstream, veja se consegue um limite de crédito diário. Isso limitará o tamanho da fatura que você recebe deles, caso um dos dois primeiros falhe. E se você detectar um problema, pelo menos compre um tempo antes que ele saia do controle.

    
por 09.10.2012 / 23:29
1

Eu adicionaria "bom monitoramento" às sugestões listadas por outras respostas. Monitore os sistemas (os títulos sugeridos para verificação de logs são logwatch ou logcheck). Veja as ferramentas de relatórios de asterisco disponíveis (não sei quaisquer títulos, mas o item Monitoramento de asterisco lista alguns ) e veja se o seu provedor de telefonia de upstream pode monitorar seu uso e alertar sobre aumentos não planejados de custos de chamadas.

    
por 10.10.2012 / 14:41