terça-feira, 22 de maio de 2007
A Importância das Atualizações de Segurança
Imaginemos então a seguinte situação: Você instala, por exemplo, em uma rede de uma empresa um firewall que também abrigará um samba e um apache para compartilhar arquivos e intranet respectivamente. Então você adota uma boa solução de firewall, como o iptables, e à partir daí você está seguro e tranquilo. Alguns meses depois o pessoal da empresa te liga dizendo que está sem internet e não acessa as pastas compartilhadas, você tenta acessar a máquina e descobre que o acesso ssh com chave pública não funciona e a senha de root foi altera! E agora? Mas não estava tudo certinho? Tinha firewall e o SSH era apenas com Chave Pública! Como isso foi acontecer?
Daí você resolve pesquisar e descobre que há cerca de um mês foi encontrada e corrigida uma vulnerabilidade no SSH que aceitava determinada "chave pública mestre". E foi exatamente isso que foi usado contra o seu servidor, já que você ainda usava a versão de alguns meses atrás.
Ahhh InFog, mas isso não acontece, quem iria querer invadir um servidorzinho de empresa? Quer que eu lhe diga, ou você descobre sozinho? =)
Bem o quero dizer com toda essa história é que é muito imprtante se manter atualizado quanto às atualizações de segurança da sua distro, tanto faz se você administra um servidor ou usa apenas um desktop, podem haver falhas em qualquer tipo de software e, em geral, as atualizações no Mundo Livre são bem rápidas.
Eu uso Debian para servidores e desktops, por isso estou inscrito na lista de segurança da distribuição, então sempre que sai uma atualização de segurança eu verifico onde tenho esses tipos de softwares instalados e faço a atualização o mais rápido possível.
Então fica aqui um conselho para quem administra servidores ou mesmo usuários de desktop que queiram manter seus sistemas seguros e atualizados: Inscrevam seus e-mails nas listas de segurança de suas distribuições e faça as atualizações sugeridas sempre que possível. E se você ainda não tem uma escolha sobre distribuições, principalmente para montar servidores, estude bem antes de optar por uma, veja se o projeto tem esse tipo de preocupação e tente comparar a velocidade das equipes, ou desenvolvedores, na atualização dos pacotes específicos.
InFog
segunda-feira, 21 de maio de 2007
Novidade no TuxMasters: ChatBox!

Quer nos deixar um recado de forma simples? Mostrar aos amigos que você passou por aqui? Deixar sua marca? Então uilize essa novidade =)
Atenção: Os recados podem ser moderados à qualquer momento sem aviso, então procure deixar recados construtivos hehe.
sexta-feira, 18 de maio de 2007
Programação PHP, surpresa com o include()
Bem deixe-me começar dizendo que não sou webdesigner e nem estou acostumado à programar para esse tipo de ambiente, então eu escolhi o PHP pela semanhança ao C++ que tenho mais afinidade.

Então lá estava eu com um sistema para desenvolver e me perguntando como fazer, então tive a idéia que citei acima, eu fiz o index com tabelas e cada link da página chama ela mesma com uma variável para o GET, essa variável "$conteúdo" é a que define o que será exibido em uma determinada célula da tabela usando a função include(). Pois bem, eu precisava passar uma variável para uma dessas páginas chamas pelo include(), mas antes de tudo resolvi ver se a variável passaria para a página "automaticamente"... e passou! Com isso a coisa facilitou bastante =)
Achou pouco? Mas para alguém que, assim como eu, está se aventurando no php esse recurso é fenomenal :-)
InFog
terça-feira, 15 de maio de 2007
Novo Pidgin 2.0.0

