Книга: UNIX: взаимодействие процессов
Атака типа «отказ в обслуживании»
Атака типа «отказ в обслуживании»
Один из недостатков последовательных серверов был уже отмечен выше — некоторым клиентам приходится ждать дольше чем нужно, потому что их запросы приходят после запросов других клиентов, запрашивающих большие файлы. Существует и другая проблема. Вспомним наш пример с интерпретатором команд, приведенный после листинга 4.11, и относящееся к нему обсуждение того, что сервер блокируется при вызове open для FIFO клиента, если клиент еще не открыл этот канал (чего не происходит до выполнения cat). Это дает возможность злоумышленнику «подвесить» сервер, послав ему запрос, не открывая канала. Этот тип атаки называется «отказ в обслуживании» (Denial of Service — DoS). Чтобы исключить возможность такой атаки, нужно быть аккуратным при написании последовательной части любого сервера, учитывая возможность и потенциальную продолжительность его блокирования. Одним из методов решения проблемы является установка максимального времени ожидания для некоторых операций, однако обычно проще сделать сервер параллельным, а не последовательным, поскольку в данном случае атака будет действовать лишь на один из дочерних процессов, а не на весь сервер. Однако даже параллельный сервер не защищен от атаки полностью: злоумышленник все еще может послать множество запросов, что приведет к превышению предела количества порожденных сервером процессов и невозможности выполнения последующих вызовов fork.
- Атаки типа «отказ в обслуживании» (DoS) и «распределенный отказ в обслуживании» (DDoS)
- Атака 51 %
- Использование CAST() с типами дата
- Глава 9 Построение отказоустойчивых систем
- Перегрузка методов с несколькими параметрами типа
- 9.3 Обеспечение избыточной отказоустойчивости
- Создание столбцов и работа с типами содержимого
- Пропуск параметров типа
- 3.2. Ключи типа key_t и функция ftok
- Можно ли отказаться от Проводника? Мне удобнее работать с Total Commander, но Проводник все равно постоянно «висит» в па...
- 23.3.1. Отказы жесткого диска
- Отношения типа многие-ко-многим