Безопасность программирования IIS +: удержание безопасности внутренней системы сайта - страница входа SQL-инъекция - PullRequest
0 голосов
/ 11 января 2011

У нас здесь проблемы с безопасностью, и нам действительно нужна ваша помощь и помощь.У нас есть веб-сайт с бэкэнд-системой, где администраторы могут войти и обновить интерфейс.Наши хорошие друзья пытались взломать бэкэнд, используя SQL-инъекцию на нашу страницу входа, и им это удалось, и они смогли создать пользователей с правами администратора.Сайт написан на ASP.NET на C #.

Мы думаем удалить страницу входа из публичного IP или добавить 2 уровня защиты (ограничение IIS ip и список доступа IP по программам).

Как мы можем сделать это в IIS и в программе?Пожалуйста, помогите, так как я новичок во всех этих вопросах безопасности.

Мы распространяем этот веб-сайт на веб-сад состоит из 3 серверов, поэтому они используют локальные / частные ips xx.xxx.xx

Какя могу реализовать это в своем коде для общего доступа только к списку IP-адресов или к группе IP-адресов?

Заранее большое спасибо,

Simplecode

1 Ответ

3 голосов
/ 11 января 2011

Просто чтобы пройти немного дальше по этой кроличьей норе.

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

Во-вторых, перемещение страницы входа не решает проблему. Если на вашем сайте есть другие доступные страницы, то я уверен, что у вас есть другие проблемы с внедрением SQL. См. № 1 выше.

В-третьих, держу пари, что вы подвержены всевозможным другим вещам, таким как XSS. Возьми немного и узнай, кто они. Затем потратьте некоторое время на переобучение кода для защиты. Подсказка: подтвердите ВСЕ. Если вы ожидаете число, принимайте только номер. Если вы ожидаете короткую строку, не допускайте встраивания в нее javascript.

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

Большинство компаний не знают, с какими угрозами они сталкиваются. Подсказка: внешние угрозы или только их часть. Внутренние угрозы обычно намного хуже. Я говорю это просто потому, что вы задаете вопрос, который пытается вставить только одну часть проблемы и игнорирует все остальное.


Недавно я разговаривал с компанией, которая утверждала, что у них есть проблемы с безопасностью. До встречи я зашел на их сайт и заметил, что у них есть идентификатор документа во всех их URL. Идентификатор был простым int. За несколько минут свободного времени я написал приложение, которое начиналось с doc id 1 и повторялось до тех пор, пока сервер не перестал выдавать данные. Было довольно много документов, которые я никогда бы не смог увидеть. Будучи добрым самаритянином, я рассказал им об этом.

Смысл этой истории в том, что sql инъекция, xss и т. Д. - это еще не все. Безопасность через неизвестность - еще один провал.

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