En el post anterior explique los fundamentos para hacer correr SELinux con enforcing en virtualhosts fuera del directorio /var/www.
Ahora supongamos que queremos ejecutar también utilizando SELinux en enforcing Apache en un puerto diferente al 80, por ejemplo el 1080. Sabemos que utilizando un puerto menor a 1023 debemos utilizar root para poder iniciar httpd.
Lo primero que debemos hacer es cambiar la configuración del puerto en el archivo /etc/httpd/conf/httpd.conf.
# sed -i 's/Listen\ 80/Listen\ 1080/g' /etc/httpd/conf/httpd.confVerificamos el modo de SELinux, y nos encontramos que estamos en Enforcing:
# getenforceAhora si queremos iniciar Apache, este va a fallar, ya que el puerto 1080 no esta permitido por SELinux para escuchar conexiones de httpd. Por lo cual con el paquete policycoreutils-python previamente instalado hacemos uso de semanage:
1
# semange port -a -t http_port_t -p tcp 1080Con esto permitimos que httpd pueda escuchar en el puerto 1080. Ahora si verificamos con semanage port -l vemos que el puerto 1080 se lista:
# semanage port -l
http_cache_port_t tcp 8080, 8118, 8123, 10001-10010
http_cache_port_t udp 3130
http_port_t tcp 80, 443, 488, 8008, 8009, 8443, 1080
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989
Si reiniciamos el servicio httpd vamos a ver que este levanta correctamente y ya podemos utilizar Apache en un puerto diferente.
No hay comentarios:
Publicar un comentario