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

Autor

Postado por Kirk Kirkconnell, engenheiro de soluções sênior, Couchbase

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

Deixar uma resposta