A cada dia novas técnicas de invasão são desenvolvidas e os especialistas na área de segurança de redes têm a incumbência de resolvê-los. Mas não só um especialista na área de segurança deve se preocupar, um usuário comum, como você, também.
Descrição: A cada dia novas técnicas de invasão são desenvolvidas e os especialistas na área de segurança de redes têm a incumbência de resolvê-los. Mas não só um especialista na área de segurança deve se preocupar, um usuário comum, como você, também deve se preocupar, pois todo dia você acessa a internet através do seu navegador que roda em alguma distribuição Linux, e não é porque "o Linux não pega vírus" que você vai ficar tranquilo.
Então, qual é o conceito de vírus? E se alguém criar um script, enviar para o seu e-mail e após dar a permissão de execução e rodar o script, você tenha seus dados perdidos?
Ou então, alguém de fora, conseguir rodar um "scan" no seu IP, descobrir quais portas estão abertas e através de um ataque de força-bruta descobrir sua senha?
Bem, vários problemas podem acontecer, mas você não precisa ficar louco, com medo de acessar até o próprio e-mail. Primeiro você tem que ter consciência do que está acessando, pois muitos "hackers" usam a engenharia social para se aproveitar de usuários que não tem uma "noção básica" de como navegar pela internet. Eles usam principalmente os e-mails.
Nesse artigo vou abordar como criar uma segurança básica para o seu computador, protegendo o GRUB e também o acesso "de fora para dentro" utilizando o iptables.
Protegendo o GRUB
Como você pode aprender a se defender, sem atacar? No mínimo você precisa estudar de que forma o "cracker" invadiu e qual técnica ele usou.
Então aqui vou ensinar como acessar uma máquina que não tem uma senha definida para o GRUB e cair em um terminal como root. Depois vamos nos proteger desse tipo de "invasão". Quero deixar bem claro que esse estudo que fiz não tem outra funcionalidade senão a segurança, como diz a frase:
"O conhecimento está aí para todos, resta cada um saber como utilizá-lo"
Bem, primeiro acesse o GRUB:
Ao tentar carregar o Grub, tecle ESC, agora selecione a primeira linha do Ubuntu ou Debian (não escolha a opção recovery mode) e tecle E, selecione a segunda linha, onde tem kernel e pressione a tecla "E" para editarmos:
Após pressionar a tecla E na linha do kernel, delete TUDO da sua direita a esquerda até onde tem "ro". Quando chegar em ro, pare de deletar tudo.
Agora vamos com calma, apague em ro, o o, deixando apenas r, agora vamos adicionar o seguinte (lembrando que o que vamos digitar começa em r, não dê espaço após o r):
Agora tecle ENTER e pressione a tecla B para darmos boot.
Então vamos cair na linha de comando como root. Vou modificar a senha de root da máquina sem nem saber qual é a atual:
# passwd root
Agora vai aparecer para você definir a nova senha de root, sem necessidade de digitar a atual:
Enter a new Unix password:
Lembrando que o que você digitar não será exibido, por questão de segurança.
Agora, repita a senha:
Retype new Unix password:
Muito fácil hein!? Então, como nos protegermos disso?
Simples, inicie o seu Linux, abra o console e digite como root (para fazer o login de root, use su):
# grub
Então estaremos dentro do "editor do grub", digite:
grub> md5crypt
Vai te pedir uma senha, defina-a para apenas você ter acesso a modificar algo no GRUB, corrigindo o nosso "pequeno problema".
Então, após digitar o password e pressionar a tecla ENTER, vai aparecer algo do tipo:
Encrypted: $1$0Cd05/$leZ/iD935/PHk4F1i3C321
Ou seja esse é o seu password criptografado!
Copie o que foi gerado, no meu caso foi: $1$0Cd05/$leZ/iD935/PHk4F1i3C321
Agora vamos editar o arquivo do grub, o menu.lst:
# vim /boot/grub/menu.lst
Localize a linha:
# password --md5 $1$LGS05/$kroNVgYaTbsf93FZo6eeI0
Por padrão ela está comentada, remova o # da frente dela e aproveitando o que já está digitado, deixe:
password --md5 E SEU PASSWORD CRIPTOGRAFADO
No meu caso ficou assim:
password --md5 $1$0Cd05/$leZ/iD935/PHk4F1i3C321
Depois salve o arquivo, no meu caso, como usei o editor de texto VIM, usei :x para salvar e sair.
Agora reinicie o seu computador e tente fazer a mesma coisa que fizemos antes! Note que você não consegue editar nada do grub, só se usar a opção p para digitar o PASSWORD.
[1] Comentário enviado por y2h4ck em 16/10/2009 - 10:55h
Aproveitando seu gancho do artigo sobre usuários com problemas de segurança e tudo mais, quero deixar meu ponto de vista sobre uma pequena mudança de perfil que venho percebendo.
Tenho observado que muitos usuários migram para o linux porque alguém disse em determinado momento coisas do tipo:
- Linux é seguro, usa ele que nunca mais vc vai ter problema pra abrir e-mails, links, porque afinal nao "pega" virus,
Linux é MAIS seguro ? Sim sem duvida sua arquitetura proporcionou um improvement de segurança muito legal e obviamente um usuário que nao hospede um serviço de e-mail, dns, ftp, www no proprio host e deixe ele ligado 24/horas dia não terá muito a se preocupar.
Porém, olhem só a experiencia que eu fiz com um amigo meu. Ele é um linuxer adepto, daquele tipo que da raiva, "Linux é seguro, linux é foda, windows sucks, microsoft sucks". Todo mundo conhece um assim ... :D
Estava falando com ele pelo skype por esses dias e durante uma dessas "bla bla bla linux ownz uber l33t" dele eu falei:
_ Então se é assim ... abre esse link aqui Champz ...
Passei a ele um link com um Java Applet que ao ser executado gera um .sh no /tmp e se executa. Esse em especial baixou uma backdoor reverse connect que me deu um bash$ na maquina do bonitinho.
Nem preciso dizer que ele NÃO EXITOU NEM 1 SEGUNDO EM ABRIR O LINK! Porque? Voces ja sabem porque... talves maioria aqui fizesse a mesma coisa :) afinal linux nao tem virus, nao tem perigo abrir um link ... :D
Parabens pelo Artigo Leonardo, é bom os usuários começarem a acreditar que segurança != paranóia :)
[3] Comentário enviado por leodamasceno em 16/10/2009 - 14:05h
Realmente y2h4ck, esse seu comentário chega a ser engraçado.
O que muitas pessoas pensam, é que o Linux é seguro, e que nada pode atingi-lo.
Bem, o que eu costumo dizer é o seguinte: "Quem faz a segurança, é você".
Se você tem um Windows, onde todas as portas (Quase todas) estão fechadas, tem um anti-vírus, anti spyware e tudo mais, você pode estar mais protegido, do que um Linux com todas as portas abertas, e com um usuário que clica em tudo que vê.
Logicamente, o sistema operacional ajuda, mas um sistema operacional na mão de quem não sabe usar, pode não ser lá grande coisa.
Por isso, todos os usuários tem que entender, que não é só instalar e usar, se não quiser que seus dados sejam copiados, roubados ou deletados.
A segurança, faz parte do nosso dia a dia, tanto pra servidor quanto pra Desktop.
Obrigado pelo comentário, acho que ele deu um exemplo clássico da importância da segurança.
[5] Comentário enviado por rodrigo8819 em 16/10/2009 - 16:17h
basta colocar um noexec na tabela de partições para q não se execute nada no tmp, e pronto, você não executará no tmp nada e isso não vai interferir no funcionamento do sistema. Pronto, está corrigido o problema descrito pelo y2h4ck.
[7] Comentário enviado por removido em 16/10/2009 - 16:52h
A diferença entre o Windows e o Linux é que no Linux o usuário tem total controle sobre o sistema,exemplo:No Windows o usuário sabe apenas adicionar e excluir portas do Firewall,isso é tudo que se pode fazer no firewall do Windows,vejamos o Firewall do Linux que tem por sinal inúmeras opções e regras para escolher,se o usuário de Linux configurar o firewall estabelecendo as regras de Iptables para bloquear os ataques de negação de serviço e conexão reversa,ele estará mais seguro no Linux do que no Windows.
[8] Comentário enviado por xadouron em 16/10/2009 - 17:17h
Nossa. Precisou de um especialista em segurança interagir aqui no site para a galera ver que não existe um sistema 100% seguro. Claro o Linux é mais que o Windows, mas daí dizer que podemos clicar em qualquer link no Linux que não tem problema, que não tem como invadir, que não tem pishing, que não tem vírus. Furada.. Temos que ficar espertos utilizando qualquer Sistema Operacional, manter um bom firewall ativado e sempre instalarmos as ultimas atualizações do softwares que utilizamos e do SO.
[9] Comentário enviado por psychokill3r em 16/10/2009 - 18:58h
muito bom mesmo
ok mais seu eu tiver acesso físico na sua maquina o que vai me impedir de sacar meu pen drive com o super-grub disk instalado e com a linha de commando do grub digitar configfile (hd0,0)/boot/grub.menu.lst sera que a senha vai te proteger. ou somente usando tab posso chegar a essa linha magica que voce mencionou , ou melhor rodar o slitaz que esta instalado junto com meu SGD, e chrootar sua partição .
voce tem que proteger a bios também !! para que isso não ocorra; porem ja que estou na frente da maquina é so tirar o hd e plugar no meu case de hd portatil plugar no meu netbook chrootar e reinstalar seu novo linux sem root p vc.
nao tem jeito segurança fisica ainda tem que ser na bala.
quanto ao ubuntu vc pode instalar o ufw e ativar ele sem medo .
a politica é drop total vc so tem que abrir o que for nescessario , tem uns servicos e programas pre configurados tipo emule ftp ssh é só voce escolher o que quer usar e liberar de resto tah fechado
[11] Comentário enviado por andre.vmatos em 16/10/2009 - 21:38h
Hmmm. Interessante as dicas ai em cima. Quanto à segurança física, creio que uma das mais eficientes, e é a que eu uso aqui no meu Arch Linux, é a criptografia das partições, em especial a root. Uso Luks+dmcrypt com AES 512bits, que me garante uma relativamente boa velocidade, e quase invulnerabilidade às técnicas convencionais. Com isso, um invasor que tenha acesso físico ao meu notebook não vai conseguir passar do initrd, ou seja, sem montar root, e nem rodando com um pendrive, hd externo ou live cd, não conseguirá ao menos montar minhas partições (todas são criptografadas), o que o impede de mudar qualquer senha, ou qualquer tipo de dado, ou mesmo instalar qualquer backport ou coisa parecida. A única possibilidade, nesse caso, é a formatação completa do HD. Quanto à questão das portas, creio que o sistema que uso, e um dos mais eficientes, no meu ponto de vista, já que preciso manter o SSH ativo, é um esquema de port knocking. Esse sistema é extremamente interessante, onde todas as portas permanecem fechadas, mas escutando "tentativas" de conexão. Quando preciso acessar por SSH meu computador, "bato" numa sequência específica de portas (que são alteradas com frequência, com base em uma pequena equação matemática, de fácil memorização), e então, a porta do SSH é liberada apenas para aquele IP específico, que gerou os "toc-toc"s. Não preciso dizer que isso é só para liberação da porta. Após isso ainda tem todo o esquema de segurança do SSH. Quanto à questão do y2h4ck, realmente acho bastante interessante esse tipo de ataque, baseado em permissões garantidas por prepotência de usuários (como executar um java desconhecido). Para evitar acidentes, creio que extensões como o NoScript, companheiro indispensável de navegação, e bastante atenção, podem resolver.
[13] Comentário enviado por daniel.061 em 16/10/2009 - 23:48h
Obrigado ao autor pelo artigo, e aos outros pelas contribuicoes e "consultoria" de seguranca da informacao..
Tenho uma duvida sobre o IPTABLES..
Quando voce diz pra botar o IP nas linhas de comando, esse ip sempre muda no meu caso, e ai como eu faco???
Eu ja percebi que minha porta do SSH ja vem aberta por padrao (slackware) e ja vi no arquivo /var/log algumas tentativas com varios logins diferentes, provavelmente um programa que fez as tentativas... Se o IP que eu recebo é um IP de rede interna, como que o infeliz consegue "scaniar" meu IP ??
So novo no linux, espero ter sido claro na minha pergunta...
[15] Comentário enviado por removido em 17/10/2009 - 10:57h
y2h4ck
Hahahha muito boa a sua história cara, mas pesando bem é a pura verdade, muitos dizem que linux é seguro, não te vírus, falhas e etc.
Sim, até esse ponto eu concordo. Mas o que torna o sistema vulneravel como todos devem saber são os usuários, e seus desconhecimentos de falhas e vulnerabilidades.
Por isso podemos ver que mesmo que o sistema sendo muito mais seguro que o RUINDOWS, como você mesmo disse com um simples link você já pode ter uma back connect de uma maquina considerada muito segura, mas pelo desconhecimento de informacoes por falta do usuario pode ser alvo fácil.
[16] Comentário enviado por edgarlemke em 17/10/2009 - 14:22h
O Linux, e os Unix-like em geral sempre são mais seguros do que o Windows.
Mas leodamasceno, só alterar algumas linhas da configuração do GRUB ou então instalar e configurar o iptables não torna seu Linux à prova de falhas. Talvez essas modificações que você fez não ajudem em nada dependendo do cenário.
Quer dizer, configurar melhor o GRUB e configurar o iptables não impede que um invasor explore falhas de SQLi ou de PHPi - que apesar de praticamente extinta, às vezes se acha - num servidor e consiga acesso root.
Todos os sistemas têm falhas, seja nos programas, seja de arquitetura.
Como disse psychokill3r, qualquer chroot da vida vai fazer você virar root da máquina rapidinho.
E dependendo das versões dos processos e mesmo do kernel, é possível obter acesso root através de exploits.
"nao tem jeito segurança fisica ainda tem que ser na bala."
Concordo com isso... hehehe
Qualquer ser que tenha o mínimo de vontade de pesquisar no Google encontra meios de conseguir acesso root.
É como eu digo:
"No Windows, basta apagar um arquivo para o sistema não bootar mais. E no Linux também. Mas não é tão fácil apagar este arquivo."
Com certeza o Linux, os BSDs e o MacOS são mais seguros do que qualquer Windows.
Na prática, podemos clicar no que quisermos sim. É preciso ser muito burro para cair em algum truque massivo para Linux.
E depois, acho que ninguém vai se interessar em fazer códigos maliciosos, como o caso do y2h4ck, para Linux, já que em comparação com o Windows que queiramos ou não, ainda é o mais utilizado, não tem muitos usuários.
Às vezes penso se não é melhor que o Linux fique nas sombras.
[17] Comentário enviado por removido em 17/10/2009 - 14:45h
Concordo com você edgarlemke.
Toda segurança implementada no sistema depende do cenário.
Não adianta nada seu BIOS e seu GRUB ter pass se você não atualiza seus programas, se vários exploits deles já estão correndo no underground e são conhecidos por todos adeptos ao SO.
Tudo depende do cenário.
Agora por exemplo você tem dados na maquina altamente confidenciais, sendo que para isso você mantém seus softwares atualizados em dia, pass na BIOS , no GRUB, tem um forte firewall, usa IDS e etc e tal, mas quando menos se da conta, alguém ligado a sua empresa concorrente vem e rouba seu HD o.O .
Lembro me de um artigo que li uma vez que contava a história de um pessoa que queria roubar dados de uma empresa, mas como o esquema de segurança era muito forte, dificilmente teriam acesso a entrada e outros locais, o que eles fizeram?
Colocaram um pen-drive perto da empresa jogado ao chão, como se alguém tivesse perdido ele ali mesmo.
Portanto a empresa tinha vários esquemas de segurança na sua entrada, mas não tinha uma forte politica de segurança interna na qual dizia que seus funcionários eram impedidos de plugar pendrives de estranhos.
O que acontece? O funcionário ajuntou o pen-drive chegou na sua sala e "PLUG", pronto! O pendrive já estava correndo por autorun e alguns exe's já estavam rodando no background também.
[18] Comentário enviado por edgarlemke em 18/10/2009 - 14:29h
O psychokill3r falou justamente isso, que não tem como ter segurança física eficaz baseada em software.
Ótimo, você põe senha pelo BIOS. Qualquer um que levar seu computador consegue abrir e resetar na placa-mãe.
Essa do pen drive é um exemplo que eu amo citar! *.*
As políticas de segurança no Brasil são um lixo. Qualquer um entra em áreas restritas de prédios, às vezes, mesmo pela porta da frente...
[19] Comentário enviado por andre.vmatos em 18/10/2009 - 14:59h
Sim, sim, esses métodos são falhos. Mas, como eu disse, não inexiste método de segurança física eficaz de sistemas unix. Dou meu computador a qualquer um que, com acesso físico a ele, conseguir hackea-lo de qualquer forma. Estou seguro disso, criptografia de partições protege fisicamente seu computador tanto quanto o SSH protege conexões virtualmente. Existe, sim, forma de segurança física. Ainda concordo que à bala é mais eficaz, mas, de qualquer forma, ainda não há como invadir um computador desligado, com as partições criptografadas com luks e dm-crypt, ou mesmo outro sistema menos convencional de criptografia de partições, e creio que, tanto quanto AES é seguro ataques brute-force, um HD criptografado assim é seguro de qualquer tipo de investida de atacantes com acesso físico à máquina.
[20] Comentário enviado por leodamasceno em 18/10/2009 - 18:43h
Senhores, por favor, leiam com atenção o tutorial, principalmente a descrição dele.
FIz esse tutorial voltado para um uso caseiro, e não uso em empresa.
Já li, que vocês estão falando de resetar BIOS, e tudo mais, mas a intenção desse tutorial é esclarecer um pouco para os usuários leigos o que realmente é o Linux, e uma forma básica de se proteger de alguns problemas.
Obrigado pelos comentários, mas não acho que são apropriados, infelizmente esse tutorial foi feito em um nível básico.
[21] Comentário enviado por leodamasceno em 18/10/2009 - 18:54h
daniel.061, bem, respondendo a sua pergunta,
Acho que um Script resolveria o seu problema, já que seu IP modifica sempre, não é fixo.
um Script em Shell be simples:
#!/bin/bash
ip=
echo 'Qual o IP Deseja bloquear?'
read ip
iptables -I INPUT -d $ip -p tcp --dport 22 -j DROP
Acho que esse script serve para o seu caso.
Respondendo a sua outra pergunta...
Se você está em uma rede, por exemplo: 10.50.80.1
E o cara de fora, com ip 200.200.200.200 consegue passar, provavelmente é problema com a segurança de rede!
Seria legal instalar na rede o snort, para monitorar o que está passando, e também dar uma olhada nas regras do firewall.
[22] Comentário enviado por daniel.061 em 18/10/2009 - 20:35h
Obrigado por me responder, deixa ve se eu endenti:
O iptables trabalha executando as regras de cima pra baixo, mas, se por acaso ocorrer uma situacao em que no momento em que ele executa as regras, surgir uma regra que "contradiz" uma anterior previamente definida, ele executa ela por cima ou nao executa??
Com relacao ao script, apos eu fazer ele, como eu faco pra deixar ele automatico quando eu me conectar na internet???
Sobre o meu problema, aconteceu exatamente como voce disse, as tentativas de conexao por SSH veio de um IP assim: 200:200:200:200... Acontece que nao é exatamente uma rede, é aqui na minha casa, nao tem firewall nem nada, por isso eu vo instalar o iptables aqui no meu notebook pq pelo menos eu to garantido..
[24] Comentário enviado por leodamasceno em 18/10/2009 - 21:47h
Caro daniel.061,
você pode adicionar o script no diretório /etc/init.d/
e utilizar: update-rc.d Script.sh defaults
Assim, o script irá ser executado toda vez que o sistema inicializar.
Sobre as regras, se você coloca a primeira regra bloqueando pacote do IP X na porta 22
e depois, na segunda regra você libera pacotes na porta 22 vindo do ip X, o iptables vai bloquear o ip X,
pois ele executa a primeira regra, que é de bloqueio.
Entendeu?
[26] Comentário enviado por KimRiNe em 19/10/2009 - 20:11h
Minha rede é wireless essa dica do iptables funciona do mesmo jeito?
E meu endereço ip é dinamico como faço naquela linha "# iptables -I INPUT -d SEU-IP -p tcp --dport 22 -j DROP "?
[27] Comentário enviado por leodamasceno em 20/10/2009 - 08:30h
KimRiNe, sim, o iptables também funciona com wireless.
Já que seu IP é dinamico, seria legal criar um script, como no caso do daniel.061.
Basta olhar meu comentário a cima, e entender.
Lógico, que você pode adicionar mais funcionalidades ao SCRIPT, como por exemplo, ao final do dia, deletar as regras iptables com um "iptables -F".
Vai de acordo com a sua necessidade.
[28] Comentário enviado por psychokill3r em 27/10/2009 - 21:53h
Leodamasceno
quando você diz ""Segurança em seu LINUX", portanto, não abordei essa questão da BIOS. "
quer dizer que segurança no Linux não tem a ver com a bios ?
"Obrigado pelos comentários, mas não acho que são apropriados, infelizmente esse tutorial foi feito em um nível básico. "
é verdade é básico porem não foi o primeiro alias é um clone. http://www.vivaolinux.com.br/artigo/GRUB-e-a-senha-de-root-como-atacar-e-proteger-seu-sistema/ --->>>igual idêntico os mesmos comandos porem com fotos.
sobrando apenas a parte do iptables que particularmente nem li.
você deveria agradecer os comentários que foram feitos ,eles só enriqueceram seu post , se não gostou dos toques não os leia não siga e não faça como foi dito.
Acredito que todos vem ao vol tirar duvidas ou postar algo querem aprender mais e mais se não for seu caso desconsidere.
Para que quer aprender pode procurar sobre truecrypt , você não precisa criptografar o disco todo só seu arquivos confidenciais , e um arquivo com suas senhas como descrito neste artigo. http://www.vivaolinux.com.br/artigo/Ubuntu-pendrive-TrueCrypt/
e se estiver desconfiando de que algo esta errado use as dicas abaixo. http://www.vivaolinux.com.br/artigo/Seguranca-para-iniciantes/
mais o que eu mais gostei foi esse script magico do y2h4ck
veja ele através de um javascript gera um .sh no /tmp e se executa , contornando o umask do sistema. #chmod +x /tmp/y2h4ck.sh ???
depois ele baixa e instala um backdoor , abre portas no firewall e cria nat no modem do sujeito.
Bem interessante , posta ele ai para gente aprender como se faz magia negra.
[29] Comentário enviado por leodamasceno em 28/10/2009 - 08:31h
psychokill3r, com base em que, você vem me ofender, e dizer que fiz uma cópia!?
Você por acaso já procurou averiguar os fatos?
Eu tenho um blog, onde postei isso faz um bom tempo, apenas integrei com a parte de iptables, na qual também lancei outro tutorial.
Infelizmente, pessoas que vem postar artigos para contribuir com a comunidade do software livre, as vezes se deparam com pessoas que nem você, que levantam falsas acusações sem nenhum motivo, acusando uma idiotisse dessa.
Cara, com todo respeito, mas vai procurar o que fazer!
Quanto a isso: quando você diz ""Segurança em seu LINUX", portanto, não abordei essa questão da BIOS. "
quer dizer que segurança no Linux não tem a ver com a bios ?
Segurança em seu Linux, DESKTOP! A Bios existe para quem usa Windows? Sim, A BIOS existe para quem usa Linux? SIM!
Acho que agora ficou fácil entender, hein!?
Se a BIOS rodasse com o LINUX, ou no LINUX eu até poderia abordar algo, se não gostou do artigo, procure outro para ler, que ti agrade, mas não fale mal do que não sabe.
[30] Comentário enviado por removido em 26/03/2010 - 15:06h
Li recentemente na INFO que os usuários de software livre são justamente os que mais sofrem de fraudes e invasões em seus sistemas, justamente por pensarem que estão imunes à qualquer ameaça digital. Entretanto, não há sistema para imune a burrice humana : D
Artigo muito pertinente, principalmente para conscientizar o usuário de GNU/Linux de que há ameaças para seu sistema.