security - telmex - ventajas y desventajas del filtrado mac
¿Qué tan seguro es el filtrado de direcciones IP? (13)
Como toda seguridad, es inútil por sí mismo. Si tiene que colocarlo en un servidor web público, use IP whitelisting, con autenticación básica de nombre de usuario / contraseña, con SSL, con una configuración de monitoreo decente, con una aplicación de servidor actualizada.
Dicho esto, ¿para qué sirve tener acceso público al servidor y luego restringirlo solo a las direcciones IP internas? Parece que básicamente se trata de reinventar lo que NAT le ofrece de forma gratuita, y con un servidor interno, además de que debe preocuparse por los exploits del servidor web y los "me gusta".
No parece ganar nada al tener acceso externo, y hay muchos beneficios por tenerlo solo internamente ...
Estoy planeando implementar una aplicación interna que tenga datos confidenciales. Sugerí que lo pusiéramos en una máquina que no esté expuesta a Internet en general, solo a nuestra red interna. El departamento de TI rechazó esta sugerencia, diciendo que no vale la pena reservar una máquina completa para una aplicación. (La aplicación tiene su propio dominio en caso de que sea relevante, pero me dijeron que no pueden bloquear las solicitudes en función de la URL).
Dentro de la aplicación, lo programé para que solo respete las solicitudes si provienen de una dirección IP interna; de lo contrario, solo muestra una página que dice "no se puede ver esto". Nuestras direcciones internas tienen un patrón distinto, por lo que estoy verificando el IP de la solicitud contra una expresión regular.
Pero estoy nervioso acerca de esta estrategia. Se siente un poco jodido para mí. ¿Es esto razonablemente seguro?
Depende exactamente qué tan seguro realmente lo necesita.
Supongo que su servidor está alojado externamente y no está conectado a través de una VPN. Por lo tanto, está comprobando que las direcciones de solicitud de su sitio HTTPS (está utilizando HTTPS, ¿no es así?) Están dentro de las redes de su propia organización.
Usar una expresión regular para hacer coincidir direcciones IP suena dudoso, ¿no se puede simplemente usar una red / máscara de red como todos los demás?
¿Qué tan seguro es realmente necesario ser? La falsificación de direcciones IP no es fácil, los paquetes falsificados no se pueden usar para establecer una conexión HTTPS, a menos que también manipulen los enrutadores en sentido ascendente para permitir que los paquetes de retorno sean redirigidos al atacante.
Si necesita que sea realmente seguro, simplemente solicite a su departamento de TI que instale una VPN y enrute el espacio de direcciones IP privadas. Configure sus restricciones de direcciones IP para esas direcciones privadas. Las restricciones de direcciones IP donde el enrutamiento se realiza a través de una VPN basada en host aún son seguras, incluso si alguien pone en peligro una puerta de enlace predeterminada en sentido ascendente.
El filtrado de IP es mejor que nada, pero tiene dos problemas:
Las direcciones IP pueden ser falsificadas.
Si una máquina interna se ve comprometida (que incluye una estación de trabajo cliente, por ejemplo, mediante la instalación de un troyano), el atacante puede utilizarla como un host de salto o proxy para atacar su sistema.
Si se trata de datos realmente confidenciales, no necesariamente necesita una máquina dedicada (aunque es la mejor práctica), pero al menos debería autenticar a los usuarios de alguna manera y no ejecutar aplicaciones menos sensibles (y más fáciles de atacar) en el misma máquina
Y si es realmente delicado, solicite a un profesional de seguridad que revise lo que está haciendo.
editar: por cierto, si puede, elimine la expresión regular y use algo como tcpwrappers o las funciones de cortafuegos dentro del SO si tiene alguna. O bien, si puede tener una dirección IP diferente para su aplicación, use el firewall para bloquear el acceso externo. (Y si no tienes un cortafuegos, entonces también puedes renunciar y enviar tus datos por correo electrónico a los atacantes :-)
El hecho de que todas sus direcciones IP internas coincidan con una expresión regular determinada, eso no significa que todas las direcciones IP que coincidan con una expresión regular sean internas. Por lo tanto, su expresión regular es un punto de posible falla de seguridad.
No sé qué tecnología usaste para construir tu sitio, pero si es Windows / ASP.net, puedes verificar los permisos de la máquina solicitante en función de sus credenciales de Windows cuando se realiza la solicitud.
La lista blanca de IP es, como otros han mencionado, vulnerable a la suplantación de IP y los ataques de Man in the Middle. En un MITM, considere que algún conmutador o enrutador se ha visto comprometido y verá las "respuestas". Puede monitorearlos o incluso alterarlos.
Considere también las vulnerabilidades con encriptación SSL. Dependiendo del esfuerzo, esto también se puede frustrar en un MITM, así como en los conocidos trucos con la reutilización de los números primos, etc.
Dependiendo de la sensibilidad de sus datos, no me conformaría con SSL, pero iría con StrongSWAN o OpenVPN para mayor seguridad. Si se maneja correctamente, estos serán mucho menos vulnerables a un MITM.
Depende de la inclusión de listas blancas solo (incluso con SSL) Consideraría "de baja calidad", pero puede ser suficiente para sus necesidades. Solo sé muy consciente de las implicaciones y no caigas en la trampa de un "falso sentido de seguridad".
Mi primer pensamiento sobre el problema del recurso sería preguntar si no sería posible trabajar algo de magia con una máquina virtual.
Aparte de eso, si las direcciones IP con las que comprueba son IP que usted SABE pertenece a computadoras que se supone que deben acceder a la aplicación o en el rango de IP local, entonces no veo cómo no podría ser lo suficientemente seguro (de hecho, estoy usando un enfoque de atm similar en un proyecto, aunque no es increíblemente importante que el sitio se mantenga "oculto").
Prefiero ir con SSL y algunos certificados, o una simple protección de nombre de usuario / contraseña en lugar de IP.
Primero fue útil distinguir entre los diferentes tipos de IP vpn basados en las relaciones administrativas, no la tecnología, interconectando los nodos. Una vez que se definieron las relaciones, se podrían usar diferentes tecnologías, dependiendo de requisitos tales como la seguridad y la calidad del servicio.
Si está limitado por una dirección IP, aunque puedan falsificar la dirección IP, no podrán obtener la respuesta. Por supuesto, si está expuesto a Internet, aún puede recibir ataques que no sean contra la aplicación.
Si su aplicación está verificando la dirección IP, entonces es extremadamente vulnerable. En ese momento, no tiene ninguna protección en el enrutador, que es donde realmente debe estar el filtrado de IP. Su aplicación probablemente esté revisando la información del encabezado HTTP para la dirección IP de envío y esto es muy fácil de falsificar. Si bloquea la dirección IP en el enrutador, esa es una historia diferente y le comprará seguridad real sobre quién puede acceder al sitio desde dónde.
Si lo que estás haciendo es acceder a la aplicación internamente, entonces SSL no te comprará mucho a menos que intentes proteger la información de las partes internas de la organización o requieras certificados del cliente. Esto supone que nunca accederá al sitio desde una conexión externa (las VPN no cuentan, porque está haciendo un túnel en la red interna y técnicamente es parte de ella en ese punto). No va a doler tampoco y no es tan difícil de configurar, simplemente no creo que va a ser la solución a todos sus problemas.
Tal vez esto ayude ? He estado buscando la misma respuesta, y encontré este así como esta idea de Red Hat Linux Ent. Lo intentaré pronto. Espero que ayude.
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -j DROP
Donde 0/24 es el rango de LAN que desea proteger. La idea es bloquear los dispositivos de "Internet" frente a (Delantero) para que puedan falsificar la red IP local.
Ref: http://www.centos.org/docs/4/html/rhel-sg-en-4/s1-firewall-ipt-rule.html
Tu seguridad es tan fuerte como tu enlace más débil. En el gran esquema de cosas, falsificar una IP es un juego de niños. Use SSL y requiera certificaciones de clientes.
Un firewall adecuado puede proteger contra la suplantación de IP, y no es tan fácil como decir suplantación de identidad de la persona que llama, por lo que el argumento / no / para usar el filtrado de IP debido al peligro de suplantación es un poco anticuado. La seguridad se aplica mejor en capas, por lo que no depende de un solo mecanismo. Es por eso que tenemos sistemas WAF, nombre de usuario + contraseña, firewalls de capa 3, firewalls de capa 7, cifrado, MFA, SIEM y una serie de otras medidas de seguridad, cada una de las cuales agrega protección (con un costo creciente).
Si se trata de una aplicación web de la que está hablando (que no quedó claro a partir de su pregunta), la solución es bastante simple sin el costo de los sistemas de seguridad avanzados. Ya sea que use IIS, Apache, etc., tiene la capacidad de restringir las conexiones a su aplicación a una URL objetivo específica así como a la dirección IP de origen, sin necesidad de realizar cambios en su aplicación, por aplicación. Evitar la navegación web basada en IP de su aplicación, junto con las restricciones de origen de IP, debería brindarle una protección significativa contra la navegación / ataques casuales. Si no se trata de una aplicación web, deberá ser más específico para que la gente sepa si la seguridad basada en el sistema operativo (como ha sido propuesta por otros) es su única opción o no.