lunes, 4 de noviembre de 2013

Recomendación de la tienda por temas de seguridad

Oscommerce te da una serie de recomendaciones por temas de seguridad que es mejor cumplirlas para que después no nos tengamos que tener que arrepentir de no haberlo hecho.

Los puntos más importantes son:

1. Modificar los permisos de los ficheros configure.php

    Tanto el que se encuentra en la ruta:
 
    /includes/configure.php

    Como el que se encuentra en la ruta:
 
    /admin/includes/configure.php

    Tienen que tener los permisos 644 (linux), es decir,

    Propietario : Lectura y escritura
    Grupo : Lectura
    Otros : Lectura

2. Nos informa que tenemos que hacer un chequeo de los permisos de todos los ficheros de la tienda, para eso, tenemos que ir al menú Tools --> Security checks,
  




Al hacer clic en la opción 'Security Checks', nos muestra todas las vulnerabilidades que puede tener nuestra tienda/servidor y que es mejor corregir.








Se nos queja de los permisos del archivo configure.php de la ruta /includes/configure.php, volvemos a repasar que lo hayamos hecho bien, y hacemos un reload y nos tendría que verificar que esta correcto,














3. Otra de las recomendaciones es que vayamos a la opción del menú Tools --> Security Directory Permissions,





Al hacer clic en la opción 'Security Directory Permissions', nos tendría que aparecer una página con el listado de todos los archivos, con una marca en verde los que tienen que tener permisos de escritura y con una marca en rojo con los que no tienen que tener este permiso:





Podemos ver que tenemos algunos permisos erróneos y que tenemos que modificar, como la carpeta images (que tiene que tener permisos de escritura), una vez lo hayamos modificado todo, tiene que ser igual la primera columna a la segunda, de modo que, hemos de tener algo parecido a esto:




























4. Otra recomendación que nos indica es que debemos dar permisos de escritura al servidor en los ficheros .htaccess y .htpasswd_oscommerce, que localizaremos en la carpeta "admin".

5. Por último, vamos a añadir administradores (si es que queremos añadir alguno), o modificar nuestro login y password de administrador. Para ello vamos a Configuration --> Administrators



Y realizaremos los cambios que consideremos oportunos marcando la casilla "Protect With htaccess/htpasswd".













Modificamos el password, y seleccionamos la casilla y guardamos los cambios.
Y nos tiene que aparecer esta pantalla, donde nos informa que nuestro sistema de administración está protegido por una capa adicional de seguridad,








Ahora solamente nos queda ir a la ventana principal de nuestro panel de administración y veremos que han desaparecido todas las alertas menos una,





























Este mensaje nos informa de que hace más de 30 días que no hemos ejecutado la comprobación de seguridad,

Para hacerlo, tenemos que volver al menú Tools --> Security Checks,

y tenemos que comprobar que todas las opciones están en verde, a excepción de la última, que nos indica que no se ha chequeado si existe una actualización de Oscommerce.





























Pulsamos sobre la opción para que realice la comprobación,





















Y nos certifica que, en este casi, no existen nuevas versiones, por lo que si volvemos a la ventana del chequeo nos aparecerán ya todas las opciones en verde, señal inequívoca de que lo tenemos todo correctamente configurado.


























Hasta aquí nuestra instalación básica de Oscommerce. A partir de aquí vamos a ir mostrando como darle forma a nuestra tienda para que sea, al final, completamente operativa.

Descargando Oscommerce 2.3.X y subirlo al servidor

Para encontrar la última versión de Oscommerce debéis dirigiros a la página oficial de OSCOMMERCE,

     http://www.oscommerce.com/Products

Desde donde os podréis descargar la última versión. Tened en cuenta que este blog se refiere exclusivamente a las versiones 2.3.X, siendo la última versión a la hora de elaborar este blog, la 2.3.4.

Una vez descargado Oscommerce en nuestro escritorio, vamos a iniciar una sesión de WinSCP con nuestro servidor.

Ejecutamos WinSCP y se nos abrirá una ventana parecida a esta:





Pulsamos sobre la opción 'Nueva' y nos aparecerá una nueva ventana, donde deberemos introducir los datos de acceso SSH facilitados por nuestro administrador o los que hayamos creado nosotros como "root", si hemos creado nuestro servidor desde el principio.










