Procedimento hardening de Ubuntu: mudanças entre as edições

De wikiti
Ir para navegação Ir para pesquisar
 
(18 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 5: Linha 5:
Versão: 1.2
Versão: 1.2


Data: 27/06/2025
Data: 17/09/2026


Autor: reginaldo.lopes@unesp.br
Autor: reginaldo.lopes@unesp.br
Linha 18: Linha 18:


*Reduzir o risco de invasões e vazamentos.
*Reduzir o risco de invasões e vazamentos.
*Cumprir normas e requisitos de compliance (CIS Controls, ISO 27001, etc).
*Cumprir normas e requisitos de compliance (CIS Controls, NIST CSF, etc).
*Minimizar o impacto de falhas zero-day.
*Minimizar o impacto de falhas zero-day.
*Aumentar a resiliência do ambiente contra ataques automatizados e direcionados
*Aumentar a resiliência do ambiente contra ataques automatizados e direcionados
Linha 24: Linha 24:
== Uso ==
== Uso ==


'''Passo 1:''' Criar um arquivo <pre>touch hardening_ubuntu24.sh </pre>
'''Passo 1 ubuntu 26.04:'''
 
<pre>
'''Passo 2:''' Permissão de execução <pre>chmod +x hardening_ubuntu24.sh </pre>
wget https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/hardening_ubuntu26.sh && chmod +x hardening_ubuntu26.sh && ./hardening_ubuntu26.sh
</pre>


'''Passo 3:''' Copiar o código a baixo e colar no arquivo criado.


'''Passo 1 ubuntu 24.04:'''
<pre>
<pre>
#!/bin/sh
wget https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/hardening_ubuntu24.sh && chmod +x hardening_ubuntu24.sh && ./hardening_ubuntu24.sh
### BEGIN INFO
</pre>
# Reginaldo.lopes 30/04/2025
# Versão 1.1
### END INFO


case "$1" in


up)
'''Passo 2:''' executar conforme descrição do script
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
'''Passo 3:''' Adicione a chave SSH e restart o SSH <pre>sudo systemctl restart ssh</pre>
echo "Atualizando pacotes do sistema..."
sudo apt update && sudo apt full-upgrade -y


# SSH
== Firewall ==
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
* Disponível no harderning
sudo sed -i 's/#PermitEmptyPasswords yes/PermitEmptyPasswords no/' /etc/ssh/sshd_config


# Desativar encaminhamento TCP
=== Firewall v4 ===
echo "AllowTcpForwarding no" | sudo tee -a /etc/ssh/sshd_config


# Limitar tentativas de login SSH para mitigar ataques de força bruta
'''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
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.
'''Passo 2:''' Modificar o script <IP>, <ifext>, <IP Acesso SSH ex: 200.145.dti.dti>, etc.
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
=== Firewall v6 ===


sudo rm /etc/ssh/sshd_config.d/*
'''Passo 1:''' wget -O /etc/init.d/firewallv6 https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/firewallv6 && chmod 755 /etc/init.d/firewallv6 && update-rc.d firewallv6 defaults


echo "Criando banner"
'''Passo 2:''' Modificar o script <IP>, <ifext>, <IP Acesso SSH ex: 200.145.dti.dti>, etc.
# 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 "########################################"
== checklist rápido antes de colocar em produção ==
echo " Adicione a chave SSH"
echo " Restart o SSH sudo systemctl restart ssh"
echo "########################################"


# NTP
[ ] Somente as portas estritamente necessárias para o serviço devem permanecer abertas.
# 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


;;
[ ] Acesso administrativo com chave SSH.


*)
[ ] Realizar todas as atualizações antes de colocar em produção.
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 " "


;;
[ ] Os logs devem ser enviados para o Wazuh desde o primeiro boot.
esac
</pre>


'''Passo 4:''' Executar o script <pre>./hardening_ubuntu24.sh </pre>
[ ] Configurar backup conforme a necessidade da VM.


'''Passo 5:''' Adicione a chave SSH e restart o SSH <pre>sudo systemctl restart ssh</pre>
[ ] Scanear a VM com o [https://wiki-ti.unesp.br/index.php/RUNBOOK_Identifica%C3%A7%C3%A3o_de_vulnerabilidades_com_OpenVAS Greenbone].


== Firewall ==
[ ] Alterar senha local e colocar no Gerenciador de senhas.
 
=== Firewall v4 ===
 
'''Passo 1:''' Criar um arquivo <pre>sudo touch /etc/init.d/firewallv4</pre>
 
'''Passo 2:''' Copiar e colocar o script a seguir no arquivo.
 
'''Passo 3:''' Modificar o script <IP>, <ifext>, <IP Acesso SSH ex: 200.145.dti.dti>, etc.
 
'''Passo 4:''' https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/firewallv4
 
* Executar o comando "chmod 755 /etc/init.d/firewallv4"
 
* Para que o script inicie sempre no boot do sistema, execute o comando <pre>update-rc.d firewallv6 defaults </pre>
 
* TODO: Adicionar no script /hardening_ubuntu24.sh firewall.


== Histórico de Revisões do Documento ==
== Histórico de Revisões do Documento ==
Linha 174: Linha 80:
Versão 1.1 NTP e SSH.
Versão 1.1 NTP e SSH.


Versão 1.2 apt full-upgrade e install openssh-server
Versão 1.2 apt full-upgrade e install openssh-server.
 
Versão 1.3 Download do firewall no script.
 
Versão 1.4 checklist rápido.


== Referências ==
== Referências ==
[https://downloads.cisecurity.org/#/ Cis controls]
[https://downloads.cisecurity.org/#/ Cis controls]
[https://www.youtube.com/watch?v=5WUVslckejA Youtube - Hardening, Superfície de Ataque e Priorização de Vulnerabilidades ]
[[Arquivo:Hardening.pdf|Hardening, Superfície de Ataque e Priorização de Vulnerabilidades (PDF)]]

Edição atual tal como às 12h57min de 17 de setembro de 2026


hardening

Versão: 1.2

Data: 17/09/2026

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, NIST CSF, etc).
  • Minimizar o impacto de falhas zero-day.
  • Aumentar a resiliência do ambiente contra ataques automatizados e direcionados

Uso

Passo 1 ubuntu 26.04:

wget https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/hardening_ubuntu26.sh && chmod +x hardening_ubuntu26.sh && ./hardening_ubuntu26.sh


Passo 1 ubuntu 24.04:

wget https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/hardening_ubuntu24.sh && chmod +x hardening_ubuntu24.sh && ./hardening_ubuntu24.sh


Passo 2: executar conforme descrição do script


Passo 3: Adicione a chave SSH e restart o SSH

sudo systemctl restart ssh

Firewall

  • Disponível no harderning

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.


Firewall v6

Passo 1: wget -O /etc/init.d/firewallv6 https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/firewallv6 && 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.

checklist rápido antes de colocar em produção

[ ] Somente as portas estritamente necessárias para o serviço devem permanecer abertas.

[ ] Acesso administrativo com chave SSH.

[ ] Realizar todas as atualizações antes de colocar em produção.

[ ] Os logs devem ser enviados para o Wazuh desde o primeiro boot.

[ ] Configurar backup conforme a necessidade da VM.

[ ] Scanear a VM com o Greenbone.

[ ] Alterar senha local e colocar no Gerenciador de senhas.

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.

Versão 1.3 Download do firewall no script.

Versão 1.4 checklist rápido.

Referências

Cis controls

Youtube - Hardening, Superfície de Ataque e Priorização de Vulnerabilidades

Arquivo:Hardening.pdf