UNIP
Prof essor. Elias Carneiro de Oliveira Laborat ório V - S. O. A.
Data Limite para entrega do Relatório: xx/xx/2010
Colocar no corpo do email:
Nome:
RA:
Turma:
Data do LAB
:Análise de Logs e inventário:
Métodos para coletar informações importantes do sistema que poderá ser necessário para verificar, solucionar problemas ou fornecer ao suporte remoto.
Primeiro, vamos reunir informações sobre o processador. Isso é feito facilmente como segue:
# cat /proc/cpuinfo
.
Esse comando lhe fornece informações sobre a velocidade, quantidade e modelo do processador. Utilizar
grepem muitos casos pode lhe fornecer o valor desejado.
Uma verificação que eu faço muitas vezes é determinar a quantidade de processadores no sistema. Portanto, se adquiri um servidor de quatro núcleos de processador dual, posso executar:
# cat /proc/cpuinfo | grep processor | wc -l
.
Esperaria, então, ver 8 como o valor. Caso contrário, eu telefono para o fornecedor e lhe digo para enviar um outro processador.
Uma outra parte das informações que posso requerer são as informações do disco. Isso pode ser obtido com o comando
df. Eu geralmente incluo o sinalizador
-hpara que eu possa ver a saída em gigabytes ou megabytes.
# df -htambém mostra como o disco foi particionado.
E para terminar a lista, aqui está uma forma para examinar o firmware de seu sistema—
um método para obter o nível BIOS e o firmware no NIC.
Para verificar a versão do BIOS, é possível executar o comando
dmidecode.
Infelizmente, você não pode facilmente
grepas informações; portanto, canalizá-las é
uma forma menos eficiente de fazer isso. No meu laptop Lenovo T61, a saída é
semelhante a essa:
#dmidecode | less ...
BIOS Information Vendor: LENOVO
Version: 7LET52WW (1.22 ) Release Date: 08/27/2007 ...
Isso é bem mais eficiente do que reinicializar a sua máquina e olhar a saída POST.
Para examinar o driver e as versões do firmware de seu adaptador Ethernet, execute
ethtool
:
# ethtool -i eth0 driver: e1000
version: 7.3.20-k2-NAPI firmware-version: 0.3-0
José Milagre Terça-feira, 30 de setembro de 2008
Análise Forense Computacional de Logs em Sistemas Linux: as testemunhas da rede
Logs são registros, normalmente armazenados em arquivos ASCII ou texto simples, capazes de armazenar o que se passa com sistemas computacionais e serviços de rede. A Correlação de logs de eventos, segurança e auditoria são fundamentais para que se possa reconstruir o que efetivamente ocorreu com um sistema computacional no passado.
No presente artigo, exploramos as ferramentas nativas do sistema operacional Linux para demonstrar como o profissional de perícia pode coletar muitas informações a respeito do sistema.
Para habilitar o registro dos logs devemos habilitar que os mesmo sejam gravados, no Linux, logado como root devemos criar o arquivo no diretório /var/log. Exemplo:
#touch /var/log/btmp
#touch /var/log/wtmp
#touch /var/log/lastlog
Logs no Linux
O Linux é recheado de registros, muitos comandos simples nativos podem levantar muitas informações sobre o sistema, por exemplo, o comando last/lastlog, que pode ser utilizado para exibir a listagem dos últimos usuários que logaram no sistema:
Exemplo da execução do comando last, que informa a data e hora dos usuários que logaram no sistema.
Já o comando lastb, pode listar a última tentativa de login que não obteve êxito.
Igualmente, pode-se acessar diretamente o arquivo responsável por tais registros digitando # cat /var/log/btmp.
Com who, é possível verificar os usuários logados na máquina. Já com history | more,
o perito tem acesso aos registros dos últimos comandos executados na seção atual.
Execução do comando history: Informa últimos comandos digitados pelo usuário.
No Linux , por default, a grande maioria dos registros do sistema se encontram em /var/log, dentre os quais vale destacar:
/var/log/messages = Contém registros de acesso ao sistema e em alguns casos registros do IPTABLES
/var/log/samba/log.smbd = Contém os logs do Servidor de Arquivos SAMBA /var/log/httpd/(access, error ou agent.log) = Logs do Servidor Web Apache /var/log/lpr.log = Informações de acesso às impressoras
/etc/mail/maillog = Arquivo que registra os logs do Servidor de E-mails
Mais fácil, porém, é a analise de /etc/syslog.conf, arquivo de configuração dos logs do Sistema Operacional, que indica onde os arquivos de log estão armazenados. Apenas atenção é necessária, pois este arquivo pode ter sido atacado ou alterado pelo
cybercriminoso. Ainda em /etc/passwd é possível verificar se cracker criou algum account não conhecido pelo administrador de rede.
A lógica e o bom senso nos dizem que um criminoso pode ter corrido muitos
quilômetros pelo sistema atacado, mas tudo começou pelo primeiro passo, e o primeiro
passo é se autenticar como administrador. Em nosso exemplo, o arquivo auth.log em
/etc/log , tem muito a nos dizer:
Usuário tenta se logar no sistema como administrador às 18:26:46 porém não consegue.
Posteriormente às 19:03:01 obtém acesso ao root, e em menos de 1(um) minuto, se desconecta do sistema.
Já em /etc/log/daemon.log, podemos identificar os logs envolvendo os serviços em geral, desde logs da rede, como por exemplo, requisições de conexão ou de IPs, à identificação de que alguém plugou ou desconectou da máquina um pen-drive ou dispositivo móvel, vejamos:
Daemons registrando todos os serviços e eventos do sistema.
Grep: um aliado
O Grep é um binário encontrado na maioria das distribuições Linux e é considerado o
salvador dos administradores de rede, auditores e peritos computacionais. Por meio do
mesmo é possível fazer com que o arquivo de log, retorne, por exemplo, apenas os registros que tragam determinada sting em sua linha.
No nosso exemplo, podemos varrer o arquivo auth.log em busca de entradas e saídas de um dispositivo de armazenamento supostamente conhecido, que aqui chamamos de
"LG". Utilizamos o comando cat auth.log |grep "LG" e veja o que descobrimos:
Grep: filtramos, ente um \"mar de logs\" somente os registros de conexão de desconexão de determinado dispositivo de armazenamento. No caso um pen drive
\"LG\" com número serial identificado.
Conclusões: a importância dos logs
Como verificado, sistemas Unix tem muito a nos contar. Em uma investigação de incidentes eletrônicos, a análise de logs é de extrema importância, eis que se a função do perito é apurar a ocorrência de fatos e identificar a autoria dos mesmos, a função dos logs é servir como "testemunhas eletrônicas", aptas a depor sobre incidentes e crimes de tecnologia.
Ainda, manter com segurança registros de atividades atende ao item 10.10 da IS0/IEC 17799:2005, que trata da detecção e registro de atividades não autorizadas, além de evitar responsabilização civil e criminal corporativa, a medida em que pode informar a autoria de delito praticado dos computadores da empresa.
Porém não basta registrar, mas nos termos do item 10.10.3 da 17799:2005, proteger logs conta falsificação, adulteração e acesso não autorizado, por meio de medidas de
descentralização e redundância das "testemunhas eletrônicas".
Logs no Linux /var/log
Diretório que armazena os arquivos de log do linux e dos vários serviços e programas, com destaque no login (/var/log/wtmp, que registra todas as autenticações de entrada e saída (logins and logouts)) e log do sistema
(/var/log/messages, onde todas as mensagens do núcleo e programas do sistema são armazenadas). Os arquivos no diretório /var/log podem crescer
indefinidamente, e podem requerer seu descarte em intervalos regulares. Em alguns casos estes descartes podem ser gerenciados por um utilitário de rotação de log como, por exemplo 'logrotate'. Este utilitário permite também a
compressão, remoção e envio dos arquivos de log por e-mail. Logrotate pode ser configurado para execução diária, semanal, mensal ou quando o arquivo de log atingir um tamanho determinado. Normalmente, logrotate executa como uma tarefa agendada diariamente no cron. Este diretório é um bom lugar para iniciar um procedimento para identificação de problemas técnicos gerais no sistema.
/var/log/auth.log
Grava todos os logins and logouts executados por um usuário ou processo do sistema.
/var/log/btmp
Grava todas as tentativas de login que falharam. Acessado pelo comando lastb.
/var/log/debug
Informações de depuração usada por diversos pacotes.
/var/log/dmesg
Buffer rotacional do núcleo. O conteúdo deste arquivo pode ser obtido pelo comando dmesg.
/var/log/kdm.log
Arquivo de log KDM. Logs da interface gráfica (X).
/var/log/messages Log do Sistema.
/var/log/wtmp
Registra todos os acessos dos usuários ao sistema. O comando last pode ser
usado para ler este arquivo. Também contem toda conexão e troca de nível de
execução.
/var/log/syslog
Arquivo com o log do sistema. O conteúdo deste arquivo é gerenciado pelo servidor syslogd.
Referencias bibliográficas:
http://imasters.uol.com.br/artigo/10207/direito/analise_forense_computacional_de_logs _em_sistemas_linux_as_testemunhas_da_rede/imprimir/
http://www.ibm.com/developerworks/br/library/l-10sysadtips/index.html
Relatório:
1 - Habilitar a captura dos log. Quais comandos foram utilizados?
2 - Com o comando ctrl+alt+f2 abrir um novo terminal e gerar massa de log com os seguintes registros:
Login Logout Erro de login
Execução de comandos ls,su, etc.
Mantenha o usuário logado ao final Obs.: ctrl+alt+f7 volta para o terminal gráfico.
3 – Procurar nos arquivos de logs apresentados acima as informações do usuário gerando um relatório na tabela a seguir (usar grep para filtrar registros):
Comando/arquivo Resultado
last lastlog who
/var/log/messages
lastb/var/log/auth.log
4 – Apresentar o inventário da maquina, com a quantidade de CPUs e versão do bios da maquina.