|
|
| Linha 28: |
Linha 28: |
| '''Passo 2:''' Permissão de execução <pre>chmod +x hardening_ubuntu24.sh </pre> | | '''Passo 2:''' Permissão de execução <pre>chmod +x hardening_ubuntu24.sh </pre> |
|
| |
|
| '''Passo 3:''' Copiar o código a baixo e colar no arquivo criado. | | '''Passo 3:''' baixar: |
|
| |
|
| <pre>
| | wget https://git.reitoria.unesp.br/reginaldo.lopes/wiki-ti/raw/branch/main/hardening_ubuntu24.sh && chmod +x hardening_ubuntu24.sh %% ./hardening_ubuntu24.sh |
| #!/bin/sh
| |
| ### BEGIN INFO
| |
| # Reginaldo.lopes 30/04/2025
| |
| # Versão 1.1
| |
| ### END INFO
| |
|
| |
|
| case "$1" in
| | '''Passo 4:''' Adicione a chave SSH e restart o SSH <pre>sudo systemctl restart ssh</pre> |
| | |
| 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
| |
| </pre>
| |
| | |
| '''Passo 4:''' Executar o script <pre>./hardening_ubuntu24.sh </pre> | |
| | |
| '''Passo 5:''' Adicione a chave SSH e restart o SSH <pre>sudo systemctl restart ssh</pre>
| |
|
| |
|
| == Firewall == | | == Firewall == |
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: baixar:
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 4: 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
Referências
Cis controls