[pt-BR🇧🇷] Open Source Friday Brasil comJuliana Fajardini Reichow

By GitHub

Share:

Key Concepts

  • Suricata: Motor de monitoramento e segurança de redes de código aberto.
  • OISF (Open Information Security Foundation): Fundação mantenedora do Suricata, garantindo que permaneça de código aberto.
  • IDS (Intrusion Detection System): Monitoramento passivo de redes.
  • IPS (Intrusion Prevention System): Monitoramento ativo de redes com capacidade de bloquear tráfego.
  • Outreit: Iniciativa para incentivar pessoas sub-representadas na área de software livre.
  • Big Open Source Sibling (BOSS): Iniciativa brasileira similar à Outreit, focada em mentoria.
  • Modelo OSI (Sete Camadas): Modelo conceitual que descreve as funções de um sistema de rede em sete camadas.
  • EV JSON: Principal formato de log do Suricata, baseado em JSON.
  • Suricata Verify: Suíte de testes de integração do Suricata.
  • Redmine: Sistema de gerenciamento de projetos usado pelo Suricata para rastrear issues e contribuições.
  • Community Tickets: Issues no Redmine especificamente designadas para a comunidade contribuir.
  • Good First Issue: Rótulo para tarefas mais fáceis e condensadas para iniciantes.

Quem é Juliana?

Juliana é uma pessoa que gosta de se mexer, pedalar, caminhar, comer, compartilhar coisas, artesanato e tem uma coleção de bichos de pelúcia. Ela gosta de coisas não convencionais, como óculos e cabelos de cores diferentes, e de viajar. Morou em Portugal durante a pandemia. Profissionalmente, passou por várias áreas antes de se encontrar na área de tecnologia, incluindo letras, psicologia, futebol de robôs, inovação em startups, revisão e tradução. Atualmente, trabalha no time core da OISF, desenvolvendo o Suricata.

Outreit e a Trajetória de Juliana

Juliana descreve a Outreit como uma iniciativa da Freedom Software Foundation para incentivar pessoas sub-representadas no software livre. O programa oferece um estágio de 3 meses com mentoria e bolsa. A seleção envolve uma etapa de elegibilidade e uma fase de contribuição, onde os candidatos escolhem projetos para contribuir. Juliana escolheu a Suricata após uma experiência frustrante com a Mozilla. Atualmente, ela coordena a participação da Suricata na Outreit e atua como mentora.

Suricata: Visão Geral e Aplicações

O Suricata é um motor para monitoramento e segurança de redes, com as primeiras linhas de código datando de 2008. Ele é usado para detectar atividades suspeitas, prevenir ataques, gerar dados para análise de tráfego malicioso e análise forense, e gerar estatísticas sobre o perfil da rede.

  • Modos de Funcionamento:
    • Monitoramento Passivo (IDS): Observa o tráfego sem interferir.
    • Monitoramento Ativo (IPS): Pode bloquear ou rejeitar tráfego.
  • Aplicações:
    • Utilizado por organizações grandes e pequenas, como a RNP no Brasil.
    • Usado na nuvem (AWS), embarcado em roteadores (PF sense, Open Sense) e em redes domésticas (Raspberry Pi).
    • Utilizado por agências de segurança nacional, como a da França.
  • Linguagens de Programação: C, Rust e Python (para ferramentas auxiliares, com planos de migrar para Rust).
  • Características: Sem interface gráfica, focado em testes rigorosos.

Modelo OSI e Protocolos de Rede

Juliana explica o modelo OSI de sete camadas para contextualizar o trabalho do Suricata. O Suricata monitora do IP para cima (camadas 3 a 7), o que exige que os desenvolvedores tenham algum entendimento de protocolos como TCP, UDP, HTTP, HTTPS, SMTP, POP3, entre outros.

Logs e Dados Gerados pelo Suricata

O Suricata gera logs em vários formatos, sendo o principal o EV JSON. Este formato é usado para logs de arquivo, transação, conexão, alertas e estatísticas. O JSON é usado porque pode ser pós-processado por diversas ferramentas como JQ, IVX e Elastic Search.

Demonstração Prática com Suricata Verify

Juliana demonstra o uso do Suricata Verify, a suíte de testes de integração do Suricata. Ela explica como os testes incluem capturas de tráfego (pcaps), configurações mínimas, regras Suricata e o comportamento esperado. Ela mostra como executar os testes e analisar os logs gerados, incluindo eventos de flow, protocolos de aplicação (como Web Socket) e alertas.

Fluxo de Contribuição para o Suricata

Juliana detalha o processo de contribuição para o Suricata, enfatizando a importância da comunicação e do uso do Redmine para evitar esforço duplicado.

  • Passos:
    1. Apresentar-se no fórum ou Discord.
    2. Olhar as issues marcadas como "community tickets" ou "good first issue".
    3. Cadastrar-se no Redmine e dar "claim" na issue.
    4. Clonar o repositório e seguir o estilo de codificação e de commits.
    5. Submeter um pull request (PR).
  • Diferenciais do Suricata:
    • Iteração por pull request: cada mudança requer um novo PR.
    • Histórico linear: requer "squash" e "rebase" para manter o histórico limpo.
  • Formas de Contribuição: Código, documentação, testes, tutoriais, vídeos, regras, exercícios de análise de malware.

Time e Comunidade Suricata

O time do Suricata é composto por 13 pessoas em 10 países, incluindo desenvolvedores, especialistas em qualidade e segurança, e a diretora executiva. Juliana e sua colega Shivane são frutos da Outreit. O fundador do Suricata, Victor, é da área de história. A comunidade é vital para o Suricata, fornecendo conhecimento sobre novas ameaças, escrevendo regras e sugerindo melhorias. A comunidade inclui analistas, escritores de regras, membros do consórcio e ex-estagiários.

Conclusão

O Suricata é um projeto de código aberto robusto e complexo, mantido por uma equipe diversificada e uma comunidade ativa. A Outreit desempenhou um papel crucial na trajetória de Juliana e na formação do time atual. Contribuir para o Suricata pode ser desafiador, mas a comunidade é receptiva e oferece suporte para iniciantes. A ferramenta é essencial para monitoramento e segurança de redes em diversos contextos, desde redes domésticas até grandes organizações e agências de segurança nacional.

Chat with this Video

AI-Powered

Hi! I can answer questions about this video "[pt-BR🇧🇷] Open Source Friday Brasil comJuliana Fajardini Reichow". What would you like to know?

Chat is based on the transcript of this video and may not be 100% accurate.

Related Videos

Ready to summarize another video?

Summarize YouTube Video