Introducción
Apache es uno de los servidores web de código abierto más populares disponibles en la actualidad y ofrece un sólido conjunto de funciones y un alto rendimiento. En este artículo, le mostraremos cómo instalar Apache en RHEL y CentOS Stream 9 y luego protegerlo para su uso en producción.
requisitos previos
Antes de comenzar, debe tener acceso a un servidor que ejecute RHEL y CentOS Stream 9. También debe tener privilegios de root o sudo para poder instalar paquetes y realizar cambios en el sistema. Además, deberá tener una comprensión básica de los comandos de Linux y cómo usar un editor de texto como nano o vim.
instalar apache
Para instalar Apache, primero debe agregar el repositorio EPEL a su sistema. Esto se puede hacer con el siguiente comando:
sudo dnf install epel-release
Después de eso, puede instalar Apache usando el siguiente comando:
sudo dnf install httpd
Una vez completada la instalación, puede iniciar Apache con el siguiente comando:
sudo systemctl start httpd
Para asegurarse de que Apache se inicie automáticamente al inicio, ejecute el siguiente comando:
sudo systemctl enable httpd
Probar la instalación
Para probar su instalación, abra un navegador web y vaya a http://your-server-ip. Debería ver una página que dice "Bienvenido a su servidor web Apache". Esto confirma que Apache está funcionando en su sistema.
Proteger Apache
Ahora que Apache está instalado, es hora de asegurarlo para su uso en producción. Aquí hay algunos pasos básicos a seguir:
Actualice Apache a la última versión
Es importante mantener actualizada la instalación de Apache para aprovechar las correcciones de seguridad y otras mejoras. Puede actualizar Apache usando el siguiente comando:
sudo dnf update httpd
Deshabilitar la lista de directorios
De forma predeterminada, Apache mostrará una lista de directorios si no hay un archivo de índice en un directorio. Esto puede ser un riesgo para la seguridad, por lo que es mejor deshabilitar la lista de directorios. Puede hacerlo agregando las siguientes líneas al archivo de configuración de Apache ubicado en /etc/httpd/conf/httpd.conf:
<Directory /var/www/html>
Options -Indexes
</Directory>
Configurar un cortafuegos
Un firewall puede ayudar a proteger su servidor del acceso no autorizado al bloquear el tráfico entrante en ciertos puertos. En RHEL y CentOS Stream 9, puede usar el servicio de firewall integrado, firewalld, para controlar el tráfico entrante. Para permitir el tráfico a Apache, ejecute el siguiente comando:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
Habilitar el cifrado SSL/TLS
Para cifrar los datos transmitidos entre el servidor y los clientes, debe habilitar el cifrado SSL/TLS. Esto se puede hacer obteniendo un certificado SSL y configurando Apache para usarlo. Puede crear un certificado autofirmado con el siguiente comando:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache.key -out /etc/ssl/certs/apache.crt
A continuación, debe configurar Apache para usar el certificado. Esto se puede hacer agregando las siguientes líneas al archivo de configuración de Apache ubicado en /etc/httpd/conf/httpd.conf:
<VirtualHost _default_:443>
DocumentRoot "/var/www/html"
ServerName your-server-name
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache.crt
SSLCertificateKeyFile /etc/ssl/private/apache.key
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
Reinicie Apache después de realizar estos cambios con el siguiente comando:
sudo systemctl restart httpd
Restringir el acceso a archivos confidenciales
Es importante limitar el acceso a archivos confidenciales, como archivos de configuración y registros. Puede hacerlo agregando las siguientes líneas al archivo de configuración de Apache ubicado en /etc/httpd/conf/httpd.conf:
<FilesMatch "\.(log|cfg)$">
Require all denied
</FilesMatch>
Conclusión
Al seguir los pasos descritos en este artículo, instaló y aseguró con éxito Apache en RHEL y CentOS Stream 9. Estos son solo algunos de los pasos básicos para asegurar su instalación de Apache, y siempre debe mantenerse actualizado sobre la mejor seguridad. prácticas y desarrollos de campo para garantizar que su servidor permanezca seguro. Además, es importante monitorear sus registros de Apache con regularidad y estar atento a cualquier signo de actividad maliciosa o incidentes de seguridad. Con las precauciones adecuadas, puede asegurarse de que su servidor Apache funcione sin problemas y de forma segura.