• Nenhum resultado encontrado

Podemos dizer que Unix e Linux

N/A
N/A
Protected

Academic year: 2021

Share "Podemos dizer que Unix e Linux"

Copied!
5
0
0

Texto

(1)

Informações preciosas

Muitos comandos relacionados com logs e usuários podem ajudar a monitorar o sistema e manter o controle sobre questões de segurança. Neste artigo apresentamos

várias ferramentas úteis para manter as coisas em ordem. por Bruce Byfield

P

odemos dizer que Unix e Linux foram projetados para suportar logins múltiplos, logs e coman-dos que fornecem informações sobre usuários. Estes recursos muitas vezes detectam os primeiros sinais de uma tentativa de invasão no sistema. Em um ambiente institucional, eles po-dem ser usados para verificar não só os recursos que estão sendo utilizados, mas também se os usuários estão fa-zendo o que supostamente deveriam estar fazendo.

Se o usuário possui um pouco de experiência com administração de

sis-temas, provavelmente já deve ter usa-do o comanusa-do adduser. Este comando (figura 1) fornece um assistente simples para ajudar a criar uma nova conta de usuário no sistema. Por padrão, a maior parte do trabalho é automática para o administrador, como criar automa-ticamente um ID de usuário (UID). No entanto, podemos optar por especificar alguns detalhes manualmente, com opções como ‑‑gid ID e ‑‑shell SHELL.

Ao invés disso, podemos usar o comando useradd, que é menos con-veniente para a criação de um novo usuário adduser, mas pode ser usado

para editar os detalhes de um usuário já existente. Ambos os comandos têm opções de exclusão como deluser e

userdel, que são semelhantes em fun-ção, mas cujas opções são diferentes. Por exemplo, o comando userdel tem uma opção ‑f ou ‑‑force que falta ao

deluser. E userdel usa ‑r ou ‑‑remove

para excluir o diretório home do usuá-rio e filas de email e de impressão ao invés do comando deluser ‑‑remove‑ ‑home que faz a remoção automática de spools de uma conta. Mas estes são apenas alguns dos itens do kit de ferramentas básicas para admi-nistradores de sistemas. Pelo menos 10 outros programas para logs e co-mandos apresentam informações para facilitar a vida do administrador – alguns deles se sobrepõem em ter-mos de recursos, mas todos fornecem informações detalhadas.

Informações do

usuário nos logs

O Linux armazena vastas quantidades de informação sobre cada aspecto do sistema, e os assuntos relacionados aos usuários não são exceção. Muitos logs são mantidos em arquivos de texto simples e podem ser exibidos com co-mandos como less ou cat. No entanto, muitos são também longos, portan-to, quando identificamos problemas, geralmente é melhor usar o comando

Tutorial

Figura 1 O assistente de linha de comando com o qual são adi-cionadas a maioria das contas de usuário.

(2)

tail ‑p LOGFILE. Este comando exibe apenas a última dúzia de linhas do arquivo, aproximadamente, que são lentamente substituídas a medida em que são geradas novas mensa-gens pelo sistema. Outros logs são armazenados em bancos de dados, de modo que são melhor visualiza-dos com suas ferramentas próprias de leitura de dados.

Registro de

usuários

O arquivo /var/log/lastlog é um tipo de banco de dados que grava os logins anteriores dos usuários. O comando

lastlog fornece uma lista completa de todos os usuários que estão atu-almente no sistema, incluindo aque-les criados pelo sistema e usados por alguns daemons. Usuários excluídos não são exibidos. Para cada usuário,

ele mostra a porta em que estão (ou estavam) logados e a data do último login ou então exibe a mensagem “Never logged in” (“Nunca logado”) – pelo menos, não desde que a senha foi alterada pela última vez.

No entanto, a lista resultante é lon-ga, então o usuário provavelmente desejará modificá-la com | less no final do comando. Melhor ainda, po-demos usar o parâmetro ‑u ou ‑‑user, seguido por um nome de login para especificar cada usuário a ser incluído no resultado por nome ou UID, ou para especificar um número de usuários a partir de um intervalo de UIDs com início e fim separados por um hífen (figura 2). Os resultados também po-dem ser modificados com a opção ‑b DAYS ou ‑‑before DAYS, que imprime os registros que são mais antigos do que o número de dias digitado. Alter-nativamente, podemos usar a opção

‑t DAYS ou ‑‑time DAYS para visualizar os registros que são mais recentes do que o número de dias especificado.

Falha no log

A base de dados /var/log/faillog

registra o número de vezes que os usuários têm tentado, sem sucesso, fazer o login. O comando faillog faz dois usos do banco de dados de falhas de log. Primeiro, o comando faillog

é usado pelo usuário root para veri-ficar o número de vezes em que um usuário específico falhou no login. Esta estatística é um possível sinal de um sistema parcialmente quebrado ou de um usuário cuja conta preci-sa ser reativada, pois o sistema está configurado para desabilitar usuários que passam por um certo número de falhas de login sucessivas.

Podemos usar a opção ‑a para exibir as informações para todos os usuários Figura 2 O comando lastlog mostra a última vez que um usuário esteve conectado ao sistema.

Figura 3 Falhas de login podem indicar uma tentativa de invasão do sistema. O comando faillog exibe essas falhas. Ele também pode desativar uma conta suspeita.

Figura 4 O arquivo auth.log registra todos os logins e logoffs.

(3)

ou as opções ‑u NAME ou ‑u UID para es-pecificar um usuário específico (figura 3). Os resultados mostram o número de tentativas de login, seguidas pelo valor máximo permitido no sistema e a data e hora da última tentativa frus-trada. Se um usuário nunca passou por uma tentativa de login sem sucesso, a data exibida é a primeira que a CPU puder mostrar – por exemplo: 12/31/69 16:00:00. O segundo uso do comando

faillog se aplica para alterar a forma como o sistema responde a logins que falharam. As opções ‑m NUMBER ou ‑‑ma‑ ximum NUMBER definem quantas falhas de login podem ocorrer antes que uma conta seja desativada; isto é mui-tas vezes definido como 0 na maioria das distribuições, o que significa que qualquer número de falhas de login pode ocorrer. Além disso, o número de falhas de login para uma conta específica pode ser redefinido para 0

com a opção ‑r ou ‑‑reset.

Registros

O log com o nome auth.log registra autorizações – isto é, inícios e térmi-nos de sessão em um sistema desde a última vez que este passou pelo boot (figura 4). Esta informação pode ser valiosa para verificar padrões de uso e detectar eventuais desvios da norma. Somente o usuário root pode visualizá-la.

O registro user.log armazena os lo-gins e logouts para todo o sistema, bem

como quaisquer avisos que possam indicar problemas potenciais (figura 5). Em outras palavras, este log é muitas vezes um ponto conveniente para a solução de problemas gerais. Como o usuário poderia esperar, apenas o usuário root pode ler este log.

Comandos

relacionados

ao usuário

A maioria dos comandos tem dois tipos de opções: as do tipo Unix são aquelas precedidas por um hífen e são geralmente representadas por uma única letra, e as opções do GNU, que são precedidas por

dois hífens e são compostas nor-malmente por uma frase completa, que descreve o que elas fazem. É possível revelar a idade dos co-mandos relacionados ao usuário pelo fato de que muitos deles não possuem quaisquer opções GNU. Em outras palavras, quando admi-nistramos usuários, descemos até às bases do sistema operacional.

Comandos

adicionais

Por conveniência, muitas distribuições e usuários tornam o usuário atual parte do terminal de comando – Figura 6 O arquivo user.log muitas vezes é um bom ponto de partida para a solução de problemas.

Figura 7 O comando who é uma ferramenta versátil, não só para recolher informações sobre os usuários, mas também para estatísticas gerais do sistema.

7c

7b 7a

Tabela 1 Informação do comando who.

Atalho Comando normal Informação

-d --dead Listas de processos inoperantes -b --boot Mostra a última vez que houve o boot do sistema -p --processes Imprime processos ativos -r --runlevel Exibe o runlevel atual

-t --time Mostra a última vez que o

(4)

alguns para cada usuário, outros apenas para o terminal. No entanto, em sistemas sem esses terminais, lembrar em qual conta estamos conectados pode ser algo confuso, como quando utilizamos o comando

su para alterar contas ao administrar ou configurar. Para tais sistemas, o comando whoami (figura 6), pode servir como uma bússola geral para o sistema. É usado sem opções e retorna somente o nome de login da conta atual.

Já o comando who é um dos mais importantes para a coleta de informações sobre usuários e configurações gerais do sistema (figura 7). Não modificado por quaisquer opções, o comando who

lista os usuários, exceto o root, que está conectado no momen-to, a data e hora em que os usuá-rios fizeram o login. Os usuáusuá-rios podem ser listados várias vezes se possuírem um ou mais termi-nais virtuais abertos. No entan-to, se adicionarmos a opção ‑q

ou ‑‑count, a mesma informação é exibida em um formato curto, que enfatiza o atual número de

logins. Diferentes opções também fornecem informações básicas sobre o sistema (tabela 1).

Quando fazemos login no Linux, estabelecemos um nome de usuá-rio e grupo no sistema. No entanto, também podemos usar comandos como sudo e su para executar como um usuário diferente ou efetivo. Com o comando id, podemos en-contrar rapidamente os nomes de usuário. O comando id inalterado (figura 8) fornece o verdadeiro UID (identificador único do processo) para a conta atual, além dos GIDs (identificador único dos grupos) para qualquer grupo ao qual per-tença a conta. No entanto, se adi-cionarmos a opção ‑a, receberemos o UID efetivo. Da mesma forma, o parâmetro ‑g ou ‑‑group exibe o verdadeiro GID, mas ‑G ou ‑‑groups

