Limitar el acceso a los datos en una aplicación web desde direcciones IP fuera de la red

1

Mi objetivo es construir un sistema (PHP + MySQL) donde un usuario tendrá acceso a datos particulares solo cuando haya iniciado sesión localmente (desde una de las computadoras de la oficina con una IP local), y a todos los datos no confidenciales cuando se inicia sesión tanto desde una red local como desde el exterior (host web normal).

Ya tengo el software en ejecución en un servidor web (Centos 5, PHP + MySQL), pero no puedo almacenar ninguna información confidencial, por ejemplo. Costes y otros datos financieros. Y tengo una red privada en mi oficina donde puedo construir cualquier configuración de servidor que necesite (servidor basado en Windows o Linux - se acepta cualquier configuración). Lo que necesito es:

  • si un usuario tiene una IP diferente de un rango predefinido, limite el acceso solo a los campos no confidenciales de los datos;
  • si un usuario tiene IP desde una lista blanca (red local), conceda el acceso a todos los datos, incluidos los datos confidenciales;
  • si un usuario cambia algo desde dentro de una red local, los cambios serán visibles en el exterior de inmediato;
  • si un usuario cambia algo desde el exterior (en un servidor público), los cambios también serán visibles en el interior inmediatamente.

Actualmente no sé si crear dos sistemas separados y de alguna manera administrar sincronizar datos entre ellos, o almacenar todos los datos localmente y en los scripts verificar los permisos de los usuarios, o hacer algo diferente. Lo que sí sé es que los datos financieros no pueden almacenarse en el exterior y no se puede acceder a ellos directamente desde el exterior de ninguna manera.

Estaré encantado de recibir ayuda con este problema, incluso con instrucciones generales que pueda investigar.

    
pregunta Yury Fedorov 29.05.2016 - 15:42
fuente

1 respuesta

3

Este es el trabajo de un cortafuegos basado en host. Si bien las reglas basadas en IP son tan integrales para el sistema, el Firewall GNU / Linux incorporado se llama Iptables y el slement básico de un firewall es una lista de reglas (llamada cadena) que podría manejar fácilmente cualquier paquete del tipo que usted describe que no se manejan de nuevo en la capa de hardware del enrutador / firewall, tengo que preguntarme si alguien que tenga tan poco conocimiento de la seguridad de la computadora tenga que decirle que esto está a la altura de la tarea. La seguridad es dura. Requiere mucha habilidad y conocimientos muy actualizados.

Realmente tienes dos opciones. Puede contratar esto con alguien que sea un experto en firewalls seguros para que guíe las reglas por usted, o puede intentar resolverlo usted mismo. Te advierto que la seguridad informática moderna en una red no es una tarea trivial. Junto con mi más grave advertencia de poner en riesgo la información personal de las personas a través de la exposición insegura a la red, le ofrezco un enlace a los conceptos básicos de iptables y una recomendación de libro. Buena suerte!

enlace

Prentice Hall Unix and Linux System Administration Handbook - Página de inicio Le recomiendo especialmente que lea la Sección Dos - Redes y se centre en los Capítulos 14-17 y 22. Esto solo te dará una visión general, no te convertirá en un experto milagroso.

    
respondido por el Sinthia V 02.06.2016 - 21:36
fuente

Lea otras preguntas en las etiquetas