Hardening, se adequando as normas ISO 27000
O intuito deste artigo é orientar com um script simples como realizar um simples hardening de servidores baseados em Debian, podendo ser ajustado a outras versões. Lembrando que alguns pontos da ISO citada requerem avaliação por parte do administrador, pois cada servidor rodará vários tipos de serviços, devendo serrem desabilitados manualmente o que pode ser desnecessário
[ Hits: 4.919 ]
Por: Rogerio Domingos de Freitas em 19/10/2021
#!/bin/bash case $1 in # restringir partições start) mount -o remount,rw,nosuid /usr mount -o remount,rw,noexec,nosuid /tmp mount -o remount,rw,noexec,nosuid /var mount echo "" echo "" echo "" echo "ATIVAR RESTRICAO NAS PARTICOES" echo "" echo "" echo "" ;; stop) mount -o remount,rw,exec /usr mount -o remount,rw,exec /tmp mount -o remount,rw,exec /var mount echo "DESATIVAR RESTRICOES NAS PARTICOES" ;; inicio) $0 start #backup de arquivos #Debian anterior ao 10, onde ainda usava o /etc/inittab, descomentar e comentar as de Debian 10 #tar -czvf /hard/copias.tar /etc/securetty /etc/ssh/sshd_config /etc/inittab /etc/profile /etc/fstab /etc/passwd #Debian 10 tar -czvf /etc/hard/copias.tar /etc/securetty /etc/ssh/sshd_config /etc/profile /etc/fstab /etc/passwd echo "" echo "" echo "" echo "Realizado backup dos arquivos que serão alterados" echo "" echo "" echo "" #Desabilitar ctrl+alt+del #Debian anterior ao 10, onde ainda usava o /etc/inittab, descomentar e comentar as de Debian 10 #sed -e '/shutdown/d' /etc/inittab | tee /etc/inittab #echo "ca:12345:ctrlaltdel:/sbin/echo "Este recurso foi desabilitado"" >> /etc/inittab #Debian 10 systemctl mask ctrl-alt-del.target systemctl daemon-reload echo "" echo "" echo "" echo "DESABILITAR CTRL+ALT+DEL" echo "" echo "" echo "" #config do ssh, alterar porta do ssh, a gosto do fregues sed -e /Port/s/22/1433/g -e /PermitRootLogin/s/yes/no/g /etc/ssh/sshd_config| tee /etc/ssh/sshd_config cp /etc/hard/issue /etc/issue.net cp /etc/hard/issue /etc/issue echo "" echo "" echo "" echo "Configurado ssh" echo "" echo "" echo "" #Restringir apenas três terminais para acesso #Debian anterior ao 10, onde ainda usava o /etc/inittab, descomentar e comentar as de Debian 10 #sed -e '/respawn/s/4:/#4:/g' -e '/respawn/s/5:/#5:/g' -e '/respawn/s/6:/#6:/g' /etc/inittab | tee /etc/inittab #Debian 10 echo "NAutoVTs=3" >> /etc/systemd/logind.conf echo "" echo "" echo "RESTRINGIR O USO DE APENAS TRES TERMINAIS" echo "" echo "" echo "" #Desabilitar Suid bit chmod -s -R / chmod +s /usr/bin/passwd chmod +s /bin/su echo "" echo "" echo "" echo "Suid bit desativado" echo "" echo "" echo "" #Limite de inatividade de 5 minutos nos terminais echo "TMOUT=300" >> /etc/profile echo "" echo "" echo "" echo "Ativado limite inatividade de 5 minutos" echo "" echo "" echo "" #Remover shells dos usuários for USER in $(cat /etc/passwd| cut -f 1 -d ":"| grep -v root| grep -v freitasrdf) do usermod -s /bin/false $USER done echo "" echo "" echo "" echo "Removidos os shells dos usuarios" echo "" echo "" echo "" # Não permitir login do root sed -e '/tty/d' /etc/securetty | tee /etc/securetty # echo "Desabilitado login pelo root" ;; *) echo "erro use $0 {start|stop|inicio}" exit 0 esac
################# A T E N C A O ################# Você esta tentando logar em um servidor de administração do Departamento de TI. Todas as tentativas e os acessos estão sendo monitorados.
Mandrake Firewall - Firewall com interface amigável
5 comandos que ninguém nunca deve executar no Linux
SysLog: Sistema de log do Linux
Bloqueio de usuários com página de aviso
Administrando Linux via web (parte 1)
Instalação do Fail2Ban no CentOS 7
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta