Jump to content
cheires

Encripatção de passwords

Recommended Posts

cheires

Olá a todos.

Não sou muito experiente em PHP, mas tenho uns scripts feitos e a funcionar de acordo com o pretendido.

Esses scripts estão num servidor apache, em linux.

Nesses scripts php tenho sempre acesso a Base de Dados.

A minha pergunta é, é possível encriptar a password do Mysql?

Não tem sido o caso, mas caso haja uma intromissão não desejada, é mais uma password descoberta.

Aqui à tempos estive a ver um script em python e a password de acesso à BD estava encriptada.

Obrigado a todos.

Share this post


Link to post
Share on other sites
cyclop

sim é possivel, mas se alguem conseguir entrar no server descobre sempre...

Pordes por exemplo na variavel de configuração $password ( por exemplo ) colocar a string ja encriptada, e quando vais a fazer o mysql_connect colocar lá o mcrypt a decriptar a password....


"Quando eu for grande quero ser como o Celso"

Share this post


Link to post
Share on other sites
KiNgPiTo

Por acaso também tenho esta dúvida... em md5 penso que não pois se meter a pass correcta encripta e envia o hash e nao dá... se meter o hash não dá para desencriptar logo também não dá... tens a base64, mas tens de meter base64_encode e se alguem tiver acesso ao script vai logo saber que é base64 e é só desencriptar...

O ideal nesta situação é o quê?

Share this post


Link to post
Share on other sites
cheires

Então básicamente, não adianta tentar encriptar a password.

Basta apenas garantir que ninguém te entra no servidor?

Isso para mim não serve. O servidor pode ter vários tipo de acesso. Várias pessoas podem aceder ao servidor, e ter permissões para isso. O que não as impede de verem qual a password do MySql e fazerem brincadeiras.

Como disse no primeiro post, vi um script em Python que tinha isso implementado, tinha no campo password (de acesso à base de dados) vários caracteres que indicam encriptação, e não tinha, como sugerido, o algoritmo de decrypt quando se acede à BD.

Será que essa "feature" pode ser implementada do lado do MySql/SO? Sei que é possível gerar encriptações pelo SO Linux, não me lembra é como isso se faz, nem como proceder neste caso.

Share this post


Link to post
Share on other sites
apocsantos

Se vais ter um servidor partilhado onde varias pessoas podem aceder ao servidor de varias formas, qualquer uma delas pode se souber como ganhar root, e sacar todas as passwords que lá tiveres.

Nesse caso a melhor solução é se vais usar um script PHP controlares o acesso ao folder onde tens a pass a connection string guardada. Mas ainda assim não tens garantias nenhumas de que não ta vão sacar.

Alternativas é utilizares algum script CGI e utilizares uma encriptação não padrão (algo baseado numa expressão matematica composta por uma parte explicita no codigo, e outra parte que vá ser lida a outro sitio qualquer tipo um mac-address ou algo do genero). Ainda assim a segurança é demasiado relativa, uma vez que se aceda ao servidor e se ganhe root, nada impede de chegar ao mysql com ou sem passwords encriptadas.


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
cheires

A situação a que me referia era a de vários utilizadores poderem aceder ao servidor.

Mesmo que não tenham acesso ao ROOT, podem ver todos os ficheiros, e caso percebam, podem conseguir a password criando um programa para fazer o decrypt.

Share this post


Link to post
Share on other sites
cheires

Como posso proibir isso?

Tenho ideia que apenas se pode proibir a execução e alteração, a visualização, não sei como o fazer.

E sendo assim, fica o problema inicial resolvido. :P

Share this post


Link to post
Share on other sites
apocsantos

Proibes o acesso ao folder onde tens os ficheiros .PHP com a respectiva connection string.

Assim nem visualizar, nem ler, nem aceder, nada. Ou proibes o acesso ao ficheiro. Logo que ninguém tenha acesso de SU, não tens problemas. É tão simples como definir permissões no ficheiro, deixas todas para creator/owner, e restringes o acesso aos restantes, se não puderes fazer isso ao nivel do ficheiro, faz ao nivel do directorio.

Cumprimentos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
cheires

Proibes o acesso ao folder onde tens os ficheiros .PHP com a respectiva connection string.

Assim nem visualizar, nem ler, nem aceder, nada. Ou proibes o acesso ao ficheiro. Logo que ninguém tenha acesso de SU, não tens problemas. É tão simples como definir permissões no ficheiro, deixas todas para creator/owner, e restringes o acesso aos restantes, se não puderes fazer isso ao nivel do ficheiro, faz ao nivel do directorio.

Cumprimentos

Eu percebi o que pretendes, e isso tudo está assegurado, mas um user que tenha acesso ao servidor, mesmo sem ser SU, consegue percorrer as directorias e visualizar os ficheiros de configuração, etc, embora não os consiga modificar.

Um vulgar utilizador do servidor web não consegue saber isso, nem que saiba o nome do ficheiro.

O que pretendia era que nenhum outro utilizador do servidor (utilizador resgistado) tenha acesso ao conteúdo dos ficheiros.

Um exemplo:

Eu e tu partilhamos o mesmo PC com linux, como posso eu impedir-te de veres o conteúdo dos ficheiros criados por mim.

Share this post


Link to post
Share on other sites
apocsantos

Podes, és o Owner do file, eu não devo ter acesso ao ficheiro, a não ser que tenha permissões de SU, posso ver onde ele está, mas não posso ver o conteudo porque não tenho acesso. por exemplo basta que a permissão read esteja apenas disponivel para mim.

Basta que deixes mudes o owner pra ti, e retires a permissão read aos others.

-rw-rw----

Cumprimentos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.