Proteger código

109 views
Skip to first unread message

Márcio Almeida

unread,
Sep 3, 2012, 10:25:33 PM9/3/12
to python...@googlegroups.com
Pessoal tem como proteger o código do script, na verdade preciso proteger a senha de banco e servidores ftp que estão dentro do meu código.
Alguma dica?

Felipe Mobus

unread,
Sep 3, 2012, 10:38:13 PM9/3/12
to python...@googlegroups.com
Resposta curta: não tem como

Resposta longa: da sua pergunta, assumo que você está desenvolvendo um script que roda em uma máquina sobre a qual você não tem controle, o usuário dessa máquina, se for suficiente dedicado, conseguirá achar os strings contendo o host do banco e servidor ftp, bem como as senhas relevantes, pois elas estarão de alguma forma armazenadas na máquina. Por mais que você criptografe, em algum lugar (na máquina do usuário) você vai ter que colocar a chave, então basicamente não tem como.

Diante desse tipo de situação, se for absolutamente necessário evitar que o usuário faça esse tipo de acesso direto, provavelmente é uma boa ideia considerar formas alternativas de controle de acesso ao recurso relevante. Eu listaria as seguintes formas:

1) dar usuários e senhas específicas por usuário/instalação, com poderes limitados - relativamente fácil de gerenciar para o FTP, não tão fácil para banco de dados. De antemão, devo alertar que isso não escala muito bem se você tiver muitos usuários diferentes, fica um porre de gerenciar (principalmente conta de BD).

2) "esconder" o FTP e o banco de dados atrás de um webservice, garantindo que tudo que a aplicação vai fazer é "bater" em endereços HTTP com pacotes GET/POST/DELETE/etc que a sua aplicação mandou. Claro, nada impediria o usuário de tentar criar seus próprios pacotes HTTP, mas a ideia é que aí todas as validações e lógicas de negócio estariam implementadas no webservice, que está completamente sob seu controle. Existem várias formas de implementar isso, inclusive frameworks mais ou menos prontos; sugiro pesquisar usando os termos "restful services python" ou coisa parecida.

2012/9/3 Márcio Almeida <marciolauri...@gmail.com>
Pessoal tem como proteger o código do script, na verdade preciso proteger a senha de banco e servidores ftp que estão dentro do meu código.
Alguma dica?

--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar

<*> Para visitar o site do grupo na web, acesse:
    http://groups.google.com/group/python-brasil

<*> Para sair deste grupo, envie um e-mail para:
    python-brasi...@googlegroups.com



--
Felipe Mobus
http://fmobus.wait4.org

Luciano Ramalho

unread,
Sep 4, 2012, 12:59:28 AM9/4/12
to python...@googlegroups.com
2012/9/3 Márcio Almeida <marciolauri...@gmail.com>:
> Pessoal tem como proteger o código do script, na verdade preciso proteger a senha de banco e servidores ftp que estão dentro do meu código.
> Alguma dica?

Estude criptografia de chave pública. Leia sobre esse tema na
Wikipedia. É a "resposta certa" para o seu problema. Em vez de FTP vc
usa SFTP com troca de chaves públicas (como em SSH). Para o banco de
dados, não sei a resposta. Certamente depende do banco.

[ ]s
Luciano


>
> --
> ------------------------------------
> Grupo Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
>
> <*> Para visitar o site do grupo na web, acesse:
> http://groups.google.com/group/python-brasil
>
> <*> Para sair deste grupo, envie um e-mail para:
> python-brasi...@googlegroups.com



--
Luciano Ramalho / OFICINAS TURING
Twitter: @ramalhoorg

Autor e professor dos cursos:

* Objetos Pythonicos --> http://turing.com.br/oopy
* Python para quem sabe Python --> http://turing.com.br/ppqsp

Márcio Almeida

unread,
Sep 4, 2012, 1:51:31 PM9/4/12
to python...@googlegroups.com
 Felipe, já imaginava isso, a máquina é um pequeno servidor e conecta remotamente num outro com base e servidor de ftp que é de terceiro e não tenho acesso.
O próprio dono dessa máquina que tem todas as senhas me pediu para proteger não sei qual é a idéia dele, talvez alguém mais vai ter acesso.
 Sftp com troca de chaves(Luciano) eu já faço em outros projetos mas nesse caso não é possível pois o terceiro não muda do lado dele.

Obrigado, é bom sempre contar com os experts.

Douglas Camata

unread,
Sep 4, 2012, 1:55:19 PM9/4/12
to python...@googlegroups.com
Eu acho interessante você criar um arquivo de configuração do qual esses dados serão lidos. É muito fácil fazer engenharia reversa de código Python, inclusive quando se tem somente os .pycs.

2012/9/4 Márcio Almeida <marciolauri...@gmail.com>

--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com



--
Douglas Camata
Graduando em Ciência da Computação (UENF)

Skype: douglas_camata
-----------------------------------
Linux User #509211

Reply all
Reply to author
Forward
0 new messages