Harbor – Canivete suiço para infraestruturas Docker & Kubernetes

Olá a todos.

Tenho falado muito da utilização de docker e de soluções aplicacionais quase drag & drop, e tenho sublinhado muito os temas de segurança.
Mas nunca falei de como eu faço a gestão quase SecDevOps no que consumo no meu datacenter. Este post vem demonstrar um dos componentes que uso para tentar minimizar problemas de segurança no meu homelab. Enter Harbor. A Plataforma Docker para Armazenamento de Artefatos e Auditoria de Vulnerabilidades

Nos últimos anos, a adoção de containers tornou se uma prática comum no desenvolvimento e na distribuição de aplicativos. Os containers oferecem uma maneira eficiente e portátil de empacotar e distribuir aplicações, permitindo que eles sejam executados de forma consistente em diferentes ambientes.
Entre as várias ferramentas disponíveis para gerir containers, o Docker emergiu como uma das opções mais populares, oferecendo uma plataforma robusta para os criar, distribuir e executar.

No entanto, à medida que as organizações (ou homelabs) adotam o Docker em grande escala, surge a necessidade de soluções que facilitem a gestão de imagens, diminuição do overhead de trafego em alturas de deployment e a garantia de segurança. É aqui que entra o Harbor.

 

GitHub - goharbor/harbor: An open source trusted cloud native registry project that stores, signs, and scans content.

Introdução ao Harbor

O Harbor é uma plataforma em opensource sponsored pela VMware que oferece recursos avançados para armazenamento de artefatos de containers Docker.
Projetado para atender às necessidades de empresas de todos os tamanhos, o Harbor fornece uma solução centralizada para armazenar, distribuir e garantir a segurança das imagens Docker. Uma das características distintivas do Harbor é sua ênfase na segurança e na conformidade, fornecendo recursos avançados de auditoria de vulnerabilidades e controle de acesso.
Lembrem-se que quando efetuam pull de um registo de docker de um registo publico, a verdade é que estão a introduzir na vossa infraestrutura uma aplicação (quase uma “vm” de algo virtualizado) e que realmente não sabem por vós o que está lá dentro. O Harvor vem ajudar muito este processo. No meu caso, foi o item decisivo que me fez o escolher.

Vantagens do Harbor para Armazenamento de Imagens Docker

Para entender completamente o valor do Harbor, é importante destacar suas vantagens em relação ao armazenamento de imagens Docker:

  • Centralização e Escalabilidade: Com o Harbor, as organizações (e homelabs) podem centralizar o armazenamento de todas as suas imagens Docker em um único repositório. Isto simplifica a gestão e facilita o acesso às imagens, especialmente em ambientes distribuídos. Além disso, o Harbor é altamente escalável, permitindo-nos dimensionar o armazenamento de imagens conforme necessário, à medida que a nossa infraestrutura e número de containers aumentam.
  • Segurança Avançada: A segurança é uma prioridade fundamental para qualquer ambiente de containers. O Harbor oferece recursos avançados de segurança, incluindo scan de vulnerabilidades em imagens Docker. Isto nos  permite identificar e mitigar proativamente quaisquer vulnerabilidades presentes nas imagens, reduzindo assim o risco de exploração por parte de hackers.
  • Controle de Acesso Granular: O Harbor permite a definição de políticas de acesso granular para as imagens Docker lá armazenadas. Isto significa que os administradores podem controlar quem tem permissão para visualizar, fazer download ou fazer upload de imagens, garantindo assim que apenas utilizadores autorizados tenham acesso aos recursos necessários.
  • Integração com Ferramentas de CI/CD: O Harbor pode ser facilmente integrado a pipelines de integração contínua/entrega contínua (CI/CD), facilitando a incorporação de práticas de DevOps em processos de desenvolvimento de software. Isto permite automatizar o processo de construção, teste e implantação de containers, aumentando a eficiência e a velocidade do ciclo de vida do desenvolvimento.
  • Auditoria e Conformidade: Para situações profissionais que nos façam operar em sectores altamente regulamentados, como finanças e saúde, a conformidade é uma preocupação crítica. O Harbor oferece recursos abrangentes de auditoria, permitindo que as organizações rastreiem e registrem todas as atividades relacionadas a imagens Docker, garantindo conformidade com requisitos regulatórios e internos.
  • Personalização e Extensibilidade: O Harbor é altamente personalizável e extensível, permitindo que o adaptemos a plataforma às nossas necessidades específicas. Isso inclui a capacidade de integrar plug-ins de terceiros para funcionalidades adicionais, bem como a personalização da interface do utilizador para atender aos requisitos de branding e usabilidade.

Install Harbor Registry and Deploy Images to Kubernetes | Linode Docs

Qual o processo de instalação para o Harbor?

De novo, nada demasiado complexo, sendo todo o processo extremamente bem documentado na pagina de instalação do produto que está disponível aqui. Não se deixem amedrontar pelo processo. É bastante direto e das várias vezes que o implementei não tive problemas.

Em resumo, o Harbor oferece uma solução abrangente e segura para armazenamento de imagens Docker, atendendo às nossas necessidades quando buscamos uma maneira eficiente e segura de gerenciar os nossos containers seja em escala, seja apenas só um.

Chegamos ao fim do post desta semana. Neste post falamos do facto que a medida que a adoção de container continua a crescer, é essencial a existência nos nossos datacenters e homelabs das ferramentas certas para gerir e garantir a segurança de nossos containers.
O Harbor é apenas mais uma solução muito versátil para estes desafios, oferecendo recursos avançados de armazenamento, segurança e conformidade. Ao centralizar o armazenamento de imagens Docker, ao oferecer controle de acesso granular e integrar-se perfeitamente a pipelines de CI/CD, o Harbor empodera as organizações e homelabs a adotarem práticas de desenvolvimento de software modernas e ágeis (alem da possibilidade de aprendermos uma nova forma de fazer algo).

Com sua ênfase na segurança e na conformidade, o Harbor apresenta-se para mim a escolha ideal quando busco uma solução confiável e escalável para as minhas necessidades de gerenciamento de contêineres Docker. Podemos enfrentar os desafios de gestão de containers com confiança, sabendo que têm uma plataforma robusta e segura à nossa disposição.

Até ao próximo post. Se tiverem alguma duvida, reparo ou correção sabem onde me encontrar.
Um abraço
Nuno