Mostrando entradas con la etiqueta cambiar contraseña. Mostrar todas las entradas
Mostrando entradas con la etiqueta cambiar contraseña. Mostrar todas las entradas

viernes, 17 de septiembre de 2010

Cómo proteger tu Asterisk frente a ataques

Nos hemos encontrado con un articulo que tiene algunas recomendaciones que pueden ayudarte a prevenir o a solucionar posibles problemas con tu Asterisk.

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.

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 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. En voip-info puedes encontrar un script bastante interesante

14.- Banear ips de países que no te interesan. Si al final vas a tener extensiones remotas en ISPs de España u otro país, ¿ 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 bastantes disgustos.

si quieres ver el articulo original, puedes encontrarlo en :

http://www.voipnovatos.es/item/2009/08/cmo-proteger-tu-asterisk-frente-a-ataques

Agradecemos también a Juan Oliva

jueves, 16 de septiembre de 2010

Cambiar la contraseña root de MySQL

¿Olvidaste o perdiste la contraseña del usuario 'root' de MySQL?, no hay problema, solo sigue estás sencillas instrucciones y podrás establecer una nueva. Claro siempre y cuando tengas acceso al usuario 'root' de Linux.

Detener el servidor

#> service mysqld stop
o

#> /etc/rc.d/init.d/mysqld stop



Iniciar en modo FULL o abierto

#> mysqld_safe --skip-grant-tables --skip-networking& 

--skip-grant-tables esta opción causa que el servidor no use el sistema de privilegios lo que le da acceso ilimitado a todas las bases de datos a todos los usuarios de la base de datos.

NOTA: Si MySQL fue configurado y compilado con la opción '--disable-grant-options' entonces lo anterior no funcionará y no hay mucho que se pueda hacer entonces y no se podrá cambiar la contraseña, aunque en la práctica realmente esta opción casi no se usa.

--skip-networking deja de escuchar (LISTEN) conexiones TCP/IP provenientes de la red, es decir MySQL trabajaría en un ambiente totalmente local.


Iniciar el monitor

#>mysql -u root 

Como no hay sistema de privilegios en este momento, no se preguntara por la contraseña.

Usamos la base de datos del sistema mysql

mysql> use mysql; 

Actualizamos el campo que cambiará la contraseña de 'root'

mysql> UPDATE user SET password=PASSWORD('nuevo_pass') WHERE user='root';
Query OK, 1 rows affected (0.07 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> exit
#>

Reiniciar el servidor y listo!!!

#> service mysqld restart 

La siguiente vez que entrés al monitor (mysql -u root -p) usa la nueva clave o contraseña.


Cambiar PASSWORD sabiendo la contraseña actual

Ahora bien si lo que queremos es cambiar la contraseña, sabiendo la contraseña actual lo podemos hacer así:

$ mysqladmin -u root -p'oldpassword' password newpass

ejemplo:

$ mysqladmin -u root -p'abc' password '123456'