Mostrando postagens com marcador segurança. Mostrar todas as postagens
Mostrando postagens com marcador segurança. Mostrar todas as postagens

segunda-feira, 4 de fevereiro de 2008

Apagando arquivos com segurança no Ubuntu

Free Image Hosting at www.ImageShack.us
Exemplo de exclusão segura do arquivo
"Meu plano para conquistar o Mundo."

Usuários normais, iniciantes, apagam um arquivo pressionando a tecla Del, o que faz com que o arquivo seja movido para lixeira. Usuários um pouco mais experientes usam a combinação Shift+Del, que remove o link para o arquivo da tabela da MBR, disponibilizando o espaço do arquivo para ser sobrescrito por outros arquivos ou dados gerados pelo computador. Usuários mais experientes e ligados em segurança apagam seus arquivos usando um shredder ou wiper, que sobrescreve um mínimo de 7 vezes o arquivo a ser apagado, com dados aleatórios.
O problema do procedimento de remoção segura de arquivos é que ele causa um desgaste maior no disco-rígido. Não é o tipo da coisa que uma pessoa normal, com recursos financeiros limitados, vai querer fazer todos os dias, para todos os arquivos.
Além disso, até alguns minutos atrás, eu imaginava que fazer um wiping era um exagero. Para a maioria dos casos, a simples utilização do computador durante algum tempo, especialmente em ambientes Windows, era o suficiente para sobrescrever o arquivo apagado, o mesmo valendo para procedimentos normais de manutenção naquele sistema, como desfragmentação e as famigeradas formatações e reinstalações do sistema operacional. Pensava assim porque eu mesmo já havia tentado recuperar arquivos apagados acidentalmente e sabia que não era a coisa mais fácil do mundo.
Mas hoje em dia os tempos são outros, a tecnologia evoluiu, se tornou mais eficiente e acessível, e o conhecimento técnico também. Então são necessários cuidados mais rigorosos em relação aos arquivos que são apagados do disco e que apagados devem permanecer.
Comecei a perceber isso lendo o artigo Data remanence da Wikipédia, após uma discussão no Fórum Ubuntu BR. Alguns trechos deste artigo me chamaram a atenção, tais como:
"One challenge with an overwrite is that some areas of the disk may be inaccessible, due to media degradation or other errors. Software overwrite may also be problematic in high-security environments which require stronger controls on data commingling than can be provided by the software in use. The use of advanced storage technologies may also make file-based overwrite ineffective."
Em português: "Uma das dificuldades em sobrescrever é que algumas áreas do disco podem estar inacessíveis, devido à degradação e outros erros. Sobrescrever por software também pode ser problemático em ambientes de alta-segurança que necessitam (utilizam) controles mais fortes dos dados e misturas de dados podem então ser causadas pelo software em uso. O uso de tecnologias avançadas de armazenamento também pode fazer a sobrescrita de arquivos individuais ineficaz."
Isso me fez pensar sobre o sistema de Journaling do ext3 do Linux, formato base da minha instalação, embora criptografada, e sistemas RAID, que obviamente não uso no meu notebook popular.
Em 1996, quando Gutmann afirmou ser possível recuperar dados sobrescritos de um HDD, muitas pessoas criticaram, retrucando que os métodos não eram práticos e os resultados eram duvidosos. Em grande parte essas pessoas tinham razão, mas a tecnologia não é estática.
Lendo nos arquivos do site oficial do Ubuntu sobre um dos pacotes de remoção segura dos arquivos, vi um comentário afirmando que atualmente um Microscópio de Força Magnética (MFM) não é economicamente inacessível para um inimigo determinado ou que dispusesse de recursos financeiros básicos:
"Recovery of supposedly erased data from magnetic media is easier than what many people would like to believe. A technique called Magnetic Force Microscopy (MFM) allows any moderately funded opponent to recover the last two or three layers of data written to disk."
Resolvi ver o quanto era verdadeira essa afirmação e comecei a pesquisar no Google quanto dinheiro seria necessário gastar para adquirir ou montar um desses microscópios. Primeiro encontrei o valor de algumas peças que são necessárias para fazê-lo funcionar, peças que custam na faixa de US$ 290.00 aproximadamente. Depois, em uma página da Universidade de Auckland que fala especificamente sobre o procedimento para a recuperação dos arquivos, encontrei o seguinte:
"If commercially-available SPM's are considered too expensive, it is possible to build a reasonably capable SPM for about US$1400, using a PC as a controller."
Em português: "Se SPMs (Magnetic Force Scanning Tunneling Microscopies - versões atualmente usadas do MFM) são consideradas caras demais, é possível construir um SPM razoavelmente funcional por cerca de US$ 1400, usando um PC como controlador."
Juntando A com B, deu para perceber que realmente tal tecnologia não pode mais ser considerada inacessível, e provavelmente já está mais eficiente do que era a dez anos atrás.
Voltando à Wikipedia, temos a seguinte notícia:
"As of Nov 2007, overwriting is no longer a DoD-acceptable sanitization method for magnetic media. Only degaussing or physical destruction is acceptable."
Em português: "Em novembro de 2007, sobrescrever não é mais um método aceitável, pelos padrões do DoD, de limpeza para mídias magnéticas. Apenas a desmagnetização ou a destruição física (agora) são aceitáveis."
E, de volta à página do Departamento de Ciência da Computação da Universidade de Auckland, temos que é verdade, que a cada layer de informação que é sobrescrito em uma mídia, mais difícil é recuperar a informação original. Mas a medida que a tecnologia evolui, a recuperação de informações com apenas dois um pouco mais de dois layers sobrescritos, se tornou bastante fácil e comum.
Um contra-argumento que encontrei na Wikipédia é que os meios normais de sobrescrever ainda são bastante seguros, e que na verdade o DoD é que se deu conta que seus operadores (humanos) podem ser descuidados o suficiente para não executar o procedimento da maneira correta. Tal argumento não deixa de ser bastante forte, mas ainda assim, considero o argumento de Auckland, de que parte dos procedimentos de limpeza do disco são propositalmente omitidos pelas autoridades, mais relevante.
Após ler uma boa quantidade de parágrafos altamente técnicos sobre como os arquivos são gravados na mídia magnética e como eles, neste processo físico de gravação, deixam traços ao serem sobrescritos, julgo que o método de sobrescrever com informação aleatória, mais de sete vezes, um arquivo ainda é razoavelmente seguro, mas não mais do que isso. Para informações realmente sensíveis ou discos-rígidos que serão "passados adiante", creio que vale a pena tentar aplicar o método Gutmann que usa 22 passes (layers) de arquivos aleatórios mas codificados de maneira a causar mais "sujeira" magnética no disco, tornando a recuperação consideravelmente mais difícil (e o desgaste do disco-rígido também é bem maior).
Outro fator que me diz que ainda é possível confiar no método de sobrescrita, é que, segundo a Wikipédia (sem citação), empresas especializadas em recuperação de dados não oferecem o serviço de recuperação de dados sobrescritos. Uma rápida busca no Google por essas empresas e os serviços por elas oferecidos, parece confirmar tal afirmação.
Então, como apagar seguramente os dados de um sistema Ubuntu?
Bom, a primeira coisa a fazer é encontrar um pacote que ofereça um comando de sobrescrita compatível com o método Gutmann. Cruzei com um desses pacotes casualmente quando pesquisava sobre o assunto num escopo mais amplo, no caso o pacote chama-se simplesmente Wipe. Ele promete apagar um arquivo do disco utilizando os padrões e codificações dos passes para o método Gutmann, é opensource e disponível no repositório universe do Ubuntu. Nada mal.
Outro pacote também disponível, criado por um grupo de hackers extremamente famosos, é o secure-delete. Segundo as informações no site dos autores, este pacote possui ferramentas adicionais que limpam a memória e outros lugares do disco-rígido que podem conter informações residuais dos arquivos. E é justamente isso que eu tinha em mente.
O Linux é um sistema com mentalidade e segurança de nível industrial, e isso é bem verdade quando se trata de manter a integridade dos dados armazenados. Tamanha segurança, torna com que seja mais complicado se livrar por completo dos dados indesejáveis.
Minha escolha foi o secure-delete, embora o wipe tenha me parecido muito bom também. Minha idéia era descobrir até onde iam essas ferramentas adicionais do grupo THC.
Usando o comando info, comecei a ler sobre os comandos disponíveis:
# info srm
Retorna, entre outras informações, o seguinte:
Que o arquivo é sobrescrito mais de 27 vezes, usando o método Gutmann, e que opções adicionais de segurança, como abrir o arquivo no modo 0_SYNC (ainda não sei exatamente o que isso significa).
Um comando típico seria: # sudo srm -v [nome do arquivo]
A opção -v é para ativar o modo de verbose, permitindo que seja mais fácil acompanhar o que está acontecendo. Fiz o teste abaixo:
user@user:~/temp$ sudo srm -v draw01c.svg~
Using /dev/urandom for random input.
Wipe mode is secure (38 special passes)
Wiping draw01c.svg~ ************************************** Removed file draw01c.svg~ ... Done
Obs.: não demorou nem 1 segundo a operação, seria interessante testar também em um arquivo maior.
Tudo transcorreu normalmente. Ainda no info, existe o alerta para a permanência de arquivos no /tmp, no swap e na memória RAM, e também para a possibilidade de algum arquivo sigiloso ter sido apagado por meios normais e sobrescrito com algum arquivo em uso ou do sistema. Neste último caso, parafraseando o THC, "nenhuma ferramenta conhecida poderá ajuda-lo." O que é bem verdade. Só formatando o disco, fazendo um fill seguro e reinstalando o sistema... Mas dificilmente isso seria uma opção, né? Eu, pelo menos, não tenho tanta paciência e tempo para fazer uma imagem, formatar e restaurar. E, a bem dizer da verdade, nem necessidade disso...
Acrescento, aos "poréns" do info do THC, justante, os arquivos "*~", cópias de segurança de arquivos modificados geradas automaticamente pelo sistema.

Outra ferramenta do pacote é o sfill.
# info sfill
Basicamente ele faz, no espaço livre do disco-rígido, o que o srm faz com os arquivos. Não testei o comando pois não há necessidade de desgastar meus disco-rígido sobrescrevendo com 38 passes 43.3 GB. O.o

Também há o smem:
# info smem
Neste comando encontrei dois avisos, um que não entendi muito bem, outro que deu para entender. No primeiro estava escrito o seguinte, no parágrafo que fala sobre para que serve o smem: "Note that with the new SDRAMs, data will not wither away but will be kept static - it is easy to extract the necessary information!"
Em português: "Note que com as novas SDRAMs, os dados não irão desaparecer, mas ficarão guardados estáticos - é fácil extrair a informação necessária!" Acredito que isso não queria dizer que o programa não é capaz de realizar o trabalho, mas sim que a tecnologia SDRAM armazena melhor os dados quando computador está desligado do que as tecnologias anteriores. Isso faz sentido num cenário de computadores cada vez mais capazes de hibernar e suspender, economizando energia... O que não faria sentido seria incluir esse comando se ele não fosse capaz de fazer o que promete fazer.
A outra informação é uma recomendação para utilizar o comando no modo rápido, menos seguro, devido a demora de execução do mesmo na memória RAM. Embora possa parecer um contra-senso ele ser mais demorado na RAM do que no disco, é preciso lembrar que o sistema estará, obviamente, ligado durante a execução. O comando sugerido fica assim: # sudo -ll smem
Sendo que os dois "l" são para que apenas um passo de 0x00 seja feito. Isso faz sentido pois a memória RAM é tecnicamente muito diferente dos discos-rígidos. Não testei este comando, ainda, na minha máquina.

At last but not least:
# info sswap
Esse faz o que o sfill e o srm fazem, só que no swap. Primeiro é necessário desmontar o swap com o comando # sudo swapoff - limpar o swap com ele montado é pedir por um crash no sistema. Acredito que esse tipo de ferramenta seja melhor utilizada no modo texto, fora do X.org
Depois de desmontar o disco # sudo -v sswap nele.
Também não testei esse comando, pelo mesmo motivo anteriormente apontado.

Então é isso. O que descobri, até o momento, é que no Linux é preciso considerar o arquivo a ser apagado, cópias de segurança do arquivo feitas automaticamente pelo sistema (*~), o swap, o /tmp, o espaço livre, a memória RAM e, em casos extremos, aquilo que já foi normalmente sobrescrito pelo sistema e demais arquivos.
Vale lembrar que também existe um Bug aberto no Launchpad (embora eu não tenha conseguido achar o endereço agora) que diz que ainda não estão completamente esgotados os estudos sobre a remanescência de dados no Ubuntu. Logo, os procedimentos acima são tão seguros enquanto e quanto não provarem o contrário.
Agora para terminar, se você realmente está determinado a eliminar os arquivos do disco-rígido, uma das melhores opções - comercialmente - disponíveis é o PD-8700: The Hard Drive Degausser and Physical Destroyer... Uma solução que a Skynet aprovaria. Pelo módico preço de US$ 26,000.oo!! Bom, eu prefiro ir de Conan O Bárbaro e recorrer à marreta e a uma fogueira neste caso... Fala sério! (:

E jamais se esqueça: "o componente mais inseguro do computador encontra-se entre o teclado e a cadeira."

Dicas de segurança para o OpenOffice.org

1. Desabilitar Macros: Ferramentas> Opções> Segurança> Segurança de macro e selecionar Muito Alta.
2. Desabilitar Java: Ferramentas> Opções> Java e desmarcar Usar um JRE.
3. Limitar o uso de módulos adicionais (3rd party modules).
4. Não usar arquivos TIFF em documentos do OpenOffice.
5. Dar preferência a arquivos nativos do OpenOffice à arquivos importados do MS Office, StarOffice ou WordPerfect.
6. Não confiar em hyperlinks em documentos, uma maneira segura de manuseá-los é copiando e colando eles no Google, para verificar os resultados.
7. Ter muito cuidado antes de resolver usar um Template, tenha certeza de que a fonte é de confiança. Na dúvida, aprenda a formatar na mão. (:
8. OpenOffice não é browser (embora tenha funções do tipo incorporadas).
9. Em Ferramentas> Opções> Segurança as opções "remover informações pessoais ao salvar" e "recomendar proteção de senha ao salvar" ou ainda, em Ferramentas> Opções> Carregar/Salvar> Geral marque a opção "editar as propriedades do documento antes de salvar."
10. Em Ferramentas> Opções> Carregar/Salvar> Geral desmarcar "carregar opções específicas do usuário com o documento" e "carregar configurações da impressora com o documento" - pode evitar incômodos.
11. Em Ferramentas> Opções> Carregar/Salvar> VBA desmarque todas (eu desmarco).
12. Em Ferramentas> Opções> Carregar/Salvar> HTML desmarque a opção "copiar imagens gráficas locais na internet."

No geral o OpenOffice é bastante seguro, basta usar o bom senso e saber usar essa excelente ferramenta para os propósitos adequados (ou seja, criação, edição e visualização de documentos), e ficar de olho nos boletins de segurança (que até agora foram mínimos). A dupla OpenOffice + Linux então, é tão seguro quanto é possível ser.

Dicas para assegurar os arquivos que você cria e quer enviar para as pessoas:
1. Enviar o arquivo no formato .PDF quando o arquivo não precisa ser modificado pela pessoa que vai receber. Assim você garante que o arquivo vai chegar ao destino da mesma forma que você criou, sem alterações na formatação.
2. Arquivos salvos em .PDF podem ser criptografados, sem precisar de senha para abrir no destino, para que não possam ter seu conteúdo copiado e para que não possam ser impressos. Tal segurança pode ser burlada, mas dá algum trabalho.
3. E é claro, é possível proteger os arquivos OpenOffice com senha...

domingo, 3 de fevereiro de 2008

Criando uma instalação segura do Ubuntu - Terceira parte

Neste post vou falar sobre como navegar e se comunicar na internet de forma mais segura.

Terceira parte: Internet mais segura

1. Instale e configure o Tor e o Privoxy. Ambos podem ser instalados pelo Apt ou pela página de download do Tor para sistemas Unix. Não se esqueça de seguir corretamente o passo a passo para a configuração do Privoxy. Não recomendo o uso de aplicativos como o "Tor buttom", ao invés disso, configure manualmente o proxy para cada aplicativo.

2. Configure o Mozilla Firefox para maior segurança seguindo esse passo a passo:
a. Vá em Editar> Preferências
b. Na aba Conteúdo verifique se o Bloquear janelas popup está marcado. Se você quiser, deixe marcado o Carregar imagens automaticamente, Permitir JavaScript e Permitir Java.
c. Na aba Privacidade, mude o valor de Memorizar páginas visitadas nos últimos XX dias para 0 (zero) e desmarque. Assim você não terá histórico. Desmarque também o Memorizar dados fornecidos a formulários e ao campo de pesquisa, e o Memorizar downloads. Deixe o Cookies marcado e em Preservar Cookies até, selecione Sair do Firefox. Selecione a opção Limpar dados pessoais ao sair do Firefox e em Configurar marque todos menos Nomes de usuário e senhas. Desmarque o Perguntar antes de limpar dados pessoais.
d. Na aba Segurança verifique se o Alertar quando sites tentarem instalar complementos está marcado, marque o Alertar se o site visitado é uma suposta fraude e Verificar consultando o Google a cada site visitado - Obs.: isso irá enviar dados da sua navegação para o Google, mas é bom para evitar que acessar sites maliciosos por engano. Opcionalmente você pode usar o Verificar recebendo uma lista de sites suspeitos.
e. Ainda na aba Segurança, em Senhas: navegando pela internet, tendo e-mails, participando de comunidades e fóruns, a tendência é você acumular um grande número de senhas. Você não vai usar as senhas do seu computador nestes sites, nem do seu usuário, nem do seu e-mail, então é óbvio que você irá precisar de um lugar seguro para anotar uma porção de senhas aleatórias. O Firefox pode manter as senhas memorizadas em um arquivo criptografado com senha. Supondo que você tenha seguido as demais instruções até este ponto (está usando uma instalação segura do Ubuntu, etc), considero que é seguro o suficiente deixar que o Firefox gerencie as suas senhas de Internet. Marque Memorizar senhas e Usar uma senha mestra e defina uma senha forte que você seja capaz de se lembrar.
f. Na aba Avançado, vá em Rede, Configurações e configure o Firefox para usar o Tor como proxy. Em cache escreva 0 (zero). Na aba Criptografia, em Certificados, clique em Verificação e selecione Usar OCSP apenas para validar certificados que especifiquem uma URL de serviço.

Agora você pode estar pensando: essas configurações são boas, mas o Tor vai deixar a navegação muito lenta, ou você pode preferir que o navegador lembre-se das páginas que você visita, ou mesmo você gostaria de aumentar ainda mais a segurança, mesmo deixando a navegação mais restrita, desabilitando totalmente o JavaScript e o Java... Bom, independente do caso, o ideal é fazer como eu fiz: instale dois navegadores.
Existem dois bons motivos para isso: 1. você terá um navegador 100% seguro e outro bastante seguro porém mais amigável e com maior compatibilidade com as tecnologias dos sites; 2. você poderá conhecer outros navegadores, além do Firefox, como o Opera ou o Swiftweasel.
No meu caso eu tenho um Firefox instalado, com várias opções de segurança, mas que me permite navegar tranquilamente por todos os sites que uso, e um Swiftweasel, que é 100% compatível com o Firefox e que está configurado de forma 100% segura embora menos navegável. Ambos compartilham extensões, assim ainda poupo espaço em disco, e algumas extensões eu só uso no Firefox e deixo desabilitadas no Swiftweasel. Para a navegação diária, costumo usar o Swiftweasel, mas quando preciso de histórico (quando estou fazendo uma pesquisa muito grande pra faculdade), ou outros recursos (maior compatibilidade com os serviços do google, como este blog), ai eu uso o Firefox.
Por fim, se você já não tiver, então instale as seguintes extensões: AdBlock Plus, NoScript e CustomizeGoogle. O Tor já bloqueia grande parte das propagandas, o que o Tor não bloquear, o AdBlock vai bloquear. O NoScript te dá controle sobre o JavaScript, é essencial, pois deixa você escolher (e memoriza as tuas escolhas) sobre quais sites tem permissão para executar scripts no teu navegador. O CustomizeGoogle, além de remover os anúncios nas páginas do Google, te permite salvar as tuas preferências mesmo que os cookies estejam desabilitados, e permite que você mantenha o SafeSearch sempre no máximo.

3. Pidgin: eu uso o Pigdin, mas você pode tentar implementar essas dicas em qualquer instant messenger que você usar. Primeiro vá em Ferramentas> Preferências> Logs e desmarque tudo. No gerenciador de contas é possível usar o Proxy do Tor para conectar. Isso era especialmente útil no Windows, quando eu usava MSN, pois eliminava as propagandas da Microsoft. No Linux/Pidgin a única função disso seria anonimizar a sua conexão às redes de instant messenger que você utilizar. Pessoalmente eu não uso, mas você pode utilizar se quiser (a conexão com estes serviços fica mais lenta se você usar o Tor). Outra ferramenta interessante são os recursos de criptografia para instant messengers. Nunca usei, pois imagino que a pessoa na outra ponta teria que estar usando também... Mas, por nunca ter usado, sei realmente pouco sobre esse assunto.

4. E-mail: considerando as configurações acima, o modo mais seguro de acessar e ler e-mail é pelo navegador, usando a interface web do serviço do qual você é assinante. A não ser que você tenha acesso POP ou IMAP e decida usar criptografia nos e-mails. Neste caso, você precisa configurar tal opção e a pessoa do outro lado terá que saber utilizar chaves para ler e-mails criptografados. Fanáticos por segurança podem escolher deletar os e-mails após lidos, tanto no computador caso baixem, quanto no servidor.
Outra observação importante é quanto a senha de e-mail, esta deve seguir todas as normas de segurança, sendo o mais forte possível. Neste ponto acho que vale a pena fazer uma reflexão e uma retomada: considerando a instalação e configuração proposta até aqui, você terá de memorizar um total de 4 (quatro) senhas. Uma para inicializar o computador e acessar as partições criptografadas, uma para o usuário, outra para o gerenciador de senhas do Firefox (esta até pode ser a mesma do usuário, acredito que aqui o risco não seja tão grande, dependendo de como você usa o computador) e uma para o e-mail. Quatro senhas complexas não é uma coisa muito fácil de memorizar, embora usando-as diariamente isso vá acontecer de maneira natural e sem grandes problemas. O problema é ficar adicionando senhas de menor importância (leia-se segurança) e redundantes, que também precisariam ser memorizadas. Por isso não acho necessário ficar adicionando senhas que dependam do hardware, como foi dito no primeiro post desta série. As demais senhas para sites, fóruns e comunidades, podem ser memorizadas pelo Firefox e seus programas respectivos, não sendo necessário lembra-las de memória. A única das senhas on-line realmente importante neste sentido é a do e-mail, para que você possa acessá-lo quando não estiver com seu computador ou caso aconteça algo com seu computador.

5. Demais programas de Internet: o que vale para os programas acima também vale para estes, que é verificar quais os recursos são importantes manter ativados, quais os recursos são perigosos para o sistema, se é desejável anonimizar a conexão por meio do Tor, e a eliminação de logs (ninguém lê logs, essa é a verdade, só pessoas mal intencionadas). Aconselho a não sair instalando tudo que é programa que aparece, e ir se inscrevendo em tudo que é serviço on-line que cruzar o teu caminho. Antes de mais nada leia mais a respeito do programa ou serviço, procure no google, leia depoimentos em fóruns e, principalmente, pense se você precisa mesmo daquela função.

6. Orkut: ok, é leviano falar de Internet para o público brasileiro e não falar sobre Orkut. Vou listar algumas dicas...
a. Nunca use o seu nome verdadeiro no Profile, use qualquer coisa como um apelido ou um alias. Isso vai dificultar que curiosos e pessoas mal intencionadas fiquem te "encontrando" facilmente. Não pense no Orkut em termos de ser encontrado, pense que é você quem encontra as outras pessoas. Mudar regularmente esse nome e a imagem (que obviamente não deve ser a sua foto) também ajuda. Na pesquisa do Orkut, Profiles sem foto aparecem por último, então pode ser uma boa até mesmo usar um profile sem foto.
"Ahh, mas assim ninguém vai me add!" - Sem problema, quando você convidar alguém para ser seu amigo, se identifique para a pessoa na mensagem que é enviada em anexo... Afinal é um amigo. Se não for teu amigo ou se você não conhece a pessoa, não adicione. Se for um contato mais formal (contato profissional com alguém que te conhece pouco) só inclua na mensagem que você não usa seu nome verdadeiro e nem foto para preservar a sua privacidade, ou contate a pessoa por algum outro meio antes, avisando que irá adicioná-la no Orkut.
b. Ao preencher seus dados, dê o mínimo de informações possíveis. A não ser que você realmente esteja querendo conhecer pessoas pelo Orkut, não é necessário preencher nada daquilo.
c. Scraps: prefira se comunicar por depoimentos, eles só são vistos por você e pelo outro usuário, e podem ser facilmente apagados se forem "aceitos" por acaso. Se for se comunicar por Scrap, modifique as tuas opções para que apenas os teus amigos possam ver os teus Scraps e escrever Scraps para ti.
d. Fotos, vídeos, depoimentos, etc... Selecione para que apenas os teus amigos possam ver. De qualquer maneira, já ouvi falar que existem meios de burlar esse tipo de restrição. Então tenha critério ao usar tais ferramentas (ou não use at all).
e. Comunidades: não entre em tudo que é comunidade de nome bobo ou apenas porque a comunidade expressa algum gosto teu, use o profile pra isso se for o caso. Quanto menor o número de comunidades que você participar, menor a chance de você ficar recebendo porcaria pelo Orkut, menos bisbilhoteiros, e menos problemas. Entre apenas naquelas que você realmente vai participar ou que sejam realmente relevantes.
f. Lembre-se de que, como foi dito no item d., o Orkut é cheio de bugs e tem milhões de bisbilhoteiros e pessoas realmente mal intencionadas. Se alguma informação está no Orkut, seja em que parte do Orkut que for, considere-a pública.
g. Não tenha dó de bloquear quem quer que seja (o mesmo vale para e-mails, messengers, etc).

Encerro assim esta parte sobre Internet. Sei da existência de vários outros serviços, como flickr, Last.FM e etc, mas são serviços que não tenho usado por falta de interesse, de tempo e/ou necessidade. Em se tratando de segurança, lembre-se que a maioria das falhas ocorre com participação ativa do usuário, então seja cuidadoso e desconfie duas vezes antes de confiar. (;

Criando uma instalação segura do Ubuntu - Segunda parte

No post anterior falei sobre como criar uma instalação completamente criptografada do sistema operacional, como criar uma senha segura, e sobre outros métodos de proteger o computador durante a inicialização. Este post irá tratar sobre medidas que você pode tomar após a instalação para melhorar a segurança do sistema.

Segunda Parte: desabilitando serviços e programas não utilizados

Como todo sistema operacional moderno, o Linux inicia diversos serviços por padrão, tentando facilitar a vida do usuário. Mas o fato é que quanto mais coisas rodando ao mesmo tempo no seu computador, mais lento ele irá ficar, e quanto menos você souber sobre essas coisas, menos segurança você irá ter. Então é interessante desabilitar os serviços que são inicializados por padrão e que você não necessita.
1. No terminal, instale o Sysv-rc-conf:
# sudo apt-get install sysv-rc-conf

2. Terminada a instalação, execute:
# sudo sysv-rc-conf

Escreva toda a configuração dos seus serviços em um papel, ou num documento de texto, ou use a captura de tela para salvar essas configurações. Se algo der errado, você não vai ficar "num mato sem cachorro."

Uma lista de serviços e para que eles servem pode ser encontrada no Ubuntu Forum, em inglês. Existem outras listas mais ou menos completas em diversos fóruns e páginas. Pessoalmente eu não tenho paciência nem tempo para ficar traduzindo todos os serviços possíveis e criando uma lista aqui. Então deixo ao seu encargo essa pesquisa, que se faz necessária.

Desmarque da inicialização todos os serviços que você não necessita. Isso fará o sistema iniciar mais rápido, executar mais rápido e irá deixar mais memória RAM livre. Ah! E use o bom senso: se você não sabe para quê serve um serviço, e não conseguiu descobrir para o quê ele serve, deixe ele como está. Opcionalmente, após ter otimizado os serviços que você conhece, e ter reiniciado o computador para ter certeza de que tudo está funcionando - não se esqueça de testar conexão, som, etc - você pode ir experimentando desligar cada um dos serviços que você desconhece a função, um por um. Assim você vai saber qual serviço que desligado vai deixar o seu sistema instável ou criar problemas, talvez até vá descobrir para o que ele serve. Mas como guia geral, recomendo deixar os serviços desconhecidos tal e qual eles foram configurados pelo sistema.
Exemplos de serviços que são seguros, na maioria dos casos, para serem desligados: anacron, apmd, atd, bluez-utiles (bluetooth), cupsys (impressão), dns-clean, evms, fetchmail, gdomap, hotkey-setup, hibernate, hotplug-setup, hotplug, hotplug-net, hplip, ifrename, portmap, ppp (modem), ppp-dns (modem), usplash...

3. Depois de tudo certo com os serviços, vá em Sistema> Preferências> Sessões. Desmarque coisas que você não usa (um exemplo de algo que eu não uso é o Tracker). No Sessões é que você coloca as coisas que vão inicializar com o GNOME, tais como o qSynaptics (eu prefiro o qSynaptics ao gSynaptics pois possui mais opções fácilmente configuráveis), o gDesklets, etc... Lembrando que o gDesklets é um programa de enfeite, se você for fanático por desempenho e segurança, não use...
Um lugar com algumas dicas sobre o que fazem cada um desses programas é a página Ubuntu Ultimate.
Coisas que você pode, geralmente, desabilitar no Sessions:
Evolution Alarm Notifier, Gerenciador Bluetooth (só deixe habilitado se você realmente necessita), Visual, Tracker, Network Manager (geralmente pode ser desabilitado), Miniaplicativo de Fila de Impressão (se você não imprime, então você não precisa), Gerenciador de Drivers Restritos (se a instalação do sistema está completa, você não precisa mais dele), Gerenciamento de Energia (se você não usa, não precisa).

4. Tendo otimizado os serviços e o sessions do Ubuntu, você pode partir para algo mais radical que é a remoção de programas que você não usa. Por exemplo, se você usa o Thunderbird e não usa o Evolution para nada, não faz sentido deixar ele instalado... Certo? Talvez. Veja bem, removendo programas, existe uma possibilidade remota, de você remover alguma coisa útil ou mesmo necessária para o computador. No Linux isso é um problema menor do que nos outros sistemas operacionais, já que todas as dependências podem ser facilmente resolvidas pelo Apt. Mas, se você for remover os programas que não usa, seja criterioso. Outra coisa: não espere ganhar muito espaço ou algum desempenho fazendo isso. A instalação padrão do Ubuntu já é, por si, bastante enxuta. E programas não utilizados e não inicializados, levando em conta que se tem espaço suficiente em disco, não possuem impacto relevante na performance do sistema.

5. Verifique os menus do Gnome (Aplicações, Locais, Sistema, etc). Se algum programa que você removeu continua por lá (isso é muito raro mas acontece), ou se existe algum atalho para algum programa que você não quer que esteja lá, vá em Sistema> Preferências> Menu Principal e remova as entradas que você não quer. Adicionalmente, é possível criar atalhos para o que você quiser ali.

Embora as dicas acima estejam presentes, geralmente, em posts sobre otimização da velocidade do sistema, eu resolvi incluir elas aqui, por entender que um sistema enxuto é mais seguro do que um sistema com diversos apêndices desconhecidos sendo ou podendo ser executados.

6. Vá em Sistema> Preferências> Proteção de tela. Escolha Tela vazia, no tempo de espera use use 7 minutos ou menor, e marque Travar tela quando a proteção de tela estiver ativa.

8. Em algum lugar discreto do seu Gnome, você pode acrescentar um botão para travar a sessão: clique com o botão esquerdo do mouse (o direito se você for destro) sobre algum Painel (o superior ou o inferior), e selecione Adicionar ao Painel. Nos ícones que irão aparecer, escolha Travar tela. Pode ser necessário destravar do Painel alguns itens para poder mover o ícone novo para onde você quer. Para tanto clique com o botão esquerdo do mouse sobre os ícones que estão no caminho e desmarque "Travar ao painel". Depois clique com o botão esquerdo do mouse sobre o ícone que você quer mover, selecione Mover, e arraste o ícone para onde você quiser. Não se esqueça de travar novamente os ícones ao Painel.

9. A última deste post, e talvez a mais importante, verifique as permissões dos arquivos e pastas, em especial os mais pessoais. Precisando de ajuda para entender o conceito de permissões, acesse a página oficial da comunidade sobre o assunto.

Criando uma instalação segura do Ubuntu - Primeira parte

O propósito deste post é reunir, de maneira organizada, um conjunto de dicas que irá tornar a distribuição Ubuntu 7.10 Gutsy Gibbon, do sistema Linux, mais segura. Algumas dicas de otimização também serão incluídas, mas o foco será segurança. O post irá cobrir a instalação do sistema operacional por completo, em uma máquina exclusivamente Linux.


Instalação do Sistema Operacional

1. Escolha um dos mirrors e selecione a imagem de instalação alternate apropriada para a sua arquitetura. Até a presente data, ainda são notadas incompatibilidades de instabilidades de alguns pacotes adicionais disponíveis nos repositórios para as versões 64 bits do sistema. Então, se você pretende ter maior compatibilidade, facilidade de uso, e opção de programas adicionais, recomendo instalar a versão 32 bits, mesmo possuindo um processador com arquitetura 64 bits.
Exemplo da imagem mais comum:
ubuntu-7.10-alternate-i386.iso

Não esqueça de baixar também o arquivo MD5SUMS.

2. Após completar o download, usar o comando abaixo para checar a integridade do arquivo:
# md5sum ubuntu-7.10-desktop-i386.iso
Compare o resultado com a lista MD5SUMS que você baixou, estando correto você já pode gravar o CD.

3. Reinicie a máquina, com o CD no drive e com o Bios configurado para inicializar pelo CD. Uma vez na tela de opções de instalação do CD alternate, para segurança extra, selecione e execute a opção Check CD for Defects. Isso irá realizar uma busca por erros no CD, para garantir que todos os dados tenham sido gravados corretamente. Terminada a busca, prossiga com a instalação do sistema operacional, selecionando a primeira opção do menu.

4. Particionamento dos discos: aqui começa a verdadeira diversão. Nesta tela, durante a instalação do sistema, você irá selecionar a opção Guided - use entire disk and setup encrypted LVM - que significa o seguinte: todo o disco-rígido será utilizado, qualquer partição anteriormente existente será apagada e os dados serão perdidos, e serão criadas 3 partições: uma com os arquivos necessários para inicializar o sistema (grub, etc), uma com o sistema e os arquivos do usuário (home, etc), e uma partição swap. Apenas a partição necessária para a inicialização do sistema é que não será encriptada; as demais serão. A organização fica dessa maneira:
/dev/hda1/boot (ext3) - arquivos necessários para a inicialização
/dev/hda2 (extendido / encriptado)
&&/dev/mapper/root (ext3 encriptado em hda2)
&&/dev/mapper/swap (swap encriptado em hda2)
Precisando fazer operações nas partições, você pode usar o comando mount no terminal, após a instalação do sistema, para verificar como elas ficaram organizadas e seus respectivos nomes (hdax é meramente ilustrativo aqui).
Você pode, também, durante a instalação do sistema, editar manualmente a organização das partições, podendo criar partições separadas para o home ou para o que você quiser. A opção padrão, no meu caso, é adequada.

5. Lhe será pedido para escolher uma senha (passphrase) para poder acessar as partições encriptadas durante o boot do sistema. Lembre-se de que, sem essa senha, você ficará completamente impedido de acessar qualquer arquivo nestas partições, nem mesmo inicializando pelo modo de segurança (que também irá lhe pedir uma senha), nem usando um Live CD a recuperação será possível. Desta maneira, escolha uma senha que você será capaz de se lembrar e que, ao mesmo tempo, é segura: não faz sentido instalar um sistema super seguro e escolher uma senha fraca. A senha pode ser uma única palavra ou mesmo uma frase. Minhas dicas para você são estas: escolha uma senha que possua, no mínimo, 12 caracteres; que possua letras minúsculas e maiúsculas e números. Sinais gráficos como !, @, #, $, %, etc também podem ser usados. Não use palavras de nenhuma língua, como "caramujo" ou "pinetree", não use dados pessoais.
Uma boa dica de memorização: pense numa frase que você não irá se esquecer, escolha a primeira letra de cada palavra da frase, adicione um número no início da frase e um sinal no final da frase. Um exemplo: Meu pequeno cachorrinho Rex é muito brabo e feliz! - esta frase criaria uma senha assim: MpcRémbef! (já com um sinal de pontuação no final). Adicione um número à frente, por exemplo 86, e a senha criada será: 86MpcRémbef! - uma senha fácil de lembrar, com 12 caracteres, incluíndo letras maiúsculas (2) e minúsculas, acento, números (2) e sinal.
A importância disso é que, usando um método brute force (força bruta, tentando uma combinação por vez), um computador normal é capaz de gerar cerca de 400.000 combinações por segundo. Se uma senha possui apenas letras minúsculas, tudo o que o computador terá de gerar são combinações de letras minúsculas. Se a senha possui letras minúsculas e maiúsculas, o número de combinações já dobra. Se a senha possui letras minúsculas, maiúsculas, sinais gráficos, acentuação e números... Bom, ai o número de combinações, dependendo do tamanho da senha, fica enorme, assim como o tempo, o custo e o trabalho necessários para descobri-la.
Um bom lugar para descobrir o quanto uma senha é forte, e para obter mais dicas sobre senhas, é no site CertainKey.

6. Escolhida a senha das partições, a instalação deve prosseguir normalmente. Quando for configurar um usuário, escolha um nome não muito óbvio, pois o user name é também um dos passos a serem descobertos quando alguém quer invadir a sua privacidade; e considere a possibilidade de não utilizar a mesma senha que você usa para as partições, pois a senha de usuário é utilizada por diversas vezes seguidas, para executar comandos administrativos no terminal e tarefas de manutenção no modo gráfico, em ambos os casos com o sistema já inicializado, muitas vezes conectado à Internet. Quanto mais vezes você tiver que digitar uma senha, e quanto mais coisas o seu computador estiver executando enquanto você a digita, mais suscetível a ser descoberta ela será. Use as mesmas dicas do passo 5 para escolher uma senha de usuário.

7. Uma vez configurada a conta de usuário, a instalação deve prosseguir normalmente.

Terminada a instalação, quando o sistema for inicializado, você verá que é necessário, ainda enquanto o sistema estiver carregando os drivers, digitar uma senha. Sem essa senha, qualquer pessoa só terá acesso aos dados do /boot (arquivos de inicialização do sistema), e a mais nada. Se a pessoa tentar algum outro modo de inicialização, também terá de fornecer essa senha, acabando assim com o problema de inicializar no modo de texto, ou de segurança, como root. Se a pessoa inicializar o computador com um Live CD, não poderá acessar as partições se não tiver as senhas. Se alguém tentar acessar diretamente os arquivos da partições, por meios mais sofisticados, não irá conseguir pois estes estão encriptados com AES.
Lembre-se: o que vale pros outros, vale para você também. Se perder a senha, já era...


Anexo 1: trocando de senha

Após terminada a instalação, se você quiser, poderá trocar a senha do Luks (programa que gerencia as partições encriptadas, ou mesmo adicionar novas senhas.
Adicionar novas senhas? Para quê? Bom, quanto mais senhas você tiver para acessar uma mesma coisa, menos seguro será tal acesso, isso é certo. Mas digamos que você tenha a infelicidade de precisar dividir o computador com alguém. Será melhor que essa pessoa acesse o Luks por uma senha diferente da sua, facilitando assim, uma eventual situação em que você tenha que interromper o acesso dessa pessoa ao seu computador. Para isso o Luks permite a criação de até 15 senhas diferentes.
O procedimento para trocar uma senha antiga por uma nova é o seguinte: 1. você cria e insere a senha nova; 2. você elimina a senha antiga. Sempre nessa ordem.
As senhas são armazenadas em slots.
A primeira coisa que você vai fazer é descobrir como foram nomeadas as suas partições. Para isso você vai usar o comando mount.
Tendo descoberto qual o nome das partições, você usará o seguinte comando para descobrir quais slots já estão usados:
# sudo cryptsetup luksDump [partição]
Onde está [partição] vai o nome da sua partição sem as chaves. Exemplo: # sudo cryptsetup luksDump hda3

Será exibida uma lista onde, sendo que você nunca criou uma senha nova, constará apenas o slot 0 (zero) como usado. É naquele slot que fica armazenada a senha que você criou durante a instalação do sistema.

Para adicionar uma nova senha, use o seguinte comando:
# sudo cryptsetup luksAddKey [partição]
Após criada a nova senha, sugiro que você reinicie o computador e teste a nova senha antes de apagar a antiga.

Tendo reiniciado o computador com a nova senha, para ter certeza de que ela estava funcionando, você irá digitar novamente o comando luksDump, como foi ensinado acima, e irá notar que agora o slot 0 e o slot 1 estão ocupados. É evidente que a senha que você criou na instalação do sistema está no slot 0 e que a senha nova está no slot 1.

Para remover uma das senhas, o comando é o seguinte:
# sudo cryptsetup luksDelKey [partição] [slot]
Exemplo: #sudo cryptsetup luksDelKey hda3 0 (esse comando irá deletar a senha do slot 0)

Com isso você terá um sistema operacional em que todos os arquivos, inclusive os da memória de troca, são encriptados; e saberá alterar a senha ou acrescentar uma senha para alguém com quem você compartilhe o computador, caso seja necessário.
Os procedimentos acima eliminam o acesso sem senha ao root por pessoas que tenham acesso físico à máquina, algo que, na minha concepção, era um grande problema no Ubuntu. Agora mesmo que alguém possua acesso físico a máquina, não poderá acessar coisa algum, de maneira nenhuma, sem a senha que dá acesso aos discos. Quanto mais segura a sua senha, mais seguros estarão os teus dados.

Observações sobre o Luks: minha máquina é bastante modesta, tratando-se de um celeron com apenas 512 MB RAM e um HDD de 5200 RPM. Ainda assim, para minhas aplicações do dia a dia (internet, office, alguma edição de imagens e vetores), não notei nenhum problema de desempenho usando um sistema de arquivos completamente encriptado.

Fonte consultada: ArchWiki


Anexo 2: Senhas da BIOS e outras senhas de hardware

Senhas da BIOS são úteis apenas para uma única coisa: proteger a BIOS de modificações nas suas configurações por pessoas não autorizadas. E só. Mesmo para isso, tal senha é bastante falha, pois toda BIOS pode ser "zerada", normalmente por jumpeamento na placa mãe ou mesmo por curto na própria BIOS. Em nenhum caso uma senha na BIOS irá proteger os dados armazenados no computador, de uma pessoa que tenha acesso físico a máquina. Tal pessoa teria várias opções tais como: 1. zerar a BIOS; 2. substituir o ROM da BIOS por outro idêntico; 3. remover a mídia de armazenamento dos dados e usar outra máquina para acessá-los; 4. etc...
Para a BIOS, recomendo a utilização de uma senha simples, diferente daquela utilizada para a inicialização do sistema (Luks) e para a conta do usuário. O motivo para isso é que a senha da BIOS precisa ser armazenada em algum lugar da BIOS, e não se sabe - pelo menos eu não sei - até que ponto tal senha fica seguramente armazenada.

Outras senhas de hardware: veio ao meu conhecimento, recentemente, no fórum Ubuntu BR, que é possível gravar uma senha de acesso ao hardware, usando um patch - ou extensão - na BIOS, no caso o ATA Security eXtension BIOS (ATASX BIOS). Esse patch pode ser integrado por meio do ROM da própria BIOS ou do ROM da placa de rede, desde que esta dê suporte ao Boot Over Lan. Em ambos os casos, o programa (extensão) que provê a segurança, fica armazenado em uma peça de hardware diferente de onde os dados serão armazenados. Tal proteção se estende até onde uma pessoa possa simplesmente remover a placa de rede ou substituir a BIOS do computador. Ambos procedimentos bastante fáceis de serem usados.
E ainda que tal extensão faça alguma modificação no ROM do próprio HDD, ainda assim seria possível recuperar os dados dele, sem senha alguma, bastando trocar a sua placa, um procedimento utilizado para recuperar dados de HDDs queimados.
Por ser um tanto redundante esse tipo de segurança em um sistema já criptografado, e por ser menos seguro do que a criptografia em si, eu não recomendo e não vejo necessidade de utilizar tais extensões de BIOS.
Outro contra destas medidas extras é o número de passwords que você irá necessitar memorizar e digitar toda vez que for ligar o computador, tornando o processo lento e monótono, para dizer o mínimo.
Ao meu ver, basta uma password de setup na BIOS, com a intenção de apenas proteger, ainda que levemente, alterações na configuração da mesma. Uma senha que eu usaria na minha BIOS seria algo tão simples quanto o aniversário da minha mãe ou do meu pai.