Hace poco un amigo me lo comentaba también, parece ser que bastantes «phreakers» se están aprovechando de vulnerabilidades de cualquier sistema VoIP o de una mala configuración para enviar peticiones INVITE (SIP) y poder hacer llamadas a Cuba a costa de los dueños de este equipamiento. Claro, las llamadas deben pagarse y ver en una factura cientos o miles de llamadas a Cuba no es precisamente barato. No únicamente a Cuba, estos asaltantes aprovechan tu «libre disposición de tu sistema VoIP» para llamar a cualquier país, o incluso a números Premium (los _[89]0[3456]XXXXXX) cuyos beneficiarios son, casualmente, ellos mismos, o algún familiar.
Al cabo de un tiempo, empecé a ver en algunos logs de varios Asterisk, intentos de registro, paquetes INVITES que llegaban desde IPs procedentes de Taiwan, China, Ukrania, Rusia, … y claro, como era evidente, cualquier petición iba diréctamente a la «i» de invalid. 😀 pero me llamó la atención la «agresividad extrema» con la que intentan enviar paquetes INVITE en cuanto descubren un puerto 5060 UDP abierto.
Pero no es únicamente Asterisk, realmente cualquier sistema tiene sus vulnerabilidades e incluso en sistemas cerrados como Cisco, Nortel y Avaya. Ya aparecen comentarios de administradores de sistemas propietarios anunciando sus ataques a las vulnerabilidades aún no descubiertas ni parcheadas. Esto es algo que se veía venir cuando uno observa el ritmo en el que avanza la VoIP. La ventaja de Asterisk es que la vulnerabilidad generalmente se corrige a las pocas horas de ser descubiertas, mientras que otros sistemas esperan «al segundo -martes- de cada mes» para hacerla pública junto con la corrección, pero para entonces, la empresa ya está arruinada, así que ya lo sabeis… en caso de duda, siempre es más seguro apostar por el software libre. 😛
Estos ataques no son fáciles de evitar, pero perfectamente posibles. ¿cómo?
– Estando al día en actualizaciones, vulnerabilidades y soluciones.
– Llevando un control exaustivo del sistema (versiones de paquetes, actualizando cada dos por tres)
– Observando los logs del sistema (comprobando los accesos y los intentos de ataques)
– Evitando utilizar puertos estándares (5060, 4569, 80, 22, etc…)
– Conociendo perféctamente el sistema por dentro
– Llevando un mantenimiento contínuo
– Una buena «educación» que nos enseñe a programar y configurar el sistema adecuadamente.
Ejemplo: De poco nos sirve tener en el contexto [general] del sip.conf el parámetro ‘context=default‘, si luego en el contexto [default] del extensions.conf tenemos algo como: include=>salientes
Estos fallos son de «tarjeta roja y expulsión«, pero por desgracia cada vez más frecuentes.
¿Soluciones a estos ataques?
– Un firewall, un mísero firewall puede librarnos de muchos problemas.
– Herramientas como el «archiconocido» PortSentry para evitar escaneos y ataques DoS
– Denegar peticiones al 5060/4569 UDP desde el exterior siempre que no tengamos usuarios SIP/IAX externos.
– Deshabilitar el «allowguest=yes» que traen algunos interfaces habilitado de serie. ¬¬ (estas cosas mosquean).
– DROPear cualquier paquete procedente de cualquier IP que no sea de nuestra red de confianza.
– Configurar el «realm», «defaultuser» y el parámetro «secret» SIEMPRE.
y sobre todo… un poco de sentido común y seguridad a la hora de permitir llamadas salientes… que ningún usuario llama 400 veces a Cuba el mismo día… 🙂
Nada, que os sea útil este aviso. 🙂
Basado en: SnapVoIP