Aplicativos web con desarrollo seguro

Diseño y desarrollo de aplicativos web con contenido seguro

En la siguiente información podrá encontrar recomendaciones para aplicar en su diseño, para mostrar contenido seguro, a todos sus usuarios.

NOTA: El Sitio, diseño, desarrollo, página, contenido o aplicaciones Web son creados, adquiridos y/o implementados directamente por el cliente, diseñador o Web Master a cargo del mismo y estos no tienen relación con el servicio de Hosting.

Todos los contenidos son de total responsabilidad del cliente, diseñador o Web Master del mismo, ya que dichos elementos no fueron diseñados por Colombia Hosting,
y es un caso relacionado totalmente con DISEÑO WEB y no ALOJAMIENTO (HOSTING). Por lo que dicho soporte técnico de diseño web debe ser tramitado por el cliente con un diseñador o empresa de diseño web.

Recomendaciones esenciales de protección y disfrute de su contenido seguro:

Aplicaciones-propias

Aplicaciones propias: Diseños o Desarrollos propios creados o contratados a terceros por el usuario:

  • El código debe ser compatible con la última versión estable de PHP según la fecha. (Actualmente PHP 8.1).
  • Los formularios deben tener un sistema de captcha (verificación de humano, por ejemplo: digite los números que aparecen en la imagen).
  • La recepción de datos de formularios u otros (variables GET, POST, etc.) deben ser filtrados y controlados de forma segura para evitar inyecciones de: SQL, RFI, Path, Comandos y Código.
  • El sitio no debe permitir Secuencias de Comandos en Sitios Cruzados (XSS)
  • El sitio no debe permitir la Falsificación de Peticiones de Sitios Cruzados (CSRF)
  • Si la aplicación tiene subida de archivos, la subida debe filtrar el tipo de documento a subir con más de 4 filtros (Extensión, Dimensiones, Mime, nombre, primer byte, etc) y prevenir subidas de archivos maliciosos.
  • Las secciones privadas o requeridas del sitio web deben estar protegidas por sesiones gestionadas de forma segura y con roles, al igual que las funciones deben tener control de acceso.
  • Gestión de contraseñas seguras con sistemas de encriptación actualizada.
  • Los documentos privados deben alojarse en una carpeta fuera del contenido web, y entregados por alguna página PHP que utilice sesiones y permita la descarga de dichos documentos.
  • La entrega de información debe realizarse preferiblemente por POST para evitar publicar información en la barra de direcciones.
  • El sitio debe evitar la referencia directa insegura a objetos.
  • Evitar usar funciones de riesgo como (shell_exec, exec, passthru, system).
  • Revisar el código fuente y sospechar de código ofuscado o ilegible.
  • Evitar la exposición de información sensible (al mostrar errores, dentro del código html, etc).
  • Validar correctamente redirecciones e inclusiones remotas.
  • El sitio debe tener un archivo de robots.txt, protegiendo de motores de búsqueda u otros los contenidos que presenten algún riesgo o no se requieran indexar en buscadores.
  • El sitio debe permitir utilizar https de forma sencilla o ser compatible con ambos protocolos http y https.
  • Gestión de presentación de errores controlada.
  • Eliminar archivos de prueba, versiones anteriores y/o elementos que no serán utilizados.
  • Realizar y entregar lista de control de contenidos de directorios y archivos con fecha.
  • El cliente debe tener una copia del diseño inicial (contenido web y base de datos) en su oficina o ubicación local: USB, DVD, CD, Disco Duro, etc (no hosting).
  • Si utiliza librerías de terceros, debe tener en cuenta adicionalmente todos los puntos mostrados en el siguiente punto a continuación. (Aplicaciones de Terceros)

Aplicaciones de terceros

Aplicaciones de terceros: Si utiliza alguna aplicación, librería o componente web como Joomla, WordPress, Drupal, Prestashop, Moodle, Magento, plugin, entre otros, debe tener en cuenta:

  • El instalador y todos sus componentes deben ser descargados de las páginas oficiales (joomla.org, wordpress.org, etc).
  • La aplicación debe cumplir con las recomendaciones mostradas en el dato anterior (Aplicaciones Propias)
  • Debe utilizar la última versión estable disponible según la fecha de instalación.
  • Utilizar plantillas y componentes actualizados y obtenidos de fuentes confiables y analizar sus contenidos.
  • Si en el contrato de su diseñador, este no incluye actualizaciones, puede solicitarle la entrega de un manual al cliente final donde se indique como se actualiza la aplicación web a la última versión.
  • Evitar que el sitio web permita la creación de usuarios o comentarios de forma automática.
  • Utilizar sistemas de captcha en todos los formularios del sitio web.
  • Revisar el código fuente y sospechar de código ofuscado o ilegible de los componentes/plantillas/plugins.
  • No debe utilizar componentes o software que no tenga actualizaciones periódicas.
  • No debe sobreescribir archivos del núcleo de la aplicación (por ejemplo, editar la plantilla que viene con Joomla o editar los archivos originales del Joomla).
  • El usuario debe actualizarse constantemente en información de seguridad de la aplicación o librería utilizada.
  • Eliminar archivos de prueba, instaladores, versiones anteriores, plugins, temas y/o elementos que no serán utilizados.
  • Realizar y entregar lista de control de contenidos de directorios y archivos con fecha del diseño inicial.
  • El cliente debe tener una copia del diseño inicial (contenido web y base de datos) en su oficina o ubicación local: USB, DVD, CD, Disco Duro, etc (no hosting).

Otros contenidos

Otros contenidos: archivos o carpetas que son subidos o creados por el cliente o a través del diseño web:

  • No alojar backups o copias de seguridad.
  • No alojar versiones anteriores o que no se utilicen de un sitio web.
  • Eliminar archivos o aplicaciones de pruebas que no tengan uso en el sitio.
  • Limpiar archivos temporales y/o papelera regularmente
  • No sobreescribir aplicaciones (Por ejemplo, instalar WordPress en una carpeta donde está Joomla y viceversa).
Imagen de perfil de Sebastian Perez
Sebastian Perez

Líder de Soporte Técnico, Colombia Hosting Integrante de la compañía desde 2014, conocedor de soluciones, avances y administración de servicios de alojamiento web y correos electrónicos. Encaminado al crecimiento continuo, común y propio de todo su equipo, en el ámbito de conocimientos tecnológicos y personales.