Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

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.

Veja a relação completa dos artigos de Flavio Alexandre dos Reis

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1081 votos)

Opinião dos Leitores

Marcelo Vilar
16 Out 2010, 21:35
@Crítico

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.
Critico again
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,
Mais Critico Ainda
15 Set 2010, 08:34
Muito interessante a critica, porem tenho uma solução para "unset TMOUT" não funcione.

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
Crítico
15 Set 2010, 07:47

Interessante, mas nem um pouco eficaz, basta que o atacante digite:

unset TMOUT

E esse recurso será desativado ...



*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Objective-C Fundamental