2012-04-15 1 views
0

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

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

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

Вкратце мысль о назначении уникального идентификатора каждому пользователю и короткое отключение к HTTP-соединению для захвата заголовка X-Forwarded-For, а затем перебросить их обратно на HTTPS, но кажется, что это может быть плохой выбор и MITM может легко перехватить эту сессию. Как на самом деле ИТ-парень справляется с этим ограничением?

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

ответ

1

Количество подключений на каждый промежуточный интервал, который вы описываете, лучше всего реализуется на балансировщике нагрузки; это наследующая функция этой технологии и является идеальным местом для реализации. Что касается пользователей, пытающихся войти в систему слишком много раз без успеха, вам не нужно блокировать учетную запись после нескольких неудачных попыток, но делать что-то вроде CAPTCHA, что побуждает пользователя вводить труднодоступные код. Это предотвратит запуск автоматических сценариев/атак с помощью попыток грубой силы войти в систему как пользователи.

Я бы не стал отговаривать никого от подключения HTTPS к HTTP-соединению по какой-либо причине.

 Смежные вопросы

  • Нет связанных вопросов^_^