Rischio di sicurezza di un servizio che consente a un utente di verificare la connettività da un server a una stampante

1

Quali sono i rischi per la sicurezza nell'aggiunta di una funzionalità a un'applicazione che consente agli utenti di verificare la connettività da un server a una stampante?

Ho intenzione di aggiungere una funzionalità alla mia applicazione per consentire agli utenti di fare clic su un pulsante che verificherà se il server può connettersi a una stampante. Il pulsante non consentirà all'utente di inviare dati, ma sarà in grado di specificare l'indirizzo IP e la porta della stampante a cui connettersi.

Sono preoccupato per i rischi che un utente malintenzionato potrebbe utilizzare questa funzione per eseguire la scansione di rete dal punto di vista del server.

Quali sarebbero i buoni controlli da aggiungere a questo tipo di struttura per ridurre al minimo i rischi per la sicurezza? Ad esempio, forse potrei limitarlo a una specifica porta o porte utilizzate per la configurazione della stampante o limitare la funzione a essere utilizzabile solo da un utente con privilegi.

    
posta Walfrat 29.02.2016 - 16:35
fonte

2 risposte

2

Hai ragione nel dire che, a seconda di come viene distribuita l'applicazione e di chi è l'utente, potrebbero esserci alcuni rischi nel consentire agli utenti di farlo.

Alcuni controlli che potrebbero aiutare in questo tipo di scenario

  • Consente agli amministratori di specificare un elenco di stampanti valide e quindi di consentire agli utenti di scegliere solo da quell'elenco di stampanti. Questa è probabilmente l'opzione migliore in quanto rimuove la capacità dell'utente di inserire indirizzi IP e porte arbitrari per l'applicazione.
  • Come già accennato, la limitazione a porte specifiche può ridurre il rischio, tuttavia alcune stampanti funzionano sulle porte web comuni, quindi questo è di uso limitato.
  • Limitare anche quali utenti possono utilizzare la struttura ridurrebbe il rischio.
  • La registrazione di tutte le azioni, sebbene non prevenga l'abuso, potrebbe essere una funzione utile per consentire agli amministratori di individuare e reagire a tale abuso dopo il fatto.
risposta data 01.03.2016 - 10:28
fonte
1

È possibile limitarlo alla porta 9100, che è una porta stampante comune. Non è necessario che le stampanti siano configurate per la stampa non elaborata per poter testare "questo IP è una stampante?", Perché anche se i tuoi host sono configurati per la stampa tramite IPP o simili, la stampante di solito risponderà 9100 porto grezzo comunque.

631 è la porta comune per la stampa IPP.

515 è la porta comune per la stampa LPD.

Una buona idea qui è che si potrebbe avere una voce a forma libera, che consentirà a EITHER un IP stampante valido (e una porta arbitary), OPPURE una porta di stampa valida (ma un IP arbitario). E, naturalmente, è possibile impostare in modo tale che alcuni utenti abbiano la possibilità di eseguire scansioni arbitarie (ad es. Specificando un IP arbitrario e l'altimetro della porta).

Per proteggere ulteriormente dagli abusi, ad esempio software e malware automatizzati, suggerirei di implementare un captcha, quindi ogni scansione deve essere verificata per essere eseguita da un essere umano, e solo un singolo IP può essere scansionato alla volta. p>

Per aumentare la possibilità di abusarne, puoi anche impostare un limite di tempo tra ogni scansione, sia a livello globale (tra tutti gli utenti) che per ciascun utente (identificato da IP, nome utente / password o entrambi)

    
risposta data 01.03.2016 - 16:17
fonte

Leggi altre domande sui tag