segurança no plone

Download Segurança no plone

Post on 14-Apr-2017

145 views

Category:

Internet

0 download

Embed Size (px)

TRANSCRIPT

  • Fabiano Weimar dos Santos [Xiru]xiru@xiru.org

    Segurana no Plone

    mailto:xiru@xiru.org

  • Segurana no Plone - Provedor PyTown.com 2

    Roteiro Um pouco sobre mim... Introduo Como Plone to Seguro? Modelo de Segurana OWASP Top 10

  • Segurana no Plone - Provedor PyTown.com 3

    Um pouco sobre mim... Os amigos me chamam de Xiru J escrevi algumas linhas de cdigo do

    Plone, Archetypes e alguns Plone Products... Atualmente

    Consultor do Programa das Naes Unidas para o Desenvolvimento PNUD

    Sysadmin do provedor PyTown.com Ministro cursos a distncia sobre Plone,

    Segurana e Infraestrutura

  • Segurana no Plone - Provedor PyTown.com 4

    Introduo Security is hard (Jim Fulton, chief Zope

    architect) Falar de segurana com responsabilidade

    no uma tarefa simples Vou tentar simplificar... mas no um

    assunto de balco de bar :)

  • Segurana no Plone - Provedor PyTown.com 5

    Como Plone to Seguro? Arquitura totalmente orientada a objetos

    No utiliza banco de dados relacional Impossvel sofrer SQL Injection pois no utiliza SQL

    Modelo de segurana baseado em permisses declarativas Todas as informaes so representadas por objetos

    (instancias de classes ou mdulos) Mtodos das classes so protegidos por permisses E

    convenes Permisses so calculadas por papel (role) Roles so atribuidos aos usurios de acordo com o

    contexto

  • Segurana no Plone - Provedor PyTown.com 6

    Como Plone to Seguro? No existe administrao de permisses

    Todo controle de acesso aos contedos definido em um workflow

    Contedos mudam de estado de reviso do workflow e tem permisses ajustadas automaticamente

    Contedo que o usurio no pode ver no disponibilizado (aquilo que no pode ser visto no existe)

  • Segurana no Plone - Provedor PyTown.com 7

    Modelo de Segurana O projeto Plone se preocupa com

    qualidade de cdigo Segurana resultado da forma como a

    plataforma foi definida e da qualidade do cdigo fonte

    No existe soluo de segurana que resolva problemas de implementao causados por desenvolvedores

  • Segurana no Plone - Provedor PyTown.com 8

    OWASP Top 10 Open Web Application Security Project 501c3 not-for-profit (assim como a Plone

    Foundation) No defende nenhuma tecnologia ou

    marca Foco na segurana como resultado de

    boas prticas de desenvolvimento Publica o Top 10 de riscos de segurana

  • Segurana no Plone - Provedor PyTown.com 9

    OWASP Top 10 Anlises quantitativas demonstrariam que

    qualquer tecnologia possui mais vulnerabilidades conhecidas do que o Plone (basta consultar o CVE-MITRE) Isso no diz muita coisa, pois o Plone no

    um CMS to popular quanto o wordpress... given enough eyeballs, all bugs are shallow

    (Eric S. Raymond)

  • Segurana no Plone - Provedor PyTown.com 10

  • Segurana no Plone - Provedor PyTown.com 11

    OWASP Top 10 OWASP Top 10 Web Application Security Risks 2010

    A1: Injection A2: Cross-Site Scripting (XSS) A3: Broken Authentication and Session Management A4: Insecure Direct Object References A5: Cross-Site Request Forgery (CSRF) A6: Security Misconfiguration A7: Insecure Cryptographic Storage A8: Failure to Restrict URL Access A9: Insufficient Transport Layer Protection A10: Unvalidated Redirects and Forwards

  • Segurana no Plone - Provedor PyTown.com 12

  • Segurana no Plone - Provedor PyTown.com 13

  • Segurana no Plone - Provedor PyTown.com 14

  • Segurana no Plone - Provedor PyTown.com 15

  • Segurana no Plone - Provedor PyTown.com 16

  • Segurana no Plone - Provedor PyTown.com 17

  • Segurana no Plone - Provedor PyTown.com 18

    import sha

    # Gerador de boas CRIPTO_KEY# openssl rand -base64 256

    CRIPTO_KEY = """eJFSIAdbIuw9DLGtRV+IJSKbTfdAvCBJVOT58AaoCyTSBOn36AQKBv1qERBA431Tjv4mQqC3c2RTsi4GY8phRYGiEKpfuTlBjNS5GEGR7pdPzLLI09ZIzvK4RHGXJcycXOjz/Nxoufq/otEMNZuJvfib6B4t2dNSgEAUS2vIqlUffgkVlClNP6MvdA0qv+OODu8G+vQnpvBG8/0ySiYo/FEQRrk0MAbtpIhDqg5pbvZM7XyppTFW66dMMxAolhqilFjF2DKAuZvmV0CNi7bR9nBVFc7cJihNAlxXAPiM7QeBfBasOxRafZyxKZ7iClfEV83CeyQiBad3vKW/ETUCug=="""

    def member_name(self): mtool = self.portal_membership return str(mtool.getAuthenticatedMember())

    def gera_tk(self): txt = CRIPTO_KEY + member_name(self) c = sha.new() c.update(txt) return c.hexdigest()

    def gera_tag_csrf(self): return """""" % gera_tk(self)

    def verifica_tag_csrf(self, tag): return tag == gera_tk(self)

  • Segurana no Plone - Provedor PyTown.com 19

  • Segurana no Plone - Provedor PyTown.com 20

  • Segurana no Plone - Provedor PyTown.com 21

    Plone HotFix

    http://plone.org/products/plone-hotfix

    apenas 12 correes de segurana desde abril de 2006

    http://plone.org/products/plone-hotfix

  • Segurana no Plone - Provedor PyTown.com 22

    Fabiano Weimar dos Santosxiru@xiru.orgTwitter @xiru

    Obrigado

    mailto:xiru@xiru.org

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22