Protegendo o Riak usando o Firewall Shorewall

6

Eu quero configurar um Riak Cluster para um projeto da Web.

No entanto, quero proteger esse cluster para que somente o (s) My Web Server (s) possam acessar o Cluster do Riak. Basicamente, eu terei um ou mais Servidores Web e 4 servidores Riak (em um cluster).

Eu quero usar o Shorewall ou outro aplicativo de firewall para proteger as comunicações entre o servidor Web e os Riak Clusters, para que nenhum outro servidor possa acessar os clusters, exceto o meu. Sendo o Riak totalmente aberto no lado do servidor, isso é essencial antes de colocar meus servidores em produção.

Eu suponho que terei que:

  1. Instale o Shorewall em cada um dos servidores do Riak
  2. Bloquear todas as portas inicialmente
  3. Abra a porta 4369 (epmd) e a porta 8099 (listener de handoff) em todos os servidores Riak + o intervalo de portas definido no arquivo app.config
  4. Abra a porta 8098 e 8097 (para o cliente) em todos os servidores do Riak
  5. Restringir individualmente o acesso de um servidor Riak aos endereços IP dos outros Servidores Riak no cluster + o (s) endereço (s) IP do (s) meu (s) servidor (es). Repita para outros servidores do Riak no cluster

Eu posso instalar o Shorewall, mas não estou familiarizado com a configuração do shorewall para fazer o acima. Eu apreciaria alguma ajuda.

    
por Charles 25.01.2012 / 22:17

1 resposta

1

Se você vai usar o Shorewall apenas por ser um firewall em máquinas com apenas uma interface, é um pouco exagerado, na minha opinião. Ainda assim, eu gosto de usar o Shorewall para essa tarefa de qualquer maneira. Aqui está uma pequena introdução que pode ajudá-lo a começar.

Portanto, estou assumindo uma configuração somente de IPv4 de interface única aqui. As versões IPv4 e IPv6 do shorewall são pacotes independentes, mas semelhantes.

$ sudo apt-get install shorewall

Após a instalação, tudo ainda está desativado. Primeiro, vamos copiar um exemplo de configuração de interface única.

$ sudo cp /usr/share/doc/shorewall/examples/one-interface/* /etc/shorewall

Então vamos configurar os arquivos um por um.

Dica: use os arquivos *.annotated.gz para mais anotações em seus arquivos de configuração, se você gosta disso.

  • zones - sair como padrão. A configuração de zonas é obrigatória, mas como é uma única interface, ela contém apenas uma zona além do próprio firewall ( fw ): net .
  • interfaces - Configure sua interface única lá. A configuração padrão provavelmente ficará bem, e eu só removerei dhcp já que não estou executando o DHCP nos meus servidores.
  • policy - define políticas para o tráfego entre as zonas. Como o seu número de zonas é apenas um, isso também é fácil. Por padrão, toda a entrada de tráfego não é permitida e toda a saída de tráfego é permitida. Deixe esse padrão se você gosta disso.
  • rules - Aqui é onde você configura exceções para as políticas definidas. Um exemplo simples para permitir a entrada da porta TCP 1234 de todo o mundo IPv4 externo seria:

    ACCEPT       net           $FW        tcp       1234
    

    Considere o uso de algumas macros que ajudam seus arquivos de configuração a serem mais legíveis, como este que você provavelmente deseja definir de qualquer maneira:

    SSH(ACCEPT)  net:1.2.3.4   $FW
    

    Para permitir o acesso SSH a partir do endereço IP 1.2.3.4 .

  • shorewall.conf - obtenha por gunzip ping no arquivo shorewall.conf.gz enviado. Verifique se IP_FORWARDING=Off se você não fizer nenhum encaminhamento e considere configurar DISABLE_IPV6=Yes se você não estiver planejando configurar o IPv6 na máquina. Finalmente, defina STARTUP_ENABLED=Yes .

Habilite-o para o tempo de inicialização também, em /etc/default/shorewall , defina startup=1 .

Agora verifique sua configuração atual executando

$ shorewall check

Por favor, faça isso toda vez que você alterar algum arquivo e antes de realmente reiniciar o Shorewall. Isso evita o tempo de inatividade em caso de erro de sintaxe, pois compila reclamações sobre sintaxe incorreta.

Se tudo estiver bem, você pode tentar realmente começar:

$ sudo service shorewall start

E sinta-se à vontade para inspecionar o resultado em iptables :

$ sudo iptables -L -n -v
    
por gertvdijk 20.09.2012 / 01:45

Tags