Procedimento hardening de Ubuntu: mudanças entre as edições
| Linha 151: | Linha 151: | ||
== Firewall == | == Firewall == | ||
* TODO: Adicionar no script /hardening_ubuntu24.sh firewall. | |||
=== Firewall v4 === | === Firewall v4 === | ||
'''Passo 1:''' | '''Passo 1:''' wget -O /etc/init.d/firewallv4 https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/firewallv4 && chmod 755 /etc/init.d/firewallv4 && update-rc.d firewallv4 defaults | ||
'''Passo 2:''' | '''Passo 2:''' Modificar o script <IP>, <ifext>, <IP Acesso SSH ex: 200.145.dti.dti>, etc. | ||
* O comando baixo o arquivo, adiciona as permissões e executa automaticamente quando o servidor é ligado | |||
=== Firewall v6 === | |||
'''Passo 1:''' wget -O /etc/init.d/firewallv6 https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/firewallv6%20 && chmod 755 /etc/init.d/firewallv6 && update-rc.d firewallv6 defaults | |||
'''Passo 2:''' Modificar o script <IP>, <ifext>, <IP Acesso SSH ex: 200.145.dti.dti>, etc. | |||
== Histórico de Revisões do Documento == | == Histórico de Revisões do Documento == | ||
Edição das 18h16min de 8 de maio de 2026
hardening
Versão: 1.2
Data: 27/06/2025
Autor: reginaldo.lopes@unesp.br
Política: Art. 42-VIII-D, Art. 32 Política de Segurança Cibernética
O que é
Hardening é o processo de reforçar a segurança de sistemas, servidores, aplicações e redes, reduzindo a superfície de ataque por meio da eliminação de vulnerabilidades, configurações padrão inseguras e serviços desnecessários.
Por que usar?
- Reduzir o risco de invasões e vazamentos.
- Cumprir normas e requisitos de compliance (CIS Controls, ISO 27001, etc).
- Minimizar o impacto de falhas zero-day.
- Aumentar a resiliência do ambiente contra ataques automatizados e direcionados
Uso
Passo 1: Criar um arquivo
touch hardening_ubuntu24.sh
Passo 2: Permissão de execução
chmod +x hardening_ubuntu24.sh
Passo 3: Copiar o código a baixo e colar no arquivo criado.
#!/bin/sh ### BEGIN INFO # Reginaldo.lopes 30/04/2025 # Versão 1.1 ### END INFO case "$1" in up) echo "Iniciando ... [ OK ]" # Verifica se é Ubuntu 24.04 LSB_SR=$(lsb_release -sr) ; LSB_SI=$(lsb_release -si) if [ "$LSB_SR" = "24.04" ] && [ "$LSB_SI" = "Ubuntu" ] ; then VER="U24" else echo "" echo "Versao de sistema operacional invalido para este script" echo "" echo "Script homologado para Ubuntu 24.04 LTS" echo "" echo "Versao detectada:" echo "=================" echo "" lsb_release -a echo "" echo "Saindo do programa" exit 1 fi # Atualizar pacotes do sistema echo "Atualizando pacotes do sistema..." sudo apt update && sudo apt full-upgrade -y # SSH sudo apt install openssh-server -y echo "Aplicando hardening no SSH..." # Desativar encaminhamento X11, Rodar aplicações gráficas, ex: gedit sudo sed -i 's/#X11Forwarding yes/X11Forwarding no/' /etc/ssh/sshd_config # Desativar senhas vazias sudo sed -i 's/#PermitEmptyPasswords yes/PermitEmptyPasswords no/' /etc/ssh/sshd_config # Desativar encaminhamento TCP echo "AllowTcpForwarding no" | sudo tee -a /etc/ssh/sshd_config # Limitar tentativas de login SSH para mitigar ataques de força bruta echo "MaxAuthTries 3" | sudo tee -a /etc/ssh/sshd_config # Desativa completamente o login via SSH com o usuário root, mesmo com chave SSH. sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config sudo sed -i 's/^#AuthorizedKeysFile/AuthorizedKeysFile/' /etc/ssh/sshd_config sudo rm /etc/ssh/sshd_config.d/* echo "Criando banner" # Banner no ssh # Adiciona o comando para chamar o banner echo "Banner /etc/issue.net" | sudo tee -a /etc/ssh/sshd_config # Adiciona o banner no arquivo issue.net cat << EOF > /etc/issue.net ***************************************************** * UNESP - UNIVERSIDADE ESTADUAL PAULISTA * * * * ACESSO RESTRITO SOMENTE A PESSOAS AUTORIZADAS ! * * * * Qualquer acesso nao autorizado podera resultar * * em severas penalidades civis e criminais. * * * * Equipe CSIRT Unesp * * security@unesp.br * * * ***************************************************** EOF ######## echo "########################################" echo " Adicione a chave SSH" echo " Restart o SSH sudo systemctl restart ssh" echo "########################################" # NTP # Adiciona o NTP da unesp.br e da nic.br sudo sed -i 's|^#NTP=.*|NTP=ntp.unesp.br|' /etc/systemd/timesyncd.conf && \ sudo sed -i 's|^#FallbackNTP=.*|FallbackNTP=a.ntp.br|' /etc/systemd/timesyncd.conf # data/hora America/Sao_Paulo timedatectl set-timezone America/Sao_Paulo # Restart systemctl restart systemd-timesyncd ;; *) echo " " echo "Description: \e[1;32m \e[0m" echo "Script para adicionar camadas de segurança no ubuntu 24.04" echo " " echo "Options: " echo " " echo "\e[0;32m Hardening: \e[0m" echo " - up Iniciar o Hardening" echo " " echo "Example: " echo "./hardening_ubuntu24.sh up" echo "./hardening_ubuntu24.sh siem" echo "./hardening_ubuntu24.sh firewall" echo " " ;; esac
Passo 4: Executar o script
./hardening_ubuntu24.sh
Passo 5: Adicione a chave SSH e restart o SSH
sudo systemctl restart ssh
Firewall
- TODO: Adicionar no script /hardening_ubuntu24.sh firewall.
Firewall v4
Passo 1: wget -O /etc/init.d/firewallv4 https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/firewallv4 && chmod 755 /etc/init.d/firewallv4 && update-rc.d firewallv4 defaults
Passo 2: Modificar o script <IP>, <ifext>, <IP Acesso SSH ex: 200.145.dti.dti>, etc.
- O comando baixo o arquivo, adiciona as permissões e executa automaticamente quando o servidor é ligado
Firewall v6
Passo 1: wget -O /etc/init.d/firewallv6 https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/firewallv6%20 && chmod 755 /etc/init.d/firewallv6 && update-rc.d firewallv6 defaults
Passo 2: Modificar o script <IP>, <ifext>, <IP Acesso SSH ex: 200.145.dti.dti>, etc.
Histórico de Revisões do Documento
Versão 1.0 Versão Inicial
Versão 1.1 NTP e SSH.
Versão 1.2 apt full-upgrade e install openssh-server