Seja bem vind@, se você é um debiano (um baiano que usa debian) faça parte de nossa comunidade!


Segurança no Docker

31 de Maio de 2015, por PSL-BA Feeds - 0sem comentários ainda

Quando pensamos sobre segurança no Docker, é importante relembrar que a exploração de uma falha nesse ambiente podem ter efeitos catastróficos. Ainda mais quando é algo automatizado.

A ideia é ter certeza que o ambiente e o processo executado é o mais seguro possível.

Docker-docks-containers-300x230

Nem tudo é tão seguro quanto parece!

Vou apresentar algumas configurações iniciais que podem ser analisadas para tornar seu ambiente ainda mais seguro.

Restrição de acesso

No que tange a isolamento, o Docker tem muito a acrescentar e esse ponto não se limita ao fato das aplicações estarem separadas a nível de disco e processo. Podemos sair da dicotomia “root e não root”, pois entre um usuário sem permissão e o usuário root existe todo um gradiente de permissões que podem, e devem, ser analisadas e removidas caso não seja necessária.

Desde o kernel 2.2, as permissões foram divididas e chamadas de “capabilities”, que no docker podem ser “ligadas” ou “desligadas” por container. Isso permite que o ambiente tenha “a menor permissão necessária”, que é quase um mantra na área de segurança.

Para conhecer a lista de capabilities, segue o seguinte link.

No Docker, caso você não especifique nada sobre adicionar ou remover capabilities, a lista abaixo será aplicada no container:

  • CHOWN
  • DAC_OVERRIDE
  • FSETID
  • FOWNER
  • MKNOD
  • NET_RAW
  • SETGID
  • SETUID
  • SETFCAP
  • SETPCAP
  • NET_BIND_SERVICE
  • SYS_CHROOT
  • KILL
  • AUDIT_WRITE

Caso deseje remover permissão MKNOD, por exemplo, use o seguinte comando:

# docker run –cap-drop=MKNOD …

Caso deseja adicionar, LEASE por exemplo, use o seguinte comando:

# docker run –cap-add=LEASE …

Restrição de sistema de arquivo

Quando um container é instanciado é criado um novo ponto de montagem com arquivo da imagem usada para esse novo ambiente.

Esse espaço de disco da imagem é montado como somente leitura e assim uma camada superior é criada para receber as modificações que ocorrerem desde então. Caso queira aplicar essas modificações na imagem, pode usar o parâmetro “commit” para tal ação.

Seleção_021As modificações podem ser armazenadas em tags diferentes e assim se tornaria mais fácil fazer “rollback” das modificações, caso seja necessário. Pra usar tag é muito simples:

# docker tag <número ou nome da tag> <nome da imagem>

Multi Level Security

Com o Docker é possível manipular configurações do “MCS labels” para evitar que um container acesse indevidamente dados de outro container, por uma questão de má configuração ou exploração de alguma vulnerabilidade. Podemos aplicar um label a um processo baseado no nível de informação que você deseja que ele tenha acesso.

docker run -d –security-opt label:level:TopSecret httpd

Quer aprender um pouco mais sobre MLS? Leia aqui.

Outras medidas de segurança “fora” do Docker

As versões modernas do Kernel Linux podem ser complementadas com variadas ferramentas de segurança adicionais, tal como TOMOYO, AppArmor, SELinux e GRSEC, que podem funcionar perfeitamente com Docker, algumas inclusive já tem templates de configuração específicos para containers.

Você pode definir políticas customizadas de segurança com essas ferramentas. Basta ler seus respectivos manuais.

Referências:

https://d3oypxn00j2a10.cloudfront.net/assets/img/Docker%20Security/WP_Intro_to_container_security_03.20.2015.pdf

https://docs.docker.com/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration

https://github.com/docker/docker/blob/master/daemon/execdriver/native/template/default_template.go

http://docs.docker.com/articles/security/

 



Docker Compose 1.3.0 – O que vem por ae

30 de Maio de 2015, por PSL-BA Feeds - 0sem comentários ainda

A comunidade Docker está muito ansiosa com o lançamento da nova versão do docker-compose. Com isso vamos adiantar logo quais as novidades que podem aparecer no próximo lançamento.

docker-whales-transparent

Labels

Com o advento da funcionalidade de labels do Docker 1.6, o compose agora passa usar essas marcações ao invés de manipular o nome do container, como era feito anteriormente para gerenciar os containers. Isso é muito bom para performance, inclusive

Sem containers intermediários

Não será mais necessário utilizar containers intermediários quando um ambiente é recriado. Isso torna o docker-compose menos complexo e mais resiliente a falhas.

Recriação inteligente de containers

Como funcionalidade experimental, o compose recriará apenas containers que tiveram configuração modificada no docker-compose.yml. Isso se tornará um padrão no futuro, mas hoje é executado dessa forma apenas se usado o parâmetro “–x-smart-recreate” no comando “docker-compose up”.

Busca inteligente de configuração

Quando invocado o docker-compose dentro de um subdiretório do projeto, o compose verificará se existe docker-compose.yml nas pastas acima, até encontrar o arquivo de configuração

Adição de novos parâmetros do Docker na configuração

Nem todos os parâmetros do Docker já são permitidos no docker-compose, sendo assim novas opções serão lançadas nessa versão:

  • dockerfile: Permitir usar um arquivo Dockerfile alternativo.
  • labels: Permitir adição de metadados nos containers.
  • extra_host: Permitir adição de entradas no “/etc/hosts” do container.
  • pid: Permitir utilização do mesmo PID namespace do host.
  • cpuset: Permitir especificação de qual CPU o container estará restrito a utilizar.
  • read_only: Permitir montagem do container como apenas leitura.
  • security_opt: Permitir especificações de segurança.
  • log_driver: Permitir especificar driver para log.

