Как зашифровать файлы в витой? - PullRequest
1 голос
/ 22 июня 2011

Я использую витую для создания сервера.Проблема в том, что я должен защитить свой код.Так как я не хочу публиковать его, я не особо заинтересован в запутывании или компиляции кода на python.Моя проблема в том, что мое скрученное приложение должно работать с root uid, и многие люди имеют root-доступ к этому серверу.Мне все равно, смогут ли они это прочитать, но я хочу быть уверенным, что они не смогут это изменить!Какое лучшее решение, зная, что я использую витой?Я видел в twistd, tapconvert и mktap, что twisted может «зашифровать» мой код, но я не нашел хорошей документации по этому поводу.Кто-нибудь, чтобы помочь мне?

Заранее спасибо за любой ответ =) Хорошего дня!

/! \ EDIT: У меня есть еще один вопрос, я написал свой код после этой частивитая документация: http://twistedmatrix.com/documents/current/core/howto/application.html, поэтому я запускаю свой сервер с помощью команды вроде twistd -y server.py --logfile ... Так как я делаю это, я предполагаю, что не могу использовать программное обеспечение, такое как cx_Freeze, чтобы скрыть своиправильный код?

Ответы [ 2 ]

4 голосов
/ 22 июня 2011

У вас здесь много проблем.

моё скрученное приложение должно работать с root uid

Это плохо. Если в вашем приложении есть уязвимости, они будут более серьезными, если вы будете работать с правами root. Вы должны подумать о том, чтобы найти способ не работать от имени пользователя root. Например, если вы работаете только от имени пользователя root и можете связываться с портом с низким номером, рассмотрите возможность использования authbind .

многие люди имеют root-доступ к этому серверу

Возможно, вам следует ограничить привилегированный доступ теми людьми, которым он действительно нужен. Если это не вариант, то, возможно, вам следует хотя бы ограничить доступ людей, которым вы можете доверять . Кто-то, имеющий root на машине, может делать на ней все, что захочет, и победить любую схему, которую вы придумали.

Мне все равно, смогут ли они это прочитать, но я хочу быть уверенным, что они не смогут его изменить!

Тогда вы должны попросить их не изменять его.

Я видел в twistd, tapconvert и mktap, что twisted может «зашифровать» мой код, но я не нашел хорошей документации по этому поводу. Кто-нибудь, чтобы помочь мне?

Вам не следует пытаться использовать функции шифрования twistd и mktap. Это не мешает никому изменять ваш код. В лучшем случае они могут помешать кому-то прочитать некоторые из них. Как вы сказали, это даже не ваша цель. Даже если бы это была ваша цель, кто-то с правами root сможет легко расшифровать эти файлы, так что это даже не поможет.

Если вы дадите кому-то код, ожидайте, что он сможет делать с ним что угодно и все, что захочет. Если вы размещаете код на сервере, вы фактически даете его всем, у кого есть root-доступ к этому серверу.

Итак, перестаньте думать о шифровании и других технических проблемах и подумайте о каком-то другом способе достижения ваших целей - уволите ненадежных администраторов, используйте соответствующую лицензию на код, получите действительный контракт и т. Д.

0 голосов
/ 22 июня 2011

AFAIK, нет способа помешать пользователю root изменять обычный текстовый файл. Root - это просто, они могут делать с ним все, что захотят, в том числе и модифицировать. Почему так много людей имеют root-доступ к машине?

Если вы обеспокоены, у вас действительно есть два варианта:

  1. Зашифруйте файлы любым удобным для вас способом (я не знаю, делает это Twisted или как)

  2. «Скомпилируйте» код для вашей платформы. Есть несколько компиляторов Python, но я не знаю, работают ли они с Linux. Я парень свободного программного обеспечения, поэтому я хочу, чтобы люди читали и модифицировали мой код. Защита это меня не касается.

Полагаю, у вас есть третий вариант юридической защиты с помощью лицензии. Но если они нарушают вашу лицензию, то стоит судить их за это.

Не так много вариантов. К сожалению.

Anthony

...