Какие есть виды угроз веб-серверу?

Я немного запутался в тонкостях атак на веб-серверы.
Как я понял - виды угроз безопасности веб-сервера можно разделить на две группы — во-первых, связанные с ошибками администрирования, во-вторых, связанные с ошибками программной реализации сервера.
Но я немного не понимаю, например SQL-injection - в учебниках пишут что это связанно с плохим администрированием, типа нет достаточной фильтрации входящих данных. НО
Когда я реализую приложение - то я в самом коде пишу защиту от инъекций - типа с помощью параметризации
$stmt = $pdo->prepare('SELECT * FROM table WHERE column = :value');
$stmt->execute(array('value' => $parameter));

Администратор тут как бы вообще непричем на мой взгляд.
Или пишут что ошибка администрирования - это разрешение использование методов PUT и DELETE, позволяющих удаленному пользователю редактировать и удалять странички с сервера. Но эти методы же реализуются в ходе разработки приложения, в коде, ещё до внедрения.
И я вообще запутался - правильно ли я выделил виды угроз безопасности веб-сервера.
Не могли бы вы помочь с этим?
  • Вопрос задан
  • 3036 просмотров
Решения вопроса 2
inoise
@inoise Куратор тега Веб-разработка
Solution Architect, AWS Certified, Serverless
Стоит познакомиться с OWASP)
Ответ написан
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
Все правильно вы делаете.
Для исключения SQL-injection используются параметры.
А тот, кто связал эту проблему с администрированием — обычный дебил, никогда не видевший программного кода.

По поводу delete — то же самое. К администрированию это никакого отношения не имеет.

Upd. Книжку эту лучше выбросить. Если автор позволяет себе такие ляпы, то читать остальной текст смысла нет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Сеть
2. Сервер
3. Веб-сервер
4. Приложение веб-сервера (php,etc.)
5. Запросы к БД (mysql, etc.)
Ответ написан
shurshur
@shurshur
Возможно, автор книжки просто живёт в старых реалиях, где PDO мало кто использовал, в моде было оборачивать параметры в mysql_real_escape_string, а ещё пытались изобретать прослойки, которые ловили SQL-инъекции в параметрах между приложением и клиентом.

При правильном использовании SQL программистом ничего специально администрировать не нужно.

Я бы не стал на основании одного лишь ляпа досрочно хоронить книжку, но всё эта ситуация должна напомнить о том, как важно не доверять слепо авторитетам.
Ответ написан
@Karpion
Как я понял - виды угроз безопасности веб-сервера можно разделить на две группы — во-первых, связанные с ошибками администрирования, во-вторых, связанные с ошибками программной реализации сервера.
Я бы выделил как минимум три вида ошибок:
  1. ошибки администрирования;
  2. ошибки написания скриптов (как раз здесь находится SQL-инъекции);
  3. ошибки в "стандартных" программах - Apache, Nginx, SQL-СУБД (встречаются весьма редко, зато затрагивают многих).


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

Или пишут что ошибка администрирования - это разрешение использование методов PUT и DELETE, позволяющих удаленному пользователю редактировать и удалять странички с сервера.
Как правило, сервер выполняется от юзера с минимальными правами; а в доступном серверу каталоге все файлы делаются недоступными для записи от этого юзера. Хотя ненужные методы следует запретить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы