GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso archiviare in modo più sicuro i file ottenuti tramite il mirroring di un sito Web?

I tipi di file che hai elencato e gli obiettivi che hai presentato si traducono in un'enorme superficie di attacco. Supponendo un avversario sofisticato, ciò offre una possibilità enormemente maggiore di sfruttamento. I PDF e PPT/PPTX sono particolarmente problematici. Se non puoi limitarti a molti meno tipi di file, dovrai isolare le tue attività, utilizzando la separazione dei privilegi o la virtualizzazione remota.

Separazione per privilegio

Questa è una soluzione nel caso in cui sia necessario eseguire questa attività sul computer locale. Anche se sarebbe difficile eseguire il sandboxing individuale di ogni singola applicazione che utilizzerai, puoi creare un nuovo utente sul tuo computer con pochi privilegi:

  • Disattiva l'accesso a su e sudo dal nuovo utente e non utilizzarli come quell'utente.
  • Non su al tuo utente minore da root per evitare attacchi pushback TTY.
  • Usa iptables per disabilitare l'accesso alla rete per quell'utente.
  • Imposta limiti di risorse per ridurre la quantità di danni che un'applicazione sfruttata può causare.
  • Usa Wayland invece di Xorg se possibile, o Xorg con systemd-logind per eseguirlo come non root.
  • Abilita e usa la chiave di attenzione sicura quando hai finito e passa a una nuova sessione.
  • Cerca e rimuovi tutti i file setuid o setgid non necessari, così come i file setcap.
  • Utilizza un framework di controllo come auditd per monitorare attività potenzialmente dannose.
  • Applica la protezione generale del sistema come tweak di sysctl o patch di protezione.

A seconda del livello di sofisticazione dell'avversario, questo potrebbe non essere sufficiente, e anche per un avversario di capacità moderate, questo è piuttosto incompleto, ma è un punto di partenza. Poiché devi presumere (probabilmente correttamente) che le applicazioni che stai utilizzando per accedere a questi file siano vulnerabili all'esecuzione di codice arbitrario, la domanda si trasforma in Come posso eseguire in sicurezza codice non attendibile? , che ovviamente è estremamente ampio.

Server privati ​​virtuali

Una soluzione più semplice sarebbe quella di utilizzare un VPS. Puoi eseguire applicazioni in remoto sul VPS piuttosto che sul tuo computer e interagire con esso in questo modo. Anche se il VPS è completamente compromesso, la superficie di attacco è ridotta a quella del tuo client SSH e del tuo terminale, che è piuttosto piccola. Poiché non sarai in grado di visualizzare direttamente le immagini su SSH (almeno non in modo sicuro), potresti voler convertirle in un formato di immagine molto semplice (e difficile da sfruttare) prima di trasferirlo sul tuo computer locale e visualizzarlo. Un esempio di tale formato sarebbe il formato della mappa dei pixel PPM. Funziona anche per la visualizzazione di file PDF, in quanto possono essere facilmente convertiti in file immagine utilizzando varie utilità.

L'host di un VPS è in grado di accedere e modificare qualsiasi cosa sul VPS. Se questo è un problema per te (ad esempio, se i file sono estremamente sensibili o l'integrità è della massima importanza), potresti non voler utilizzare un VPS. È improbabile che questo sia un problema e poiché il sito Web da cui hai scaricato è già (presumibilmente) pubblico, non dovrebbero esserci problemi di riservatezza. Puoi aumentare la riservatezza e l'integrità dei dati utilizzando invece un server dedicato, anche se sarebbe più costoso.

Dovresti conservare un backup locale di questi file, nel caso in cui il VPS venga spento, in modo da poterlo ripristinare successivamente su un altro VPS. I file locali devono essere archiviati in una forma "inerte" che non sarà suscettibile allo sfruttamento di eventuali indicizzatori o generatori di miniature che potresti avere sul tuo sistema. Questo può essere fatto per esempio inserendo i file in un archivio come tar .

Poiché dovrai utilizzare le utilità della riga di comando anziché quelle grafiche, dovrai trovare modi per accedere a questi file tramite SSH. Alcuni esempi che puoi fare da remoto su un VPS:

  • Puoi convertire PNG, TIFF, JPEG e GIF (non animati) in PPM per visualizzarli in sicurezza in locale.
  • XLS/XLSX possono essere convertiti in CSV, il che va bene sulla riga di comando. C'è un buon plugin vim.
  • RTF, DOC, DOCX e ODF possono essere convertiti in immagini, che possono essere visualizzate localmente in modo sicuro.
  • Non sono a conoscenza di alcun modo per visualizzare PPT/PPTX nella riga di comando, anche se puoi analizzarli.
  • HTML, CSS e JS possono essere visualizzati in un editor di testo o eseguiti su un browser remoto basato su testo.
  • PHP può essere visualizzato in un editor di testo o eseguito utilizzando un interprete PHP a riga di comando.

Linux
  1. Come installare Website Baker su un CentOS 7 VPS

  2. Come trasferire file in modo sicuro utilizzando SCP

  3. Come trasferire file in modo sicuro utilizzando il comando SCP in Linux

  4. Come usare dos2unix?

  5. Quali autorizzazioni devono avere i file/le cartelle del mio sito Web su un server Web Linux?

Come eliminare in modo sicuro i file utilizzando il comando Shred in Debian 10

Come utilizzare più comandi in Linux per leggere file di testo di grandi dimensioni

Procedura:Comandi SFTP – Trasferisci file in modo sicuro su un server remoto

Come trovare file in Debian

Come eliminare in modo sicuro i file utilizzando il comando Shred in Debian 11

Come ripulire i file non necessari