Segurança

Configurações de firewall do IPTables para o Couchbase DB e o Couchbase Mobile Sync_gateway

É muito comum as pessoas simplesmente desativarem o IPtables em vez de realmente descobrirem quais portas devem ser abertas. Tenho que admitir que eu mesmo já fiz isso. Bem, precisamos parar com isso. O IPtables é nosso amigo, de fato. Para isso, aqui está o corpo de um script que você pode usar para configurar o IPtables.

# Portas do servidor do Couchbase DB
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 4369 -j ACCEPT
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 8091 -j ACCEPT
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 8092 -j ACCEPT
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 11209 -j ACCEPT
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 11210 -j ACCEPT
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 11211 -j ACCEPT
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 11214 -j ACCEPT
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 11215 -j ACCEPT
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 18091 -j ACCEPT
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 18092 -j ACCEPT

iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 21100:21199 -j ACCEPT
 

# Portas sync_gateway do Couchbase
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 4984 -j ACCEPT

# Se você quiser abrir a interface de administração do serviço sync_gateway para o tráfego externo:
iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 4985 -j ACCEPT

# Quando você terminar de adicioná-los, execute os dois comandos a seguir para garantir que o REJECT seja
no final da cadeia. Caso contrário, as coisas não funcionarão. O primeiro o exclui e o segundo o adiciona novamente.
# O motivo disso é que, caso contrário, teremos que entrar nos números de linha da cadeia, o que é mais difícil de explicar
se você não estiver familiarizado com o IPTables.

iptables -D INPUT -j REJECT -reject-with icmp-host-prohibited
iptables -A INPUT -j REJECT -reject-with icmp-host-prohibited????

 

Verifique se todos eles estão inseridos corretamente executando como root iptables --list. Ele deve ter a seguinte aparência:

# iptables -list
Cadeia INPUT (política ACCEPT)
target prot opt source destination         
ACCEPT all - anywhere anywhere state RELATED,ESTABLISHED 
ACCEPT icmp - qualquer lugar qualquer lugar            
ACEITAR tudo - em qualquer lugar            
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:ssh 
ACCEPT tcp - qualquer lugar qualquer estado NEW tcp dpt:epmd 
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:jamlink 
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:8092 
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:11209 
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:11210 
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:memcache 
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:11214 
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:11215 
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:18091 
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:18092 
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:webyast
REJECT all - anywhere anywhere reject-with icmp-host-prohibited

Cadeia FORWARD (política ACCEPT)
target prot opt source destination         
REJECT all - anywhere anywhere reject-with icmp-host-prohibited 

Cadeia OUTPUT (política ACCEPT)
target prot opt source destination

Lembre-se de salvar essa configuração assim que ela estiver instalada (service iptables save). Além disso, você precisa confirmar que o REJECT da cadeia INPUT está no final. Caso contrário, você rejeitará qualquer tráfego para as portas listadas abaixo desse REJECT.

Lembre-se de que essa é apenas a segurança do servidor local! Ela não NÃO substituem um firewall de rede ou grupos de segurança/rede da AWS ACLs. Você realmente deve usar ambas.

Se você quiser obter mais informações sobre portas de rede, consulte a seção Documentação do administrador do Couchbase ou na documentação do Couchbase para dispositivos móveis.

Não há garantias, expressas ou implícitas nesta postagem do blog, para o IPTables ou para essas configurações. Você deve fazer sua própria diligência no que diz respeito à segurança do seu sistema. Portanto, use o bom senso aqui, por favor.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Author

Posted by Kirk Kirkconnell

Kirk Kirkconnell foi engenheiro de soluções sênior da Couchbase, trabalhando com clientes em várias capacidades para ajudá-los a arquitetar, implantar e gerenciar o Couchbase. Sua experiência é em operações, hospedagem e suporte de infraestruturas de aplicativos e bancos de dados em larga escala.

Um comentário

  1. Quais seriam os scripts para o Windows Server?
    Agradecimentos

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.