InFog

Um blog sobre GNU, Linux, Open Source, Desenvolvimento e Nerdices em Geral

Atualizando as chaves SSL (SSH) do Debian

Tags: , , ,

Como muitos já sabem o Debian passou por uma atualização crítica, os pacotes de criação de chaves SSL (Utilizadas pelo SSH) estavam com um bug muito sério, e acabavam gerando chaves menos seguras do que deveriam.
Para quem tem servidores SSH instalados é obrigatório fazer a atualização do sistema e também das chaves.
Eu utilizo, nos servidores, o Debian Etch, então fiz esses procedimentos para atualizar os pacotes necessários e gerar as chaves novamente:

# aptitude update
# atitude dist-upgrade

Ele pediu para atualizar os seguintes pacotes:
openssh-client openssh-server

E pediu também para instalar o novo pacote:
openssh-blacklist

Esse pacote é novo no Debian e tem uma lista de chaves OpenSSH ruins e conhecidas, que são usadas pelo sistema para reconhecer chaves SSH suspeitas.
Durante a instalação dos pacotes o instalador vai lhe sugerir a renovação das chaves, ele NÃO fará isso automaticamente! Então temos que fazer “na unha” mesmo, primeiro é possível ver as chaves atuais:

# ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key
# ssh-keygen -l -f /etc/ssh/ssh_host_dsa_key

Claro que você não precisa vê-las. Então removemos as chaves atuais:

# rm /etc/ssh/ssh_host_rsa_key
# rm -l -f /etc/ssh/ssh_host_dsa_key

Agora simplificamos a renovação das chaves assim:

# dpkg-reconfigura openssh-server

Pronto, chaves renovadas e sistema seguro novamente. Mas espere um pouco, se eu troquei a identificação OpenSSH da máquina, os clientes que logavam nela não mais a reconhecerão? É isso mesmo! Veja só, eu fui logar no meu servidor e ele deu esse erro:

# ssh infog@192.168.1.1
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00.
Please contact your system administrator.

Ou seja, ele está me dizendo que existe a possibilidade de estar acontecendo um ataque, ou que simplesmente a chave RSA (do SHH) foi alterada. Isso acontece porque o cliente SSH guarda as chaves dos hosts que ele conhece (onde já logou), e quando ele tenta conferir a chave ele vê que ela foi alterada. Isso é muito importante pois previne que você digite seu usuário e senha em um servidor que está tentando se passar pelo que você se loga sempre.
Ok, como corrijo isso? Usando o comando ssh-keygen você pode retirar o host da sua lista de hosts conhecidos, no meu caso o comando foi esse:

$ ssh-keygen -R 192.168.1.1

Com isso ele remove a chave da lista (que fica no arquivo ~/.ssh/known_hosts) e você pode fazer a conexão normalmente. É claro que na primeira conexão ele irá perguntar se você quer adicionar a nova chave à lista de hosts conhecidos, basta aceitar.
É importante lembrar que você não pode remover o hosts da sua lista de hosts conhecidos sempre que a identificação dele mudar, lembre-se sempre se contatar o administrador do servidor para perguntar se realmente a chave mudou, ou se tem algum engraçadinho pelo caminho.
Os filhotes do Debian, como o Ubuntu, também precisam de atualização. Este texto recebeu algumas modificações depois de alguns teste realizados com o sr. Kretcheu.
O SSH também permite o login sem senha com a utilização de chaves públicas e privadas, para saber mais sobre isso leia esse texto.

Gostou do Blog? Assine nosso Feed RSS

5 Comentários

Impedindo o Acesso de Outros Usuários do PC à sua Home

Tags: ,

Uma característica bem interessante das distribuições Linux (e de outros sistemas operacionais) é a possibilidade de se ter, facilmente, vários usuários no mesmo computador.

Esse é um modo bem legal de utilização do pc, dessa forma cada usuário pode customizar o desktop à sua maneira, ter suas configurações, ter seu próprio histórico no navegador, etc.

Mas os problemas começam a surgir quando, por exemplo, você não quer que os outros usuários do micro vejam seus arquivos, pode ser toda a sua “home”, pode ser apenas um diretório específico, apenas um arquivo…

No Linux podemos resolver este problema recorrendo ao sistema de permissões utilizado. Esse sistema permite dizer quem terá acesso aos diretórios e arquivos do sistema e o que pode fazer.

Não vou me prolongar muito nesse assunto pois já existe muito material ótimo sobre isso, um dos melhores é o Guia Foca Linux.

Uma rápida explicação sobre o sistema de permissões: No Linux existem os usuários e os grupos e cada arquivo tem seu dono e pertence a um grupo. Vamos à um exemplo prático: Abra o terminal e use o comando:

$ touch teste.txt

Agora veja as propriedades desse arquivo

$ ls -l teste.txt

No meu caso retornou isso:

-rw-r–r– 1 infog infog 0 2008-02-19 09:20 teste.txt

Devemos prestar atenção à primeira parte (-rw-r–r–), o que nos importa aqui são os nove últimos dígitos (ignore o primeiro). O que eles querem dizer?

Nesse caso o dono do arquivo, infog, tem permissão de leitura (r) e escrita (w) sobre o arquivo, os usuários pertencentes ao grupo infog podem apenas ler o arquivo e os outros usuários podem ler o arquivo também. Com isso já dá para fazer uma idéia do que precisamos mudar para impedir o acesso?

Vamos ver agora o diretório home, para isso dê os comandos:

$ cd /home

$ ls -l infog

Troque o “infog” pelo nome do seu usuário. O resultado deve parecer com esse:

drwxr-xr-x 97 infog infog 4096 2008-02-19 19:57 infog

Trocando em miúdos: O dono do diretório tem permissão de leitura(r), escrita(w) e execução(x) do diretório, os usuários do grupo podem apenas ler e executar e o restante dos usuários também pode ler e executar.

Nesse caso especial (de diretórios) a permissão de execução (x) serve para que o usuário possa visualizar o diretório e seu conteúdo.

Então, para impedir que os outros usuários possam acessar sua home basta retirar-lhes esta permissão usando o comando chmod:

$ cd /home

$ chmod 0-rx infog

Pronto, com isso os usuários não poderão mais acessar a sua home. É bom lembrar que isso não tem serventia alguma se os outros usuários tiverem acesso de root, o root tudo pode e tudo vê.

Assine o Feed do InFog e saiba de todos os novos textos.

Quero Comentar!

Ops, problema na segurança!

Tags: ,

Durante o feriado de carnaval eu fiz uma pequena visita a nosso querido país vizinho: El Paraguay! E nas andanças pelas lojas encontro um micro rodando um sistema de câmeras de segurança… Até aí tudo normal, mas uma olhada mais atenta (ok, nem tão atenta assim, a janelinha esta bem visível) revela um erro!

É claro que não pude deixar de achar engraçado, afinal era um micro destinado à segurança à demonstrar o funcionamento, ou mal funcionamento, da placa de captura para câmeras de segurança… mas rodando o sistema da barra azul?

Como tive a felicidade de ser presenteado (por minha namorada), no natal, com um novo celular que tem câmera, aproveitei para fazer o flagra!

Se fosse para a segurança seria ruim um erro desses, mas para vender a tal placa deve ser ruim também.

E para não levantar polemica eu já digo logo que o Linux não é à prova de falhas =)

InFog

Quero Comentar!

© 2009 InFog. All Rights Reserved.

This blog is powered by Wordpress and Magatheme by Bryan Helmig.