A segurança de servidores web é um aspecto essencial para proteger aplicações online contra ameaças cibernéticas. Tanto o Apache quanto o Nginx são amplamente utilizados, e suas configurações corretas ajudam a mitigar vulnerabilidades comuns. Neste guia, apresentamos um passo a passo para configurar servidores web de maneira segura.
1. Escolha um Sistema Operacional Seguro
Antes de configurar um servidor web, escolha um sistema operacional estável e seguro, como Ubuntu Server, Debian, CentOS ou AlmaLinux. Mantenha sempre o sistema atualizado com patches de segurança.
sudo apt update && sudo apt upgrade -y # Debian/Ubuntusudo yum update -y # CentOS/AlmaLinux2. Instale e Configure o Servidor Web
Instale o Apache ou Nginx conforme sua necessidade:
Apache:
sudo apt install apache2 -y # Debian/Ubuntusudo yum install httpd -y # CentOS/AlmaLinuxNginx:
sudo apt install nginx -y # Debian/Ubuntusudo yum install nginx -y # CentOS/AlmaLinuxApós a instalação, inicie e habilite o serviço:
sudo systemctl enable --now apache2 # Para Apachesudo systemctl enable --now nginx # Para Nginx3. Configure Permissões e Diretórios Seguros
Ajuste as permissões para garantir que arquivos sensíveis não sejam acessíveis:
sudo chown -R www-data:www-data /var/www/htmlsudo chmod -R 755 /var/www/htmlNo Apache, desative a listagem de diretórios editando o arquivo
/etc/apache2/apache2.conf:<Directory /var/www/html>Options -Indexes</Directory>Para o Nginx, edite o arquivo de configuração:
server {location / {autoindex off;}}4. Ative HTTPS com Certificados SSL/TLS
Instale o Certbot para gerar certificados SSL gratuitos da Let's Encrypt:
sudo apt install certbot python3-certbot-nginx -y # Para Nginxsudo apt install certbot python3-certbot-apache -y # Para ApacheEm seguida, gere e aplique o certificado:
sudo certbot --nginx # Para Nginxsudo certbot --apache # Para ApacheConfigure a renovação automática:
sudo systemctl enable certbot.timer5. Restrinja o Acesso ao Servidor
Utilize firewalls para restringir o acesso:
sudo ufw allow OpenSSHsudo ufw allow "Nginx Full" # Ou "Apache Full" para Apachesudo ufw enablePara reforçar a segurança, desative o acesso root via SSH e altere a porta padrão editando
/etc/ssh/sshd_config:PermitRootLogin noPort 2222Reinicie o serviço:
sudo systemctl restart sshd6. Proteja Contra Ataques de Força Bruta e DoS
Instale e configure o Fail2Ban para prevenir ataques de força bruta:
sudo apt install fail2ban -yEdite o arquivo
/etc/fail2ban/jail.localpara monitorar tentativas de login:[sshd]enabled = trueport = 2222filter = sshdlogpath = /var/log/auth.logmaxretry = 5Reinicie o serviço:
sudo systemctl restart fail2banPara mitigar ataques DoS, configure limites de conexão no Nginx:
limit_conn_zone $binary_remote_addr zone=addr:10m;server {location / {limit_conn addr 10;}}7. Mantenha o Servidor Atualizado
Automatize as atualizações de segurança:
sudo apt install unattended-upgrades -ysudo dpkg-reconfigure unattended-upgradesConclusão
Seguir essas boas práticas aumenta significativamente a segurança do seu servidor web, reduzindo os riscos de ataques e vulnerabilidades. Lembre-se de monitorar logs, revisar permissões regularmente e manter backups para evitar perda de dados.

0 Comentários