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.
Por: Leonardo Damasceno
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:
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):
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:
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.
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: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Fonte: vivaoLinux
Postado Por: RedDeviL
Por: Leonardo Damasceno
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:
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):
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:
Código:
password --md5 $1$0Cd05/$leZ/iD935/PHk4F1i3C321
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: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Fonte: vivaoLinux
Postado Por: RedDeviL
Comment