Bem vamos ao que interessa: Usar esse ótimo IM que dá acesso à vários protocolos doferentes (Yahoo, Msn, Irc, etc) no Debian. Nos repositórios do atual Debian Stable a versão utilizada é o Gaim 2.0.0 beta 5, e no site do Pidgin não há pacotes Debian prontos. Então resolvi criar meus próprios pacotes e disponibilizá-los aqui para que mais pessoas possam instalar o Pidgin sem o sofrimento de compilar.
O pacote ainda é "beta" pois eu não adicionei todas as dependências, sugestões, ou disse que ele substitui o pacote gaim. Mas para quem estiver interessado em testar o Pidgin sem precisar compilar e tendo ele instalado pelo dpkg (fica mais fácil para gerenciar depois) eu acredito que seja uma boa idéia.
o pacote está aqui
Se alguém estiver interessado em distribuir o pacote em outro servidor fique à vontade, e se quiser me comunicar eu coloco o link aqui.
Boa sorte, e aguardo retorno sobre o pacote.
InFog
sábado, 12 de maio de 2007
Acesso SSH sem precisar digitar a senha e as facilidades administrativas desse recurso
Bem, vamos então ao básico, como configurar esse acesso. Logado na máquina que fará o acesso e com a conta do usuário que fará o acesso (isso ficou repetitivo não?) use o comando ssh-keygen:
$ ssh-keygen
Ele fará umas perguntas e mostrará os arquivos onde guardará as chaves, que são:
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
Essa id_rsa.pub é a sua chave pública, é como se fosse a impressão digital da sua máquina, e é ela que usaremos para acessar a outra máquina. Agora você deve copiar o conteúdo desse arquivo para o arquivo ~/.ssh/authorized_keys do usuário na máquina que será acessada.
Como a coisa funciona? Na hora em que você usa o comando ssh para logar em uma máquina o que acontece é mais ou menos isso:
$ ssh infog@debian
Sua Máquina: Tenta conectar à porta 22 da máquina remota.
Máquina Remota: Aceita a conexão.
SM: Verifica se a máquina remota é conhecida, checando o arquivo ~./ssh/known_hosts, se não for ela pergunta se você quer adicioná-la à lista. Se for conhecida ela checa a identidade da máquina remota. Isso é muito útil, imagine que alguém trocou a máquina que você acessava ou está usando o mesmo IP dessa máquina para capturar senhas, o ssh consegue saber se é a mesma máquina ou não e se não for ele te avisa, assim você pode, por exemplo, ligar para o local onde a máquina fica e perguntar o que houve. Continuando... Então rola um papo entre as máquinas:
SM: - Opa, e aí debian tudo bem, eu sou o infog e venho da máquina gnu.
MR: - Olá infog, tudo certo aqui. Ok, deixe-me ver sua impressão digital?
SM: - Ah, claro que sim, aqui está (~/.ssh/id_rsa.pub).
MR: - Obrigado, vou conferir, aguarde por favor. (Compara o id_rsa.pub com o ~/.ssh/authorized_keys, se a impressão estiver no authorized_keys o acesso é permitido):
MR: - Oi, desculpe pela demora, sua impressão confere com minha lista, seja bem vindo!
SM: - Obrigado!
Caso a impressão não esteja na lista o seguinte aconteceria:
MR: Poxa cara você não está na lista, podemos tentar com outra impressão? (Se você tiver outro tipo de chave ela será enviada).
SM: Eu não tenho outra impressão, o que faremos?
MR: Hum, você pode me mandar uma senha e eu comparo com a do usuário aqui. Pode ser? Digite aqui:
password:
Bem daí pra você sabe o que acontece.
Mas quais são as facilidades disso além de nãao digitar a senha? Imagine que você está com um problema em sua máquina e não esteja conseguindo resolver, então aquele cara que você conheceu no irc se oferece para ajudar, mas você não quer dar sua senha para ele e nem quer mudar a senha da máquina para algo como 123 para que ele acesse. Aqui você poderia pedir para ele enviar a chave pública dele, você coloca no seu authorized_keys, ele acessa e te ajuda, e depois disso você remove a chave do authorized_keys. Pronto ele te ajudou e nem sabe do tipo de senha que você usa e você pode autorizá-lo ou desautorizá-lo sempre que precisar.
Lembrem-se crianças, não vão sair adicionando qualquer um no seu authorized_keys e quando o fizer faça com um usuário que tenha permissões apenas para ajudar na solução do seu problema.
Bem, é isso. Boa sorte à todos e lembrem-se de ler o manual para obter mais recursos e aprender sempre mais sobre as ferramentas que você usa no dia-a-dia.
InFog
sexta-feira, 4 de maio de 2007
Note Turbinado Com Debian!

Aqui está a etiqueta grande =)

E esta é a "Designed for Debian".
Desculpem pela má qualidade das imagens.
InFog
quarta-feira, 2 de maio de 2007
Aptitude, uma ferramenta poderosa
O Aptitude é uma interface em modo texto para o sistema de pacotes do Debian GNU/Linux. Ele permite que o usuário/administrador veja as listas de pacotes e realize operações como instalação, atualização e remoção de pacotes. Ele tem diversas opções via linha de comando, mas o que pretendo mostrar aqui é a utilização de sua interface visual.
Este tutorial não visa ser algo como “A solução definitiva” ou “Aprenda tudo sobre o Aptitude aqui”, mas sim ser um ponto de começo para você que usa apenas o apt-get e sente falta de uma ferramenta que facilita um pouco a rotina de pesquisar pacotes e escolher o que você precisa.
Bem, vamos começar pelo começo, se você não tem o Aptitude, basta instalar com:
# apt-get install aptitude
Para entrar no Aptitude rode o comando:
# aptitude
Então será aberta uma tela como essa:

