Segurança em php

258 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
258
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • - Conceitos básicos de segurança
    - A idéia é pegar seu conhecimento de PHP e adicionar um pouco mais de preocupação quanto a segurança. Vamos passar por alguns pontos e exemplos onde meu desejo é dar um gatilho na cabeça das pessoas. Não necessáriamente explicar profundamente, mas plantar a curiosidade. - Vamos comentar segurança na vida, em desenvolvimento, na internet, no php e banco de
  • SEGURANÇA DE MANEIRA GERAL

    - O que é segurança para cada um de nós? Segurança é vida
    - Quando vc entra em um lugar vc procura a saída de emergência?
    - Vc sai com o carro sem dar manutenção ?
    - Você passa por uma rua escura ?
    Computador
  • NO DESENVOLVIMENTO

    - Um dos maiores problemas :: Preguiça
    Porque? - Retrabalho
    - Cansado de não conseguir / Segunda eu arrumo
  • - Devemos adotar uma Postura de defesa
    - A gente costuma se preocupar sempre com o usuário logado, e muitas vezes esquece do usuário ilegítimo, vc não passa na tela de login, mas com conhecimento de urls internas acessa o produto.
    - Falte de filtro de dados : Preguiça : Apenas no front, apenas no back, no banco de dados
    - Limitar acessos
    - Exibição de erros
  • - Interceptadores: Web é transmissão de informação, geralmente entre um servidor e um cliente
    - Servidores mal configurados podem vazar informação
  • - HTTPS ::
    - é o HTTP Seguro, um HTTP com algoritmos criptografados
    - Criptografia
    - Criptografias ::
    SSL : é o mais usado :: 9 passos (Client Hello, Server Hello)
    TLS : baseado no SSL
  • - Como configurar bem um servidor?
    - Coisa de infra-estrutura?
    Conhecer o local onde vc deixa seus filhos, seus cachorros. Ao menos o mínimo
    - Usuário não pode executar o que bem entender no servidor
    Qual o usuário que executa no servidor quando roda um site que você acessa?
    Não é raro encontrar definições de servidores com root. /etc/passwd confira seu usuário.

    - Bloquear detalher do Telnet, Bloquear Ping
  • - Conheça o seu servidor web, Apache, NGinX. Ambos tem uma estrutura para garantir segurança (logs, módulos, definição do local de arquivos) que é importante ser compreendida para se defender.
  • - PHP é seguro ? ::
    - O que vocês acham?
    Uma linguagem por si só não pode ser considerada segura ou insegura, apesar de algumas vulnerabilidade que as vezes escapam, A segurança de maneira geral depende de todo o projeto e do código do programa. Cautela em gastos com segurança, usabilidade. Não projetar a coisa de uma maneira absurda, onde seja impagável e também não complicar demais onde não seja possível usar ele.
  • - Estrutura do projeto ::
    - Separar o que não pode ser visto de forma alguma, do que sempre será visualizado
    - Arquivos que não são processados pelo servidor / TXT, INC, LOG Permissão nas pastas. A maioria dos frameworks tratam isso, mas … Zend 1 freela - Esconder URL para esconder estrutura (modrewrite, função para esconder .php pegar o request e tratar)
  • - Configurar bem um servidor PHP é checar sua Configuração do PHP
  • - Configurar bem um servidor PHP é checar sua Configuração do PHP- Display errors
    - Log Errors ERROR REPORTING
  • - Formulários ::
    - Problemas com formulários:
    Upload de arquivos com vírus
    XSS - exemplo script no admin
    Injeção de código ou ainda SQL Injection (exemplo a frente)
  • - Pensar em variáveis externas com segurança (Tipagem, Filtrar valor)
  • - Validar tipos de arquivo em upload
    - CAPTCHA, CAPTCHA Inverso (Menos recursos)
  • Onde existe PHP, existe banco de dados.. nõa necessáriamente mas quase sempre
    - Coisa de DBA?

    - Cuidados com Exposição dos dados de acesso.. falhas que mostram arquivos conf, inc
    - Bloquear acesso por IP e fazer acesso via rede interna
  • SQL Injection
    Quando um usuário não autorizado roda uma Query no seu banco de dados.
    - Formulário de Login
  • CONCLUSÃO - “Tecnologia anti pirataria” - Ambiente 100% seguro
    - Quem já se deparou com isso? O que garante esse 100% ?
    - Deu certo ? Esse exemplo nos demonstra que devemos sempre nos atualizar, por mais que a gente gaste e invista em segurança ele deve sempre se atualizar.
  • Segurança nunca é assunto esgotado..
    - Ler para estar atento a vulnerabilidade descobertas
    - Oferecer prêmios para quebras de segurança
    - Seguir padrões de segurança da informação (RFC 2196, ISO, PCI, OWASP)
  • - Espero que tenham aprendido algo aqui comigo, vou abrir para perguntas.. Obrigado
  • Segurança em php

    1. 1. Segurança em PHP Flávio Augusto da Silveira
    2. 2. Flávio Silveira • Análise e Desenvolvimento • Tecnologia e Pessoas • Games • Comunidade e Livre conhecimento
    3. 3. Segurança
    4. 4. Preguiça
    5. 5. Postura de defesa • Usuário logado Vs. Usuário não logado • Filtros • Limites • Erros
    6. 6. Segurança em internet
    7. 7. • SSL / TLS • Certificados
    8. 8. Como configurar bem um servidor?
    9. 9. É seguro?
    10. 10. Estrutura do projeto • Separar o `pode ser visto` do `ñ pode ser visto` • Arquivos não processados • Esconder URL
    11. 11. Register Globals www.flaviosilveira.com?authorized=true if ($authorized) { // Do something }
    12. 12. Display Errors
    13. 13. Outras • Disable Functions • Disable Classes • Expose PHP
    14. 14. Formulários
    15. 15. Variáveis externas • is_int, is_object • Register Globals • $_REQUEST
    16. 16. Outros • Validar tipos de arquivos • Captcha Vs. Captcha inverso • Armazenamento de senhas
    17. 17. Banco de dados
    18. 18. admin’# SELECT * FROM users WHERE login = ‘admin’# AND..
    19. 19. Tecnologia antipirataria
    20. 20. Flávio Augusto da Silveira - flavioaugustosilveira@gmail.com - @flaviosilveira OBRIGADO!

    ×