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: 5.358 ]
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
IDS com Snort + Guardian + Debian Lenny
Autenticação via hardware: o módulo pam_usb
Instalar certificado SSL/TLS digital válido gratuito no Linux
Servidores Proxy - Segurança da Informação
Servidor de autenticação 802.1x com Freeradius
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
baschrc customizado pegeui vários. (3)
Rust é o "C da nossa geração"? (8)