(note a diferença de ortografia) im-prime todos os IDs de grupo. Se o usuário não possuir vários logins, pode não notar qualquer diferen-ça entre o usuário real e o virtual. Como se pode imaginar a par-tir do nome, o comando groups

extrai informações selecionadas

a partir do arquivo /etc/group e as exibe (figura 9) de forma pura. Sem opções, o comando groups lista as informações para o usuário atual, mas, ao invés disso, um nome de usuário válido pode ser utilizado como opção.

Outro comando útil, o finger, por alguma razão não é instalado por padrão em muitas distribuições. No entanto, quando se adminis-tra um sistema multiusuário, vale a pena instalá-lo.

Sem o uso de quaisquer opções, ou com a opção ‑s (figura 10), o comando finger seguido por um nome de conta, lista o login, o nome, a interface, quanto tempo o usuário ficou ausente, quando fez o login no sistema, seu cargo, e o número de telefone cadastrado no momento da criação da conta. Se, como muitos usuários domésticos, deixarmos o nome, cargo e núme-ro do telefone em branco quando criamos usuários, estas colunas de-verão, é claro, ficar vazias.

Usar a opção ‑l retorna a mes-ma informes-mação reformes-matada, em conjunto com o diretório home do usuário e Shell de login, bem como a última vez que foi recebido um e--mail interno para este usuário. Para o trabalho de administração, esta opção é provavelmente a mais útil.

Um dos comandos mais úteis para coletar informações sobre os usuários, o w, é também um dos mais simples. Ele mostra qual processo um usuário está executando no momento em que o comando é executado.

Digitar o comando w e um nome de usuário produz uma tabela de Figura 8 O comando id mostra um UID e GID real e efetivo da conta.

Figura 9 O comando groups é uma visualização gráfica do arquivo /etc/groups.

Figura 10 O comando finger fornece informações básicas sobre contas de usuário.

(5)

informações para o usuário (figura 11). Da esquerda para a direita, a informação é a conta do usuário, seu terminal, seu host remoto (0, se não existir nenhum), o tempo de login, o período de tempo ocioso, o JCPU ou tempo utilizado por todos os processos ligados ao terminal, o PCPU ou o tempo utilizado pelo processo atual, bem como o nome do processo atual.

Conclusão

Todos esses logs e comandos podem ser muita coisa para aprender. Felizmen-te, grande parte das informações que eles oferecem é fácil de ler e entender.

Em muitos casos também, o u-suário só precisa de uma ou duas dessas fontes de informação em um determinado contexto. Por exem-plo, se suspeitar que uma senha de

uma determinada conta foi com-prometida, provavelmente tudo que precisará fazer é examinar o

lastlog para verificar as tentativas de login no momento em que o usuário legítimo estava longe do teclado. Da mesma forma, um admi-nistrador corporativo pode querer usar o comando w para verificar se os processos sendo executados por um usuário durante o horário de ex-pediente incluem, por exemplo, os games PySol e o Battle of Wesnoth.

Em outras palavras, tudo é uma questão sobre como escolher a fer-ramenta certa para o trabalho em questão. Familiarize-se com estes logs e ferramentas de uma forma geral, e seja capaz de saber qual ferramenta deve ser utilizada em cada circunstância em particular. n

Figura 11 O que um usuário está executando e onde? Use o coman-do w para obter as respostas.

Gostou do artigo?

Queremos ouvir sua opinião. Fale conosco em: cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8838

Disponível no site

www.

LinuxMagazine

.com.br

Instalação e congifuração de

servidores VoIP com Asterisk.

Configuração de ramais,

extensões, secretária eletrônica,

monitoramento e espionagem

de chamadas, planos de

discagem, URA e muitos outros

aspectos que abordam o uso de

centrais telefônicas IP PBX.

Tem

novidade

na Coleção

Referências

Documentos relacionados

5 “A Teoria Pura do Direito é uma teoria do Direito positivo – do Direito positivo em geral, não de uma ordem jurídica especial” (KELSEN, Teoria pura do direito, p..

Como já destacado anteriormente, o campus Viamão (campus da última fase de expansão da instituição), possui o mesmo número de grupos de pesquisa que alguns dos campi

a) Doenças pré-existentes ao período de viagem (vigência do seguro) e quaisquer de suas conseqüências, incluindo convalescenças e afecções em tratamentos ainda

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

a) apresentar declaração de próprio punho, com firma reconhecida em Cartório, datada e assinada, na qual informará que não mantém vínculo estatutário com o