UNIP Professor. 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 grep em 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 -h para que eu possa ver a saída em gigabytes ou megabytes. # df -h també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 grep as 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 /var/log/wtmp Log do Sistema. 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.