Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 7537|Resposta: 4

Proibindo contêineres Docker de acessar a Internet (extranet)

[Copiar link]
Postado em 2022-12-14 22:53:18 | | | |
Requisitos: Um sistema privado de álbum doméstico foi construído usando containers Docker, que é limitado ao acesso e visualização na LAN doméstica, porque a imagem Docker é desenvolvida por um desenvolvedor terceirizado, e não sei se será uma situação de segurançaGerar violações de privacidadePara resolver melhor esse problema, queremos adicionar uma garantia de privacidade proibindo que contêineres Docker acessem a Internet (rede externa).

O CentOS 7 proíbe o acesso de um IP ao servidor
https://www.itsvse.com/thread-10264-1-1.html

O firewall iptables só permite que certos IPs acessem determinadas portas e sites específicos
https://www.itsvse.com/thread-2535-1-1.html

Visualizar e desligar o firewall no CentOS7
https://www.itsvse.com/thread-7771-1-1.html

Este artigo utiliza um sistema CentOS7, versão Docker: 20.10.20, e utiliza imagens nginx para fornecer testes.

O acesso à Internet (extranet) é permitido por padrão

Crie um novo contêiner nginx que forneça serviços web acessíveis por18080 Acesso à porta, o contêiner pode acessar a Internet (rede externa) por padrão, o comando é o seguinte:

Insira o container e solicite os recursos deste site pelo comando curl, que pode ser obtido normalmente, como mostrado na figura abaixo:



Desabilitando containers Docker do acesso à internet (extranet)

Primeiro, precisamos criar uma rede personalizada via docker e criar uma placa de rede virtual, com o seguinte comando:



Defina uma regra na NIC virtual através do iptables para proibir o acesso à Internet com o seguinte comando:

Independentemente de o serviço iptables estar disponível ou não, independentemente de o firewall estar ativado ou não,As regras do iptables adicionadas por comando entram em vigor imediatamente!!!

Nota: Este plano é apropriadoSe diferentes contêineres se juntarem à mesma rede, eles não conseguirão se comunicar entre si!!!!

Veja a regra DOCKER-USER mostrada abaixo:



Crie novamente um novo contêiner nginx, o contêiner fornece o serviço web, e o18081 A porta oferece serviços ao mundo exterior, e o contêiner é proibido de acessar a Internet (rede pública), o comando é o seguinte:



Alcançamos nosso objetivo, mas,Após reiniciar o servidor, as regras que criamos no iptables desaparecemComo podemos carregar automaticamente nossas regras personalizadas depois que o servidor for reiniciado?

O comando iptables-save é usado para exportar a tabela iptables no kernel Linux para um fornecedor padrão de saída, geralmente usando a função de redirecionamento de E/S no shell para salvar sua saída em um arquivo especificado.

Salvar a regra iptables existente

Adicione a regra de restauração iptables ao boot de boot, o arquivo de boot seja /etc/rc.d/rc.local, edite o arquivo e adicione o seguinte comando no final:

Por fim, adicione a permissão de execução com o seguinte comando:

Após as configurações serem concluídas, as regras do iptables continuarão em vigor mesmo que o servidor seja reiniciado.

Todos os containers no Docker são proibidos de acessar a Internet (extranet),Não testado, o comando é o seguinte:

(Fim)






Anterior:O arquivo de ativos "project.assets.json" não pode ser encontrado. Execute a restauração de pacotes NuGet...
Próximo:BBR vs BBRplus vs BBR2 Comparação geral de velocidade da rede
Postado em 16-12-2022 21:14:15 |
Aprenda
 Senhorio| Postado em 2023-1-2 17:43:19 |
O caso é o seguinte:

【Combate Prático】Construa um repositório Git privado Gitea com roteamento suave
https://www.itsvse.com/thread-10403-1-1.html


Postado em 07-04-2023 às 18:55:08 |
Esse recurso é muito importante, venha aprender
Postado em 2023-4-21 12:00:24 |
Obrigado por compartilhar, aprendi.
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com