One time password over SMS - esporre l'Authentication Server a Internet

6

Considera un sito Web basato su Internet che esegue l'autenticazione. L'applicazione Web può eseguire l'autenticazione chiamando un server di autenticazione che non è connesso a Internet. Il server di autenticazione non è nella DMZ. Tuttavia, se l'autenticazione a 2 fattori deve essere eseguita tramite One Time Password su SMS, allora l'Authentication Server (che attiva l'invio degli SMS) deve essere connesso a Internet (per accedere al gateway SMS esterno).

Quindi, in che modo è necessario occuparsi di questo? Viene utilizzato un proxy - se sì, che tipo di proxy?

    
posta user93353 13.07.2013 - 12:54
fonte

4 risposte

4

In una situazione come questa, tutto ciò di cui hai bisogno è un firewall. Non dovresti certamente avere una DMZ e non hai bisogno di un proxy, ma semplicemente di un firewall.

Come con tutte le macchine, il server web dovrebbe essere accessibile solo su porte che devono essere rivolte al pubblico. Il server di autenticazione può essere consentito solo ai pacchetti egress sul protocollo SMS, qualunque esso sia.

Quindi la configurazione del firewall sarà simile a:

NEW INGRESS:
* -> webserver:http   ALLOW
* -> webserver:https  ALLOW
* -> *                DROP

NEW EGRESS:
auth -> smshost:sms   ALLOW 
*    -> *             DROP

ESTABLISHED:
* -> *                ALLOW
    
risposta data 13.07.2013 - 13:19
fonte
3

In un mondo perfetto

Il Autorità di autenticazione server non è affatto collegato al fine di prevenire ogni connessione in uscita indesiderata (o non ben monitorata) (come i cavalli di Troia nel peggiore dei casi).

Per questo avrai bisogno di

  • un modo per Scambi di autenticazione con il Server delle applicazioni pubblico

    pubblico

    This could be done by using dedicated local network and/or using specific dedicated protocol.

  • un modo per inviare SMS.

    For this, there are essentialy two different solutions:

    1. Direct operator calling, using ISDN or analog modem. This is one of the more suitable solution as this don't depend on internet connection at all.
    2. Use a dedicated local network to a proxy, behind a firewall, and a dedicated protocol.

Questa soluzione presenta un strong approccio di sicurezza in quanto non sono affatto connessi a Internet, ma l'host è più difficile da mantenere aggiornato: devi caricare fisicamente ogni aggiornamento.

E infine se esiste un modo per connettere questo host a Internet (usando il modem o un gateway locale) un trojan efficiente può trovarli! Se questo può accadere, tutto questo diventa totalmente sbagliato!

Più semplice ed efficiente ma più leggero

Installa Authentication Server Server dietro un firewall strong che rilascia ogni pacchetto ma non

  1. pacchetti da o verso il server di applicazioni , che corrispondono al protocollo usato per.
  2. pacchetti dal Authentication Server Server al tuo provider SMS, che corrispondono al protocollo di scambio di sms (forse https) e alle sue risposte.

Esempio basato su GNU / Linux iptables :

LOCIF=eth0
DMZIF=eth1
PUBIF=eth2
AUTHSERV=192.168.3.21
WEBAPP=192.168.1.2
AUTHPORT=12345
SMSPORT=443
SMSSERV=1.2.3.4
iptables -t filter -P FORWARD DROP
iptables -t filter -o $LOCIF -i $DMZIF -d $AUTHSERV/32 -s $WEBAPP/32 -p tcp --dport $AUTHPORT -j ACCEPT
iptables -t filter -i $LOCIF -o $DMZIF -s $AUTHSERV/32 -d $WEBAPP/32 -p tcp --sport $AUTHPORT -j ACCEPT
iptables -t filtes -i $LOCIF -o $PUBIF -s $AUTHSERV/32 -d $SMSSERV/32 -p tcp --dport $SMSPORT -j ACCEPT
iptables -t filter -i $PUBIF -o $LOCIF -d $AUTHSERV/32 -s $SMSSERV/32 -p tcp --sport $SMSPORT -m state --state RELATED, ESTABLISHED -j ACCEPT

In questo host, un cavallo di troia può raggiungere direttamente Internet (deve essere bloccato dal firewall), quindi è necessario mantenere il sistema e il firewall aggiornati, con attenzione!

Monitora il tuo traffico

In ogni caso, se vuoi fidarti del Autorità di Autenticazione Server , devi sorvegliare attentamente e attivamente tutto il traffico di rete verso questo host.

Utilizzo di monitor di rete di basso livello come tcpdump per campione.

    
risposta data 17.07.2013 - 09:24
fonte
1

È possibile utilizzare una VPN tra il server di autenticazione e il provider SMS e solo trasferire il traffico VPN al server di autenticazione.

    
risposta data 17.07.2013 - 03:40
fonte
0

abbiamo una configurazione simile, attivando gli SMS via Mail:

  • Authentication-Server è in grado di inviare mail tramite un Mailgateway distinto; da / a è limitato
  • Le e-mail vengono consegnate a SMSGateway da quel Mailgateway

Se è necessario attivare gli SMS tramite HTTP / REST-Api e non si desidera connettere il server di autenticazione a Internet, è possibile farlo tramite reverse_proxy semplice - setup (nginx, apache):

  • Auth - > proxy: link
  • il proxy ha il gateway SMS come proxy_pass - destinazione configurata. se togli le intestazioni giuste il tuo auth-server rimane completamente invisibile

Modifica: errori di battitura

    
risposta data 15.07.2013 - 20:41
fonte

Leggi altre domande sui tag