SlideShare uma empresa Scribd logo
Heimdal Guard Spam Filter
Outubro/2016
Alisson Machado
2
Conhecendo o Palestrante
➢ Alisson Machado;
➢ Analista de Sistemas DevOps;
➢ 5 anos de experiência em projetos FOSS
(Free and Open Source Software) e
Python;
➢ Certificações LPI 1 , LPI2, SUSE CLA
➢ Responsável pelo Desenvolvimento do
BeavOps e Heimdall Guardian
Alisson Machado
3
Conhecendo a 4Linux
➢ Metodologia IT Experience - Cenários reais
➢ Cursos práticos, rápidos e baratos de
autores feras: www.4shot.com.br
➢ Projetos complexos de missão crítica,
com infra e desenvolvimento PHP
4
Ao final dessa palestra
➢ 1 sorteio de cursos online via filipeta
➢ Curso de Python
5
Projeto Heimdall Guard
6
Descrição do Cenário
(Necessidade!)
7
Necessidade
➢ Filtrar Emails inválidos;
➢ Cabeçalho Inválido;
➢ Spams;
➢ Vírus;
➢ Brigar com a Cisco;
➢ Mais de 10 Milhões de Emails.
8
Necessidade
9
➢ Heimdall Guard Spam Filter;
➢ OpenSource;
➢ Python e Flask;
Projeto Heimdall Guard
10
Porque Python?
➢Linguagem que navega muito bem no mundo
DevOps (Infraestrutura / Desenvolvimento);
➢Módulos prontos para a maioria das Tecnologias;
➢Desenvolvimento Web e Scripts na mesma
linguagem;
➢Know How Interno;
11
Solução proposta - Arquitetura
Visualizar Original
12
Postfix
1.Receber todos os e-mails e aplicar os filtros
/opt/postfix/main.cf
content_filter = smtp-amavis:
[127.0.0.1]:10024
13
Postfix
1.Receber todos os e-mails e aplicar os filtros
/opt/postfix/ACL/client_access.cf
Hosts = 127.0.0.1 # dados banco amavis
user = user_banco
password = passwd_banco
dbname = db_name
query = SELECT (case when type = 'W'
then 'OK' else 'REJECT' end) as action
FROM postfix_wb_list WHERE address =
'%s' and rules = 'C'
14
Amavis
1.Integra Postfix com o ClamAV
/etc/amavis/conf.d/50-user
@storage_sql_dsn = (
['DBI:Pg:database=amavisdb;host=127.0.0
.1;port=5432', 'user_amavis',
'passwd_amavis'],
);
15
PostgreSQL
1.Banco de Dados Amavis e Heimdall
➢Banco de Dados Relacional
➢Alta Performance
➢Escalabilidade Vertical
➢Auto Vacuum
16
SQLAlchemy
➢ORM escrito em Python
➢Facilidade em Conexão com o Banco de Dados
➢Abstração do banco de dados em orientação a objetos
➢Cria banco de dados automaticamente
17
Gerando Model
➢Banco de dados já existente
➢Gerar Model a partir deste banco
➢pip install sqlacodegen
➢sqlacodegen postgresql://user:password@localhost/dbname
18
SpamAssassin
1.Aprendizado de Detecção de Spam
➢Banco de dados noSQL
➢Aprendizagem bayesiana
➢Escalabilidade Vertical
➢sa-learn --{0} --no-sync -u {1}
➢ subprocess.call([cmd],shell=True)
19
Dashboard
Porque Flask?
➢ Microframework, Modular;
➢ Separação de Responsabilidades (Blueprint)
➢ Ótimo para construir API
➢ Módulos para SQLAlchemy
➢ Módulos Autenticação e Permissão
20
Dashboard
➢Jinja2
➢ Módulos usados:
➢ Flask – Desenvolvimento da Aplicação
➢ Flask-SQLalchemy – Conexão com o banco
➢ Flask-Login – Controle de Acesso
21
Demonstração
22
Resultados Pós Implantação
Desc/Ambiente IronPort
(Nov15)
Heimdall
(Abr16)
Bloqueio de Spam 2.212.074 1.889.828
Bloqueio por Reputação 13.859.002 1.859.077
Bloqueio de DNS inválido 515.696 15.324.782
Bloquei de Vírus 2.309 2
Mensagens Limpas 5.184.028 5.185.788
Falso Positivo/Negativo - 856.558
➢ Comparativo IronPort X HeimdallGuard
Conclusão:
Nível de eficiência entre as soluções são similares
23
Próximos Passos
Para 2017
➢Evolução da Interface;
➢Trocar Banco Relacional por noSQL(MongoDB);
➢Clusterização Nativa;
➢Geração de Relatórios;
➢Exportação de Relatórios.
24
4Linux Open Source Software
➢http://4linux.github.io
25
Perguntas
26
Boa Sorte!!
27
Gabriela Dias
Alisson Machado
www.4linux.com.br
www.4shot.com.br
Sigam-nos
@4linux
@4shotcursos
http://pt.slideshare.net/4LinuxCursos/

