A distanza di attivazione / disattivazione e la protezione contro l'attività

StackOverflow https://stackoverflow.com/questions/759464

  •  09-09-2019
  •  | 
  •  

Domanda

Sono a capo di un app che utilizza Internet per trasferire i dati tra i siti, e alcuni clienti sono in fase di imbarazzante per il pagamento, quindi abbiamo bisogno di un meccanismo che ci permetterà di tagliare il servizio dei non-contribuenti. Mi piacerebbe per proteggere contro il popolo di amministrazione che utilizzano i firewall per bloccare i nostri controlli, ma al contrario mi piacerebbe dare qualche assegno per il nostro sito web aziendale scomparire per qualche motivo e non essere accessibili.

Lo schema sto immaginando è:

server makes twice daily check to web page using a URL like:
http://www.ourcompany.com/check.php?myID=GUID&Code=MyCode

Questa poi restituisce una risposta che contiene sia nulla di interessante, o il GUID e un valore.

GUID=0

Quello zero indica che il server deve interrompere il funzionamento. Per farlo funzionare di nuovo, il server controllerà ogni 5 minuti per le stesse informazioni, fino a quando il valore corrisponde a quello che pensa il codice che è passato in dovrebbe essere trasformato in.

Questo schema ha senso per me, ma la questione è davvero come protezione contro il blocco. Dato sappiamo che dobbiamo avere accesso a internet, per quanto tempo dobbiamo continuare a operare senza essere in grado di ottenere la risposta dal nostro server web? È qualcosa di simile a 14 giorni e poi abbiamo appena spegnerlo in ogni caso il modo migliore?

È stato utile?

Soluzione

La soluzione che ho usato alla fine è stato più o meno come ho suggerito. Sì, è disinseribile utilizzando gli strumenti descritti qui, ma è meglio di niente.

I controlli App per giorno per accedere a un sito web che contiene un file di controllo crittografato utilizzando la crittografia a chiave pubblica. Si decifra in memoria, e se trova il suo GUID, allora deve corrispondere a un codice. Per disattivare il funzionamento, il codice è impostato a 0 (zero) che sarà sempre sicuro. Quando disattivato, controlla ogni due minuti per consentire il rapido ripristino. C'è anche un meccanismo manuale per generare un codice che funziona per una settimana in caso di problemi del server.

Il codice permetterà fino a 14 giorni senza la connessione al server prima che prende questo come un deliberato tentativo di bloccarlo. Dopo 10 giorni, mostra un messaggio di errore che chiede loro di contattare l'assistenza.

Altri suggerimenti

Questo metodo è veramente facile da aggirare: basta usare un server DNS locale per puntare www.ourcompany.com al computer locale, o utilizzare un proxy http. Quindi l'utente può tornare qualunque risposta che vogliono il programma.

Supponendo che l'utente non ha eluso il controllo, per quanto tempo si è di continuare ad operare senza conferma è una decisione di business e non una decisione di programmazione.

Un utente può utilizzare uno strumento come OWASP WebScarab per modificare i valori al volo di sovvertire il vostro modello di sicurezza. È necessario includere qualcosa di più difficile come la richiesta di un canale sicuro, confrontando chiave pubblica e così via.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top