Como configurar o seu Raspberry PI contra hackers?

13 Comentários

Por David Jesus para o Pplware
Todos nós temos a noção que é importante dispormos de mecanismos de segurança nos nossos PC’s. Para quem é utilizador do Linux certamente que já ouviu falar do iptables (firewall)…..mas provavelmente nunca o usou devido à sua complexidade.

O iptables é uma ferramenta bastante poderosa por si só, que vem por omissão nas distribuições Linux…logo está também disponível para o Raspberry PI. Hoje vamos ensinar como podem proteger o vosso  Raspberry PI.

1914-03

O IPtables é um mecanismo de segurança que permite controlar tráfego IP ao nível dos pacotes (layer 3). De uma forma geral, com o iptables podemos definir uma sequência de regras que permitem ou bloqueiam determinados serviços/aplicações. Os serviços/aplicações usam normalmente o protocolo UDP ou TCP – Para saber mais basta aceder aqui.

Antes de procederem à configuração do iptables não se esqueçam de alterar a password de acesso ao Raspberry PI (isto para os utilizadores que ainda não o fizeram).

Para configurarem o iPtables no Raspberry PI devem seguir os seguintes passos:

Passo 1) Para que as nossas regras fiquem guardadas num ficheiro (em /etc/network/iptables) devem executar o seguinte comando

sudo bash -c ‘iptables-save > /etc/network/iptables’

Passo 2) Para que as regras sejam carregadas antes do mini PC se ligar a rede, vamos acrescentar a seguinte linha no final do ficheiro que mantém as configurações da rede.

pre-up iptables-restore < /etc/network/iptables

fw_00

Passo 3) Vamos agora criar as regras que necessitamos. Para este exemplo vamos deixar algumas regras simples. Para isso basta editar o ficheiro (/etc/network/iptables) e incluímos lá a seguintes regras:

*filter

#

# Permitir todo o tráfego para a interface loopback e rejeitar todo o tráfego para a rede 127.0.0.0/8 (excluindo o endereço usado pela loopback)

-A INPUT -i lo -j ACCEPT

-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

#

# Aceitar todas as comunicações já estabelecidas

-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

#

# Permitir todo o tráfego de saída

-A OUTPUT -j ACCEPT

#

# Permitir HTTP e HTTPS (à entrada)

-A INPUT -p tcp –dport 80 -j ACCEPT

-A INPUT -p tcp –dport 443 -j ACCEPT

#

# Permitir acesso via SSH

-A INPUT -p tcp -m state –state NEW –dport 22 -j ACCEPT

#

# Permitir protocolo ICMP (vulgo ping)

-A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT

#

# Registar todos os pedidos rejeitados via “dmesg”

-A INPUT -m limit –limit 5/min -j LOG –log-prefix “iptables denied: ” –log-level 7

#

# rejeitar tudo o resto

-A INPUT -j REJECT

-A FORWARD -j REJECT

#

COMMIT

Passo 4) Depois de criamos as regras de firewall basta carregá-las no sistema usando o seguinte comando:

sudo iptables-restore /etc/network/iptables

Para vermos as regras carregadas, podem usar o comando sudo iptables-save

iptables_10

E pronto, está feito. Este tutorial é um pequeno exemplo daquilo que podem fazer com o iptables. Este mecanismo de segurança oferece muitas outras possibilidades que podem encontrar por aqui.

Ainda não tem o novo Raspberry PI? Aproveite aqui a nossa promoção em parceria com a Inmotion

Partilhar:
Tags:

Comentários

13

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Daniel Isidro
    Daniel Isidro

    Porreiro!

    Só uma pergunta:
    Eu tenho o meu Raspberry Pi configurado como VPN Server seguindo este tutorial https://pplware.sitedev.pt/linux/raspberry-pi/raspberry-pi-instalar-e-configurar-servidor-vpn-pptp-parte-i/ , tenho de adicionar alguma excepção extra para não bloquear a connecção a essa VPN, ou tal como está é suficiente?

    Obrigado!

    1. Avatar de Rick
      Rick

      Sim, tens de adicionar uma excepção para a porta TCP 1723.
      Também tens de garantir que podes fazer routing.
      Algo do estilo:
      :POSTROUTING ACCEPT [77:4620]
      -A POSTROUTING -o eth0 -j MASQUERADE
      -A POSTROUTING -o ppp+ -j MASQUERADE
      -A POSTROUTING -s 192.168.X.0/24 -o eth0 -j SNAT –to-source 192.168.X.X
      -A POSTROUTING -s 192.168.X.0/24 -o eth0 -j SNAT –to-source 192.168.X.X

      1. Avatar de Daniel Isidro
        Daniel Isidro

        Neste momento tou fora do país e preciso de usar a VPN e não posso arriscar deita-la a baixo e ficar sem accesso ao PI, logo não posso fazer o teste, mas quando chegar a Portugal irei experimentar!

        Obrigado pela dica!

      2. Avatar de Rui Moreira

        Testei dessa forma e não consegui mas desta já consegui aqui fica o que deves adicionar ao ficheiro
        http://bit.ly/1pMT1sf

  2. Avatar de TuxPT

    Search and Replace:
    “Rasberry PI” -> “Linux”

    There, I fixed it for you.

    1. Avatar de Pedro Pinto

      Mesma base, mesmas instruções 😉

  3. Avatar de l bras
    l bras

    No meu caso uso o OpenElec no qual os comandos SUDO vem desactivos por defeito, sabem como posso configurar o iptables no openelec?

    1. Avatar de TuxPT

      Não te preocupes com isso. Se não está “exposta” à Internet, não tens nada com que te preocupar…

  4. Avatar de bigmike
    bigmike

    Boa noite segui o vosso tutorial mas ao executar o ultimo comando
    sudo iptables-restore /etc/network/iptables
    dá-me o seguinte erro :

    iptables-restore v1.4.14: no command specified
    Error occurred at line: 112
    Try `iptables-restore -h’ or ‘iptables-restore –help’ for more information.

    antes demais obrigado

    1. Avatar de Rui Moreira

      Se colaste directamente o “conteúdo do ficheiro”, ficou com espaços entre todas as linhas tenta apagar esses espaços e continuar os passos a partir do passo (4).
      Espero ter ajudado!

  5. Avatar de Fabio
    Fabio

    Boas pessoal, tenho uma duvida:
    instalei o iptables atraves do user pi.
    criei a lista da iptables com as regras atraves do mesmo user..
    Entrando no ssh pelo user PI ou ROOT, o iptables e carregado na mesma? ou seja, a iptables e geral e abrange todos os users?

    Pergunto isto pois quero restringir o acesso ao pi.. pois andam IP’s da china a bater na minha porta 22.. e eu queria dar drop deles.. a minha questão é se basta adicionar o drop dos ips na iptable através do user pi ou se tem de ser como root. Alguma diferença?
    Espero ter-me feito entender.

    Cumprimentos

  6. Avatar de Jamerson
    Jamerson

    Alguem poderia mim informar como faço pra tirar o firewall , quando configurado no android pra usar como ssh, no App http injector, na to conseguindo mim conectar na internet devido o firewall da porta 443.
    Alguém pra mim ajudar?