Una vez entrados los datos, si estamos seguros, podemos guardar la conexión, para no tener que informarlos cada vez que queramos acceder, o bien, simplemente pulsamos sobre al tecla 'Conectar'.








Si todo ha ido bien, debería aparecer una pantalla parecida a esta:























Como hemos comentado, veréis que, en la ventana de la izquierda tenéis la parte que corresponde a vuestro Escritorio, donde estará la última versión de Oscommerce, que os habéis bajado previamente; y en la ventana de la derecha, el directorio "raíz" de vuestro servidor (conocida como la ventana remota).

Ahora es tan sencillo como navegar en la ventana de la derecha hasta la carpeta donde vamos a instalar la tienda, es decir, /var/www/mitienda/, y una vez allí, arrastraremos el fichero comprimido de Oscommerce hasta el interior de la misma. Se nos abrirá una ventana de confirmación a la que deberemos confirmar la copia pulsando la tecla "Copiar".























Una vez el paquete zip de oscommerce está en nuestro servidor vamos a descomprimirlo. Para ello utilizaremos la ventana de comandos desde el Putty en una conexión SSH remota.





Una vez hemos puesto la ip o el nombre del servidor y del puerto, hacemos clic en el botón 'Open' para establecer la conexión.
Se nos abrirá la ventana de comandos, donde tendremos que identificarnos con nuestro usuario y password.



Una vez iniciada la sesión, tenemos que situarnos en la ruta siguiente:

/var/www/mitienda/






     Una vez dentro de la carpeta, vamos a descomprimir Oscommerce. (tenemos que tener el paquete unzip instalado; si no lo tenemos instalado tenemos que ejecutar el comando : apt-get install unzip; en caso de distribuciones de tipo debian). Si tenemos el paquete unzip instalado, para descomprimir el paquete oscommerce, tendremos que ejecutar el comando siguiente.

     unzip oscommerce-2.3.3.4.zip

Si todo ha ido bien, veréis pasar una retahíla de líneas por vuestra ventana de la terminal hasta finalizar la descompresión.














Vamos ahora de nuevo a nuestra ventana WinSCP y pulsamos sobre el icono de Actualizar, tenemos que ver el cambio al descomprimir:

Antes de actualizar



Después de actualizar














Vamos ahora a entrar en la carpeta de Oscommerce descomprimida para mover a la carpeta raíz de nuestra tienda el contenido útil de Oscommerce, y así evitaremos tener un path de acceso a la tienda demasiado largo.





Bastara con entrar a la carepta y, como haríamos en Windows, arrastrar la carpeta "catalog" hacia la carpeta que aparece con los 2 puntos (..)












Con lo que nuestra carpeta raíz debería quedar así.






Llegados a este punto, estamos ya en disposición de poder proceder a la instalación de nuestra tienda propiamente dicha.

Instalación de Oscommerce (parte 1)

Antes de empezar, damos por hecho de que los pasos previos comentados en este mismo blog, os funcionan correctamente; tanto si habéis instalado un servidor des de cero como si ya tenéis uno hecho, pero que incluya todos los módulos necesarios. En cualquier caso los requisitos mínimos nos los va a pedir Oscommerce en el momento en que empecemos la instalación.

De todas formas, adelantamos que necesitaremos tener instalado, como mínimo, el phpMyAdmin para crear nuestra base de datos MySQL.
Cuando lo instaléis, os pedirá que defináis un usuario y una contraseña, que serán los que necesitaremos para acceder a él de una forma fácil.

Si vuestro servidor es de pago y ya viene con phpmyadmin instalado, posiblemente vuestro administrador os los habrá facilitado ya.

En cualquier caso vamos a crear ya nuestra base de datos. No os asustéis, aunque algunos de estos términos os puedan sonar a chino, este es un proceso fácil al alcance de cualquiera.

A. CREAR LA BASE DE DATOS

Por defecto, phpmyadmin se habrá instalado en /var/www/mitienda/phpmyadmin, si no ha sido así, deberéiss preguntar a vuestro administrador cual es el path para acceder a la aplicación.

En nuestro caso, y siguiendo el ejemplo, abriremos una ventana de nuestro navegador y escribiremos la url siguiente:

     http://www.midominio.com/phpmyadmin

