Cuando los tutoriales de este sitio, Utilizo exclusivamente Nginx. Me parece de gran alcance, Ligera y sencilla configuración. Sin embargo, es un punto que nunca lo acercan los sitios seguros. Vamos a intentar resolverlos hoy !
Cuando la señora tiene preocupaciones con su huésped, ausencias que volver cada vez más a menudo, Me preguntó si podríamos hacer algo. Así que pensé que tomar un nuevo juguete para instalar WordPress. Ordené mi nuevo Frambuesa ft para la venta en Radio de repuestos y estoy listo para entrar en el auto alojamiento
Sólo esto es, Cuando vamos a implementar su sitio o el interfaz web de su herramienta favorita, a menudo una vez hecho es feliz con el resultado y se detiene allí. Hay todavía un hito que no se descuide es asegurar el control de acceso y sitio.
Algunas herramientas como por ejemplo Webmin por ejemplo integra la gestión de usuarios. Pero otros (transmisión, rTorrent, etc.) son directamente accesibles. Se pueden utilizar dos métodos para restringir dicho acceso con Nginx.
Desde el principio, Usted puede seguir Este tutorial instalar Nginx con soporte PHP. A continuación vamos a crear 3 para nuestras páginas de demostración. Todo está hecho /var/www :
- Crear el archivo /etc./nginx/sitios-habilitado/tutorial con el siguiente contenido :
Servidor { # Estamos trabajando en que escucha el puerto 80; # Nombre del servidor Nginw server_name tutorial; # Archivos de raíz o root/var/www; # Prohibir todos los archivos de acceso. Esta es la o almacenaremos los inicios de sesión/passwd alquiler ~ .ht { negar todo; } # Lo que se mostrará si genera una denegación de acceso (Error HTTP 403) error 403 /refus.html; # Se realizará en la base del servidor (archivos en/var/www) Alquiler / { # De forma predeterminada se muestra index.html index.html Índice; } # ¿Qué se hará en el directorio Parte1 Alquiler /part1/ { # De forma predeterminada se muestra index.html index.html Índice; # Acceso denegado a la IP 192.168.1.10 negar 192.168.1.1O; # Toda la red IP 192.168.1.0 están autorizados. Excepto el 192.168.1.10 Gracias a la regla anterior. permiten 192.168.1.0/24; # Todos otro IP son negados todos niegan; } # ¿Qué se hará en el directorio Parte2 Alquiler /part2/ { # De forma predeterminada se muestra index.html index.html Índice; # Mensaje que aparece cuando el nombre de usuario y la contraseña auth_basic "Por favor identifíquese"; # ¿O es tu login. La ruta es completa y afines auth_basic_user_file / $document_root/Parte2/vos_users; } } - Reiniciar Nginx
Reinicio del servicio nginx
- Crear el archivo /var/www/index.html con el siguiente contenido :
<HTML> <cuerpo> Esta es la página index.html </cuerpo> </HTML>
- Crear el archivo www/refus.html con el siguiente contenido/var / :
<HTML> <cuerpo> Acceso denegado </cuerpo> </HTML>
- Crear el directorio/var/www/part1/y crear el archivo index.html con el siguiente contenido
<HTML> <cuerpo> Esta es la página de /part1/index.html </cuerpo> </HTML>
- Crear el directorio/var/www/Parte2/y crear el archivo index.html con el siguiente contenido
<HTML> <cuerpo> Esta es la página de /part2/index.html </cuerpo> </HTML>
- Usted ahora que hacer las primeras pruebas
Restringir el acceso a cierto IP
Nginx permite su configuración filtrar la IP que se conecta a la máquina. Las instrucciones para administrar las reglas de acceso son :
- permiten : permite la siguiente red/IP conectar al servidor
- negar : rechaza las siguientes IP de red para conectarse al servidor
Los valores de estos dos parámetros pueden ser una IP v4, IP v6, una máscara de red o un valor todos se abre o se cierra a todos.
En nuestro ejemplo, la IP 192.168.1.10 No se puede conectar a la parte /Parte1. y será redirigido a la página refus.html (Gracias a la declaración error). Entonces autorizar la red 192.168.1. x y, finalmente, todo está prohibido.
Tan pronto como tu IP coincide con una regla, el control se aplica sin tomar en cuenta las siguientes reglas. Esto es lo que permite para excluir la IP 192.168.1.10 red 192.168.1.0 que está abierto.
El negar todo para cerrar la puerta a todo lo que no fue abierta en las reglas anteriores. No es mala idea si no quiere hacer un sitio público.
Restringir el acceso con login y contraseña
Si la gestión de la propiedad intelectual es que no lo necesito, Otra solución es el clásico inicio de sesión con contraseña. Aquí Nginx puede hacer por usted. Ninguna necesidad de cambiar por el PHP.
Para esto utilice las instrucciones como en nuestro ejemplo en el bloque que usted está interesado :
auth_basic "Por favor identifíquese";
Parte2/auth_basic_user_file/vos_users;Estas instrucciones mostrará un mensaje al usuario que intente acceder al directorio part2.
El control de acceso se realizará mediante la validación de los datos introducidos con el contenido del archivo en el parámetro auth_basic_user_file, en nuestro ejemplo el archivo /Parte2/vos_users. Deberías saber que este archivo no debe estar en el directorio protegido pero debe ser accesible por el usuario www - data ¿Cuál es el utilizado por el servidor Nginx. Por ejemplo, usted puede asegurar con :
chmod 640 /vos_users/var/www/Parte2
chown root:www - data/var/www/Parte2/vos_users
El contenido de este archivo es una lista de usuarios que pueden conectar con la contraseña asociada. El formato es :
usuario:contraseña
La contraseña debe ser codificada con la función crypt. Agregar una entrada, nada más fácil ! Puede ejecutar el siguiente comando para agregar el usuario pihome con la contraseña raspi :
printf "pihome:$(OpenSSL passwd - cripta raspi)\n" >> /vos_users/var/www/Parte2
Puede encontrar información sobre este tema en Esta página.
Y el manejo de PHP ?
¿Qué es PHP, en pocas palabras el bloque que hace el enlace a php - fpm dentro de uno que se encarga de su directorio protegido. Si lo pones afuera, acceso directo a una página PHP puede correr.
Esto es para la protección de sus servidores, para que la apertura al mundo, acceso con tu teléfono sin estar demasiado preocupado 




