Как защитить наши файлы от перезаписи на веб-хостинге - PullRequest
0 голосов
/ 13 ноября 2011

Я создал каталог на своем сервере веб-хостинга.

Я создал текстовый файл. Он используется для активации моего приложения.

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

Я не хочу перезаписывать мои файлы, когда кто-то открывает папку черезfilezilla. Я хочу дать только разрешение на скачивание для моих файлов без разрешения на перезапись

Буду очень признателен, если кто-нибудь сможет мне помочь.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 13 ноября 2011

Прежде всего вам необходимо правильно настроить безопасность - то есть с наименее необходимым набором разрешений (ваш FTP-каталог не должен разрешать запись для групп / мира, что он в настоящее время делает в соответствии с тем, что вы описываете!) ...

Что касается проблемы с декомпиляцией имени пользователя / пароля - здесь может помочь криптография с открытым ключом:

  • встраивает открытый ключ в ваше приложение (или просто распространяет его открыто вместе с вашим приложением)
  • этот открытый ключ может быть одинаковым для всех клиентов
  • если вам нужно предоставить клиенту какую-то специальную опцию, вы создаете XML / текстовый файл ...
  • этот файл содержит все, что вы хотите вопределяемый вами формат
  • этот файл может содержать все что угодно в открытом тексте
  • вы подписываете этот файл (создайте подпись с вашим закрытым ключом, который НИКОГДА не распространяется)
  • ваше приложение может проверитьфайл является подлинным путем проверки подписи (для этого нужен открытый ключ)
  • если ваше приложение отправляет имя пользователя / пароль по сети, выберите протоколчто препятствует отслеживанию (например, SSL на стороне сервера, даже лучше в сочетании с клиентскими сертификатами)
  • FTP можно использовать с SSL (называемым FTPS) или использовать что-то другое, например SFTP (часть стандарта SSH)

ваш клиент не может создавать действительные подписи на основе открытого ключа ... если ваше оборудование имеет какой-то неизменяемый серийный номер, который может прочитать ваше приложение, я бы поместил этот серийный номер оборудования в XML / текстфайл тоже ... таким образом, один файл XML / текстовый файл не может быть скопирован / использован разными клиентами ...

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

Так что, если кто-либо когда-либо перезаписывает / изменяетваш файл, подпись будет просто неверной, таким образом, вы будете защищены от такого рода угроз ...

В идеале вы подписываетеприложение / сборка (для этого вам нужен сертификат), который обеспечивает некоторую защиту от вмешательства в ваше приложение / сборку, тогда у вас есть что-то действительно надежное, без каких-либо «хитростей» ...

2 голосов
/ 13 ноября 2011

Затем вы должны настроить свой FTP-сервер таким образом, чтобы у пользователя, под которым регистрируется ваше приложение, не было разрешений на запись.

Если вы используете простой FTP, не имеет значения, смогут ли другие пользователи декомпилировать ваше приложение или нет (и они будут). Они могут просто отслеживать свою сетевую связь и видеть имя пользователя и пароль.

...