Se nos abrirá una ventana parecida a esta:

 






Una vez accedamos con nuestro login/password, nos aparecerá la ventana principal de la aplicación, donde pulsaremos sobre la opción "Bases de Datos":












Una vez dentro, nos situamos donde pone "Crear base de datos", ponerle el nombre que queramos y pulsar sobre la tecla "Crear", tal y como podemos ver en la imagen siguiente:


Si todo ha ido bien, en el margen izquierdo de la pantalla os aparecerá ya la base de datos creada con el nombre que le hayáis puesto:


























Ya tenemos nuestra base de datos creada; ya podemos cerrar sesión del phpmyadmin y cerrar el navegador.

B. APLICACIONES IMPRESCINDIBLES

Llegados a este punto, es imprescindible tener un software de cliente ftp y un software de cliente ssh.

Si trabajamos con Windows, los mejores son (a nuestro parecer):

Putty

Es un terminal SSH para que podáis acceder en modo consola a la raíz de vuestro servidor y ejecutar algunas aplicaciones posteriormente y que podéis descargaros haciendo clic aquí.

WinSCP 

Es un terminal tipo FTP pero bastante más potente y seguro, y que os permitirá gestionar los ficheros y carpetas de Linux como si estuvierais trabajando con Windows y os facilitará enormemente la vida. Podéis descargar la última versión haciendo clic aquí.

Si trabajamos con Linux, los mejores son (a nuestro parecer):

Terminal 

Es el software que viene por defecto en linux, no hay que instalarlo.

Filezilla

Es un cliente FTP, muy sencillo de utilizar y que al igual que el WinSCP de windows, nos permitrá gestionar los ficheros y carpetas del servidor web, en un entorno gráfico muy amigable. Para más información podéis acceder a la página oficial del software, haciendo clic aquí.


Preparación básica del servidor para Oscommerce 2.3.X

Llegados a este punto, ya tenemos el sistema operativo instalado, el paquete lamp (apache, mysql y php) también instalado y funcionando.

Que necesitamos hacer antes de empezar con la instalación de la tienda?

1. Instalar los paquetes adicionales php5-curl, php5-gd, phpmyadmin, unzip y awstats con los comandos siguientes:

    apt-get install php5-curl
    apt-get install php5-gd
    apt-get install phpmyadmin
    apt-get install unzip
    apt-get install awstats

2. Crear la carpeta en la que instalaremos nuestra tienda dentro de:

    /var/www/ ; es decir, /var/www/mitienda

    Podríamos haber utilizado directamente la carpeta /var/www para hacer la instalación, pero de esta forma veremos también cómo funciona el sistema de VirtualHosts en Apache2 para alojar varios dominios bajo una misma IP.

    En adelante usaremos la carpeta "mitienda" como ejemplo y supondremos que nuestro dominio es "midominio.com".
    Comentar que podéis cambiarlo con el nombre que os apetezca teniendo en cuenta que deberéis cambiarla en todos los apartados de este blog donde aparezca el nombre de "midominio.com".

3. Si vamos a necesitar más de un dominio en nuestro servidor, por ejemplo, para instalar más de una tienda, deberemos habilitar el Virtual_Host con el comando :

    a2enmod vhost_alias

y reiniciar el servicio Apache2 con:

    /etc/init.d/apache2 restart

Una vez habilitado vamos a crear los parámetros de nuestro dominio. Para ello editaremos un documento de texto al que llamaremos "midominio.com" con el nombre de vuestro dominio en este caso. En él le indicaremos la ruta de nuestra carpeta "mitienda" y habilitaremos los permisos necesarios:

<VirtualHost *:80>
     ServerAdmin administrador@midominio.com
     ServerName www.midominio.com
     ServerAlias midominio.com
     DocumentRoot /var/www/mitienda
     <Directory />
          Options FollowSymLinks
          AllowOverride None
     </Directory>
     <Directory /var/www/mitienda/>
          Options -Indexes FollowSymLinks MultiViews
          AllowOverride All
          Order allow,deny
          allow from all
     </Directory>
     ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
     <Directory "/usr/lib/cgi-bin">
          AllowOverride None
          Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
          Oder allow,deny
          Allow from all
     </Directory>
     CustomLog /var/log/apache2/midom.log combined
     ErrorLog /var/log/apacher2/midomer.log
