Cómo cambiar el puerto de escucha HTTP en Apache


Si encuentra que el puerto 80 es un riesgo de seguridad en su red, puede cambiar el puerto de escucha de Apache a algo no estándar.

Cómo cambiar el puerto de escucha HTTP en Apache
Si encuentra que el puerto 80 es un riesgo de seguridad en su red, puede cambiar el puerto de escucha de Apache a algo no estándar.

Como sabe casi cualquier administrador de TI, el puerto predeterminado del servidor web es 80. Y eso es genial. Pero la cuestión es que los piratas informáticos saben que el puerto 80 es el predeterminado y lo dirigen con facilidad. ¿Qué pasaría si no tuviera que dejar el servidor web Apache vulnerable a los ataques del puerto 80? Teniendo en cuenta que puede cambiar fácilmente la configuración de modo que sus hosts virtuales Apache escuchen puertos no estándar, tiene mucho sentido para cualquiera que tenga problemas con los ataques del puerto 80.

La única advertencia de esto es que cuando cambie el puerto predeterminado, todos los navegadores tendrán que apuntar a ese puerto específico, de lo contrario, cualquier host virtual que use el puerto no predeterminado no se procesará.

También es un buen truco para tener bajo la manga cuando tiene un solo servidor de Apache que aloja sitios que pueden requerir el uso de diferentes puertos para diferentes servicios. Por ejemplo, si tiene un sitio para clientes en el puerto 80 y desea ofrecer un sitio para clientes en el puerto 8081. Con Apache, eso no solo es posible, es fácil.

Déjame mostrarte cómo puedes cambiar el puerto de Apache. Lo demostraré en Ubuntu Server 18.10, pero también daré indicaciones sobre cómo se realiza el proceso en los servidores de tipo Red Hat y Fedora.

VER: Elegir su estrategia de salida de Windows 7: cuatro opciones (TechRepublic Premium)

Lo que necesitarás

Lo único que necesita es un servidor LAMP en ejecución y una cuenta de usuario con privilegios de sudo. La porción "L" de LAMP podría ser Ubuntu, SUSE, Red Hat, Debian, Fedora Server o casi cualquier distribución de Linux.

Cómo agregar el nuevo puerto

Lo primero que haremos es agregar al puerto Apache de escucha predeterminado. Para hacer esto, inicie sesión en su servidor Linux y emita uno de los siguientes comandos:

  • Para servidores basados ​​en Ubuntu / Debian: sudo nano /etc/apache2/ports.conf
  • Para servidores basados ​​en Red Hat: sudo nano /etc/httpd/conf/httpd.conf

En el archivo ahora abierto (Figura A) agregue Listen 8081 bajo la línea Listen 80.

Figura A

<a href = "https://tr2.cbsistatic.com/hub/i/2019/12/02/305f3f12-2e5f-45da-86d1-6637c5ce8ad6/lampportsa.jpg" target = "_ blank" data-component = "modalEnlargeImage "data-headline ="

El archivo ports.conf en Ubuntu Server.

"data-credit =" "rel =" noopener noreferrer nofollow ">lampportsa.jpg

El archivo ports.conf en Ubuntu Server.

Guarde y cierre el archivo.

Cómo configurar el host virtual

Ahora necesitamos configurar nuestro host virtual para escuchar el nuevo puerto. Lo demostraré con el host virtual predeterminado, pero puede modificarlo para que se ajuste a cualquier host virtual que haya agregado a Apache. Abra el archivo de host virtual con el comando:

sudo nano /etc/apache/sites-enabled/000-default.conf

Para los sistemas basados ​​en Red Hat, los archivos de host virtual se encuentran en /etc/httpd/conf.d/.

En la parte superior del archivo, verá el comienzo de la directiva:

Cambie esa línea a:

Guarde y cierre el archivo.

Reinicie Apache con el comando:

sudo systemctl restart apache2

O para sistemas basados ​​en Red Hat:

sudo systemctl restart httpd

Ahora debería poder apuntar un navegador a http: // SERVER_IP: 8081 (donde SERVER_IP es la dirección IP del servidor de alojamiento) para ver el sitio de bienvenida de Apache (Figura B), o la página de bienvenida de su host virtual.

Figura B

<a href = "https://tr3.cbsistatic.com/hub/i/2019/12/02/00d4bda1-71cf-40fe-bd87-895be80a573a/lampportsd.jpg" target = "_ blank" data-component = "modalEnlargeImage "data-headline ="

Una página familiar.

"data-credit =" "rel =" noopener noreferrer nofollow ">lampportsd.jpg "src =" https://tr3.cbsistatic.com/hub/i/2019/12/02/00d4bda1-71cf-40fe-bd87-895be80a573a/lampportsd.jpg

Trabajo extra con Red Hat

Si su distribución de elección está basada en Red Hat, es posible que deba realizar un poco de trabajo extra. Para que Apache se vincule al nuevo puerto, primero debe instalar la aplicación policycoreutils. Instale el software con el comando:

sudo yum install policycoreutils

Una vez que el software está instalado, agregue las nuevas reglas SELinux para el puerto 8081 con los siguientes comandos:

sudo semanage port -a -t http_port_t -p tcp 8081
sudo semanage port -m -t http_port_t -p tcp 8081

Después de ejecutar los comandos anteriores, reinicie apache con el comando:

sudo systemctl restart httpd

Ahora debería poder ver su host virtual, a través del puerto 8081, tal como lo proporciona su servidor Apache basado en Red Hat.

Y eso es todo lo que hay para servir sitios web en un puerto no estándar. Por supuesto, no tiene que usar el puerto 8081. De hecho, puede usar casi cualquier puerto que necesite, siempre que no entre en conflicto con un puerto utilizado por otro servicio.

Ver también

<a href = "https://tr1.cbsistatic.com/hub/i/r/2016/11/17/6f5f8308-7193-4b46-866d-b88fb0fa68e5/resize/770x/4801747af0d6dbd2dc3dbfc239f2362f/apachehero.jpg" target = _blank "data-component =" modalEnlargeImage "data-headline ="

"data-credit =" Imagen: Apache "rel =" noopener noreferrer nofollow ">apachehero.jpg "src =" https://tr1.cbsistatic.com/hub/i/r/2016/11/17/6f5f8308-7193-4b46-866d-b88fb0fa68e5/resize/770x/4801747af0d6dbd2dc3dbfc239f2362f/apachehero.jpg

Imagen: Apache



Enlace a la noticia original