De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Monitoração da Segurança

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 07 de Maio de 1997

Uma das tarefas do administrador de sistemas é a monitoração da segurança. Esta tarefa envolve o exame de arquivos de log para detectar acessos não autorizados, bem como a monitoração de falhas de segurança.

Nos parágrafos que se seguem, os nomes e localização dos arquivos mencionados referem-se a sistemas SunOS. A localização e mesmo o nome dos comandos pode variar de sistema para sistema. Os conceitos apresentados todavia se aplicam a qualquer sistema Unix.

As contas devem ser monitoradas periodicamente de modo a verificar dois eventos: usuários que logam quando não devem (por exemplo, tarde da noite ou quando estão de férias) e usuários executando comandos que normalmente não deveriam usar.

O arquivo /usr/adm/lastlog registra o login mais recente de cada usuário do sistema. A mensagem impressa no terminal a cada vez que um usuário loga

  Last login: Sat Mar 10 10:50:48 from ccvax.unicamp.br

usa a data armazenada no arquivo lastlog. A data do último login relatada pelo comando finger também usa estes dados. Os usuários devem ser alertados a inspecionar esta data para certificarem-se de que não foi efetuado nenhum acesso não autorizado às suas contas e, caso positivo, a alertar o administrador de sistemas para o ocorrido.

O arquivo /etc/utmp é usado para registrar quem está logado no sistema no momento. Este arquivo pode ser exibido através do comando who:

  % who
  edmar       pts/29      Oct 02 08:59          (uninetgw.unicamp)
  ruben       pts/31      Oct 02 10:30          (scon.cmp.unicamp)
  lilliam     pts/32      Oct 02 14:30          (naomi.cmp.unicam)
  dgrhint     pts/34      Oct 02 14:29          (dgrh-gw.unicamp.)

Para cada usuário é exibido o userid, o terminal sendo utilizado e o computador remoto(se o login foi efetuado via rede). O arquivo /usr/adm/wtmp registra as datas de login e logout de cada usuário. Este arquivo também pode ser examinado através do comando who:

  % who /usr/adm/wtmp
  pinheiro    pts/8       Oct 02 14:34          (scon.cmp.unicamp)
  mvs         pts/17      Oct 02 14:35          (143.106.44.68)
  rosana      pts/17      Oct 02 14:37          (ccts13.unicamp.b)
  enavega     pts/41      Oct 02 14:39          (uninetgw.unicamp)
  eduardof    ftp5164     Oct 02 14:39          (recife.cmp.unica)
  ```  ...
  
  Uma linha que contem o userid indica a hora em que o usuário logou; uma
  linha que não contem o userid indica a hora em que o usuário desconectou-se
  do sistema. Infelizmente a saída deste comando é raramente exibida como
  acima. Se vários usuários logaram ao mesmo tempo os tempos de login e logout
  ficam misturados e precisam ser ajustados manualmente.
  
  O arquivo wtmp pode também ser examinado manualmente através do comando
  last. Este comando ordena as entradas no arquivo, casando os tempos de login
  e logout. Se invocado sem argumentos, o comando last exibe toda a informação
  contida no arquivo.
  
  O arquivo acct registra a execução de cada comando no sistema, quem o
  executou, quando e quanto tempo gastou. Esta informação é registrada cada
  vez que um comando é completado.
  
  O arquivo acct pode ser examinado através do comando lastcomm. Se invocado
  sem argumentos toda a informação do arquivo é exibida. O comando lastcomm
  aceita como argumentos o nome de um comando, de um usuário ou de um
  terminal.
  
  A monitoração da segurança da rede é mais difícil, porque existem inúmeros
  mecanismos que um invasor pode utilizar para penetrar no sistema. Existem
  entretanto alguns programas que auxiliam nesta tarefa.
  
  O syslog é um mecanismo que permite que qualquer comando registre mensagens
  de erro e informativas na console do sistema e/ou em um arquivo. Normalmente
  mensagens de erro são gravadas no arquivo /usr/adm/messages juntamente com a
  data e hora em que foram enviadas pelo programa que as gerou.
  
  De particular interesse são as mensagens geradas pelos programas login e su.
  Sempre que alguém loga como root o comando login registra esta informação.
  Normalmente, logar diretamente como root deve ser desencorajado, visto ser
  difícil identificar quem está realmente utilizando a conta. Uma vez que esta
  possibilidade tenha sido desabilitada identificar violações de segurança se
  resume a analisar o arquivo de mensagens procurando as mensagens geradas
  pelo comando su.
  
  Outro tipo de evento a ser monitorado são pessoas tentando insistentemente
  logar em determinada conta e não conseguindo. Após três tentativas o
  programa login não mais permite que a pessoa tente novamente.
  
  O programa su registra o sucesso ou o fracasso da operação. Estas mensagens
  podem ser usadas para verificar se os usuários estão compartilhando suas
  senhas bem como identificar um invasor que conseguiu uma conta e está
  tentando utilizar outras.
  
  O comando showmount pode ser usado em um servidor NFS para exibir o nome de
  todas as máquinas que estão montando algum de seus diretórios. Se invocado
  sem opções o programa simplesmente exibe uma lista de todos os computadores.
  Com as opções -a e -d a saída é mais útil. A opção -a faz com que o comando
  showmount liste todos as combinações de computadores e diretórios:

apoio.cmp.unicamp.br:/pub/pub6/linux/slackware/slakware aracati.cmp.unicamp.br:/home aracati.cmp.unicamp.br:/home/cesar atibaia.dcc.unicamp.br:/pub/pmarumbi.dcc.unicamp.br:/pub/pub3 atlanta.unicamp.br:/usr/local cravo.apoio.cmp.unicamp.br:/usr/local escher.dcc.unicamp.br:/pub/pub3

/amanda /home /home/cesar /pub/pmarumbi.dcc.unicamp.br:/pub/pub3 /pub/pub3 /pub/pub6 /pub/pub6/linux/slackware/slakware /usr/local /usr/local/bin

  Será exibida uma linha para cada diretório montado por uma máquina. A opção
  -d faz com que seja exibida uma lista de todos os diretórios que estão
  montados por alguma máquina. Deve ser verificado que apenas máquinas locais
  montem os diretórios exportados e que apenas diretórios normais estejam
  sendo montados.
  
Error: No site found with the domain 's2.dicas-l.com.br' (Learn more)