¿Como proteger Asterisk frente ataques externos?

. miércoles, 12 de agosto de 2009
  • Agregar a Technorati
  • Agregar a Del.icio.us
  • Agregar a DiggIt!
  • Agregar a Yahoo!
  • Agregar a Google
  • Agregar a Meneame
  • Agregar a Furl
  • Agregar a Reddit
  • Agregar a Magnolia
  • Agregar a Blinklist
  • Agregar a Blogmarks

Un Asterisk mal configurado puede dar más de un dolor de cabeza a su instalador o administrador, porque puede permitir INVITES externos y ser rutados a PSTN, con el consiguiente gasto.

Durante los últimos años aprovechando vulnerabilidades y configuraciones por defecto, más de uno recibió una temida factura de miles de euros, con llamadas a destinos exóticos, donde el minuto se paga a precio de oro.

Por ello voy a comentaros que medidas, que no es más que una recolección de las que he ido poniendo y aplicando en las instalaciones que conozco.

1.- Poner allowguest=no, por defecto si no está aplicada esta opción, se considera a yes, y aceptarás INVITEs que si tu contexto por defecto permite llamadas salientes, te dará dolores de cabeza si alguien lo descubre.

2.- allowexternalinvites=no ó allowexternaldomains=no, para no permitir INVITES a dominios SIP que no tienes.

3.- domain=direccion_ip o autodomain=yes

4.- Poner alwaysauthreject=yes . Con esto despistarás a los que prueban usuarios en tu sistema, para luego buscar la password.

5.- Usar contexto sin salida a PSTN para extensiones externas. Esto es una cura de salud, porque si consiguen hackear el password o que tu Asterisk acepte los INVITES, simplemente podrán molestarte llamando a tus extensiones locales

6.- Usar passwords fuertes, eso de poner el nombre de la empresa como password no siempre es buena idea. Puedes generarlas con http://strongpasswordgenerator.com/ o algo similar.

7.- Quitar los canales que no usas. Si no vas a usar IAX, no tienes porque tenerlo activo.

8.- No poner tu Asterisk en DMZ, siempre es mejor mapear los puertos que vas a usar de SIP y RTP.

9.- Usa un puerto alto para SSH, con eso quitarás moscas molestándote continuamente. El puerto 22 es el más codiciado de los script kiddies.

10.- Usar un puerto distinto al 5060 para SIP. Es un poco molesto porque tendrás que añadir :puerto a todos tus teléfonos y dispositivos SIP, pero te quitará de encima de un plumazo a esos escaneadores de puerto SIP que están continuamente pululando en Internet.

11.- Usar call-limit=2 para extensiones externas y/o locales donde puedas usarlo. De esta forma sólo podrán cursarte pocas llamadas... Poner un call-limit=100 en un trunk SIP quizá no sea buena idea.

12.- Si el contexto por defecto de asterisk en el sip.conf permite llamadas salientes, quítalo. Reestructura tu dialplan para que sólo permita acceder a extensiones locales y/o IVR. Cuidado con los domain=direccio_ip,outgoing....

13.- Usa fail2ban para banear ips que pretenden buscarte las cosquillas. En voip-info podéis encontrar un script bastante interesante

14.- Banear ips de países que no os interesa. Si al final vas a tener extensiones remotas en ISPs de España, ¿ porque tener expuesto tu Asterisk al resto del mundo?.

15.- Evitar usar nombres de dominio como sip.midominio.es, o voip.midominio.es.. es lo primero que van a buscar para atacarte..

16.- Usar ACLs en tus extensiones. La olvidada deny=0.0.0.0/0.0.0.0 y permit=192.168.1.0/255.255.255.0 puede evitarte disgustos de un plumazo.

Seguro que se puede añadir alguna más, que podéis dejar en comentarios.

Saludos

Extraido del blog de Alberto Sagredo.

0 comentarios:

Invitame a un cafe !!!

Si te gusto este blog colabora...