FODA

Factores clave:
(positivos)
+ Existencia de comunidades de desarrolladores y usuarios de manera creciente.
+ Resistencia a la pérdida de autonomía.
+ Visibilidad de las legislaciones / Intensiones de que atacan las libertades.
+ Mayor exigencia crítica sobre todo en la juventud.
+ Movimiento social y organización social creciente.
(negativos)
+ Dependencia del hardware (equipamiento).
+ Libre Comercio y predominio del mercado (TLC, TPP y otros).
+ Compromiso de las clases dirigentes con la economía de dependencia.
+ Ideología de la competencia (llevada a la Educación y la Cultura).
+ Resistencia al cambio como expresión de conservadurismo.
+ Menosprecio de nuestra identidad.
+ Crisis económica, desestructuración de las economías locales.
+ Grandes monopolios.
Identificación de las fuerzas del entorno (Social, Tecnológico, Económico, Cultural, Pólitico, Ambiental)
+ Ritmos /prisas / Coyunturas / Urgencia.
+ Limitación en cuanto a acceso a la información.
+ Facilidad de acceso al software libre.
+ Políticas públicas de fomento al software libre.
+ Falta de capacitación al software libre.

Seguridad digital

Es claro que el objetivo principal y más importante de un sitio web es la interacción con sus usuarios y visitantes sin importar donde se encuentren ni de quien se trate. Es precisamente esa interacción la que plantea grandes desafíos para la gestión, mantenimiento y seguridad de la plataforma. Posterior a lograr el funcionamiento y personalización de Wordpress, es necesario abordar el tema de la seguridad.

La revisión de los aspectos de seguridad del sitio web es una medida necesaria e inherente para garantizar que el sitio web implementado tenga la capacidad de afrontar y resistir las amenazas de seguridad más comunes que se dan en plataformas conectadas a Internet en el presente.

La falta de atención al tema de seguridad puede resultar en perdida de información, violaciones de privacidad y otros problemas que pueden llegar a comprometer la confianza y fiabilidad de la información que se hace pública. Es preciso recordar que muchas veces, un sitio web es una forma de representación virtual de una persona o institución en Internet.

Sin embargo, la seguridad representa un tema complejo para usuarios y administradores quienes muchas veces prefieren evitar la tarea ante la falta de los conocimientos y practica necesaria. Por lo tanto, éste capítulo pretende ser una guía que facilite la revisión y mejora de las medidas de seguridad de nuestro sitio web.

Es importante enfatizar que gracias a los avances significativos y al compromiso existente de la comunidad que diseña y mejora la plataforma Wordpress, muchas tareas de seguridad han sido automatizadas mediante la creación de complementos y herramientas especificas para hacer más fácil el proceso de reforzamiento o hardening.

Durante el desarrollo del presente capítulo se expondrán varias formas de llevar a cabo las tareas básicas de seguridad y respaldos, pero será el usuario quien elija la forma de llevarlas a cabo. Lo más importante es tener claro que la seguridad debe abordarse como un compromiso serio y necesario que no debe depender de ningún otro factor para llevarse a cabo.

Respaldos de la información general del sitio web

El primero punto relacionado con la seguridad de un sitio web es la realización de los respaldos del mismo. Esa tarea se subdivide en dos, que son el respaldo de los archivos (código fuente en forma de archivos con extención php, archivos de configuración, complementos, temas, etc.) y el respaldo de la base de datos. Ambas partes se complementan para dar vida al sitio web, por lo que es estríctamente necesario realizarlas en su totalidad, ya sea de forma manual o automatizada mediante el uso de complementos.

Respaldos manuales

Para realizar el respaldo manual no utilizaremos complementos, sino que accederemos directamente a la información disponible utilizando las herramientas que nos ofrece nuestro proveedor de servicio de almacenamiento web.

Respaldo manual de la base de datos (MySQL)

Utilizaremos el programa PhpMyAdmin, instalado en la mayoría de proveedores de almacenamiento web (hosting). Nos dirigiremos a la URL en donde se encuentra instalada nuestra plataforma, seguido de la cadena phpmyadmin, por ejemplo, ctamlibre.org/phpmyadmin.

Para ingresar a phpmyadmin debemos utilizar los mismos datos de usuario y contraseña generados y utilizados durante el proceso de instalación de Wordpress, mismos que se encuentran plasmados en el archivo wp-config.php, ubicado en la carpeta raíz de nuestra plataforma Wordpress, y al cual podemos acceder usando el programa Filezilla.

Una vez dentro, haremos click sobre el nombre de nuestra base de datos, que se encuentra en la barra lateral izquierda, y posteriormente sobre el botón Export:

Interfaz PhpMyAdmin

Imagen 1: Respaldo vía Interfaz PhpMyAdmin

Se nos mostrarán algunas opciones, de las cuales seleccionaremos el modo rápido (Quick) y el formato SQL (Format). Acto seguido haremos click en el botón Continuar (Go), acción que descargará en nuestra computadora un archivo de texto plano con formato SQL, que contiene toda la información almacenada en nuestra base de datos.

Respaldo manual de los archivos de Wordpress

El proceso para obtener la copia de respaldo de los archivos que conforman nuestra plataforma es muy similar al proceso usado para subir los archivos de Wordpress al servidor, explicado a detalle en el Capítulo 3 "Instalación de Wordpress". Por favor, refiérase a dicho capitulo para conocer el proceso para establecer comunicación con el servidor.

Primero crearemos una carpeta en nuestro equipo local, en la cual descargaremos todos los archivos contenidos en la carpeta en donde esté instalado Wordpress. Para ello, seleccionaremos todos los archivos y carpetas de Wordpress que figuran en la columna de la derecha, para arrastrarlos a la carpeta creada para este propósito.

Respaldo FTP

Imagen 2: Respaldo de archivos vía FTP

El proceso puede durar varios minutos dependiendo de la velocidad de conexión a Internet. Filezilla nos avisará en cuanto termine el proceso de descarga. Si durante el proceso algunas transferencias fallan, Filezilla lo indicará en la pestaña Transferencias fallidas. En ese caso, lo mejor es repetir el procedimiento, sobreescribiendo los archivos que ya fueron descargados a nuestro equipo. De esa forma nos aseguraremos de que todos los archivos y carpetas fueron descargados correctamente.

Actualización de Wordpress

El núcleo de Wordpress, sus complementos y temas están en desarrollo permanente por lo que continuamente presentan actualizaciones y mejoras, tanto en el tema de seguridad como en sus funcionalidades.

Es importante tener claro que los complementos y temas son independientes de la plataforma Wordpress, lo cual significa que los complementos y temas pueden presentar actualizaciones sin necesidad de que el núcleo de Wordpress también las presente, y viceversa.

La actualización es un proceso necesario que debe ser continuo y quedar establecido en el itinerario de trabajo del responsable de mantener el sitio web como una propuesta formal que incluya cuantas horas mensuales se dedicarán a realizar está tarea. Es un proceso que debe realizarse sin excepción.

La falta de actualización y de respaldos es un fallo de seguridad importante que puede poner en riesgo el sitio web en su totalidad. Este capitulo se ofrece una guía del proceso de actualización.

Previo a realizar actualizaciones de cualquier tipo, no olvide que es muy importante generar respaldos de base de datos y de los archivos que conforman la plataforma para utilizarlos en caso de algún fallo en la actualización.

Revisión del estado de las actualizaciones

De forma predeterminada, la interfaz administrativa muestra notificaciones automáticas sobre las nuevas actualizaciones, tanto del núcleo de Wordpress como de los complementos y temas instalados. Para acceder a la interfaz de actualizaciones debemos dirigirnos al menú Escritorio>Actualizaciones.

En la siguiente imagen se pueden observar las diferentes notificaciones mostradas sobre las actualizaciones pendientes.

Actualizaciones

Imagen 3: Actualizaciones

Las actualizaciones del núcleo, componentes y temas también se pueden realizar de forma manual o automática.

Actualización automática del núcleo, complementos y temas

La actualización automática es la forma más fácil, rápida y segura de actualizar, ya que la misma plataforma se encargará de realizar todos los pasos correspondientes. Con este método, todas las actualizaciones se realizan desde el panel de control.

  • Actualización automática del núcleo: Para actualizar el núcleo desde el gestor de actualizaciones solo se requiere hacer click sobre el botón de color azul Actualizar ahora, como se muestra en la siguiente imagen.

Actualización automática del núcleo

Imagen 4: Actualización automática del núcleo

Es importante aplicar la actualización correspondiente de acuerdo al idioma utilizado, ya que aparece una actualización en ingles y otra en español.

  • Actualización automática de complementos: Para actualizar los complementos desde el gestor de actualizaciones solo se requiere seleccionar el complemento o complementos a actualizar y posteriormente hacer click sobre el botón Actualizar Plugins.

Actualización automática de complementos

Imagen 5: Actualización automática de complementos

  • Actualización automática de temas: Para actualizar los temas desde el gestor de actualizaciones solo se requiere seleccionar el o los temas a actualizar y luego hacer click sobre el botón "Actualizar Temas".

Actualización automática de temas

Imagen 6: Actualización automática de temas

Nota: En algunos servidores, sin embargo, debido a ciertas configuraciones, la actualización automática podría no estar disponible. Por tal motivo podría ser necesario conocer la manera de realizar actualizaciones manuales.

Actualización manual de complementos

Primero es necesario verificar los complementos que necesitan actualizarse, desde el gestor de actualizaciones o desde la pantalla de complementos. Una vez identificados los complementos a actualizar, procedemos a descargar cada complemento en su última versión desde el repositorio oficial de complementos de Wordpress. El proceso es muy similar al de instalación de complementos, el cual se abordó en el capítulo pasado.

Es importante desactivar desde la interfaz de administración los complementos a actualizar para evitar fallos. Una vez desactivados, procederemos a eliminar aquellos que serán actualizados, ya sea borrando la carpeta o renombrándola. Una vez hecho éste último paso, descomprimiremos los archivos en formato ZIP descargados anteriormente y los subiremos a la carpeta wp-content/plugins, en la cual se almacenan los complementos de Wordpress. Para más información refiérase al Capítulo 4 - Complementos para Wordpress.

Actualización manual de temas

La primer acción a realizar es verificar los temas que necesitan actualizarse, desde el gestor de actualizaciones. Cuando se ha identificado el tema a actualizar, mediante un navegador web se procede a descargar la última versión desde el repositorio oficial de temas de Wordpress.

De la misma forma que con los complementos, es necesario conectarse mediante FTP al servicio de hosting y ubicar la carpeta wp-content/themes para eliminar o renombrar las carpetas de los temas correspondientes. Una vez hecho esto, procederemos a subir la última versión del tema descargado y descomprimido, tal y como se muestra en el Capítulo 5 - Temas para Wordpress.

Complementos para la seguridad

All In One WP Security & Firewall

All In One WP Security & Firewall es uno de los mejores y más completos complementos de seguridad para Wordpress, enfocado en reforzar la seguridad de la plataforma de diversas formas. Su objetivo es ofrecer un sitio web con aspectos de seguridad avanzada. Permite que el usuario lleve a cabo revisiones significativas de las vulnerabilidades de seguridad más comunes en Wordpress y en sitios web en general, sugiriendo soluciones y buenas practicas de seguridad.

El complemento abarca desde aspectos sencillos hasta aspectos sumamente complejos de seguridad, con explicaciones claras y concretas en la mayoría de las reglas que permite configurar. Fue realizado por expertos en seguridad informática, además de ser libre y gratuito.

Al instalar el complemento es posible acceder a su configuración mediante el menú que se ubica en la columna izquierda del panel de control bajo el titulo Seguridad Wordpress.

AIOWPS

Imagen 7: All In One Wordpress Security

La primera pantalla, el submenú Escritorio, ofrece una vista rápida de las características de seguridad activas, así como información general sobre el estado del sitio web. Permite conocer información sobre la plataforma, las direcciones IP que han sido bloqueadas, y el registro de actividades en la plataforma. También cuenta con un medidor de seguridad que incrementa según las reglas que hayamos configurado, así como una gráfica que muestra de qué reglas vienen los puntos conseguidos. Por último podemos observar si existen usuarios conectados a la plataforma y el registro de los últimos 5 usuarios que se han conectado.

Escritorio AIOWPS

Imagen 8: Escritorio de AIOWPS

El segundo submenú llamado Opciones ofrece las primeras características de seguridad que deben tomarse en cuenta, resumidas en cinco pestañas:

  • Configuración general: Ofrece opciones para activar o desactivar rápidamente las reglas que han sido configuradas dentro del complemento. También se puede habilitar desde esta pantalla el modo depuración, en caso de necesitar información extra sobre determinados problemas en la plataforma.
  • .htaccess Archivo: Permite respaldar y restaurar el archivo .htaccess, en el cual se definen la mayoría de las reglas del complemento, así como otras opciones de configuración del servidor web.
  • wp-config Archivo: Permite respaldar y restaurar nuestro archivo de configuración de Wordpress.
  • WP Version info: Permite ocultar la versión instalada de Wordpress, de forma tal que un atacante no sepa que versión tenemos ejecutándose en nuestro sitio web.
  • Import/Export: Desde esta pestaña podemos respaldar y restaurar completamente la configuración de AIOWPS.

El submenú Cuentas de usuario permite revisar configuraciones de los usuarios registrados en la plataforma. Se divide a su vez en tres pestañas:

  • WP Nombre de usuario: Permite verificar que el nombre usado por el usuario administrador no sea "admin", ya que este es el nombre de usuario por defecto en todas las instalaciones de Wordpress, lo cual resulta fácil de inferir para un atacante.
  • Mostrar nombre: Esta pantalla verifica que los usuarios estén utilizando un alias (nickname) en lugar de su nombre de usuario real, con el fin de que en el sitio no haya forma de saber los nombres de usuario válidos que pueden acceder a la plataforma. Al final de la sección aparece una lista con los nombres de usuario registrados, y al hacer click en alguno nos lleva a la pantalla de perfil de usuario, en donde debemos modificar el campo Alias (obligatorio), y a continuación elegirlo en el campo Mostrar este nombre públicamente. Para finalizar esta configuración haremos click en el botón Actualizar perfil.
  • Contraseña: Herramienta que permite verificar la fortaleza de nuestra contraseña de usuario. En esta pantalla podemos darnos una idea aproximada del tiempo necesario para realizar un ataque exitoso para adivinar nuestra contraseña, dependiendo de su fortaleza. Cabe resaltar que una contraseña fuerte o dura tiene una longitud de más de 10 caracteres, y combina letras mayúsculas, minúsculas, números y símbolos de puntuación.

En la sección Ingreso de usuarios podemos configurar una serie de opciones que nos permitan controlar la forma en la que los usuarios registrados se comunican con el sitio web.

  • Login lockdown: En esta pantalla podemos restringir el número de intentos de acceso al panel de control de nuestro sitio. Para habilitarla seleccionaremos Activar característica de bloqueo de inicio de sesión. A continuación podemos elegir el número máximo de intentos de ingreso, por lo cual si algún usuario realiza más intentos de los permitidos, será bloqueado automáticamente y su dirección IP aparecerá en la lista de IPs bloqueadas del submenú Escritorio. Debemos configurar también el lapso de tiempo en el que los intentos fallidos ocurran para determinar si el usuario resulta bloqueado, así como el tiempo que permanecerá bloqueado. La última opción permite recibir un correo cuando un usuario resulte bloqueado. Para finalizar, guardaremos la configuración haciendo click en el botón Guardar opciones.

Bloqueo de inicio de sesión

Imagen 9: Bloqueo de inicio de sesión

  • Failed login records: En esta pantalla se registrarán los intentos fallidos de inicio de sesión, lo que nos permitirá saber cuando alguien está intentando acceder a nuestro sitio web sin conseguirlo, y desde que dirección IP.
  • Forzar salir: Permite configurar una cantidad de tiempo límite para la sesión de usuario, por lo que si se permanece más tiempo del permitido se le forzará a iniciar sesión nuevamente.
  • Registros de actividad de la cuenta: Muestra los inicios de sesión exitosos para las cuentas con privilegios de administración
  • Usuarios conectados: Muestra información sobre los usuarios que se encuentran actualmente conectados a la plataforma.

La sección Registro de Usuarios permite controlar la manera en que los usuarios se registran en nuestro sitio web.

  • Aprobación manual: Restringe el registro de usuarios para su aprobación explícita, por lo que un usuario que desee registrarse en la plataforma necesariamente deberá esperar a que su cuenta se apruebe por un usuario administrador.
  • Captcha registro: Permite habilitar un captcha o reto al momento de registrarse en la plataforma, lo que impide que programas automatizados registren usuarios en nuestro sitio web.

El submenú Seguridad base de datos permite configurar reglas para reforzar la base de datos (BD) utilizada por Wordpress.

  • Prefijo DB: Permite modificar el prefijo utilizado por defecto en todas las instalaciones de Wordpress (wp_) para dificultar que algún atacante pueda obtener información a partir de este hecho. Es recomendable realizar un respaldo de la BD antes de modificar el prefijo usado.
  • Respaldo BD: Permite configurar un respaldo automatizado de la BD, que se almacenará en un directorio del mismo espacio de almacenamiento web donde está alojada nuestra plataforma. Podemos elegir la cantidad de tiempo entre cada respaldo y el número de respaldos a mantener de forma simultanea. Por último tenemos la opción de que el archivo resultante se nos envíe por correo-e.

La sección Seguridad de archivos nos permitirá tener información sobre los permisos de los archivos y directorios más relevantes de nuestra plataforma. También podremos configurar algunas reglas para restringir el acceso a ellos.

  • Permisos de archivo: Nos muestra una tabla con información sobre los permisos que tienen cada uno de los archivos y directorios importantes de Wordpress, y los permisos recomendados. Para los archivos se recomienda el acceso de lectura y escritura para el propietario, y de sólo lectura para los demás usuarios del sistema (0644), mientras que para los directorios se recomienda acceso de lectura, escritura y ejecución para el propietario, y de lectura y ejecución para los demás usuarios (0755). Nótese que al hablar sobre el usuario propietario y los demás usuarios que no lo son, se está haciendo referencia a los usuarios del sistema operativo donde se ha instalado la plataforma, y no a los usuarios registrados en nuestra plataforma Wordpress. En caso de que no tengamos los permisos recomendados, desde esta pantalla podremos modificarlos.
  • Edición archivo PHP: Permite desactivar la edición de archivos de código fuente (PHP) desde el panel de administración de Wordpress.
  • WP Acceso archivo: Permite desactivar el acceso a algunos archivos que Wordpress genera en todas las instalaciones y que contienen información sobre la plataforma instalada.
  • Host system Logs: En esta pantalla podremos consultar el registro de errores del sistema.

La sección Búsqueda WHOIS es una herramienta de red que permite consultar información sobre una dirección IP o nombre de dominio específico, de tal forma que podemos saber quién registró un nombre de dominio determinado, la fecha de creación y caducidad del dominio, el correo de soporte técnico, entre otra información.

La pantalla de Administrador de listas negras permite prohibir que ciertas direcciones IP o agentes de usuario (tipos genéricos de navegadores web) se comuniquen con nuestro sitio, con el fin de bloquear intentos de ataques automatizados por programas de computadora o ciertos usuarios utilizando determinados navegadores.

