Publicado el
16 de abril de 2024
En el vasto mundo de la administración de servidores web, la seguridad es una preocupación primordial. A medida que la transmisión de datos entre clientes y servidores se vuelve cada vez más vital, garantizar su protección se vuelve indispensable. En este contexto, configurar un servidor web en una distribución Linux implica una tarea fundamental: garantizar la seguridad de los datos transmitidos. A la vanguardia de este esfuerzo se encuentra la implementación del cifrado de Seguridad de la Capa de Transporte (TLS). Para cualquier persona involucrada en el desarrollo o alojamiento web, dominar el cifrado TLS no es solo una buena práctica, sino una habilidad fundamental para proteger la información confidencial que se intercambia en la web.
En este primer artículo de nuestra serie: Instalación de servidores web en diferentes distribuciones de Linux, profundizamos en el proceso de instalación y configuración de uno de los servidores web más populares para Linux, Apache HTTP, para habilitar el cifrado TLS en sistemas operativos populares como Red Hat Enterprise Linux (RHEL), Debian y OpenSUSE. Esta guía detallada proporciona pasos claros y prácticos para implementar una capa adicional de seguridad en sus servidores web Apache HTTP, garantizando así la confidencialidad e integridad de la comunicación.
Instalar y configurar Apache Httpd para el cifrado TLS: proceso completo
Pero antes de sumergirnos en el proceso de configuración, es esencial asegurarse de que se cumplan los siguientes requisitos previos:
Prerrequisitos:
Actualización de paquetes existentes. Se requerirán privilegios especiales para ciertas operaciones durante el procedimiento:
RHEL
actualización dnf -y
Nota: Utilice yum si dnf no está presente en la máquina
Ubuntu
actualización adecuada –y
Nota: Utilice apt-get si apt no está presente en la máquina
OpenSUSE
actualización de zypper
Instalación del proceso Apache:
Escribe los diferentes comandos para cada sistema:
RHEL
dnf install -y net-tools httpd
Ubuntu
sudo apt install apache2
OpenSUSE
zypper install -y apache2
Nota : El servicio aún no debería haberse iniciado. Puede iniciarse con el systemctl start httpd ; después, comenzará a escuchar en la parte 80 de forma predeterminada. Esto no es seguro; se recomienda usar https (puerto 443) y no http (puerto 80).
¿Quieres implementar estas prácticas de PKI?
Obtenga orientación experta sobre la implementación de soluciones PKI seguras para su organización.
Obtenga ayuda de expertosConfiguración de Apache para el cifrado TLS:
Se requiere el mod_ssl
RHE
dnf install -y mod_ssl
Ubuntu
apto a2enmod ssl
Después de eso, guarde la clave privada, el TLS y el certificado CA en el directorio de su elección.
Una vez hecho esto, edite el archivo /etc/httpd/conf.d/ssl.conf ( /etc/apache2/sites-available/default-ssl.conf para Ubuntu y OpenSUSE) y en la
Establecer el nombre del servidor:
Nombre del servidor url.com
Si se pretenden usar diferentes alias para el servidor, deben añadirse en el campo "Nombre alternativo del sujeto" del certificado. Para añadir estos nombres alternativos a la configuración, añada la siguiente línea:
ServerAlias www.url.com *.url.com
Establezca las rutas a la clave privada, el certificado TLS y el certificado de la CA. El nombre común del certificado TLS debe coincidir con el nombre que se usará para el servidor (en este caso, url.com). Estos certificados se pueden generar mediante la PKI de Stream o la autoridad de registro de Horizon.
ArchivoClaveCertificadoSSL "/ruta/url.com.key" ArchivoCertificadoSSL "/ruta/url.com.crt" ArchivoCertificadoSSLCA "/ruta/ca.crt"
Nota : TLS 1.2 y TLS 1.3 están habilitados de forma predeterminada. Para mayor seguridad, es posible habilitar solo TLS 1.3 añadiendo la siguiente línea:
Protocolo SSL -Todos +TLSv1.3
Haga que la clave privada sea segura y menos accesible, haciéndola accesible solo para el usuario root. Para ello, asigne al usuario root el propietario del archivo de clave y permita que solo él pueda leer y escribir en él.
chown root:root /ruta/url.com.key
chmod 600 /ruta/url.com.clave
Iniciar o reiniciar el servicio:
[RHEL] systemctl reiniciar httpd
[Ubuntu/OpenSUSE] systemctl reiniciar apache2
Conclusión:
Instalar un servidor web en una distribución de Linux es crucial para configurar un entorno de alojamiento web. La elección dependerá de sus requisitos y preferencias. Estos servidores ofrecen funciones robustas y optimizaciones de rendimiento para ofrecer contenido web de forma eficiente. Siguiendo las instrucciones de instalación adecuadas para su distribución de Linux, podrá configurar rápidamente un servidor web confiable y comenzar a alojar sus sitios web o aplicaciones para que todo el mundo pueda acceder a ellos.