Contraseña de una sola vez a través de SMS - exponiendo el servidor de autenticación a internet

6

Considere un sitio web basado en Internet que hace autenticación. La aplicación web puede realizar la autenticación llamando a un servidor de autenticación que no está conectado a Internet. El servidor de autenticación no está en la DMZ. Sin embargo, si la autenticación de 2 factores debe realizarse a través de One Time Password over SMS, entonces el servidor de autenticación (que activa el envío del SMS) debe estar conectado a Internet (para acceder a la puerta de enlace SMS externa).

Entonces, ¿cómo se atiende esta necesidad? ¿Se utiliza un proxy? En caso afirmativo, ¿qué tipo de proxy?

    
pregunta user93353 13.07.2013 - 12:54
fuente

4 respuestas

4

En una situación como esta, todo lo que necesita es un firewall. Ciertamente, no debe tener una DMZ, y no necesita un proxy, sino simplemente un firewall.

Al igual que con todas sus máquinas, el servidor web solo debe estar accesible en los puertos destinados a ser de acceso público. El servidor de autenticación solo se puede permitir a los paquetes de egreso en el protocolo SMS, cualquiera que sea.

Por lo tanto, la configuración de tu firewall se vería como:

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

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

ESTABLISHED:
* -> *                ALLOW
    
respondido por el lynks 13.07.2013 - 13:19
fuente
3

En un mundo perfecto

El Authentication Authority Server no está conectado para evitar todas las conexiones salientes no deseadas (o no bien monitoreadas) (como los troyanos en el peor de los casos).

Para esto necesitarás

  • una forma para intercambios de autenticación con el público Application Server .

      

    Esto podría hacerse usando una red local dedicada y / o usando un protocolo dedicado específico.

  • una forma de enviar SMS.

      

    Para esto, hay dos soluciones diferentes:

         
    1. Llamada directa del operador, mediante RDSI o módem analógico. Esta es una de las soluciones más adecuadas, ya que no depende en absoluto de la conexión a Internet.
    2.   
    3. Use una red local dedicada para un proxy , detrás de un firewall y un protocolo dedicado.
    4.   

Esta solución presenta un sólido enfoque de seguridad, ya que no están conectados en absoluto a Internet, pero el host es más difícil de mantener actualizado: debe cargar físicamente cada actualización.

Y, finalmente, si existe una forma de conectar este host a Internet (usando el módem o una puerta de enlace local) ¡un troyano eficiente puede encontrarlos! Si esto pudiera suceder, todo esto se volverá totalmente incorrecto.

Más simple y eficiente pero más ligero

Instale su Authentication Authority Server detrás de un servidor de seguridad fuerte que suelte todos los paquetes pero no

  1. paquetes desde o hacia el servidor de aplicaciones , que coinciden con el protocolo utilizado para.
  2. paquetes del Authentication Authority Server a su proveedor de SMS, que coinciden con el protocolo de intercambio de SMS (quizás https) y sus respuestas.

Ejemplo basado en 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

En este host, un troyano puede llegar a Internet directamente (debe estar bloqueado por un firewall), por lo que debe mantener su sistema y su firewall actualizados, con cuidado.

Controla tu tráfico

En cualquier caso, si desea confiar en su Authentication Authority Server , debe monitorear de forma fina y activa todo el tráfico de red a este host.

Usar un monitor de red de bajo nivel como tcpdump para la muestra.

    
respondido por el F. Hauri 17.07.2013 - 09:24
fuente
1

Puede usar una VPN entre el Servidor de autenticación y el proveedor de SMS y solo pasar el tráfico VPN al Servidor de autenticación.

    
respondido por el joveian 17.07.2013 - 03:40
fuente
0

tenemos una configuración similar, activando SMS a través del correo:

  • El servidor de autenticación puede enviar correos a través de un Mailgateway distinto; de / a está restringido
  • Los correos se envían a SMSGateway desde ese Mailgateway

Si necesita activar el SMS a través de HTTP / REST-Api y no desea conectar su Auth-Server a Internet, puede hacerlo a través de simple reverse_proxy - setup (nginx, apache):

  • Autent. - > proxy: enlace
  • el Proxy tiene la puerta de enlace SMS como proxy_pass - destino configurado. si elimina los encabezados correctos, su servidor de autenticación permanecerá completamente invisible

Editar: errores tipográficos

    
respondido por el that guy from over there 15.07.2013 - 20:41
fuente

Lea otras preguntas en las etiquetas