Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Michel Kuguio

ssl me matando, existe alguma regra de programar voltado para ssl?

Recommended Posts

bom.. não sie mais o q fazer, se existe me ajudem passe o nome ou algum lugar onde eu possa ler sobre.. =S obrigado t+

 

bom, como venho falando sou iniciante em php, estou desenvolvendo meu site em pdo, pois me falaram q é um dos métodos mais seguro para programar método, mas apesar do site etsar em pdo, o certificado ssl ainda fala q ah dado nao protegido, tenho medo pq o site q estou fazendo vai abrigar vários CPFs, quanto ao pagamento via ser via pague seguro, mas mesmo assim gostaria que pelo menos no adm o site mostra-se uma boa segurança.. estou tentando encontrar algo para ler sobre, formas de programar com segurança.. fortificar possíveis quebras ou tentativas de invasão no banco de dados!

se alguém souber de um artigo, ou livro sobre o mesmo gostaria que me indica-se.. obrigado t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando se fala em segurança envolve muitos aspectos

 

inviável tentar citar tudo num poss, portanto vou te abordar de um percectiva que poucos enxergam

 

coloque-se na perspectiva de um criminoso.

você é o invasor. você quer burlar, roubar dados. O que você faria para começar ?

ficou com um branco na cabeça ?

pensou em sql-injection (1='1) rsss

já começou "errado"

 

quer saber o que eu faria?

me tornaria o seu amigo.

você já quebrou a segurança aqui ao se expor.

o seu nick é o seu nome, não sei se é verdadeiro.. talvez seja.., nefim, não importa.

talvez você seja um fake fazendo engenharia social também.

Mas é mais provável que seja real e provavelmente está envolvido em algum projeto que tem algum valor financeiro. Lmebr-se, eu sou criminoso e onde há dinheiro fácil tenho interesse.

 

eu como criminoso vou procurar amizade contigo e coletar o máximo de informações possível

ou seja, fzer o trabalho de engenharia social.

é muito mais fácil do que tentar dar tiros no escuro tentando invadir sistemas, etc..

 

pesquise e pense nisso.. "engenharia social"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é exatamente dessa forma que o hinom expôs, mas um dos temas abordados no livro a Arte da Decepção, do ex-hacker Kevin Mitnick.

 

Nele é mencionado um caso hipotético ou não, de um hacker que para conseguir um meio menos complicado de acesso à determinada empresa, disfarça-se de zelador para procurar por anotações, normalmente de usuários e senhas, em bilhetinhos nas mesas dos funcionários.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, como você disse que é iniciante, se quer mesmo segurança, se possível contrate alguém mais experiente em PHP. Além do cara te ajudar, você ainda irá aprender coisas que levaria anos.

Acho meio difícil (mas não impossível) que um iniciante consiga, sozinho, implementar uma BOA segurança.

 

Em seguida tenha em mente que segurança possui vários níveis.

 

Tem o nível computador do visitante (se está protegido ou não).

 

Tem o nível "browser", do visitante (XSS, etc).

 

Tem o nível Banco de dados (se os dados lá estarão criptografados ou não).

 

Tem o nível do Servidor PHP (se ele está seguro)

 

Tem o nível comunicação servidor-cliente (é onde o SSL entra).

 

Tem o nível comunicação servidor-banco de dados (sql injection, etc)

 

Tem o nível social, como o Hinom falou.

 

Tem o nível "acesso" e privilégio dos users cadastrados.

 

Tem o nível segurança das senhas.

 

Bah, eu poderia ficar o dia todo falando aqui hauheuhe.

Os "níveis" não tem esses nomes que falei provavelmente, mas é só pra você ter uma idéia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

:clap:

 

Belíssima resposta hinom!

 

 

Não é exatamente dessa forma que o hinom expôs, mas um dos temas abordados no livro a Arte da Decepção, do ex-hacker Kevin Mitnick.

 

Nele é mencionado um caso hipotético ou não, de um hacker que para conseguir um meio menos complicado de acesso à determinada empresa, disfarça-se de zelador para procurar por anotações, normalmente de usuários e senhas, em bilhetinhos nas mesas dos funcionários.

 

 

Bom, como você disse que é iniciante, se quer mesmo segurança, se possível contrate alguém mais experiente em PHP. Além do cara te ajudar, você ainda irá aprender coisas que levaria anos.

Acho meio difícil (mas não impossível) que um iniciante consiga, sozinho, implementar uma BOA segurança.

 

Em seguida tenha em mente que segurança possui vários níveis.

 

Tem o nível computador do visitante (se está protegido ou não).

 

Tem o nível "browser", do visitante (XSS, etc).

 

Tem o nível Banco de dados (se os dados lá estarão criptografados ou não).

 

Tem o nível do Servidor PHP (se ele está seguro)

 

Tem o nível comunicação servidor-cliente (é onde o SSL entra).

 

Tem o nível comunicação servidor-banco de dados (sql injection, etc)

 

Tem o nível social, como o Hinom falou.

 

Tem o nível "acesso" e privilégio dos users cadastrados.

 

Tem o nível segurança das senhas.

 

Bah, eu poderia ficar o dia todo falando aqui hauheuhe.

Os "níveis" não tem esses nomes que falei provavelmente, mas é só pra você ter uma idéia.

 

é estou vendo que comecei de varias formas errado, mas quanto ao nivel,

é restrito para cada tipo de usuário, o banco de dados é criptografado, e tem conexão com ssl, mas como falei ainda sim o ssl identifica possíveis falhas. ja programado bom é difícil encontrar aqui na região onde moro, com certeza deve ter mas meio difícil.. sem brincadeira.. conheço vários programadores porem nenhum segue uma regra ou tem essa preocupação q tenho em proteger dados, tanto q fazem só coisas mais simples. =S tinha pago 2mil para fazer meu site ficou uma bosta.. entao resolvi estudar e fazer eu próprio... e ta bem melhor do que o q paguei ou do que qualquer concorrente, porem tem esse negocio de segurança q ainda ta me grilando.. bom os site não vai ter dados q possa me prejudica.. mas gostaria de fazer algo seguro pq pretendo fazer mais para frente uma loja virtual... e é bom começar desde o primeiro projeto em segurança né?

agradeço muito a ajuda de todos, e vou olhar e pesquisar mais a respeito... se souberem de mais conteúdos e puder me indicar revisarei e estudarei para me tornar um programador melhor... obrigado.. t+ xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns pela iniciativa do aprendizado :)

