configuración de apache sin panel de control (entorno de producción seguro)

Iniciado por gAb1, 20 Julio 2016, 21:39 PM

0 Miembros y 1 Visitante están viendo este tema.

gAb1

Siempre he usado paneles de control, tipo cpanel, kloxo, etc... Pero me gustaría aprender a hacerlo manualmente y tengo un par de dudas que no consigo encontrar (o entender) en las guias existentes.

Primero decir que voy a usar ultima versión de todo, incluido el protocolo http/2. El servidor sería el típico LAMP. Solo que en lugar de mysql, mariadb.

El objetivo principal sería tener en cuenta cuestiones de seguridad importantes (y menos importantes también), como famosos problemas de openssl (arreglados en la ultima versión, por suerte) con los certificados de seguridad (esta sería la parte a configurar, si no me equivoco sería algo como "SSLProtocol -all +TLSv1.2, ¿no?).

Para ello tengo como referencia la guia LAMP de arch linux (que es de las más completas, con referencias a cuestiones de seguridad más importantes, como la de sslv3, si alguien conoce alguna más a tener en cuenta, agradeceria que la mencionara (opcionalmente con la solución)).

Una de mis primeras dudas sería el uso de mod_rewrite en los .htaccess. He estado leyendo y al parecer es algo recomendado y no recomendado. Algunos afirman que no se debe usar (en la propia web se aconseja usar como ultimo recurso) y otros explican que no hay razón para no usarlo y que además tiene sus ventajas: http://askubuntu.com/a/222880.

No voy a usar un hosting compartido ni un VPS, voy a contratar un baremetal (dedicado) de scaleway y voy a instalar/configurar todo yo mismo, por lo que no tendría razón para usarlo más que por las posibles ventajas.

CitarApache2 reads all config files in /etc/apache2/conf.d/. This can be good for any general configuration directives you want to add that don't relate to any particular virtual host. Just add a new file there and put config into it.

Creo que prefiero configurarlo ahí y desactivar htaccess, pero esa ruta es especifica de ubuntu creo, en arch linux es /etc/httpd/conf, ¿es ahí dentro donde puedo crear mis propios archivos de configuración? Más que nada por si alguien consigue acceder al document root mediante php, que no pueda cambiar ninguna configuración local. ¿Tiene sentido o de todas maneras seguiria habiendo riesgo? Como cambiar configuraciones desde php (la cuestión sería como configurarlo para conseguir entornos de producción seguros).

Actualmente uso htaccess con una configuración u otra dependiendo del dominio/subdominio: Por ejemplo, la web principal (y algunos subdominios) redirige todo al index.php, que sería el router de la web y usando php, incluyo archivos dependiendo de la url (y sus parametros get). Pero en el subdominio static, donde almaceno los archivos incluidos estáticos (como javascripts, css e imágenes) he deshabilitado php y aparte configuro CORS para que el dominio principal y otro subdominio puedan cargar contenido. ¿Todo esto podría hacerse desde la configuración interna en /etc/httpd/conf? ¿Mejoraria de alguna manera la seguridad?

Otra cosa que tiene un poquito que ver con la seguridad es, la redirección de http a https automática. En kloxo hay una opción para forzar la redirección, pero no veia nada en el .htaccess, por lo que debe hacer en alguna otra parte, ¿será en alguna configuración interna de apache? La redirección automatica de no-www a www sería en el mismo archivo, ¿no?

Gracias!

PalitroqueZ

por la red hay un manual llamado Manual de Supervivencia del Administrador de Apache bastante bueno y completo para conocer cada una de las directivas y su función específica en la configuración de apache-

"La Economía planificada lleva de un modo gradual pero seguro a la economía dirigida, a la economía autoritaria y al totalitarismo" Ludwig Erhard

gAb1

Buena guia, pero está un poco desfasada  :-\ Muchos de los problemas actuales no existian en aquel entonces (2006).

De todas formas explica cosas que no sabia, gracias.