UNIX E LINUX

Unix e Linux
Como tudo começou
O UNIX foi desenvolvido na década de 70 pela Bell Labs. Seus criadores foram Ken Thompson e Dennis Ritchie, ajudados por uma equipe. O nome é uma gozação com o sistema Multics criado na década de 60 em que os dois se basearam. Enquanto ele tentava ser vários (Multi) o Unix era um só. Construiram um sistema operacional para programadores. Eles desejavam um resultado tão bom que a linguagem C foi desenvolvida só para ajudar a fazer melhores ferramentas para o projeto. A medida que o tempo foi passando, o UNIX foi se mostrando um sistema versátil e extremamente eficiente. Um pouco difícil para o usuário inexperiente, mas muito eficaz. Com esse sucesso todo, o sistema evoluiu e teve várias distribuições, tais como, Digital Unix, Aix, Unix V, Xenix, Minix e muitas outras. Também inspirou a criação de sistemas operacionais como o DOS e OS/2.
A sua mais famosa adaptação é o Linux, criado por Linus Torvalds (daí provém o seu nome). É uma distribuição gratuita (coisa que nem todos os unix são) e portada para os computadores pessoais já que geralmente os outros sistemas são para grandes computadores (mainframes). O sistema UNIX vêm se mantendo a mais de 30 anos como o sistema mais seguro e poderoso de todos.
Não entrarei em detalhes sobre o UNIX, já que esse livro não se prende a um sistema. Darei uma visão geral sobre como é sua estrutura e por quê difere tanto do Windows. O objetivo maior de um invasor em um sistema com UNIX é obter o acesso ROOT. Ele pode fazê-lo tentando explorar alguma falha em algum servidor da vítima (veja no capítulo falhas), uma má-configuração, ou instalar um backdoor. Não importa. Se o invasor não conseguir acesso root ele não têm nada. E com certeza fará de tudo para conseguí-lo.

Autenticação de senhas – a criptografia DES
Sempre ao iniciar uma sessão, o sistema irá pedir-lhe nome de usuário e senha. Mas onde ficam armazenados esses dados?. O arquivo /etc/passwd é o responsável por guardar as senhas no sistema. O processo de autenticação no UNIX é extremamente eficiente. Aqui um exemplo simples de como o arquivo se organiza:

mflavio : Marcos Flávio :0 : 0: sEdkiUnbgFsbgTrVbgtTrfvfR : / : /bin/sh

A primeira seção é o login do usuário, no caso do exemplo é o mflavio. Esse é o nome usado para acesso ao sistema. Logo depois vemos o nome completo do usuário, que é Marcos Flávio. Depois vêm dois números. Eles são os números de indentificação de usuário e grupo. Os chamados IDs. No UNIX cada usuário pertence a um grupo, seja ele o root (administradores) , webmasters, users, o que for. Quanto menor for o número que aparece no arquivo passwd , maior é o poder do usuário. No exemplo temos dois zeros, isso quer dizer que o usuário têm poderes de administrador e pertence ao grupo root. Se fosse um usuário comum, provavelmente o número estaria entre 20 e 60.
A próxima seção é a mais interessante: a senha. Mas não a senha real, como é escrita ao se logar no sistema. Ela está criptografada usando um sistema chamado DES, desenvolvido especialmente para o UNIX. Contrariando alguns pensamentos, o DES não pode ser descriptografado. Mas ainda assim existem métodos para conseguir obter as senhas. Leia sobre ele no capítulo 14. Depois da senha criptografada temos o diretório padrão do usuário (que no caso do root é a raiz “/”) e seu interpretador de comandos ou shell (/bin/sh). Existem outros shells, como o shell C (/bin/csh). A utilização de cada um depende do gosto do usuário.

Um exemplo de arquivo de senha simples.

Shadowing
Na tentativa de segurar os invasores e impedir que consigam informações sobre o sistema, foi criado o sistema de Shadowing. Ele funciona da seguinte maneira: deixa-se um arquivo /etc/passwd “falso” para ser pego pelo cracker. Nesse arquivo, geralmente no lugar das senhas criptografadas estará apenas um asterisco. Os administradores mais maldosos que querem ver o invasor perder seu tempo, colocam algumas entradas criptografadas falsas de senhas. O arquivo verdadeiro está bem guardado em algum lugar do sistema. Como isso varia de sistema a sistema e o local pode ser modificado, teriam que procurar muito para encontrá-lo. É uma medida de segurança a mais, mas ainda assim não segura um bom cracker, que nem necessita do arquivo de senhas mais. Explora os erros.
SSH, Telnet e Rlogin
Os métodos de conexão remota são muito utilizados em sistemas UNIX. O Telnet e o Rlogin (remote login) por décadas foram largamente usados para que recursos externos distantes pudessem ser acessados. É como o patrão que de casa quer efetuar um login no sistema da empresa e verificar os logs para ver se está tudo bem. Acontece que após a popularização do sniffer esses acessos remotos ficaram perigosos pois eles enviam dados a texto puro, sem nenhum tipo de criptografia. Esse problema foi resolvido com a criação do SSH (Secure Shell) que começa a criptografar mesmo antes do processo de login.
Hoje, o SSH têm sido usado demais nos sistemas Linux, até já vêm com algumas distribuições. O erro que algumas pessoas fazem é confiar demais na sua eficiência. Como qualquer outro programa, o Secure Shell possui bugs graves. Até muitos se for comparado com outros serviços como o Apache. Portanto se o que você quer é a segurança do sistema, esteja sempre atualizando o seu SSH.
Vírus e trojans
Essa é uma vitória do Unix. A coisa mais rara da face da Terra (mais raro que ganhar sozinho três vezes seguidas na mega-sena) é aparecer algum vírus para esse sistema. Tanto que as empresas criadores de anti-vírus iriam falir se fizessem versões exclusivas para Unix e Linux. Trojans também existem muito poucos, e esses só conseguem ser instalados com o poder de superusuário (ou ROOT). Se você quer se livrar de uma vez por todas de problemas bobos como vírus de macro(Melissa) , worms(Love Letter) e outros, venha pra o Unix. Não irá se arrepender.
Buffer overflows e condição de corrida
Leia o capítulo sobre falhas.
Aumentando a segurança do sistema
Para aumentar a segurança é o que chamamos de praxe: esteja sempre atualizando o seu sistema por patches encontrados, teste-o com ferramentas de crackers para saber se é vulnerável. Configure os serviços que vão iniciar com o sistema no /etc/inet.conf . Cheque as permissões e os logs do sistema todos os dias. Use o shadowing. Utilize um bom firewall. Confira se todas as senhas padrões estão desabilitadas. E o essencial: reze. É uma ótima ajuda atualmente.

Hosted by www.Geocities.ws

Hosted by www.Geocities.ws

1