Ataques a una central Asterisk

Últimamente estoy trabajando bastante con centrales IP y algunas de ellas están basadas en Asterisk. Al momento de exponer las centrales contra Internet (acceso con IP Públicos) es muy probable que la misma empiece a tener ataques de escaneadores que buscan servidores SIP y luego intentan obtener acceso para hacer llamadas.

Uno de los escaneadores mas conocidos es Sipvicious, el cual permite escanear a servidores SIP con el mismo concepto tradicional del ataque wardialing (que consistia en hacer llamadas a una serie de números de teléfonos de manera automática, tratando de encontrar los modems conectados y permitiendo la conexión contra algún servidor, algo común que se realizaba en los ’80 y 90’s)

Con esta herramienta es posible identificar las extensiones de las PBX, escanear un gran rango de extensiones, escanear por extensiones usando un lista (archivo) que posea posibles extensiones. Otra de las opciones que tiene es poder escanear utilizando diferentes pedidos de SIP ya que no todas las PBX tienen el mismo comportamiento y también permite resumir un ataque en caso de que se interrumpa.

En un blog que encontré Googleando explica de manera muy simple como utilizar esta herramienta, desde su instalación, configuración e inicios en la detección de una PBX y luego su ataque. Cabe recalcar que es muy simple su utilización para realizar los escaneos.

Como medida para defenderse de este ataque tenemos varias cosas para hacer, la primera es utilizar password fuertes para evitar que se puedan hackear  las extensiones  con estos ataques y luego la utilicen para hacer llamadas.

La herramienta fail2ban es de vital importancia en las centrales, porque nos permite denegar el registro de un cliente si ha intentado loguearse cierta cantidad de veces con datos erróneos.  En la central también es posible colocar una sentencia en el archivo sip_custom.conf con la opción «alwaysauthreject=yes» el cual previene que Asterisk le responda al sip scanner cuales son los números de las extensiones válidas. En Asterisk los pasos son los siguientes:

Editar el archivo /etc/asterisk/sip_custom.conf y agregar la linea

alwaysauthreject=yes

Otra forma de protegerse de estos ataques es colocando un firewall delante de la central, yo utilizo un MikroTik RouterOS con varias reglas de protecciones de ataques que he ido creando a medida que me protegía de los mismo realizando un snifeo del tráfico, algo que dejaré explicado mas adelante.

Es importante proteger las centrales, porque los ataques según las estadísticas han aumentado mucho en los últimos años y han generado perdidas por millones de dólares.

Mas info: Sysadminman y Sipvicious

6 comentarios

  1. Justamente yo veo ese tema con asterisk, todo funcionaba bien hasta que instale un mikrotik como router.
    Al asterisk se loguean las extensiones con la ip del router y por ende no puedo usar fail2ban porque se bloquea la red completa.
    Alguien sabe como solucionar este problema??

  2. Maxi

    2 agosto, 2012 a las 16:09

    @Sergio:

    Seguramente estas masquereando el trafico de la red local. Rutea toda la red local asi tenes los IP correctos

    M.

  3. Gracias por tu respuesta.
    Es justamente lo que hago, me podrias señalar como se hace para rutear toda la red local?

  4. Revisando un poco la web por comentarios sobre seguridad y mejores practicas en lo que seguridad respecta a asterisk, encontre el comentario de sergio, creo que su poblema puede estar en que cuando define el masquerade no asigna la ether de la wan en la parte de outgoing.

  5. Ahora mi consulta es la siguiente.
    En algun momento intente poner delante del server un mk, pero me trajo algunos problemas, como eje que los clientes desde fuera de la red local se conectan bien, pero cuando pierden conexion no se pueden volver a registrar en el corto plazo, quizas al rato si puede.
    Tambien como Sergio en el caso anterior estoy realizando masquerade.

  6. hola, como puedo bloquear la ip con fil2ban u otro servicio cuando intentan ingresar a mi central via url con 3 o mas intentos fallidos
    muchas gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *