Segurança em seu Linux

Autor: Leonardo Damasceno <damasceno.lnx at gmail.com>

Introdução

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:

Linux: Segurança em seu Linux

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:

Linux: Segurança em seu Linux

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):

w init=/bin/bash

A linha do kernel vai ficar como algo do tipo:

kernel /boot/vmlinuz-2.6.xx-x-xxx root=/dev/xxx rw init=/bin/bash

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 😡 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.

Segurança básica com iptables

Parto do suposto que você tem apenas uma placa de rede, que deve
ser a eth0 ou uma conexão discada ou ADSL, que no caso será ppp0.

Independente disso, vou usar como exemplo uma placa de rede
com o nome yyy0. Para funcionar em seu computador, apenas modifique
yyy0 pela sua placa.

Precisamos entender que o bloqueio tem que ser feito do que
vem de fora, para o nosso computador, então utilizaremos a chain INPUT
(consultado para dados que chegam a máquina) e FORWARD (consultado para
dados que são redirecionados para outra interface de rede ou outra
máquina).

Vamos zerar as regras, apagando todas as existentes. Digite o seguinte em seu terminal GNU/Linux:

# iptables -F

Isso apagará todas as regras existentes na tabela FILTER.

Vamos definir uma política de segurança, onde o "perigo" existe
nas portas de SSH, telnet e FTP. Vamos desconsiderar MSN, P2P e outras.

Portas: 22 (SSH), 23 (telnet), 21 (ftp)

Essas portas são as mais exploradas. Por padrão quase todas as
portas que você utiliza são abertas, como nós zeramos as regras da
tabela FILTER, vamos bloquear as que queremos, como por exemplo, a
porta 22:

# iptables -I INPUT -d SEU-IP -p tcp –dport 22 -j DROP

Bem, o que o comando a cima fez? Ele inseriu no topo das
regras, com a opção -I, sabendo que o iptables trabalha de forma que
ele executa as regras de cima para baixo.

Para ver quais regras existem e qual a sequência delas, executando a
primeira, segunda, terceira e assim por diante, até que as regras
acabem, digite:

# iptables -L –line-numbers

Voltando a explicação da regra, após inserir no topo com a
opção -I, utilizei o chain INPUT, que diz que os dados vem de fora pra
dentro, de fora para a nossa máquina. A opção -d quer dizer DESTINO, ou
seja, junto com os parâmetros -p, –dport e -j DROP, estou dizendo que
de fora para dentro, com destino a minha máquina no protocolo TCP/IP na
porta 22 (porta do SSH) o alvo seja "DROPADO", não aceite os dados.

Vamos fazer o mesmo para a porta 21 (FTP) e 23 (telnet):

# iptables -I INPUT -d SEU-IP -p tcp –dport 21 -j DROP
# iptables -I INPUT -d SEU-IP -p tcp –dport 23 -j DROP

Bem, a segurança depende de você, então você vai definir o que
bloquear. Se você acha que P2P é um problema, bloqueie, se você acha
que outras portas estão dando "brecha" para que alguém consiga acesso a
sua máquina, também bloqueie! Mas cuidado, não faça nada sem saber,
pois depois você terá trabalho para descobrir o que fez e como
resolver.

Bem, após definir todas as regras que você quer, revise-as usando:

# iptables -L –line-numbers

Conclusão

Com iptables e o GRUB protegido, seu computador agora
está "um pouco" mais seguro. Uma outra forma de garantir segurança para
o seu computador ou servidor é utilizar um sniffer, como o Snort, para "filtrar" e tomar uma ação (Snort + Guardian).

Por exemplo, se alguém dá um port scan para ver quais portas estão
abertas no seu computador, o Snort já considera isso uma ameaça e junto
com o software Guardian bloqueia o IP de quem fez esse port scan, não
dando permissão alguma, assim ele não dará outro port scan, nem um ssh,
nem nada do tipo, pois ele não terá nenhum acesso a sua máquina.

Você pode instalar o Snort seguindo minha dica: Instalando o Snort no Debian


http://www.vivaolinux.com.br/artigo/Seguranca-em-seu-Linux

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s