2J-Instalación de Joomla de Forma Segura
2J-Instalación de Joomla de Forma Segura
2J-Instalación de Joomla de Forma Segura
INSTALAMOS APACHE 2
ASEGURAMOS NUESTRO SERVIDOR
INSTALACION MYSQL
CONFIGURAMOS JOOMLA
SEGUNDO DE ASIR
Pgina 1
Una vez que hayamos introducido nuestra contrasea si nos la pide nos pedir una confirmacin y comenzar la instalacin comenzar la instalacin
El archivo apache2.conf es el archivo principal de configuracin de nuestro apache, no lo modificaremos realizando los cambios en el pertinentes a la seguridad antes de proseguir. http://www.thegeekstuff.com/2011/03/apache-hardening/
SEGUNDO DE ASIR
Pgina 2
EVITANDO FINGERPRINTING
Por defecto muchas instalaciones de Apache muestran el nmero de versin que est funcionando, el sistema operativo y un informe de mdulos de Apache estn instalados en el servidor. Los usuarios maliciosos pueden utilizar esta informacin para atacar tu servidor. Con la configuracin del banner explicada en la pgina 7 antes de compilar. ServerSignature Off: Evita que se enve informacin sobre la versin del servidor en las pginas de error.
SEGUNDO DE ASIR
Pgina 3
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 RESTRINGIR PERMISOS SOBRE DIRECTORIOS
Al final el servicio httpd va a servir documentos que estn almacenados en el sistema de ficheros por lo que es importante securizar en que partes se tiene permisos y en cules no, para ello por defecto se pueden configurar las opciones ms restrictivas sobre el sistema de ficheros y luego configurar en cada directorio las opciones particulares. Para restringir el sistema de ficheros debemos configurar algo como: [Directory /] Order Deny, Allow Deny from all Options None [/Directory]
En esta seccin del archivo de configuracin estamos restringiendo el acceso a todos los usuarios a todos los ficheros del directorio / y adems, con Options None estamos prohibiendo el listado de directorios, la ejecucin de programas CGI, la posibilidad de seguir links simblicos y la de inclusin de documentos del lado del servidor. La directiva Order indica el modo en que se van a procesar las peticiones, es interesante la manera de funcionar de la misma ya que los resultados de las directivas Deny o Allow dependern de la configuracin de Order.
SEGUNDO DE ASIR
Pgina 4
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 DIRECTIVAS A TENER EN CUENTA
DESACTIVA LOS INCLUDES DEL LADO SERVIDOR Esto tambin se hace con las opciones de directiva dentro de la etiqueta directorio tiene dos posibles valores none o includes. Options -Includes DESACTIVA LA EJECUCIN DE CGI Si no necesitas la ejecucin de CGI por algn motivo en concreto desacrivalos se hace con las opciones de directiva dentro de la etiqueta directorio tiene dos posibles valores none o ExecCGI. Options -ExecCGI NO PERMITIR QUE APACHE SIGA ENLACES SIMBLICOS De nuevo se configura con las opciones de directiva dentro de la etiqueta directorio tiene dos posibles valores none o FollowSymLinks. Options -FollowSymLinks
DESACTIVAR TODAS ESTAS OPCIONES Si deseas desactivar el uso de todas las opciones de la etiqueta directorio de las que hemos hablado ahora simplemente pero esto puede dejar inoperable a Xampp: Options None
Si solamente deseas DESACTIVAR ALGUNAS EN CONCRETO RECOMENDADO, separalas con un espacio en las opciones de directiva: Options -ExecCGI -FollowSymLinks -Indexes
SEGUNDO DE ASIR
Pgina 5
Aadimos estas dos lneas al final del mdulo. SSLSessionCache "shmcb:logs/ssl.scache(512000)" SSLSessionCacheTimeout 45
DESACTIVAR LA AYUDA PARA LOS ARCHIVOS .HTACCESS Con la directiva AllowOverride. Cmbialo a None. AllowOverride None
SEGUNDO DE ASIR
Pgina 6
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 DESHABILITAR PROTOCOLOS NO SEGUROS
DESHABILITAR PROTOCOLO SSL2 Para aumentar la seguridad de nuestro servidor Apache debemos desabilitar las conexiones SSL2 ya que es un protocolo inseguro.
# Habilitamos nicamente cifrado fuerte SSLCipherSuite HIGH:MEDIUM:!ADH # Habilitamos nicamente protocolos seguros o tambin podemos quitar SSLv3 como en mi caso SSLProtocol -all +TLSv1 +SSLv3
SEGUNDO DE ASIR
Pgina 7
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 COMPROBAMOS EL FUNCIONAMIENTO
Reiniciemos apache: sudo /etc/init.d/apache2 restart
COMO EXTERNA
SEGUNDO DE ASIR
Pgina 8
Despues de esto veremos como comienza la instalacin de cada uno de los paquetes
SEGUNDO DE ASIR
Pgina 9
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 COMPROBAMOS SU FUNCIONAMIENTO
Esto instalara PHP 5 y todas sus dependencias y los mdulos necesarios para una comunicacin con bases de datos mysql, para asegurarnos que fue correcto podemos hacer lo siguiente, en el directorio /var/www/ se encuentran una serie de directorios y archivos que son los encargados de mostrarnos una pgina de inicio para saber si apache esta funcionando, esta pgina es la que vimos cuando verificamos que apache funcionaba y no dice mucho mas que la frase "It Works!", lo que haremos ahora es crear el archivo info.php dentro de este directorio con el siguiente comando sudo gedit /var/www/info.php en el cual simplemente escribiremos lo siguiente: <?php phpinfo(); ?> Quedando como vemos en la siguiente imgen
Luego, desde un navegador escribimos como URL la direccin del servidor y solicitamos la pgina info.php, de modo que quede algo como lo 192.168.1.36/info.php, esto nos debera devolver una pgina bastante extensa en la cual figuran las caractersticas de PHP
SEGUNDO DE ASIR
Pgina 10
INSTALACION MYSQL
sudo apt-get install mysql-server Una vez ejecutado el comando se nos pedir la confirmacin pertinente como en anteriores ocasiones y confirmaramos veramos el progreso y se nos presentara la siguiente ventana en la que tendramos que introducir la contrasea para acceder como root a mysql o dejarlo sin contrasea, NO RECOMENDADO
COMPROBAMOS SU FUNCIONAMIENTO
Esto instalara mysql server 5.0, el cliente mysql y todas sus dependencias. Para asegurarnos que todo ha salido bien podemos ejecutar en una terminal: Mysql unombredeusuario -pcontrasea
SEGUNDO DE ASIR
Pgina 11
cd joomla
Descargamos la ltima versin en espaol de Joomla o su ltima versin aunque no este en espaol nos podremos descargar los modulos de traduccin en cuanto salgan.
Extraemos los archivos, lo podramos hacer tanto desde la lnea de comando o como vamos a hacer ahora, desde el interfaz grafica, el archivo que nos hemos descargado, se encuentra en el directorio que habamos creado, seleccionamos el archivo, y extraemos todos los ficheros, en esta misma carpeta.
SEGUNDO DE ASIR
Pgina 12
Nos cambiamos al directorio superior para poder mover correctamente, en el siguiente paso, el directorio joomla que era en el que nos encontrbamos: cd ..
Movemos el directorio que contiene la estructura de Joomla a /var/www: sudo mv joomla /var/www
CAMBIAMOS PERMISOS
Ahora cambiaramos los permisos de nuestro servidor (nosotros ya habamos asegurado nuestro servidor Apache, asique no es necesario)
SEGUNDO DE ASIR
Pgina 13
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 CREAMOS LA BASE DE DATOS PARA JOOMLA
Entramos en mysql identificndonos y creamos la base de datos con el nombre de joomla create database joomla;
FLUSH PRIVILEGES;
SEGUNDO DE ASIR
Pgina 14
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 SALIMOS Y BORRAMOS EL HISTORIAL DONDE SE ENCUENTRAN LAS CONTRASEAS
Lo siguiente que hacemos va a ser salir de mysql y borrar el historial donde se encuentra nuestra contrasea. Para esto utilizamos los siguientes comandos Para salir de mysql quit Y para borrar el historial de mysql rm -f ~/.mysql_history
Despus de hacer esto reiniciaremos apache para que podamos acceder sin problemas y se inicie la instalacin sin ningn problema sudo /etc/init.d/apache2 restart
SEGUNDO DE ASIR
Pgina 15
INSTALANDO JOOMLA
SELECCIONAMOS IDIOMA
Comenzamos la instalacin, accediendo al archivo, index.php seleccionamos el idioma de instalacin.
Para solucionar problema, creamos el archivo configuration.php, que es donde Joomla guardar los datos de configuracin de nuestro sitio web:
SEGUNDO DE ASIR
Pgina 17
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 SOLUCIONAMOS ERRORES CONFIGURACIONES RECOMENDADAS
Como podemos ver todo esta configurado de forma ptima, menos el rea de intercambio de buffer de salida la cul esta activada y la recomendacin es que no lo este.
Para solucionar este problema editamos el archivo de configuracin PHP con el siguiente comando sudo gedit /etc/php5/apache2/php.ini
Y una vez que lo hemos abierto nos dirigiremos a la siguiente lnea y cambiamos el valor que tuviramos por Off, Guardamos el archivo y para que los cambios tengan efecto tambin es necesario reiniciar apache.
Como podemos ver al hacer la comprobacin hemos solucionado el error, y ya tenemos la configuracin ptima.
SEGUNDO DE ASIR
Pgina 18
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 LEEMOS LA LICENCIA Y ACEPTAMOS LOS TERMINOS
En el siguiente paso leemos la licencia y, una vez hayamos finalizado, hacemos clic sobre Siguiente.
CONFIGURAMOS FTP
Aunque en nuestro caso y en el de la mayora como propiamente se nos indica, no sea necesario, pulsaremos en siguiente para saltarnoslo
SEGUNDO DE ASIR
Pgina 19
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 CONFIGURACION PRINCIPAL
En la configuracin principal deberemos escribir tanto el nombre de nuestro sitio web como el correo electrnico del administrador y la contrasea para el usuario admin. El usuario admin lo crea Joomla por defecto y ser con el que empecemos a administrar nuestro sitio. Adems podemos instalar datos de ejemplo pulsando sobre el botn correspondiente:
FINALIZAMOS LA INSTALACION
Cuando hemos terminado, se nos dice que tenemos que eliminar la carpeta de instalacin, es posible que al pulsar sobre el botn de eliminar carpeta de instalacin nos de error, asique lo que hacemos ser abrir una terminal.
Para ello ejecutamos el siguiente comando: sudo rm -R /var/www/joomla/installation/ Y no debemos olvidarnos de modificar los permisos del configuration.php para que sea de solo lectura para todo el mundo menos para el administrador, por si deseamos hacer algn cambio: sudo chmod 744 /var/www/joomla/configuration.php
SEGUNDO DE ASIR
Pgina 20
COMPROBAMOS SU FUNCIONAMIENTO
Una vez hecho esto podremos acceder al sitio perfectamente y sin ningn tipo de problema
Y podemos ver como son funcionales todos los ejemplos que hemos instalado, si es que nos habamos decidido por esa opcin.
SEGUNDO DE ASIR
Pgina 21
CONFIGURAMOS JOOMLA
ENTRAMOS COMO ADMINISTRADOR PARA LA CONFIGURACION
Ahora para terminar, podemos ver que para entrar como administrador, tendremos que poner /administrator justo despus, de la ruta por la cual accedemos a joomla normalmente, nos saldr algo como lo que vemos en la imagen, donde tendramos que identificarnos.
Una vez identificados accederamos al panel de control, donde tenemos todas las opciones de configuracin que nos proporciona joomla
SEGUNDO DE ASIR
Pgina 22
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 PESTAA SITIO
Ahora podemos proceder a la afinacin de Joomla, incluyendo cambios predeterminados en el idioma. En el panel de administracin selecciona la opcin Configuracin global del men. En la primera pestaa llamada Sitio podrs:
Hacer tu sitio web fuera de servicio, mientras est en desarrollo Elegir/cambiar el nombre del sitio web (Nombre de la empresa) Cambiar el editor HTML predeterminado para la edicin de artculos Agregar metadatos como palabras claves, etiquetas, etc.
SEGUNDO DE ASIR
Pgina 23
Editor por defecto Es el editor de texto que aparecer a los usuarios en diferentes formularios. Esto puede ser modificado para diferentes grupos de usuarios en forma posterior, desde el Gestor de Usuarios. Se trata de una lista desplegable que muestra todas las opciones con que se cuenta. En caso de que no se instalen editores de terceros, las posibilidades son las de emplear el editor Tiny MCE, Code Mirror o ninguno. Nivel de acceso por defecto Desde aqu se puede configurar el nivel de acceso de los usuarios por defecto, y que puede ser modificado luego por grupos o en forma individual en el Gestor de Usuarios. Se trata de una lista desplegable donde aparecen los cuatro niveles de acceso posibles, Pblico, Registrado, Especial o un nivel de acceso personalizado. Lmite de lista por defecto Permite ingresar una cifra que ser la cantidad de tems que tendr cada lista del Panel de Control para todos los usuarios. Lmite de feeds por defecto Es la cantidad de tems que se mostrarn en los listados de feeds. Emails de los feeds En los feeds pueden incluirse el email del autor del mismo, o si as se define, el email de la pgina. Estas dos opciones aparecen en la lista desplegable.
SEGUNDO DE ASIR
Pgina 24
SEGUNDO DE ASIR
Pgina 25
Son aquellas configuraciones que pueden facilitar el posicionamiento de la pgina en los buscadores. Las configuraciones que se pueden realizar son: URLs amigables para buscadores Se debe marcar si se quiere o no que las URLs de la pgina sean amigables para los buscadores, sustituyendo parte de la URL por los alias, reduciendo la extensin y la complejidad de la URL. Utilizar el mdulo de reescritura (mod_rewrite) de Apache Esta configuracin solo es posible para las pginas que estn alojadas en servidores con tecnologa Apache. Esta configuracin permite o no que se emplee el mtodo de reescritura directa bajo determinadas condiciones. Agregar sufijos a la URL Permite configurar que el sistema agregue sufijos a la URL basndose en el tipo de documento. Esto quiere decir que, de ser documentos HTML, se agregar el sufijo .html. Alias Unicode Aqu se puede seleccionar si se desea que se emplee la transliteracin o alias Unicode. Por defecto, el sistema utiliza la primera opcin. Agregar el nombre de la pgina a los ttulos Con esta opcin, se define si desea o no que el nombre de la pgina web sea agregado a todos los ttulos de las diferentes pginas. Configuracin de cookies Aqu se deben especificar el dominio que se utiliza para configurar las cookies de sesin, y la ruta que debe ser vlida para la cookie.
SEGUNDO DE ASIR
Pgina 26
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 PESTAA SISTEMA
La ficha Sistema te permite:
Establecer parmetros para los usuarios Configuracin del cach, cambiar duracin de la sesin, etc. Configurar la multimedia
Dentro de la configuracin del sistema, tambin existen tres divisiones: La primera es la configuracin de los parmetros del sistema, que tiene en primer lugar la posibilidad de ver el nmero secreto, que es un nmero generado por Joomla durante la instalacin, y que tiene funciones relacionadas con la seguridad. Luego aparece un campo en el que se puede ver la ruta donde se guardan los datos de registro. Por ltimo, una lista desplegable permite seleccionar el idioma de la ayuda en lnea. Una vez que se ha determinado el lenguaje a utilizarse, el sistema dirigir la ayuda a pginas de ayuda en el lenguaje seleccionado.
SEGUNDO DE ASIR
Pgina 27
SEGUNDO DE ASIR
Pgina 28
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 PESTAA SERVIDOR
En la ficha Servidor puedes cambiar el horario del servidor, establecer parmetros FTP, configurar la base de datos, as como cambiar la cuenta de correo electrnico del administrador. Si tienes que cambiar la configuracin de la base de datos, as como la contrasea y el usuario, puedes hacerlo en esta pestaa.
SEGUNDO DE ASIR
Pgina 29
[INSTALACION SERVIDOR CON JOOMLA DE FORMA SEGURA] 20 de febrero de 2012 PESTAA PERMISOS
Como su propio nombre indica, es la pestaa donde asignamos los permisos, y la configuracin como siempre todo lo relacionado a los permisos es bastante compleja y depende de para que va a ser utilizada. Para una mayor optimizacin recomiendo leer tutoriales sobre esto, como el de el siguiente enlace. http://www.lawebera.es/manual-joomla/permisos-usuarios-joomla-1-6-segunda-parte.php
SEGUNDO DE ASIR
Pgina 30