La sección de Firewall nos permitirá configurar reglas de seguridad relativas a cómo los usuarios se comunican con nuestra plataforma web.

  • Reglas básicas de Firewall: En esta pestaña podemos habilitar la protección mediante un cortafuegos de aplicación (Application Firewall), así como desactivar el uso del protocolo XMLRPC y la funcionalidad Pingback, utilizada por algunos programas maliciosos para difundir SPAM. En caso de utilizar el complemento Jetpack no es recomendable desactivar el uso del protocolo XMLRPC.
  • Reglas adicionales de Firewall: En esta pestaña podemos deshabilitar el listado de archivos y directorios en nuestro sitio web, la funcionalidad de rastreo y seguimiento, los comentarios que se generan detrás de un servidor Proxy, las consultas malformadas y aquellas que contengan caracteres especiales.
  • 6G Blacklist Firewall Rules: Permite habilitar el bloqueo de peticiones maliciosas a partir de una base de datos generada y mantenida por un equipo de expertos.
  • Internet Bots: Permite bloquear peticiones que vienen de programas que se hacen pasar por Google Bots, que a su vez son los encargados de buscar e indexar las páginas web en el motor de búsqueda Google.
  • Prevent Hotlinks: Deshabilita el uso de las imágenes de nuestro sitio en otros sitios desde los cuales se hace referencia a ellas.
  • 404 Detection: Permite registrar las peticiones a páginas que no existen en nuestro sitio con el objetivo de detectar intentos de ataques.

En la sección Brute Force es posible configurar algunas reglas para prevenir ataques de fuerza bruta, es decir, cuando un atacante realiza miles de intentos de inicio de sesión para adivinar usuarios y contraseñas válidas.

  • Rename Login Page: Renombra la página de inicio de sesión, generalmente llamada wp-admin o wp-login, de tal forma que un atacante no pueda utilizarla para realizar un ataque de fuerza bruta.
  • Cookie Based Brute Force Prevention: Utiliza reglas basadas en Cookies para prevenir ataques de fuerza bruta.
  • Login Captcha: Coloca un reto o captcha en la página de inicio de sesión y en la página para recuperar contraseñas de usuarios, para prevenir que programas automatizados realicen intentos de autenticación masivos.
  • Lista blanca de ingreso: Permite establecer una lista de rangos de direcciones IP de confianza para comunicarse con nuestra plataforma.
  • Honeypot: Crea una página falsa de inicio de sesión para los bots maliciosos, de forma tal que no puedan usar la página real para intentar inicios de sesión no autorizados.

La sección de Prevención de SPAM permite configurar reglas que mitiguen el problema de SPAM o comentarios no deseados.

  • Comentario SPAM: Permite habilitar retos o captchas al momento de escribir comentarios en el sitio. También impide que programas automatizados realicen comentarios.
  • Monitoreo IP comentario SPAM: En esta pantalla podemos configurar un número máximo de comentarios antes de ser considerados SPAM, para posteriormente bloquear su dirección IP.

La sección de Escáner permite la revisión constante de los archivos que integran nuestra plataforma Wordpress.

  • Detección de cambio de archivos: Generará una lista de los archivos actuales y podrá realizar revisiones constantes de cambios en ellos. Esta revisión se puede configurar de manera periódica, avisando vía correo-e sobre cambios detectados.

La sección Mantenimiento permite configurar una página de aviso para utilizar cuando nuestro sitio web se encuentre en modo mantenimiento.

La sección Miscellaneous tiene algunas opciones de protección extra:

  • Copy protection: Permite deshabilitar la opción de copiar texto de nuestro sitio, la cual es accesible mediante un click con el botón derecho del ratón.
  • Frames: Impide que otros sitios visualicen el nuestro usando un cuadro (Frame) o iFrame, que es un elemento de HTML que permite introducir contenido de otros sitios remotos en el propio.
  • Users Enumeration: Impide que programas maliciosos puedan adivinar el nombre de los usuarios registrados mediante consultas al sitio.