Com certeza, em menos de um ano, você estará melhor que muito programador aí.

 

Quanto a " é difícil encontrar aqui na região onde moro" - cara, você tá na internet!! É só dar um grito no twitter ou aqui no fórum que você já acha alguém pra trabalhar em conjunto.

 

Até mais e bons estudos :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns pela iniciativa do aprendizado :)

Com certeza, em menos de um ano, você estará melhor que muito programador aí.

 

Quanto a " é difícil encontrar aqui na região onde moro" - cara, você tá na internet!! É só dar um grito no twitter ou aqui no fórum que você já acha alguém pra trabalhar em conjunto.

 

Até mais e bons estudos :)

o fera obrigado, Deus te ouça! xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caramba, e eu achava que eu tinha paranóias com Teorias da COnspiração. O Mico foi looooonge, mas pegou bem os pontos necessários.

 

Só que a menos que seja a Intranet do Pentágono, acho que exagero tudo isso. :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

hahahaehaeh

É que o cara me pareceu bem preocupado no primeiro post, daí expus os principais riscos pra ele hauheuha

 

Agora que tô com um pouco mais de tempo, posso detalhar um pouco mais o que dá ou não pra fazer (segundo meus poucos conhecimentos, se você que está lendo sabe mais, compartilha aí pra eu saber também hehe)

 

Tem o nível computador do visitante (se está protegido ou não).

Não dá pra fazermos muita coisa a não ser colocar um aviso tosco no site tipo lembrete "mantenha seu antivírus atualizado"

 

Tem o nível "browser", do visitante (XSS, etc).

Aqui, geralmente validarmos TODAS as coisas que pegamos do browser do visitante (get, post, cookie, navigator, etc) com strip tags ou htmlencode (geralmente toda ligação entre duas linguagens é problemática pra segurança e exige conhecimentos do programador)

 

Tem o nível Banco de dados (se os dados lá estarão criptografados ou não).

Deixar os dados que considera sensíveis criptografados

 

Tem o nível do Servidor PHP (se ele está seguro)

Basicamente manter os softwares (tipo apache, cpanel) atualizados e um bom firewall (não entendo muito de servidor não, geralmente o administrador do seu servidor saberá melhor)

 

Tem o nível comunicação servidor-cliente (é onde o SSL entra).

Aqui é a implementação do velho SSL (https) para impedir que a comunicação possa ser lida no meio do caminho (interceptando o cabo de rede, colocando um log no servidor proxy da empresa, etc)

 

Tem o nível comunicação servidor-banco de dados (sql injection, etc)

Proteja seu PHP de sql injection (geralmente toda ligação entre duas linguagens é problemática pra segurança e exige conhecimentos do programador).

O mesmo problema do item anterior, com a mesma solução do item ante-anterior. Não dependerá de você mas sim do administrador do servidor (a não ser que você use dois servidores diferentes pro bd e pro apache)

 

Tem o nível social, como o Hinom falou.

Aí é definir regras rígidas pra sua empresa.

 

Tem o nível "acesso" e privilégio dos users cadastrados.

O programador PHP implementar direitinho o lance de quem pode acessar qual página.

 

