Segurança com PHP

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

4 Favorites

Segurança com PHP - Presentation Transcript

  1. Segurança com PHP Theoziran Lima
  2. Definição de segurança • Segurança é definir os limites e as responsabilidades dos processos. • Exemplo: – No uso de modificadores de acesso – Gerenciamento de processos na memória (área do processo) – Permissões de usuários
  3. Principais tipo de ataque • SQL Injection – Uma das técnicas de fraude mais conhecida pelos desenvolvedores web é a SQL Injection. Trata-se da manipulação de uma instrução SQL através das variáveis quem compõem os parâmetros recebidos por um script server-side (que pode ser qualquer linguagem), no nosso caso PHP.
  4. Principais tipo de ataque • XSS – Sua ação parte de um princípio simples, um código malicioso (inserido em tempo de execução ou chamado a partir de outro local ou site) é executado a fim de roubar informações ou enviar dados falsos servidor.
  5. Como melhorar seus itens de configuração?
  6. Itens de configuração • Por padrão o PHP exibe os erros é recomendado quando colocar o sistema em produção suprimir os erros. Essas configurações podem ser alteradas no php.ini ou em tempo de execução php.ini display_errors = On display_erros = Off
  7. Itens de configuração • Não permitir listagens de diretórios e arquivos, quanto menos informações o invasor tiver melhor.
  8. Itens de configuração • Não permitir listagens de diretórios e arquivos, quanto menos informações o invasor tiver melhor. .htaccess Options All -Indexes
  9. Itens de configuração • Não colocar nomes comuns para arquivos e diretórios que contenham informações importantes.
  10. Itens de configuração • Register Globals é melhor estar desativado... php.ini register_globals = Off
  11. Itens de configuração • ... Surtiria o mesmo efeito...
  12. Itens de configuração • Para não se preocupar em escapar todas as entradas é só “ativar” o Magic Quotes php.ini magic_quotes_gpc = On
  13. Boas práticas • Utilize se possível a versão mais nova PHP.
  14. Boas práticas • Nunca confie no usuário, nunca confie no usuário, todas as entradas devem ser filtradas e todas as saídas deve sem escapadas.
  15. Boas práticas • Quando trabalhar com números em querys SQL use filter_var() e casts.
  16. Boas práticas • Sempre que puder use o session_regenerate_id(true), o ideal toda vez que “startar” executar essa função.
  17. Funcionamento da seção • Como funciona a seção ??? sdWEDfds46346 – Logado – Pedro dsfKJKJdfds342 - Logado - Maria PC3 - null – Joãozinho PC01 - sdWEDfds46346 - Pedro PC02 – dsfKJKJdfds342 – Maria
  18. Funcionamento da seção • Após roubo dos dados da seção (XSS)... sdWEDfds46346 – Logado – Pedro dsfKJKJdfds342 - Logado - Maria PC3 - sdWEDfds46346 – Joãozinho PC01 - sdWEDfds46346 - Pedro PC02 – dsfKJKJdfds342 – Maria
  19. Funcionamento da seção • O que o session_regenerate_id(true) faz? sdWEDfds46346 – Logado – Pedro kNFKLlldfs32sd – Logado – Pedro PC3 - sdWEDfds46346 – Joãozinho dsfKJKJdfds342 - Logado - Maria PC01 – kNFKLlldfs32sd - Pedro PC02 – dsfKJKJdfds342 – Maria
  20. Boas práticas • Mantenha um nível de usuários muito bem projetado, não permitindo que ninguém veja nada mais do que lhe é permitido. Em muitos frameworks isso é feito já, considere estudar um. • ACL (Access Control Level) – Zend – Cake ...
  21. Boas práticas • Utilizar alguma ferramenta para monitorar as possíveis vulnerabilidades do sistema. Scrawlr Ratproxy WebInspect
  22. Boas práticas • Quando usar a função mail(), filtre e valide para evitar uma injeção de códigos nos headers.
  23. Boas práticas enviarEmail.php
  24. Boas práticas • Cuidado ao usar a função eval() a função eval(), mesmo filtrando e validando os dados, vai que descobrem algum jeito de burlar... :P
  25. Boas práticas • Deixe seus arquivos de configurações indisponíveis no webserver
  26. Boas práticas • Sabe aquele arquivo temporário que você criou para testar alguma funcionalidade? Então lembre-se de tirá- lo depois.
  27. Boas práticas • Escolha um framework maduro que está sempre sendo atualizado e tenha certeza de sempre atualiza-lo.
  28. Boas práticas • Não use arquivos com extensão .inc* nos arquivos que serão incluídos a não ser que esteja configurado para ser interpretado como php. * ou qualquer tipo de arquivo que o servidor identifique como não interpretado. Adicionar essa linha nas configurações do Apache AddType application/x-httpd-php .inc
  29. Boas práticas (nem tanto)
  30. Boas práticas • Quando você permitir o upload de arquivos para o servidor, faça com filtros e validações, não permita o upload de arquivos .php, .htaccess entre outros. Uma dica, use Fileinfo para fazer validações no arquivo.
  31. Boas práticas • Se seu sistema precisa de uma segurança a mais pense em adotar https.
  32. Boas práticas • Formulários públicos use as famosas letrinhas (Captcha)
  33. Boas práticas • Tenha sempre por perto referências de como melhorar a segurança de seus sistemas. http://www.phpsec.org
  34. Obrigado a todos pela atenção! Theoziran Lima theoziran@gmail.com theoziran.org (83)8842-7653

+ Felipe RibeiroFelipe Ribeiro, 11 months ago

custom

3038 views, 4 favs, 7 embeds more stats

Apresentação feita por Theoziran Lima no I Encont more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 3038
    • 2850 on SlideShare
    • 188 from embeds
  • Comments 1
  • Favorites 4
  • Downloads 281
Most viewed embeds
  • 102 views on http://static.slideshare.net
  • 39 views on http://theoziran.org
  • 26 views on http://blog.theoziran.com.br
  • 12 views on http://edertaveira.wordpress.com
  • 3 views on http://jckronbauer.blogspot.com

more

All embeds
  • 102 views on http://static.slideshare.net
  • 39 views on http://theoziran.org
  • 26 views on http://blog.theoziran.com.br
  • 12 views on http://edertaveira.wordpress.com
  • 3 views on http://jckronbauer.blogspot.com
  • 3 views on file://
  • 3 views on http://static.slidesharecdn.com

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories