2009-04-03 5 views
16

Tengo una aplicación alojada en Apache UNIX, y estoy permitiendo que los usuarios accedan a la url de la aplicación desde el entorno citrix (desde la máquina citrix).Permitir solicitud proveniente de IP específica solamente

Sin embargo, actualmente es posible acceder a la url desde todas las máquinas conectadas. Me gustaría poner la restricción de que solo se debe acceder desde la máquina de citrix. Entonces, si alguien necesita acceder a él, necesita acceso a la máquina citrix.

he intentado con más adelante:

<Directory /APP> 

    Order Deny,Allow 

    Deny from all 

    Allow from 160.120.25.65 

    Allow from 127 

</Directory> 

no funcionó. ¿Cualquier sugerencia?

Pocos respondieron con la solución de iptables, sin embargo esta cargada en Solaris (no tiene firewall integrado en el sistema operativo como Linux).

+4

me ocurrió que le resulte útil a pesar de que estoy de acuerdo en que es fuera de tema. – icedwater

Respuesta

36

Esto debería hacer lo que tiene:

<Directory /APP> 

    Order Allow,Deny 

    Allow from 160.120.25.65 
    Allow from 127.0.0.0/8 

</Directory> 

Consulte la documentación mod_authz_host para más detalles.

-2

Probablemente usaría una regla de iptables para esto. No estoy seguro de cuál es el ejemplo que publicó, pero debería poder configurar casi cualquier firewall para que funcione como usted lo desee.

+0

Eso es parte de un archivo de configuración de Apache. –

+0

iptables no está/mal trabajando cuando está utilizando SNI. – Izzy

2

¿Qué versión de Apache está ejecutando? Los mecanismos de autorización de IP son, AFAIK, proporcionados por mod_authz_host, que se introdujo en 2.2 (bueno, 2.1 técnicamente). Si tiene 2.2, asegúrese de que no se haya compilado con mod_authz_host deshabilitado.

En términos generales, sin embargo, puede encontrar una solución más simple y más robusta es el iptables u otro firewall propuesto en las otras respuestas.

-1

Sugiero Iptables para este propósito. ponga una regla en el iptables donde sea que el puerto de destino sea el número de puerto de su apache y el IP de origen sea la dirección IP de la máquina de critix, la máquina de Linux debería descartar ese paquete. De esta forma se resolvería su problema siempre que no haya otras aplicaciones alojadas en el apache de su máquina que deberían estar abiertas para todos los ips. Un ejemplo de la regla perspectiva podría ser: -

iptables -I INPUT 1 -s 160.120.25.65 -d <port_of_apache_on_your_machine> -j DROP 

Esto debería resolver su problema, una vez que se reemplaza por su valor adecuado

+0

Aplicación alojada en UNIX. ¿Puedo agregar esto en el archivo httpd.conf? – Mutant

+0

Debe agregar esto en el archivo .bashrc del usuario que inicia la máquina, o agréguelos como reglas predeterminadas de iptables. Esto no se agrega en el archivo httpd.conf. –

Cuestiones relacionadas