Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Variável TMOUT
Colaboração: Flavio Alexandre dos Reis
Data de Publicação: 15 de setembro de 2010
Hardening é um processo de mapeamento de ameaças, blindagem de sistemas, mitigação de riscos executando atividades corretivas com foco na infra-estrutura a fim de evitar possíveis tentativas ataque.
Várias técnicas podem ser utilizadas, desde o kernel, controle de acesso de usuários, atualizações de segurança e muito mais.
Nesse primeiro post será abordado o uso da variável TMOUT.
Cenário
Imagine um administrador logado como root em um dos servidores executando uma tarefa administrativa. Logo em seguida é solicitado sua presença em outro setor, e seu terminal ficou logado como root. Um funcionário mal intencionado pode aproveitar dessa situação e e danificar o sistema, ou roubar informações de acesso somente do root. Para REDUZIR, isso mesmo reduzir essa possibilidade de ataque será utilizada a variável TMOUT.
Mas por que apenas reduzir? Deve-se atentar para as politicas de acesso físico à área dos servidores. Bloqueio de interfaces usb, desativar funções do kernel como ctrl+alt+del.
Exemplo da variável TMOUT
A função da variável TMOUT é executar um logout automático por tempo de inatividade do terminal. Estipula-se um valor em segundos que após decorridos sem qualquer ação o sistema fará uma logout automático.
Essa variável deverá ser inserida dentro do arquivo /etc/profile. Dessa forma sempre que o sistema iniciar seu valor será atribuído.
Abaixo segue um exemplo do arquivo profile com a variável TMOUT
#vim /etc/profile # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "`id -u`" -eq 0 ]; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" else PATH="/usr/local/bin:/usr/bin:/bin:/usr/games" fi if [ "$PS1" ]; then if [ "$BASH" ]; then PS1='\u@\h:\w\$ ' else if [ "`id -u`" -eq 0 ]; then PS1='# ' else PS1='$ ' fi fi fi TMOUT=60 export TMOUT export PATH umask 022
Para que a atualização entre em vigor execute o comando source, ele irá reler o arquivo profile
#source /etc/profile
Após decorridos 60 segundos de inatividade um auto-logout é executado.
Neste exemplo o administrador estava logado via ssh, observe...
# timed out waiting for input: auto-logout Connection to 192.168.217.5 closed.
Quanto ao valor a ser utilizado, deverá ser analisado pelo próprio administrador.
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
Avalie esta dica
Opinião dos Leitores
16 Out 2010, 21:35
Desculpe, mas você não entendeu o propósito da dica. Se o atacante obter o acesso ao sistema, o TMOUT vai ser o menor dos problemas.
O que essa dica se propoe é criar um mecanisco para evitar que um terminal logado com o root que esteja ocioso seja utilizado por um atacante caso o administrador do sistema esqueça de fazer o logoff ao se ausentar.
15 Set 2010, 13:44
Legal sua abordagem, mas basta ignorar o alias digitando "\" antes do comando:
\set
\env
\unset TMOUT
Mas é claro que o atacante precisa conhecer mais do que um usuário comum para saber disso.
Abraços,
15 Set 2010, 08:34
Dentro do proprio /etc/profile
adicionei no final
# Se o usuário esperto tentar verificar o valor de TMOUT não vai listar nada.
alias set="set | grep -vi TMOUT"
alias env="env | grep -vi TMOUT"
# Se o cara tentar apagar a variavel com "unset" tambem não vai conseguiir.
function alias_unset()
{
v="$1"
[ "${v}" = "TMOUT" ] && true ${v} || unset ${v}
}
alias unset="alias_unset"
# Da pra evoluir mais bloqueando o comando "alias" pra não listar os mapeamentos do set, env e unset
15 Set 2010, 07:47
Interessante, mas nem um pouco eficaz, basta que o atacante digite:
unset TMOUT
E esse recurso será desativado ...