Mais conteúdo relacionado

PDF
Deixando aplicações Laravel mais rápidas
PDF
Alta Performance com Java
PPTX
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
PPTX
1º Meetup Zabbix Meetup do Recife: Matheus Cabral - Monitoramento de Data Cen...
PDF
Vamos conversar sobre cache
PDF
Open ldap criando e explorando um overlay
PDF
OpenLDAP, criando e explorando um overlay
PDF
Alta Concorrência com Postgres
Deixando aplicações Laravel mais rápidas
Alta Performance com Java
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
1º Meetup Zabbix Meetup do Recife: Matheus Cabral - Monitoramento de Data Cen...
Vamos conversar sobre cache
Open ldap criando e explorando um overlay
OpenLDAP, criando e explorando um overlay
Alta Concorrência com Postgres

Mais procurados (20)

PDF
De 1 a 1.000.00 de usuários
PPT
Como migrar seu ambiente de desenvolvimento para Linux
PPTX
UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SP
KEY
A busca pelo deploy continuo
PDF
Vagrant + Puppet
PPTX
Explorando protocolos de serialização de alto desempenho
PDF
Drupal + Rex
PDF
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters
PDF
Análise estática de código Python
ODP
Tunando sua aplicação LNMP
PDF
Douglasesteves meetupzabbix
PDF
KDC Spoofing com Kerberos MIT
PDF
Kdc spoofing com kerberos mit
ODP
Performance em Java
ODP
Alta perfomance de aplicações PHP com Nginx
PPTX
Apresentação PGDAY - Replicação Nativa - PostgreSQL
PDF
VPN usando OPENVPN - Rafael Padilha da silva(DELETE)
KEY
Integração de Sistemas usando tecnologias open source
PPTX
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
PPTX
Desmistificando um Ambiente de Desenvolvimento WEB com Vagrant
De 1 a 1.000.00 de usuários
Como migrar seu ambiente de desenvolvimento para Linux
UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SP
A busca pelo deploy continuo
Vagrant + Puppet
Explorando protocolos de serialização de alto desempenho
Drupal + Rex
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters
Análise estática de código Python
Tunando sua aplicação LNMP
Douglasesteves meetupzabbix
KDC Spoofing com Kerberos MIT
Kdc spoofing com kerberos mit
Performance em Java
Alta perfomance de aplicações PHP com Nginx
Apresentação PGDAY - Replicação Nativa - PostgreSQL
VPN usando OPENVPN - Rafael Padilha da silva(DELETE)
Integração de Sistemas usando tecnologias open source
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
Desmistificando um Ambiente de Desenvolvimento WEB com Vagrant
Anúncio

Destaque (20)

