GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo debo almacenar de forma más segura los archivos obtenidos al duplicar un sitio web?

Los tipos de archivos que enumeró y los objetivos que presentó dan como resultado una gran superficie de ataque. Suponiendo un adversario sofisticado, esto da una posibilidad mucho mayor de explotación. Los archivos PDF y PPT/PPTX son particularmente problemáticos. Si no puede limitarse a muchos menos tipos de archivos, deberá aislar sus actividades, ya sea mediante la separación de privilegios o la virtualización remota.

Separación de privilegios

Esta es una solución en el caso de que necesite realizar esta actividad en su computadora local. Si bien sería difícil aislar individualmente cada aplicación que usará, puede crear un nuevo usuario en su computadora con pocos privilegios:

  • Deshabilitar el acceso a su y sudo del nuevo usuario, y no los use como ese usuario.
  • No su a su usuario menor desde la raíz para evitar ataques de retroceso de TTY.
  • Utilice iptables para deshabilitar el acceso a la red para ese usuario.
  • Establezca límites de recursos para reducir la cantidad de daño que puede causar una aplicación explotada.
  • Use Wayland en lugar de Xorg si es posible, o Xorg con systemd-logind para ejecutarlo como no root.
  • Habilite y use la clave de atención segura cuando termine y cambie a una nueva sesión.
  • Busca y elimina todos los archivos setuid o setgid innecesarios, así como los archivos setcap.
  • Utilice un marco de auditoría como auditd para monitorear actividades potencialmente maliciosas.
  • Aplicar refuerzo general del sistema, como ajustes de sysctl o parches de refuerzo.

Dependiendo del nivel de sofisticación del adversario, esto puede no ser suficiente, e incluso para un adversario de capacidad moderada, esto es bastante incompleto, pero es un punto de partida. Como debe suponer (muy probablemente correctamente) que las aplicaciones que está utilizando para acceder a estos archivos son vulnerables a la ejecución de código arbitrario, la pregunta se convierte en ¿Cómo puedo ejecutar código que no es de confianza? , que por supuesto es extremadamente amplio.

Servidores Privados Virtuales

Una solución más fácil sería usar un VPS. Puede ejecutar aplicaciones de forma remota en el VPS en lugar de en su propia computadora e interactuar con él de esa manera. Incluso si el VPS está completamente comprometido, el área de superficie de ataque se reduce a la de su cliente SSH y su terminal, que es bastante pequeña. Como no podrá ver imágenes directamente a través de SSH (al menos no de manera segura), es posible que desee convertirlas a un formato de imagen muy simple (y difícil de explotar) antes de transferirlas a su computadora local y verlas. Un ejemplo de dicho formato sería el formato de mapa de píxeles PPM. Esto también funciona para ver archivos PDF, ya que se pueden convertir fácilmente en archivos de imagen usando varias utilidades.

El anfitrión de un VPS puede acceder y modificar cualquier cosa en el VPS. Si esto es un problema para usted (por ejemplo, si los archivos son extremadamente confidenciales o la integridad es de suma importancia), es posible que no desee utilizar un VPS. Es poco probable que esto sea un problema, y ​​como el sitio web del que ha descargado ya es (presumiblemente) público, no debería haber ningún problema de confidencialidad. Puede aumentar la confidencialidad y la integridad de los datos utilizando en su lugar un servidor dedicado, aunque eso sería más costoso.

Debe mantener una copia de seguridad local de estos archivos, en caso de que el VPS se apague, para que pueda restaurarlo en otro VPS más tarde. Los archivos locales deben almacenarse en un formato "inerte" que no sea susceptible de ser explotado por ningún indexador o generador de miniaturas que pueda tener en su sistema. Esto se puede hacer, por ejemplo, colocando los archivos en un archivo como tar .

Como necesitará utilizar utilidades de línea de comandos en lugar de gráficas, deberá encontrar formas de acceder a estos archivos a través de SSH. Algunos ejemplos que puedes hacer de forma remota en un VPS:

  • Puede convertir PNG, TIFF, JPEG y GIF (no animados) a PPM para verlos localmente de forma segura.
  • XLS/XLSX se puede convertir a CSV, lo cual está bien en la línea de comandos. Hay un buen complemento vim.
  • RTF, DOC, DOCX y ODF se pueden convertir en imágenes, que se pueden ver localmente de forma segura.
  • No conozco ninguna forma de ver PPT/PPTX en la línea de comandos, aunque puedes analizarlos.
  • HTML, CSS y JS se pueden ver en un editor de texto o ejecutar en un navegador remoto basado en texto.
  • PHP se puede ver en un editor de texto o ejecutar usando un intérprete PHP de línea de comandos.

Linux
  1. Cómo copiar archivos de forma segura entre hosts Linux utilizando SCP y SFTP

  2. Cómo cargar archivos de sitios web a su alojamiento

  3. Cómo transferir archivos de forma segura usando sftp (ejemplos incluidos)

  4. ¿Cómo usar dos2unix?

  5. ¿Qué permisos deben tener los archivos/carpetas de mi sitio web en un servidor web Linux?

Cómo eliminar archivos de forma segura usando el comando Shred en Debian 10

Cómo usar más comandos en Linux para leer archivos de texto grandes

Cómo:Comandos SFTP:transferir archivos de forma segura a un servidor remoto

Cómo encontrar archivos en Debian

Cómo eliminar archivos de forma segura usando el comando Shred en Debian 11

Cómo limpiar archivos innecesarios