Aqui ele tem uns menus na parte de cima, listas de pacotes no meio e um espaço para descrições dos pacotes na parte de baixo.
Nos menus acima encontramos as opções do Aptitude, em Ações nós podemos:
Instalar/remover pacotes marcados (calma crianças já já vamos aprender a marcar os pacotes);
Atualizar a lista de pacotes (equivalente ao “apt-get update”);
Marcar os pacotes atualizáveis para que sejam atualizados;
Cancelar a instalação de novos pacotes;
Limpar o cache de pacotes (igual ao apt-get clean);
Limpar arquivos obsoletos;
JOGAR CAMPO MINADO!
Tonar-se root, caso você ainda não o seja;
e Sair.
Em desfazer podemos desfazer as marcações de pacotes (tipo um ctrl+z da vida).
Em pacotes temos as opções para marcar os pacotes na lista para atualizar, instalar, remover, fazer purge (remover tudo, inclusive arquivos de configuração), etc.
Acho que para este artigos precisaremos apenas destas opções mesmo, o resto você pode ler no manual do Aptitude.
Agora vamos aprender na prática! Vamos instalar algo e depois removê-lo, assim vocês verão como o Aptitude pode facilitar a vida.
Para esse exemplo vou instalar algo para poder brincar depois, vou instalar um jogo! Afinal, depois de escrever isso o melhor é relaxar, e nada como um bom joguinho para isso =P E o jogo escolhido foi o excelente Powermanga[1], um joguinho de nave bem divertido e viciante.
Estou usando o Debian Etch apenas com os repositórios oficiais e já atualizei minha lista de pacotes (apt-get update).
Com o Aptitude aberto nós temos que pesquisar pelo nome do pacote para isso use o menu Procurar->Encontrar ou simplesmente aperte “/” que aparecerá uma caixa com um campo onde você deverá digitar o nome do pacote ou parte do nome. Aqui eu digitei apenas “power” e dei

Para fazer o cursor avançar até o próximo pacote com “power” no nome use o menu Procurar=>Procurar Novamente ou a tecla “n”, você pode continuar apertando “n” até encontrar o Powermanga ou iniciar uma nova pesquisa (“/”) e digitar o nome completo. Quando você encontrar o pacote você pode “entrar” nele e ver a descrição, dependências, conflitos e versões disponíveis para instalação. Essas versões são mostradas apenas quando você tem duas versões Debian no seu sources.list, tipo Sarge e Etch, e há uma versão diferente do pacote para cada distro, caso você use apenas uma versão Debian a lista de versões mostrará apenas uma versão.
Se você está seguindo o exemplo você deve estar vendo uma tela como essa:

Como vocês podem ver aqui quase todas as dependências do Powermanga estão satisfeitas, falta apenas a powermanga-data, que está marcado de vermelho. Você pode instalar as dependências primeiro ou mandar instalar o pacote principal, pois o Aptitude marca as dependêcias para instalação também.
Tá bom InFog, mas como eu marco o pacote para instalação?
Para marcar o pacote para instalação coloque o cursor sobre a versão que você quer instalar, ou a única versão se for seu caso, e use o menu Pacote->Instalar ou use a tecla “+”, ao fazer isso o pacote será marcado de verde e as dependências serão resolvidas.
Vamos à instalação? Use o menu Ações->Instalar/Remover Pacotes, ou use a tecla “g”, o Aptitude mostrar as alterações que serão realizadas, e apertando “g” mais uma vez ele irá baixar os pacotes e fazer a instalação:


Prontinho, pacote instalado. Basta jogar! hehe.
Bem, vamos a remoção do pacote. Use a pesquisa para chegar ao pacote que você deseja remover, e com o cursor sobre o pacote use o menu Pacote->Remover, ou use a tecla “-”, após isso pressione “g” e veja confira as modificações que serão feitas, e aperte “g” novamente que o Aptitude removerá o pacote. Para sair do Aptitude use o menu Ações->Sair ou pressione “q”.
Boa sorte com o Aptitude, e para saber mais sobre ele veja o manual com:
$ man aptitude
Com ele a administração do seu sistema Debian (e derivados) ficará bem mais simples e divertida!
InFog
Links:
[1] http://linux.tlk.fr/games/Powermanga/










