Удаленная активация / деактивация и защита от отсутствия бизнеса - PullRequest
0 голосов
/ 17 апреля 2009

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

Схема, которую я представляю себе:

server makes twice daily check to web page using a URL like:
http://www.ourcompany.com/check.php?myID=GUID&Code=MyCode

Затем возвращается ответ, который не содержит ничего интересного, либо GUID и значение.

GUID=0

Этот ноль означает, что сервер должен прекратить работу. Чтобы заставить его работать снова, сервер будет каждые 5 минут проверять ту же информацию, пока значение не совпадет с тем, что, по его мнению, должно быть преобразовано в код, который он передал.

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

Ответы [ 3 ]

1 голос
/ 31 августа 2009

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

Приложение ежедневно проверяет доступ к веб-сайту, содержащему контрольный файл, зашифрованный с использованием шифрования с открытым ключом. Он дешифрует в памяти, и если он находит свой GUID, то он должен соответствовать коду. Чтобы отключить операцию, код устанавливается в 0 (ноль), что всегда будет неудачей. Когда он отключен, он проверяет каждые две минуты, чтобы обеспечить быстрое восстановление. Существует также ручной механизм генерации кода, который будет работать в течение недели в случае проблем с сервером.

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

0 голосов
/ 18 апреля 2009

Пользователь может использовать инструмент, такой как OWASP WebScarab, чтобы изменить значения на лету, чтобы подорвать вашу модель безопасности. Вам нужно включить что-то более сложное, например, требовать защищенный канал, сравнить открытый ключ и т. Д.

0 голосов
/ 17 апреля 2009

Этот метод действительно легко обойти: просто используйте локальный сервер DNS, чтобы указать www.ourcompany.com на локальный компьютер, или используйте прокси-сервер http. Затем пользователь может вернуть любой ответ, который он хочет, в программу.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...