Tem o nível segurança das senhas.

Pode ser procurado facilmente na net algum script PHP (e javascript) pra "força da senha"

 

Acho que é só hehe.

Você também ñao precisa se preocupar com TUDO de uma vez só senão seu site nunca será lançado.

Vai implementando aos poucos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procura ESAPI PHP no google code...mais obvio que aquilo só se existir um botão "converter projeto em codigo"

 

 

hahahaehaeh

É que o cara me pareceu bem preocupado no primeiro post, daí expus os principais riscos pra ele hauheuha

 

Agora que tô com um pouco mais de tempo, posso detalhar um pouco mais o que dá ou não pra fazer (segundo meus poucos conhecimentos, se você que está lendo sabe mais, compartilha aí pra eu saber também hehe)

 

Tem o nível computador do visitante (se está protegido ou não).

Não dá pra fazermos muita coisa a não ser colocar um aviso tosco no site tipo lembrete "mantenha seu antivírus atualizado"

 

Tem o nível "browser", do visitante (XSS, etc).

Aqui, geralmente validarmos TODAS as coisas que pegamos do browser do visitante (get, post, cookie, navigator, etc) com strip tags ou htmlencode (geralmente toda ligação entre duas linguagens é problemática pra segurança e exige conhecimentos do programador)

 

Tem o nível Banco de dados (se os dados lá estarão criptografados ou não).

Deixar os dados que considera sensíveis criptografados

 

Tem o nível do Servidor PHP (se ele está seguro)

Basicamente manter os softwares (tipo apache, cpanel) atualizados e um bom firewall (não entendo muito de servidor não, geralmente o administrador do seu servidor saberá melhor)

 

Tem o nível comunicação servidor-cliente (é onde o SSL entra).

Aqui é a implementação do velho SSL (https) para impedir que a comunicação possa ser lida no meio do caminho (interceptando o cabo de rede, colocando um log no servidor proxy da empresa, etc)

 

Tem o nível comunicação servidor-banco de dados (sql injection, etc)

Proteja seu PHP de sql injection (geralmente toda ligação entre duas linguagens é problemática pra segurança e exige conhecimentos do programador).

O mesmo problema do item anterior, com a mesma solução do item ante-anterior. Não dependerá de você mas sim do administrador do servidor (a não ser que você use dois servidores diferentes pro bd e pro apache)

 

Tem o nível social, como o Hinom falou.

Aí é definir regras rígidas pra sua empresa.

 

Tem o nível "acesso" e privilégio dos users cadastrados.

O programador PHP implementar direitinho o lance de quem pode acessar qual página.

 

Tem o nível segurança das senhas.

Pode ser procurado facilmente na net algum script PHP (e javascript) pra "força da senha"

 

Acho que é só hehe.

Você também ñao precisa se preocupar com TUDO de uma vez só senão seu site nunca será lançado.

Vai implementando aos poucos.

 

bom pesquisei a respeito do ESAPI PHP, e achei legal sobre o mesmo, achei um tutorial na net onde o programador faz um blog com falhas comuns e depois vem corrigindo com o método ESAPI PHP, no google codes achei fica maio dificil para mim q to iniciando ainda.. pq parece q tem milhares de códigos, mas aos poucos vou me acostumando.. agora no site do ESAPI PHP fala q o PDO é anti SQLInjection, no material q tenho aqui tb fala q é 100% anti SQLinjection, mas será mesmo? achei fácil programar em PDO....

 

usei mysql_escape_string consegui melhorar o bug do ssl, mas como o painel adm ainda esta no meio do caminho creio q vai surgir mais imprevisto.

 

achei uns links da hora.. vou postar aki.

 

agora vocês q são mais experientes na área o q vcs me fala do pedo? e se eu conseguir um sistema seguro contara sql injection eu posso considerar o site seguro?

 

é q pelo q eu vi o sqlinjection nao é só o problema.. pelo menso foi o q eu intendi em um topico do ESAPI PHP

 

links

escrevendo código seguro

http://www.phpavancado.net/node/222

 

tutorial de ESAPI PHP

PART 1 CRIANDO UM BLOG CHEIO DE FALHAS

http://jackwillk.blogspot.com/2010_06_01_archive.html

 

PART 2 IMPLEMENTANDO CONTROLE DE VALIDACAO E CONFIGURANDO ESAPI PHP

http://jackwillk.blogspot.com/2010/07/using-owasp-php-esapi-part-2.html

 

PART 3 AQUI FAZ VARIAS COISAS PARA PROTECÇÃO E FALA DE EVITAR POSSIVEIS ATAQUES XSS(NAO SEI AINDA O Q SIGUINIFICA)

http://jackwillk.blogspot.com/2010/07/using-owasp-php-esapi-part-3.html

 

