Ejecuto un servidor virtual privado en Ubuntu 14.04 y uso Nginx como mi servidor http y / o proxy inverso. Ejecuto varias aplicaciones web en este servidor, la mayoría de ellas son proyectos de código abierto nuevos.
ACTUALIZACIÓN: El servidor es un VPS que alquilo a una empresa de hosting. La instalación será un subdominio por aplicación.
Me pregunto cuáles son las diversas posibilidades de asegurar nginx en un entorno simple. Por ahora, este servidor solo se usa para uso privado / de desarrollo. Me gustaría lograr lo siguiente:
- Use una autorización para aplicaciones que no tienen la suya propia. De lo contrario, cualquiera puede usarlo.
-
Restrinja el acceso a ciertas máquinas. Sé que Nginx puede negar el acceso en función de la dirección IP. Me preguntaba si podría lograrlo utilizando otras variables, como la dirección MAC, por ejemplo.
-
Evita que los motores de búsqueda indexen lo que hay en mi servidor. He leído que podría usar un .htaccess de Apache pero ¿puedo hacerlo con nginx? ¿Cuál es la diferencia con los archivos robots.txt?
- ¿Cómo se podría aislar webapps? Me preguntaba si podría ejecutar cada aplicación como usuarios separados para fortalecer la seguridad. De lo contrario (alguien me dice si estoy equivocado) una violación de seguridad en uno de ellos (y eso puede ocurrir con frecuencia en proyectos jóvenes) podría permitir que un atacante tenga acceso a todos los archivos de usuarios de www-data. Con respecto a este hilo no sé si debe investigar en php5-fpm pools o solo nginx o ambos.
Gracias!
ACTUALIZAR
Lecturas interesantes sobre Docker y Sandstorm
Por lo general, configuro las carpetas en 755 y los archivos en 644. (Algunas aplicaciones recomiendan 777 en carpetas completas: 0) Para un servidor, prefiero quedarme en ubuntu por ahora (más fácil) a pesar de que lo pasé realmente bien descubriendo Arch durante algunos meses. hace. Sin embargo, he visto esto . Debería ser capaz de establecer SE Linux.
Siempre uso https. Nginx solo esta escuchando en el puerto ssl. El "problema" es que uso un certificado autofirmado ( tal vez no por mucho tiempo ) y no sé mucho acerca de los delincuentes, por lo que Primero investigue ssl antes de hacer algunas preguntas. Acabo de enterarme esta mañana que podría usar TLS en la configuración de nginx ^^
Realmente no entiendo qué es el hash. Ni dónde usarlo (me refiero a la configuración "server / nginx"). Todavía no entiendo dónde usar hash, excepto para la configuración ssl. - > ¿Podría usar el hash como contraseñas?
Actualmente utilizo Mitro . Pero inútil en Android (secuestro del portapapeles)
También utilizo algunas opciones básicas de rkhunter y fail2ban.