• Nenhum resultado encontrado

Explicações Básicas

2.1 Monitorando os logs

Os arquivos de logs residem em/var/loge registram tudo o que acontecem com o kernel, com os daemons e utilitários do sistema. Eles são muito importantes tanto para monitorar o que acontece com o seu sistema como para ajudar na solução de problemas diversos. É comum programas como o servidor web, e-mail, mensagens instantaneas, firewall, irc, banco de dados, gravarem os arquivos de log em diretórios próprios dentro de/var/log/programa, desta forma evitam misturar seus arquivos com os de log do sistema residentes em/var/log. Acostume-se a olhar constantemente os arquivos de log em seu sistema, isto pode ser impor-tante para encontrar possíveis falhas de segurança, tentativa de acesso ao sistema e, principal-mente, solucionar problemas (principalmente os mais complicados). Leia ‘Arquivos e daemons de Log’ on page75para mais detalhes.

2.1.1 Destruindo arquivos/partições de forma segura

Esta seção tem a intenção de conscientizar o administrador do uso devido de técnicas para garantir que dados sensíveis sejam apagados de forma segura em seu sistema.

Quando um arquivo é apagado, apenas a entrada na tabela de inodes é mexida, e ele pode ainda ser recuperado com odebugfse um pouco de paciência e engenharia. O mesmo acon-tece com as partições, que podem ser recuperadas com facilidade (isto é explicado no nível Intermediário do guia). Esta recuperação é proporcionada pelas regras de funcionamento do sistema de arquivos e do esquema de particionamento, ou seja, são permitidas pelo SO. Vou um pouco mais além: O disco rígido é uma mídia magnética e opera de forma mecânica para ler/gravar dados. Quando um arquivo é apagado, seja por qualquer motivo, ainda é

possível recupera-lo. O que permite isto é porque o HD nem sempre tem a precisão de gravar

exatamenteno mesmo lugar (pois a cabeça é movida mecanicamente), gravando em trilhas microscópicamente vizinhas a anterior. Então a imagem do arquivo que foi apagada continua lá. Segundo ouvi falar, a NASA possui recursos para recuperar até 60 regravações posteriores no disco. É claro que isto pode ocorrer em pouco tempo, dependendo do tamanho de sua partição e se esta for uma/var/spoolem um servidor de e-mails :-)

Baseado nesta teoria, você poderá apagar os dados de forma destrutiva usando o programa

shred, que regrava o arquivo repetidamente com dados aleatórios. Sua sintaxe é a seguinte:

shred -n 70 -v -u arquivo

Isto faz com que ele regrava o conteúdo do arquivo 70 vezes com dados aleatórios. O -u

trunca e remove o arquivo após concluído.

Note que o uso de dados aleatórios serve para destruir as possibilidades de uma recuperação simples, este é o motivo de se recomendar sempre o uso de/dev/urandomao invés de/dev /zeropara destruição de arquivos.

OBS1: Saiba exatamente o que está fazendo pois estes procedimentos servem para dificultar ao máximo a recuperação de dados.

OBS2: Devido as tecnologias de sistemas que utilizam journaling (XFS, EXT3, EXT4, JFS e

ReiserFS) e sistemas RAID, o shrednão funcionará. O shred também não funcionará com sistemas de arquivos via rede (NFS, SMB, etc.). Se procura alguma forma de proteger seus dados, mesmo que apagados, utilize um método de criptografia como oDM-CRYPTO, crypto-loop,gpg, etc.

OBS3: Caso esteja usando um sistema de arquivos criptografado, estes procedimentos são quase desnecessários (dependendo do nível de segurança e algorítmos que você utiliza).

2.2 Curingas

Curingas (ou referência global) é um recurso usado para especificar um ou mais arquivos ou diretórios do sistema de uma só vez. Este é um recurso permite que você faça a filtragem do que será listado, copiado, apagado, etc. São usados 4 tipos de curingas noGNU/Linux:

