No debe cerrar el puerto 80. En su lugar, debe configurar su servidor para redirigir el puerto HTTP 80 al puerto HTTPS 443 para usar TLS. Opcionalmente, puede usar HSTS (HTTP Strict Transport Security) para decirles a los navegadores que recuerden usar solo TLS cuando se conecten a su sitio en el futuro.
No hay nada inseguro en que el puerto 80 esté abierto. Los problemas de seguridad solo ocurren cuando el servidor web atiende solicitudes a través de una conexión sin cifrar, especialmente si esas solicitudes contienen datos confidenciales. Tener el puerto 80 abierto y enviar nada más que una redirección HTTP es perfectamente seguro.
Google, el principal motor de búsqueda de Internet (eclipsando tanto a Bing como a Yahoo), y el navegador utilizado por la mayoría de los usuarios de Internet, ha estado impulsando un mundo solo HTTPS al disminuir el rango de página para los sitios que no utilizan HTTPS y agregar una advertencia del navegador cuando un sitio no seguro. Sin embargo, la proporción de sitios HTTPS y no es todavía demasiado baja para recomendar una política de HTTPS primero para todos, porque los usuarios recibirían constantemente mensajes aterradores de "error de certificado" o errores de "conexión rechazada".
Entonces, hasta que Google recomiende una política de HTTPS primero para las conexiones del navegador, no es probable que Firefox, Apple o Microsoft recomienden tales políticas, y eso no es probable hasta que una mayoría decente (quizás el 70% o más) de los sitios principales. están habilitados para HTTPS, lo que representaría un gran aumento con respecto al ~50 % de los principales sitios que tienen HTTPS en la actualidad.
La mayoría de los usuarios que intencionalmente o accidentalmente visitan su sitio HTTP, si son recibidos con un error de "conexión rechazada", probablemente pasarán a otro sitio. No tengo una buena manera de obtener números concretos aquí, pero es probable que el 70-90% de los usuarios de Internet no se den cuenta de que el sitio no tiene un puerto HTTP sin una redirección automática; el resto probablemente sean lo suficientemente competentes técnicamente para darse cuenta de que necesitan HTTPS, o usan HTTPS en todas partes, y de todos modos no se darían cuenta.
Definitivamente use HSTS, definitivamente redirección 301 a recursos HTTPS (el 301 indica un movimiento permanente a los navegadores, por lo que "recordarán" esta preferencia), definitivamente aconseje a sus usuarios que se aseguren de ver un candado y verifiquen el certificado, etc. bloquee el puerto 80 en este punto, ya que Internet aún no está preparado para esto.
Que yo sepa, no hay sitios importantes que hayan deshabilitado HTTP y bloqueó el puerto 80. Si hace esto, estará rompiendo las expectativas del usuario (que el sitio lo redirigirá a un sitio seguro), y dado que la mayoría de los usuarios no sabrán qué hacer aquí, porque no obtendrán una mensaje de error, simplemente asumirá que su sitio está dañado y seguirá adelante.
En resumen:NORMALMENTE, manténgalo abierto y utilícelo para redirigir todo a HTTPS.
Ahora vamos a las cosas complicadas :quitar el puerto 80 puede detener a los ladrones de cookies que buscan pasivamente http://corp.com/some/forgotten/thing
rezagados peticiones. La conexión TCP no tiene éxito, el navegador no envía GET ni cookies, y el malo no puede leerlos.
A veces es razonable protegerse contra esto, especialmente pensando en entornos corporativos:aplicaciones heredadas, HSTS solo parcialmente implementado, cookies que pueden carecer de la marca o ruta segura o restricciones de host, terceros alojados o proxy, ...
Ahora, ¿debería usted bloquearlo? Probablemente no.
Como otros mencionaron, eso complicaría la configuración de Let's Encrypt y evitaría los redireccionamientos (incluidos los usuarios que solo escriben your.com
en la barra de direcciones). Si ha establecido HSTS en todo el dominio, la eliminación de redireccionamientos puede incluso considerarse contraproducente (es posible que desee arriesgarse a uno conexión HTTP simple para que proteja todos los futuros).
Además, tenga en cuenta que los atacantes activos no se detendrán (pueden hacer que la conexión se complete artificialmente, las herramientas de proxy MITM incluso pueden hacer esto de forma predeterminada), hay casos de esquina (proxies HTTP simples, dominios delegados fuera de su firewall) y usted puede simplemente considera el ataque pasivo demasiado complicado para tu modelo.
Finalmente, ¿debería agregar puerto 80 a un nuevo servidor? Bueno, a menos que ya tenga una razón para abrirlo (ver arriba), no.