quanto è sicura la crittografia rsa per un accesso Web senza https?

2

Ho un server che esegue rstudio. Questa è fondamentalmente un'applicazione web, ed è attualmente accessibile solo tramite la rete locale.

L'app web prende il tuo nome utente / password di Linux per accedere, e secondo i documenti "Le credenziali dell'utente sono crittografate usando RSA mentre viaggiano sulla rete." ( link )

Diciamo che volevo aprire la porta a richieste esterne, in modo che potessi usare questa app web ovunque. Quale sarebbe il rischio per la sicurezza assumendo che non ho usato https?

    
posta user35581 30.04.2014 - 21:57
fonte

4 risposte

3

Sarà un po 'sicuro, ma non così sicuro come https, a parte le credenziali tutti gli altri dati non sono criptati. Se hai intenzione di usarlo su reti pubbliche (aperte), ti consiglio di impostare un proxy come descritto qui . Anche con un certificato autofirmato sarà molto più sicuro.

    
risposta data 30.04.2014 - 22:25
fonte
3

La mia ipotesi è che abbia una grave vulnerabilità che potrebbe essere sfruttata, ma tutto dipende dall'implementazione. Dicendo che usa RSA dice molto poco sull'efficace sicurezza del sistema. RSA non sarà il link più debole.

  • Previene gli attacchi di riproduzione?
  • Fornisce la crittografia autenticata utilizzando i MAC?
  • Il client verifica l'identità del server dall'altra parte prima di rispondere alle sfide?
  • Dopo l'accesso, un utente malintenzionato potrebbe modificare i comandi remoti per eseguire operazioni dannose?

Potresti provare a sfogliare il codice sorgente ( ServerPAMAuth sembra un buon posto per iniziare) e provare a trovare difetti, ma sinceramente non mi preoccuperei.

Cosa farei, è impostato un proxy inverso che utilizza SSL. Succede solo Ho scritto una guida dettagliata su come farlo in nginx per una webcam l'altro giorno - basta sostituire la webcam con il server RStudio e andrà tutto bene, e si noti che è possibile eseguire il proxy e Rstudio sullo stesso server (quindi sostituisci i riferimenti a 192.168.0.101 a localhost o 127.0.0.1 per i risultati migliori). Quindi, anche se il protocollo di autenticazione è vulnerabile, sarai comunque protetto (supponendo che utilizzi effettivamente un certificato firmato da una CA, o che il tuo browser / altra applicazione consideri attendibile il tuo certificato autofirmato).

MODIFICA: in realtà, secondo le loro istruzioni, dovrai aggiungere una riga proxy_redirect per:

proxy_redirect http://localhost:8787/ $scheme://$host:$server_port/;

Questo indica che hai un URL completo in un campo di intestazione HTTP (ad esempio, in un reindirizzamento HTTP 302/304 in cui il campo Posizione è un URL che indica dove si è spostata la risorsa) cambierà http://localhost:8787/path/to/something in $scheme://$host:$server_port/path/to/something come necessario, dove $scheme sarà https .

    
risposta data 30.04.2014 - 22:30
fonte
1

I servizi di sicurezza forniti dall'app Web che stai descrivendo sono diversi da quelli forniti da https. Inviando la password su RSA, la password dovrebbe essere crittograficamente sicura assumendo che RSA sia usato correttamente. Tuttavia, la connessione risultante non verrà crittografata - il nome utente e la password dell'utente sono le uniche informazioni protette. In https, tutto il traffico è crittografato. Https utilizza RSA per lo scambio di chiavi della sessione iniziale, quindi in teoria la sessione è sicura quanto la sessione rstudio durante l'installazione iniziale. Tuttavia, https può fornire una perfetta segretezza di inoltro per le credenziali dell'utente (se configurato per farlo) e fornirà riservatezza e integrità per il resto della sessione. In altre parole, nello schema solo RSA le password sono protette, ma non altrettanto bene, e il resto della sessione è aperto a chiunque possa ascoltare.

    
risposta data 30.04.2014 - 22:25
fonte
0

Mentre scrivi che è fondamentalmente un'applicazione web, ciò implica che l'applicazione stessa viene trasferita via HTTP (se non la si memorizza nella cache o la si installa come webapp).

In tal caso, un utente malintenzionato potrebbe semplicemente sostituire la vera webapp con un'app che non esegue la crittografia o che invia nuovamente le password a un server controllato dall'utente malintenzionato. Pertanto, indipendentemente dalla sicurezza di RSA, la tua applicazione non è sicura.

Inoltre, come altri hanno menzionato, il contenuto della sessione è molto probabilmente trasferito come testo in chiaro e quindi non protetto da intercettazioni e - se non vengono utilizzati codici di autenticazione dei messaggi - manomissione. Pertanto, sconsiglio vivamente di usare quell'applicazione senza SSL (o un proxy SSL).

    
risposta data 01.05.2014 - 00:00
fonte

Leggi altre domande sui tag