</VirtualHost>

Una vez editado lo subiremos al servidor a la ruta siguiente:

     /etc/apache2/sites-available/

Si no hubiésemos configurado el sistema para Virtual Host podríamos haber editado directamente el fichero default de la misma carpeta.

Ahora, para que nuestro dominio funcione, deberemos crear un enlace simbólico a la carpeta: /etc/apache2/sites-enabled/

Para hacerlo tenemos que abrir una terminal del servidor o des de un cliente ssh (tipo putty), para ejecutar el comando siguiente:

     ln -s /etc/apache2/sites-available/midominio.com /etc/apache2/sites-enabled/

Una vez creado el enlace simbólico vamos a reiniciar Apache y comprobar que todo funciona correctamente. Reiniciamos el Apache con el comando:

     /etc/init.d/apache2 restart

Para comprobar el funcionamiento, creamos un "index.html" de prueba para verificar que todo funciona antes de empezar con la instalación de nuestra tienda. Un ejemplo de index.html seria:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>midominio.com</title>
</head>

<body>
<center><h1>midominio.com</h1></center>
</body>
</html>

Lo subimos a nuestra carpeta "mitienda" y probamos desde nuestro navegador a conectarnos a http://www.midominio.com. Si el navegador contesta y nos aparece nuestra página, vamos por buen camino,








Si no nos muestra nuestra página o no nos funciona, tenemos que hacer marcha atrás y volver a repasar todos los pasos hechos hasta ahora.

Instalar paquete lamp en ubuntu server 12.04

Si durante la instalación de la distribución ubuntu server no lo hemos instalado con las opciones lamp y MySQL, lo podemos hacer a "posteriori". Para hacerlo es muy sencillo, solo tenéis que seguir los pasos siguientes:

1. Abrir una terminal desde el propio servidor o conectarse a través de ssh al servidor.

2. Una vez estemos dentro del servidor, para instalar el paquete lamp, tenemos que ejecutar el comando siguiente:

    sudo apt-get install lamp-server^

    Se instalaran todos los paquetes necesarios, puede ser, que alguna vez se quede la instalación en stand-by porque os pide si queréis continuar, vosotros tenéis que teclar la "y" de yes y el continuará con la instalación.

3. Cuando llegue a la instalación del MySQL, nos aparecerá una pantalla parecida a ésta:














Lo que tenemos que hacer es introducir un password para el usuario root de MySQL, una vez puesta hacemos clic en la opción <Ok> , y nos saldrá otra ventada similar que nos pedirá que repitamos el password,













Repetimos la contraseña i hacemos clic en la opción <Ok>.
Luego continuará con la instalación hasta terminar.

Instalar ubuntu server en el servidor

Para la preparación del servidor, si partimos de un servidor nuevo, lo primero que tenemos que hacer es instalar el sistema operativo. En nuestro caso, hemos escogido linux i en particular la distribución ubuntu (basada en debian) por estabilidad y por conocimiento. Vosotros podéis utilizar el sistema operativo y/o la distribución que os sea más cómodo; pero todo nuestro blog estará basado en un sistema linux y en concreto en ubuntu.

Empezamos...

1. Bajar la última versión LTS de ubuntu, y lo podemos hacer clicando aquí.

    Se recomienda la última versión LTS ya que son las que ofrecen actualizaciones y soporte por parte del desarrollador durante 5 años. Ahora mismo la versión 12.04.3 LTS es la última versión disponible y ofrece soporte hasta el 2017.

2. Durante la instalación del ubuntu server, podemos seleccionar que se instale con las opciones LAMP y MySQL (si no lo hacemos durante la instalación lo podemos instalar más tarde, ver como hacerlo haciendo clic aquí).

3. Actualizar todos los paquetes de la instalación del ubuntu server; con los comandos de terminal:

    apt-get update
    apt-get upgrade

Si la instalación del servidor ha sido correcta, llamando a la IP de vuestro servidor desde un navegador, debería aparecernos una pantalla con el clásico "It works", cuyo .html corresponde al que se encuentra en:

    /var/www/

La imagen de éxito que os debe mostrar al acceder al navegador, tiene que ser parecida a esta:


Si os aparece este mensaje es que la instalación ha sido realizada con éxito.

 

VISITAS

PageRank Checker