tdc2016poa | trilha python - heimdall guard - spam filter

Download TDC2016POA | Trilha Python - Heimdall Guard - Spam Filter

If you can't read please download the document

Upload: tdc-globalcode

Post on 15-Apr-2017

57 views

Category:

Education


3 download

TRANSCRIPT

Heimdal Guard Spam Filter

Outubro/2016

Alisson Machado

Conhecendo o Palestrante

Alisson Machado;

Analista de Sistemas DevOps;

5 anos de experincia em projetos FOSS (Free and Open Source Software) e Python;

Certificaes LPI 1 , LPI2, SUSE CLA

Responsvel pelo Desenvolvimento do BeavOps e Heimdall Guardian

Alisson Machado

Conhecendo a 4Linux

Metodologia IT Experience - Cenrios reais

Cursos prticos, rpidos e baratos de autores feras: www.4shot.com.br

Projetos complexos de misso crtica, com infra e desenvolvimento PHP

Ao final dessa palestra

1 sorteio de cursos online via filipeta

Curso de Python

Projeto Heimdall Guard

Descrio do Cenrio
(Necessidade!)

Com o surgimento da filosofia DEVOPS tudo isso se tornou realidade!

Necessidade

Filtrar Emails invlidos;

Cabealho Invlido;

Spams;

Vrus;

Brigar com a Cisco;

Mais de 10 Milhes de Emails.

Necessidade

Heimdall Guard Spam Filter;

OpenSource;

Python e Flask;

Projeto Heimdall Guard

Porque Python?

Linguagem que navega muito bem no mundo DevOps (Infraestrutura / Desenvolvimento);

Mdulos prontos para a maioria das Tecnologias;

Desenvolvimento Web e Scripts na mesma linguagem;

Know How Interno;

Soluo proposta - Arquitetura

Visualizar Original

Postfix

Receber todos os e-mails e aplicar os filtros

/opt/postfix/main.cf

content_filter = smtp-amavis:[127.0.0.1]:10024

Postfix

Receber todos os e-mails e aplicar os filtros

/opt/postfix/ACL/client_access.cfHosts = 127.0.0.1 # dados banco amavisuser = user_bancopassword = passwd_bancodbname = db_namequery = SELECT (case when type = 'W' then 'OK' else 'REJECT' end) as action FROM postfix_wb_list WHERE address = '%s' and rules = 'C'

Amavis

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'],);

PostgreSQL

Banco de Dados Amavis e Heimdall

Banco de Dados Relacional

Alta Performance

Escalabilidade Vertical

Auto Vacuum

SQLAlchemy

ORM escrito em Python

Facilidade em Conexo com o Banco de Dados

Abstrao do banco de dados em orientao a objetos

Cria banco de dados automaticamente

Gerando Model

Banco de dados j existente

Gerar Model a partir deste banco

pip install sqlacodegen

sqlacodegen postgresql://user:password@localhost/dbname

SpamAssassin

Aprendizado de Deteco de Spam

Banco de dados noSQL

Aprendizagem bayesiana

Escalabilidade Vertical

sa-learn --{0} --no-sync -u {1}

subprocess.call([cmd],shell=True)

Dashboard

Porque Flask? Microframework, Modular;

Separao de Responsabilidades (Blueprint)

timo para construir API

Mdulos para SQLAlchemy

Mdulos Autenticao e Permisso

Dashboard

Jinja2

Mdulos usados: Flask Desenvolvimento da Aplicao

Flask-SQLalchemy Conexo com o banco

Flask-Login Controle de Acesso

Demonstrao

Com o surgimento da filosofia DEVOPS tudo isso se tornou realidade!

Resultados Ps Implantao

Desc/AmbienteIronPort
(Nov15)Heimdall (Abr16)

Bloqueio de Spam2.212.0741.889.828

Bloqueio por Reputao13.859.0021.859.077

Bloqueio de DNS invlido515.69615.324.782

Bloquei de Vrus2.3092

Mensagens Limpas5.184.0285.185.788

Falso Positivo/Negativo-856.558

Comparativo IronPort X HeimdallGuard

Concluso:
Nvel de eficincia entre as solues so similares

Prximos Passos

Para 2017Evoluo da Interface;

Trocar Banco Relacional por noSQL(MongoDB);

Clusterizao Nativa;

Gerao de Relatrios;

Exportao de Relatrios.

4Linux Open Source Software

http://4linux.github.io

Perguntas

Boa Sorte!!

Gabriela DiasAlisson Machadowww.4linux.com.brwww.4shot.com.br

Sigam-nos@4linux@4shotcursoshttp://pt.slideshare.net/4LinuxCursos/