È più sicuro usare una chroot jail, una jail shell o una combinazione?


9

Una mia amica ha un netbook Acer basato su xandros e ha cercato di ottenere un po 'di amministrazione remota e di aiuto da parte mia mentre viaggia in giro per il mondo.
Ho creato un account sul suo netbook per consentirmi di utilizzare SSH e impostare una sceneggiatura per invertire-ssh-tunnel dal suo netbook al mio server - questo mi permette di aggirare i problemi con i firewall ecc. In vari ostelli e hotel. Una volta che è stata inserita nel mio server, posso quindi collegarmi al suo netbook.

Ho uno script bash che viene eseguito come la sua shell quando si lancia sul mio server, il che le dà solo una sorta di schermata 'per favore aspetta', e l'unica opzione è uscire dallo script e quindi essere avviato dal server.

L'utente che ho creato per lei sul mio server ha diritti limitati, ma ci sarà sicuramente qualche exploit che significherebbe che avrebbe accesso ssh al mio server.

Sto prendendo in considerazione anche l'uso di una prigione chroot, quindi se fugge avrà solo accesso alla sua home directory.
È una buona idea e ci sono altri suggerimenti di sicurezza che potrei aver perso per mantenere sicuro il mio server, pur permettendomi di accedere al suo netbook da remoto?

Per chiarire, non credo che proverà a scappare dalla prigione o dal chroot, ma mi piacerebbe sapere come potrei evitarlo per ogni evenienza.

Aggiornamento:
e hai altri suggerimenti su come potrei accedere al netbook o ad altri livelli che potrei collocare tra l'utente e il mio hardware?

Risposte:


3

Hai preso in considerazione la possibilità di configurare VNC o un'altra app di controllo remoto su una porta che in genere non viene filtrata da un firewall dalle regole?

Un esempio di configurazione di questo avrebbe VNC (o altra app simile) caricata sul notebook. Quindi esegui lo script lato notebook per raggiungere il tuo server su una porta specifica che non verrà filtrata dal firewall per stabilire il tuo percorso di ritorno al sistema. 443 è probabilmente la migliore porta da utilizzare per questo, ma anche altri sono adatti. Quindi dal tuo sistema ti connetti semplicemente a VNC o direttamente o replica una porta sul tuo server su un altro numero di porta e ti connetti semplicemente all'interfaccia sulla porta locale e il reindirizzamento della porta gestirà il passaggio a un altro sistema sull'estremità remota.

Spero che sia di aiuto.


Grazie per il suggerimento Non lo avevo considerato perché non avevo visto molti client vnc in Linux che rendessero ovvio il contrario in Linux. Ne conosci qualcuno?
Andy,

un modo per farlo è utilizzare un programma TCP / IP in grado di stabilire la porta in un modo. Automatizzare questo con uno stile telnet connesso da uno script di shell andrebbe bene. La maggior parte delle implementazioni di Telnet consente di specificare la porta a cui si sta tentando di connettersi.
Axxmasterr,

2

La prigione chroot sarà di aiuto, ma con un exploit che consente a qualcuno di entrare in una shell, sarebbero comunque in grado di vedere la tabella dei processi e simili, ed eseguire programmi, probabilmente ulteriori exploit. Se vuoi davvero essere aggressivo nell'isolare l'utente esterno, è un po 'come usare un obice su una formica, ma potresti impostare un server privato virtuale per l'intero meccanismo del tunnel ssh. Quindi il peggio che possono fare è distruggere il VPS, impedendo la possibilità di uscire da uno, che è una barra piuttosto alta.


Mi piace l'idea, ma sì, rullo di vapore per spezzare una noce :) Ancora una volta, se eseguo qualcosa di veramente piccolo come un cucciolo-linux solo terminale come il server non sarebbe un grosso rullo di vapore.
Andy,

2

Sono un fan di una buona strategia di difesa approfondita quando si tratta di proteggere un sistema informatico, quindi consiglierei di utilizzare un account con privilegi limitati in un file system chroot, e anche in questo caso non è garantito, basta guardare l'iPhone, fa entrambe queste cose e non aiuta ancora.


2

Un altro modo per scuoiare questo animale ora che ci sto pensando è di tunnelare il traffico di sessione all'interno di un tunnel SSH come alternativa all'utilizzo di VNC. Ora sei già a metà strada con la tua configurazione attuale.

Imposta l'abilità X su una porta specifica localmente su quella macchina, quindi inoltra quella porta a te stesso attraverso il tunnel e quindi replicala su una porta dalla tua parte in modo da poterti connettere alla sessione sulla porta locale sul tuo server.

Un'altra cosa che ho trovato che è del tutto utile per questo genere di cose è il DNS dinamico. Ciò ti consentirà di impostare un nome di dominio completo risolvibile che puoi interrogare ogni volta che è necessario. DyDns funziona come un servizio leggero sul sistema su cui è installato e aggiorna il record ogni volta che cambiano le informazioni sull'indirizzo IP.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.