PART 4 FINAL, REVISAO E COMPRARAÇÃO SOBRE O QUE FOI FEITO E PORQUE, E FINALIZANDO A SEGURANÇA.

http://jackwillk.blogspot.com/2010_08_01_archive.html

 

ALGUMAS COISA Q DA PARA APRENDER NESSE TUTORIAL É

 

*Melhorar a nossa manipulação da sessão

*Implementar tokens CSRF

*Hash senhas de usuários

*Recuperar propriedades de objetos do banco de dados

*Expirar as sessões do usuário após um tempo definido

*Pense sobre o que estamos armazenando em variáveis ​​nossa sessão

Compartilhar este post


Link para o post
Compartilhar em outros sites

tá ótimo.. continue pesquisando.. é assim que funciona

 

 

vai mais umas dicas muito simples que muitos também ignoram

 

no servidor Apache, desligue a exposição da informação dos softwares

 

expose_php

 

no httpd.conf, adicione:

 

php_admin_value expose_php Off

 

isso desativa a informação sobre o php intalado no server.

essa informação vai no cabeçalho do browser client.

Uma vez desativado, o valor vai como null ou empty..

 

Por quê fazer isso?

Dessa forma você dificulta ao invasor saber como é o ambiente onde o sistema está hospedado.

 

Claro que também deve ocultar os arquivos com extensão .php

Se quiser complicar a vida de um invasor, crie um regra (rewrite-rule) onde tudo que for .php seja enxergado como .asp.. Aí invasor ficará tentando procurar brechas em ASP sendo que o sistema é PHP..

Se quiser deixe sem nada.. nem asp, nem php, nem jsp, .rb... enfim..

 

 

session_id

Quando usar sessions, crie algum controle para modificar o session_id periodicamente (10 em 10 minutos).. Isso dificulta o sequestro de sessões.

 

 

Configuração de log e eventos de erros do PHP

http://forum.imasters.com.br/topic/447379-configuracao-de-log-e-eventos-de-erros-do-php/

 

 

Configuração opcional

 

Vamos supor que a pasta pública seja

C:\www\websites\dev-foo.bar\public\

Portanto, normalmente o index.php está em

C:\www\websites\dev-foo.bar\public\index.php

 

O recomendado é que a execução do php fique fora da pasta pública.

O que geralmente se faz é no index.php fazer os includes para arquivos php que estejam numa pasta fora da pasta pública

C:\www\websites\dev-foo.bar\private\

 

Mas o arquivo index.php continuará lá certo ?

A pasta pública continuará com permissões para rodar qualquer arquivos .php

Uma dica para remover é criar um alias:

 AliasMatch ^/(.*).php "C:\www\websites\dev-foo.bar\private\index.php"

 

Agora você pode apagar o index.php (movê-lo da pasta public/). você pode até criar um arquivo text.php e jogá-lo na pasta public/ mas ele será direcionado para ../private/index.php onde estará todo o controlador..

Isso dá mais segurança em casos onde o cliente quer ter acesso ao FTP, especificamente na pasta public/, geralmente para enviar imagens, criar páginas estáticas em html, etc.. mas você não quer que ele tenha acesso a execução de scripts php, certo ?

Isso ajuda bastante na segurança do aplicativo.

 

 

enfim.. há inpumeras dicas.. como o micox comentou no final do post #5, posso ficar aqui o dia inteiro digitanto e não conseguirei terminar..

 

mas continue estudando.. manda ver..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, httpd.conf é o arquivo de configurações do Apache.

 

.htaccess eu não sei direito o que ele é, mas é uma forma de você pasar informações ao Apache através de seus módulos ou diretivas nativas.

 

Aquela que o hinom disse que inicia com php_admin_value, se não me engano podem ser restringidas pelo servidor, sendo competa ou parcialmente bloqueadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, httpd.conf é o arquivo de configurações do Apache.

 

.htaccess eu não sei direito o que ele é, mas é uma forma de você pasar informações ao Apache através de seus módulos ou diretivas nativas.

 

Aquela que o hinom disse que inicia com php_admin_value, se não me engano podem ser restringidas pelo servidor, sendo competa ou parcialmente bloqueadas.

cara nao encontrei no server o httpd.conf nao.. =S

eu tenho q criar??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Geralmente basta criar um arquivo user.conf e jogá-lo em alguma pasta. Mas depende das políticas da empresa. Por isso, verifique com o suporte técnico do servidor de hospedagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Geralmente basta criar um arquivo user.conf e jogá-lo em alguma pasta. Mas depende das políticas da empresa. Por isso, verifique com o suporte técnico do servidor de hospedagem.

 

vou ver com o server, xD

 

o ESAPI facilita a criação da segurança eu sempre uso,mas não trabalho com ssl então fica tenso ajudar

qualquer coisa q envolver em segurança é bem vindo xD

vlew xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.