• “*” - Faz referência a um nome completo/restante de um arquivo/diretório. • “?” - Faz referência a uma letra naquela posição.

[padrão]- Faz referência a uma faixa de caracteres de um arquivo/diretório. Padrão pode ser:

[a-z][0-9]- Faz referência a caracteres deaaté zseguido de um caracter de0

até9.

[a,z][1,0]- Faz a referência aos caracteresaezseguido de um caracter1ou0

[a-z,1,0]- Faz referência a intervalo de caracteres deaatézou1ou0naquela posição.

A procura de caracteres é “Case Sensitive” assim se você deseja que sejam localizados todos os caracteres alfabéticos você deve usar[a-zA-Z].

Caso a expressão seja precedida por um^, faz referência a qualquer caracter exceto o da expressão. Por exemplo[^abc]faz referência a qualquer caracter excetoa,bec. {padrões}- Expande e gera strings para pesquisa de padrões de um arquivo/diretório.

X{ab,01}- Faz referência a seqüencia de caracteresXabouX01 X{a-z,10}Faz referencia a seqüencia de caracteres Xa-zeX10.

O que diferencia este método de expansão dos demais é que a existência do arquivo/diretório é opcional para geração do resultado. Isto é útil para a criação de diretórios. Lembrando que os 4 tipos de curingas (“*”, “?”, “[]”, “{}”) podem ser usados juntos. Para entender melhor vamos a prática:

Vamos dizer que tenha 5 arquivo no diretório /usr/teste: teste1.txt,teste2.txt, teste3.txt,teste4.new,teste5.new.

Caso deseje listartodosos arquivos do diretório /usr/testevocê pode usar o coringa “*” para especificar todos os arquivos do diretório:

cd /usr/testeels *ouls /usr/teste/*.

Não tem muito sentido usar o comandolscom “*” porque todos os arquivos serão listados se olsfor usado sem nenhum Coringa.

Agora para listar todos os arquivosteste1.txt,teste2.txt,teste3.txtcom excessão deteste4.new,teste5.new, podemos usar inicialmente 3 métodos:

1 Usando o comandols *.txtque pega todos os arquivos que começam com qualquer nome e terminam com.txt.

2 Usando o comandols teste?.txt, que pega todos os arquivos que começam com o nometeste, tenham qualquer caracter no lugar do coringa ? e terminem com .txt. Com o exemplo acimateste*.txttambém faria a mesma coisa, mas se também tivés-semos um arquivo chamadoteste10.txteste também seria listado.

3 Usando o comandols teste[1-3].txt, que pega todos os arquivos que começam com o nometeste, tenham qualquer caracter entre o número 1-3 no lugar da 6a letra e terminem com.txt. Neste caso se obtém uma filtragem mais exata, pois o coringa?

especifica qualquer caracter naquela posição e [] especifica números, letras ou intervalo que será usado.

Agora para listar somenteteste4.neweteste5.newpodemos usar os seguintes métodos: 1 ls *.newque lista todos os arquivos que terminam com.new

2 ls teste?.newque lista todos os arquivos que começam comteste, contenham qual-quer caracter na posição do coringa? e terminem com.new.

3 ls teste[4,5].* que lista todos os arquivos que começam comteste contenham números de 4 e 5 naquela posição e terminem com qualquer extensão.

Existem muitas outras formas de se fazer a mesma coisa, isto depende do gosto de cada um. O que pretendi fazer aqui foi mostrar como especificar mais de um arquivo de uma só vez. O uso

de curingas será útil ao copiar arquivos, apagar, mover, renomear, e nas mais diversas partes do sistema. Alias esta é uma característica doGNU/Linux: permitir que a mesma coisa possa ser feita com liberdade de várias maneiras diferentes.

Capítulo 3

Hardware

Hardware é tudo que diz respeito a parte física do computador. Nesta seção serão abordados assuntos relacionados com a configuração de hardwares, escolha de bons hardwares, disposi-tivos for Windows, etc.