Correção de bugs

Alguns bugs foram corrigidos nessa versão, mas não encontrei uma lista organizada para mostrar aqui :)

Gostou? Quer usar?

Lembre-se que ainda não é instável, ok? Outra coisa importante atentar é que essa versão trás uma mudança na infraestrutura interna do compose, ou seja, caso você já tenha um ambiente hoje gerido pelo compose 1.2.0, você precisará adequar seu ambiente antigo, caso deseje atualizar a versão.

A adequação é muito simples:

docker-compose migrate-to-labels

Caso não tenha nenhum problema em apagar os containers, pode fazer isso, assim o compose instanciará novos containers já no modelo novo.

Pra ba ixar o compose novo, continua muito simples:

# curl -L https://github.com/docker/compose/releases/download/1.3.0rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose

Referência:

https://github.com/docker/compose/releases/tag/1.3.0rc1

 

 



Universidade Católica do Salvador lança Campus Virtual com a plataforma Noosfero

29 de Maio de 2015, por PSL-BA Feeds - 0sem comentários ainda

Uma mesa redonda sobre "Comunicação, Redes Sociais e Educação", realizada na manhã desta sexta-feira (29), no Campus de Pituaçu, marcou o lançamento do Campus Virtual da Universidade Católica do Salvador (UCSal). Participaram do debate o reitor Pe. Mauricio Ferreira, o assessor técnico e de modernização da UCSal, prof. Arnaldo Bispo, o coordenador do curso de Direito, prof. Raimundo Andrade, o editor do Correio 24 horas, Wladmir Lima, e o representante da Colivre, que foi responsável pela implantação do Campus Virtual, Vicente Aguiar. Na plateia, professores, coordenadores de curso, funcionários e convidados da comunidade externa participaram da apresentação e debateram sobre o impacto do crescimento das redes sociais digitais e como elas podem ser utilizadas a favor do ensino.

Sobre o Campus Virtual

O Campus Virtual é ambiente digital integrado de rede social e desenvolvimento acadêmico. Para isso, foi reunido, de forma inovadora, o conceito de rede social acadêmica, com um ambiente virtual de aprendizagem e sites institucionais numa mesma plataforma.

Nesse novo ambiente digital da UCSal, cada estudante, professor e funcionário terá seu perfil exclusivo e completamente personalizável e com ele poderá adicionar amigos, criar galeria de imagens e interagir com toda a comunidade acadêmica. Poderá, ainda, construir seu próprio blog, criar comunidades e fóruns, além de compartilhar artigos e projetos de pesquisa.

Por utilizar a plataforma de software livre Noosfero, o Campus Virtual da UCSal oferece um ambiente extremamente flexível, no qual as funcionalidades são colocadas de forma fácil nas mãos dos usuários, possibilitando mais autonomia na criação e organização de sites e comunidades virtuais da UCSal na internet.

Focada na horizontalidade, no compartilhamento de conteúdos e na liberdade do usuário, o Campus Virtual se torna uma rede de integração, compartilhamento cientifico e aprendizagem colaborativa entre os alunos, professores, pesquisadores e funcionários.

Fonte: www.ucsal.br



DevOps Brasil – Agregador de blogs

24 de Maio de 2015, por PSL-BA Feeds - 0sem comentários ainda

Há algum tempo tenho sentido dificuldade de encontrar um espaço para congregar material e reunir interessados sobre esse assunto, pois tudo era muito pulverizado pela internet. Logo, como eu também venho da comunidade Software Livre, resolvi “enviar o patch” para corrigir isso e agora apresento a você uma proposta.

devops-tag

DevOps Brasil é um planet, um agregador de blogs, a ideia é reunir postagens sobre o assunto devops e assim fortalecer ainda mais os interessados no assunto, trocando experiência e provocando ainda mais o networking. Lendo materiais na internet, encontrei seus textos e resolvi lhe convidar para iniciar esse projeto comigo. Topa participar?

http://devops-br.org

Nesse planet, as postagens aparecem resumidas, ou seja, o leitor para ler a versão completa clicará no assunto, que por sua vez será redirecionado para seu blog pessoal. Resumindo, a ideia do planet não é centralizar as visitas, mas sim possibilitar sua distribuição.

Entrar no Planet

Para adicionar seu blog aqui é muito simples. Basta submeter seu pedido via um merge request no repositório do planet devops-br.

O arquivo a ser manipulado é o config.ini, ele é auto-explicativo, mas caso tenha problemas basta seguir o exemplo do blog “techfree.com.br” que já está configurado nesse arquivo.
Blogs DevOps.

Seu pedido será avaliado, e caso aceito, seu blog será automaticamente consultado e as postagens sobre DevOps aparecerão aqui no planet.

Atenção! Caso seu blog não seja apenas sobre DevOps, em seu cadasto coloque o endereço feed da categoria que utiliza em seu blog para falar sobre devops. Assim apenas o conteúdo de DevOps será enviado para o planet, evitando textos sobre outro assunto no planet.

Para facilitar nossa convivência no planet, temos algumas regras simples:

  • Seja cordial em suas postagens.
  • Evite palavrões
  • Evite fugir do assunto do texto
  • Evite copiar texto sem sua devida permissão


Docker – Mapeamento de portas (Vídeo)

18 de Maio de 2015, por PSL-BA Feeds - 0sem comentários ainda

Nesse vídeo você verá como é possível acessar os serviços hospedados nos containers docker por diversas formas.