Tengo una página web en un servidor Linux que administro, que ejecuta Apache 2.2. Este servidor es visible para el mundo exterior para algunos otros servicios.
Me gustaría configurar Apache para que un host virtual determinado solo sea visible desde el interior de la red local, de modo que pueda implementar una aplicación web para obtener comentarios de otras personas de mi organización. Creo que esto tiene que ver con la directiva Allow, pero mis experimentos no van bien.
¿Cómo puedo alterar mi archivo de configuración para lograr eso? ¿Debo cambiar también la configuración del firewall?
Respuestas:
Fácil. Simplemente configure algo como esto dentro de su configuración principal o su configuración virtual:
La
<Directory></Directory>
declaración básicamente dice: "Use estas reglas para cualquier cosa en este directorio. Y por "este directorio" que se refiere a lo/var/www/path/to/your/web/documents
que he establecido en este ejemplo, pero debe cambiarse para que coincida con la ruta del directorio local de su sitio.A continuación, dentro del
<Directory></Directory>
área, está cambiando el comportamiento predeterminado de Apache, queAllow
es todo por defectoOrder Deny,Allow
. A continuación, estableceDeny from all
desde niega el acceso de todos. Follwing que son lasAllow from
declaraciones que permiten el acceso desde127.0.0.1 ::1
(dirección IP localhost),localhost
(el propio host local). Eso es todo lo estándar. Dado que el acceso desdelocalhost
es necesario para muchos procesos internos del sistema.Lo que sigue es lo que te importa.
Tanto
Allow from
para permitir192.168
como10
para permitir el acceso desde cualquiera / todas las direcciones de red dentro del rango de red prefijado por esos números.Entonces, al indicar
192.168
eso, básicamente significa si un usuario tiene una dirección como192.168.59.27
o192.168.1.123
podrá ver el sitio web.Y de manera similar, usar el prefijo
Allow from
for10
garantiza que si alguien tiene una dirección IP10.0.1.2
o incluso10.90.2.3
podrá ver el contenido.Casi todas las redes internas en el mundo usan el
192.168
rango o algo en el10
rango. Nada externo Por lo tanto, usar este combo logrará su objetivo de bloquear el acceso al mundo exterior, pero solo permitirá el acceso desde su red local.fuente
Satisfy Any
supone que debe hacer en este caso? No sé nada de todo esto, pero cuando estaba presente en mi escenario, podía acceder a la página (que usé<Location /path>
) desde una red externa. Sin embargo, eliminarlo solucionó mis problemas. Sería bueno entender por qué este fue el caso, ya que estaba un poco preocupado de que pudiera acceder a la página incluso con las reglas vigentes.Las personas que llegan a esta respuesta, tenga en cuenta que esto es específico para Apache 2.2.
Apache 2.4 ha desaprobado estas directivas.
La nueva forma es usar el módulo
mod_authz_host
y lasRequire
directivas. ( enlace )En Apache 2.4 deberías hacer
y elimine todas las directivas Permitir.
fuente
Agregue esta sección dentro de su directiva de host virtual:
Reemplace su IP arriba. Esto no debe usarse para la seguridad del nivel financiero, para su información.
fuente
No sé cómo tiene su configuración de red, sin embargo, supongo que hay algo para tratar de dar una mejor respuesta.
Supongamos que tiene una pequeña oficina con una conexión DSL. Tendría una dirección IP pública estática o un bloque de direcciones asignado a su línea, un módem DSL y un firewall. Sin entrar en los detalles de cómo sucede esto, llegaré a la parte importante.
Debería estar utilizando NAT (traducción de direcciones de red). Esto permite que las direcciones IP públicas residan en el lado WAN (Internet) de su red y usen direcciones IP privadas (como 10.0.0.100) dentro de la red en el lado LAN. Este es un procedimiento de operación estándar. Si aloja un servidor web dentro de su red, entonces usaría el reenvío de puertos u otro mecanismo similar) para dirigir cualquier tráfico web a su servidor web.
En este escenario estándar, todas sus computadoras internas usarían las direcciones IP privadas.
Suponiendo que tiene una configuración de red estándar similar, cambiaría la dirección IP de su computadora de una dirección IP pública a una dirección IP privada. Su red puede tener una configuración de DHCP donde su computadora puede solicitar una dirección IP disponible. Esto significa que en lugar de especificar una dirección IP, selecciona usar DHCP y se le asignará una dirección IP. Si DHCP no está disponible, entonces deberá verificar en otras computadoras un espacio de dirección IP privada que pueda usarse y seleccionar una dirección IP dentro del espacio que no se usa. Puede especificar esta dirección IP no utilizada en la configuración de su red. Esto debería evitar que su sistema sea visto en Internet.
fuente