miércoles, 21 de noviembre de 2007

Contraseñas en Trixbox

Hola,

La entrada de hoy va dedicada a la gestión de contraseñas en Trixbox y la creación de perfiles de administración para FreePBX.

Cuando instalamos Trixbox, todos los servicios quedan configurados con los usuarios y contraseñas de administración por defecto, como es lógico, si queremos proteger nuestro sistema deberemos cambiar estas contraseñas. En Trixbox hay bastantes contraseñas, y no es precisamente muy intuitiva su gestión. Vamos a intentar resumirlo en pocas palabras:

La primera y más importante contraseña a cambiar es la de administración (maint) del Trixbox. Cuando accedemos a la web principal y cambiamos a modo "admin", nos pide los datos del usuario administrador, que por defecto son: "maint"/"password".

Para cambiar esta contraseña tenéis que entrar como usuario root al sistema, por ejemplo, mediante SSH, y ejecutar el comando: "[..]#passwd-maint".

Sobre cómo cambiar además el nombre del usuario administrador para que sea distinto a "maint" hay una discusión aquí, pero mejor eso para cuando seamos mayores.

El segundo password que vamos a cambiar es del usuario administrador de FreePBX. Por defecto, una vez entrado como administrador del TrixBox, no nos pedirá el password de administrador de FreePBX, porque está tomando el password por defecto: "admin"/"amp111".

Para cambiar este password hay que tocar el fichero /etc/asterisk/manager.conf y en la entrada para el usuario [admin] cambiar el password al valor que queramos.

Una buena opción que da FreePBX es la gestión de perfiles de usuarios para distintos administradores. Por ejemplo, si distribuyes esta aplicación y la vendes como un paquete cerrado sólo tú como administrador tendrás el poder de cambiar cualquier valor de configuración para dejar el sistema listo para tu cliente. Sin embargo, a tu cliente puedes darle la opción de que él mismo pueda dar de alta extensiones, crear audioconferencias, etc, sin necesidad de que te moleste.

Para probar cómo funciona esto vamos a crear dos perfiles, uno el del administrador actual ("admin"), que tiene visibilidad de todo el sistema y otro que solo pueda acceder a la extensiones y a crear conferencias ("adminCliente").

Para ello tenemos que decirle primero que la información de los usuario la tome de la base de datos, para ello tenemos que modificar en el fichero /etc/amportal.conf la variable AUTHTYPE=database. En segundo lugar hay que modificar el fichero /etc/trixbox/httpconf/trixbox.conf y comentar las entradas correspondientes al usuario "admin". Debería quedar algo parecido a esto:

[trixbox1.local httpdconf]# cat trixbox.conf
#Password protect /var/www/html/admin
#

#AuthType Basic

#AuthName "Restricted Area"

#AuthUserFile /usr/local/apache/passwd/wwwpasswd
#Require user wwwadmin maint
#

#Password protect /var/www/html/maint
AuthType Basic
AuthName "Restricted Area"

AuthUserFile /usr/local/apache/passwd/wwwpasswd
Require user maint


Una vez modificado esto hay que reiniciar tanto FreePBX ([..]#amportal restart) y el httpd ([..]#/etc/init.d/httpd restart). Ahora ya desde el web, en el menú "Administrator" de FreePBX podemos dar de alta los usuarios que queramos.

Para ello basta introducir un nombre de usuario ("adminCliente") y password (que ahora se almacenará en la base de datos mysql) y seleccionar en "Admin Access" las opciones del menú que queremos que ese usuario pueda gestionar. Utilizando la tecla de control seleccionaremos "Extensions" y "Conferences".

Lógicamente a tu cliente "adminCliente" tendrás que decirle que para acceder a la gestión de esas opciones debe acceder a la URL http://[IP del servidor]/admin

Ojo ¡ No borres nunca el usuario "admin", será bastante complicado volver a tener el control del sistema.

El tercer password que podemos cambiar es de la base de datos mysql. Para ello entramos como usuario root mediante SSH y cambiamos el password del usuario por defecto (asteriskuser):

mysqladmin -u asteriskuser -p password xxxxx
(introducir password actual)


A continuación hay que modificar los siguientes ficheros:
(Importante: haced las modificaciones desde la conexión SSH, a través del web os dará problemas de permisos)

En /etc/amportal.conf:

AMPDBUSER=asteriskuser
AMPDBPASS=xxxxx

En /etc/asterisk/cdr_mysql.conf:

password=xxxxx
user=asteriskuser

En /etc/asterisk/res_mysql.conf:

dbuser = asteriskuser
dbpass = xxxxx

Una descripción (en inglés) más detallada de este paso la podéis encontrar aquí.

Finalmente vamos a ver cómo se cambian los password para las aplicaciones cliente Web-Meetme y ARI.

Estas aplicaciones son las que ve el cliente cuando se conecta a URL de nuestro servidor TrixBox. Para el caso del Web-Meetme, el usuario y password por defecto son "wmm@localhost"/"wmmpw".

El password para el usuario administrador del Web-Meetme (aquel que puede dar de alta nuevos usuarios), está en el fichero /var/www/html/web-meetme/trixbox-files/meetme.sql.

La única manera que he encontrado para modificar este password, una vez instalado, es acceder a la base de datos "meetme" como usuario root:

mysql meetme -u root -p

(el password por defecto para el usuario root en mysql es "passwr0d" (ojo que la "o" es un cero))

e introducimos el comando:

mysql> update user set password='xxxxx' where email='wmm@localhost';

y listo.

Nota: realmente aún no se para qué sirve el comando "[..]#passwd-meetme" y por tanto el usuario "meetme". Comentarios son bienvenidos :)

Dejaremos para otro momento cómo configurar Asterisk para que funcione Web-Meetme, para no desviarnos del tema de los passwords.

En el caso de ARI (o Voicemail and Recordings) hay que introducir como nombre de usuario la extensión asignada a dicho usuario (por ejemplo 200) y como contraseña, el password para voicemail configurado para dicha extensión, como se describió en la entrada anterior.


Espero que os sea de utilidad.

Un saludo, Alice.


1 comentario:

Cindy dijo...

Hola amigos quisiera saber si alguien de ustedes sabe como puedo hacer
para realizar una conferencia entre mis lineas. al yo agregar a
/etc/asterisk/features.conf
lo siguiente

blindxfer=## desto es para transferncia a ciegas
atxfer=** y transferencia guiada

al apretar ## yo puedo transferir las llamadas. pero ahora lo que
necesito es que oprimiento algo de mi tel pueda hacer una conferencia
no entrar a una sala de conferencias.

Gracias, espero me puedan ayudar.