PDF
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
PDF
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELK
PDF
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!
PDF
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...
PDF
TDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoT
PPTX
TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...
PPTX
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
PPTX
TDC2016POA | Trilha Banco de Dados - RavenDB: um banco de dados NoSQL de segu...
PPTX
TDC2016POA | Trilha Banco de Dados - TempDB, aprecie com moderação
PPTX
TDC2016POA | Trilha Management - Ágil equilibrando o dia a dia de uma equipe
PDF
TDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agora
PDF
TDC2016POA | Trilha Pyhton - Python para Internet of Things
PPTX
TDC2016POA | Trilha Management - Torne-se dispensável de suas funções.
PPTX
TDC2016POA | Trilha Management - Lean Team Canvas para uma equipe de sucesso!
PDF
TDC2016POA | Trilha Management - Como criar melhores times de desenvolvimento
PPTX
TDC2016POA | Trilha Management 3.0- Não quero virar gerente! Implementando a ...
PDF
TDC2016POA | Trilha Banco de Dados - Conheça o Debezium: uma plataforma distr...
PDF
Heimdal Product Presentation - FULL
PDF
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
PDF
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?
TDC2016POA | Trilha DevOps - DevOps Anti-Patterns
TDC2016POA | Trilha DevOps - Monitoramento real-time com ELK
TDC2016POA | Trilha DevOps - Métricas, métricas para todos os lados!
TDC2016POA | Trilha DevOps - Monitoramento da infraestrutura para aplicac?o?e...
TDC2016POA | Trilha Android - Firebase Cloud Messaging para Android e IoT
TDC2016POA | Trilha Android - Monetização: conheça a rede de anúncios que pag...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha Banco de Dados - RavenDB: um banco de dados NoSQL de segu...
TDC2016POA | Trilha Banco de Dados - TempDB, aprecie com moderação
TDC2016POA | Trilha Management - Ágil equilibrando o dia a dia de uma equipe
TDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agora
TDC2016POA | Trilha Pyhton - Python para Internet of Things
TDC2016POA | Trilha Management - Torne-se dispensável de suas funções.
TDC2016POA | Trilha Management - Lean Team Canvas para uma equipe de sucesso!
TDC2016POA | Trilha Management - Como criar melhores times de desenvolvimento
TDC2016POA | Trilha Management 3.0- Não quero virar gerente! Implementando a ...
TDC2016POA | Trilha Banco de Dados - Conheça o Debezium: uma plataforma distr...
Heimdal Product Presentation - FULL
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Dinamica - Facilitação - Que momento o grupo se encontra?
Anúncio

Semelhante a TDC2016POA | Trilha Python - Heimdall Guard - Spam Filter (20)

PDF
Phpjedi 090307090434-phpapp01 2
PDF
PHP Jedi - Boas Práticas e Alta Performance
PDF
Puppet webcast 4linux
PDF
Palestra - PHPESTE 2015 - Hacker do bem, quebrando as principais dicas de des...
PDF
Vulnerabilidade Out-of-bounds-Write (CWE-787)
PDF
PHP like a super hero
PDF
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
PDF
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
PPTX
PDO: TRABALHANDO COM BANCO DO JEITO CERTO
PDF
BeavOps : Como o Python ajudou a integrar o mundo DevOps
PDF
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
PDF
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
PDF
Palestra - Symfony Framework MVC PHP 5
PDF
Desenvolvimento web com CodeIgniter
PPTX
Segurança em PHP - Blinde seu código de você mesmo!
PPTX
PPTX
Palestra criando aplicações seguras com php (2)
PPTX
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
KEY
Python 08
Phpjedi 090307090434-phpapp01 2
PHP Jedi - Boas Práticas e Alta Performance
Puppet webcast 4linux
Palestra - PHPESTE 2015 - Hacker do bem, quebrando as principais dicas de des...
Vulnerabilidade Out-of-bounds-Write (CWE-787)
PHP like a super hero
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
PDO: TRABALHANDO COM BANCO DO JEITO CERTO
BeavOps : Como o Python ajudou a integrar o mundo DevOps
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
Palestra - Symfony Framework MVC PHP 5
Desenvolvimento web com CodeIgniter
Segurança em PHP - Blinde seu código de você mesmo!
Palestra criando aplicações seguras com php (2)
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Python 08

Mais de tdc-globalcode (20)

PDF
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
PDF
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
PDF
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
PDF
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
PDF
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
PDF
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
PDF
TDC2019 Intel Software Day - Inferencia de IA em edge devices
PDF
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
PPT
Trilha .Net - Programacao funcional usando f#
PDF
TDC2018SP | Trilha Go - Case Easylocus
PDF
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
PDF
TDC2018SP | Trilha Go - Clean architecture em Golang
PDF
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
PDF
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
PDF
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
PDF
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
PDF
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
PDF
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
PDF
TDC2018SP | Trilha .Net - .NET funcional com F#
PDF
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - Inferencia de IA em edge devices
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha .Net - Programacao funcional usando f#
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core

Último (20)

PDF
Atividades sobre o livro Letras de Carvão
PPT
Caderno de Boas Práticas dos Professores Alfabetizadores.ppt
PPSX
A epistemologia de Wilheim G Leibniz.ppsx
PPTX
AULA 01 - INTRODUÇÃO AO ATENDIMENTO HUMANIZADO.pptx
PPTX
Slides Lição 8, CPAD, Uma Igreja que Enfrenta os seus Problemas, 3Tr25.pptx
PDF
01-slide-especialidade-mensageira-de-deus.pdf
PDF
morfologia5.pdfllllllllllllllllllllllllllll
PPTX
5. A cultura do mundo virtual - globalidade.pptx
PDF
HABILIDADES POR BIMESTRES HABILIDADES POR BIMESTRES HABILIDADES POR BIMESTRES...
PPT
Aula de Sociologia 22022022154507AULA 2.ppt
PPTX
PERÍODO SIMPLES - TERMOS ESSENCIAIS DA ORAÇÃO - Valdeci.pptx
PDF
Reino Monera - Biologiaensinomediofun.pdf
PPSX
4. A Cultura da Catedral - HistóriaCArtes .ppsx
PPTX
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
PDF
DESCCARTE DE MATERIAIS BIOLOGICO ESTUDO DA ODONTOLOGIA
PPTX
Ocupação e transformação dos territórios.pptx
PPT
Domínios Morfoclimáticos.................................
PDF
Historia da Gastronomia Mundial por Daianna Marques dos Santos
PPTX
2. A Cultura do Salão - o fim das trevas.pptx
DOC
PPP 2024 (2) (2) feito EM REELABORAÇÃO MORENA ( ABRIL 2024).doc
Atividades sobre o livro Letras de Carvão
Caderno de Boas Práticas dos Professores Alfabetizadores.ppt
A epistemologia de Wilheim G Leibniz.ppsx
AULA 01 - INTRODUÇÃO AO ATENDIMENTO HUMANIZADO.pptx
Slides Lição 8, CPAD, Uma Igreja que Enfrenta os seus Problemas, 3Tr25.pptx
01-slide-especialidade-mensageira-de-deus.pdf
morfologia5.pdfllllllllllllllllllllllllllll
5. A cultura do mundo virtual - globalidade.pptx
HABILIDADES POR BIMESTRES HABILIDADES POR BIMESTRES HABILIDADES POR BIMESTRES...
Aula de Sociologia 22022022154507AULA 2.ppt
PERÍODO SIMPLES - TERMOS ESSENCIAIS DA ORAÇÃO - Valdeci.pptx
Reino Monera - Biologiaensinomediofun.pdf
4. A Cultura da Catedral - HistóriaCArtes .ppsx
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
DESCCARTE DE MATERIAIS BIOLOGICO ESTUDO DA ODONTOLOGIA
Ocupação e transformação dos territórios.pptx
Domínios Morfoclimáticos.................................
Historia da Gastronomia Mundial por Daianna Marques dos Santos
2. A Cultura do Salão - o fim das trevas.pptx
PPP 2024 (2) (2) feito EM REELABORAÇÃO MORENA ( ABRIL 2024).doc

TDC2016POA | Trilha Python - Heimdall Guard - Spam Filter

Notas do Editor

  • #7: Com o surgimento da filosofia DEVOPS tudo isso se tornou realidade!
  • #22: Com o surgimento da filosofia DEVOPS tudo isso se tornou realidade!