Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/dragon-lady/netward-standalone
Оборонительные ИнструментыВеб-прокси и перехватСбор информацииВеб-безопасностьСетевая безопасностьОбнаружение ВторженийАнти-БотОбнаружение АномалийАнализ Журналов
GitHubdragon-lady/netward-standalone

netward-standalone

Пользовательский бот и защита от DDoS для небольших HTTP-сервисов

5010 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
РепозиторийСайт
Поделиться

Net Ward

Пользовательский слой обмана, который превращает DDoS-атаки и злоупотребления ботами в пустую трату усилий.

License: Apache 2.0 Python Status

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

Зачем нужен Net Ward

  • Отклоняет, а не даёт сдачи. Боты тратят время на убедительные, но безвредные зеркала; ваш upstream никогда не видит запрос.
  • Пользовательское пространство и fail-open. Никаких модулей ядра, никакого вмешательства в пакеты. Если классификация, чтение из хранилища или рендеринг когда-либо дадут сбой, трафик пройдёт напрямую в upstream (или в зеркало по умолчанию, если upstream недоступен).
  • Встраивается куда угодно. Один процесс Python перед любым HTTP-сервисом. Направьте на него свой балансировщик нагрузки — и готово.
  • Честен по своей сути. Никакой телеметрии, никакого сбора учётных данных, оператор владеет каждым байтом локальных данных. Apache-2.0.

Создано и поддерживается Dragon Lady — github.com/Dragon-Lady · X: @answerislove2 Независимый исследователь безопасности, отслеживающий активные кампании по атакам на цепочки поставок и злоупотреблению ботами в реальном мире.

Сайт: dragon-lady.github.io/netward-standalone


Быстрый старт

python -m pip install --upgrade "netward>=0.4.12"
python -m netward --config example_config.json

Версия 0.4.12 или новее является рекомендуемой базовой версией для новых установок и обновлений. Более старые выпуски остаются доступными для воспроизводимости; новым развёртываниям следует использовать текущий выпуск.

Или из исходного кода:

git clone https://github.com/Dragon-Lady/netward-standalone
cd netward-standalone
pip install -e .

Net Ward прослушивает listen_address и перенаправляет чистый трафик на upstream_target.


Конфигурация

Скопируйте пример конфигурации и отредактируйте целевой upstream:

cp example_config.json config.json

Перед запуском Net Ward укажите в upstream_target реальный HTTP-сервис. Если upstream недоступен, несовпавшие запросы возвращают ответ зеркала по умолчанию вместо раскрытия сырой ошибки прокси.

Обязательные поля:

ПолеЗначение
node_idСтабильное имя для этого экземпляра Net Ward
upstream_targetЗащищаемый HTTP-сервис
listen_addressХост и порт, к которым привязывается Net Ward

Необязательные поля управляют интенсивностью зеркалирования, локальным хранилищем, заполнителями mesh, каналами оповещений, тайм-аутами upstream и хранением журнала проб. Совпадение с шаблоном или начало флуда запросов записывает оповещение в SQLite. Оповещения дедуплицируются по типу, источнику и шаблону в течение пяти минут. Пустой список alert_channels отправляет в stdout; выберите любую комбинацию stdout, email, slack и ntfy для явной доставки. Исходящая доставка выполняется в фоне и повторяет попытки для неудачных каналов. Недавние недоставленные оповещения повторяются при запуске.

Email требует alert_email, alert_smtp_host и alert_smtp_from. Задайте alert_smtp_port и alert_smtp_security (starttls, ssl или none); none допускается только для SMTP-сервера на loopback. Если требуется аутентификация, задайте alert_smtp_username и alert_smtp_password_env как имя переменной окружения, содержащей пароль. Slack требует alert_slack_webhook. ntfy требует alert_ntfy_topic (тема на ntfy.sh или полный URL темы на собственном сервере); для защищённой темы задайте alert_ntfy_token_env как имя переменной окружения, содержащей её bearer-токен. HTTP-назначения должны использовать HTTPS, кроме loopback. alert_timeout_secs по умолчанию равен пяти секундам. Net Ward проверяет запрошенные назначения при запуске и сохраняет квитанции об успешной доставке в таблице alerts. Сообщения оповещений содержат IP-адрес источника, ID шаблона и классификацию; они не включают сырые тела запросов или заголовки.

Необязательное полеПо умолчаниюЗначение
upstream_timeout_total10Бюджет всего запроса для вызова upstream, в секундах
upstream_timeout_connect3Тайм-аут подключения (DNS + TCP + TLS), в секундах
upstream_timeout_sock_read5Время простоя между чтениями из сокета upstream, в секундах
upstream_max_concurrency64Одновременные запросы к upstream
upstream_max_body_bytes8388608Макс. буферизуемое тело ответа upstream (8 MiB). Тела большего размера fail-open переходят к зеркалу по умолчанию
probe_retention_secs604800TTL журнала проб (7 дней)
probe_max_rows10000Макс. число строк журнала проб после очистки при записи
alert_timeout_secs5Тайм-аут на канал для исходящей доставки оповещений, в секундах

Запуск

python -m netward --config config.json

Пример топологии:

КомпонентАдрес
Net Ward127.0.0.1:8080
Upstream-приложениеhttp://127.0.0.1:9000
Хранилищеnetward.db

Направьте балансировщик нагрузки или веб-сервер на Net Ward. По возможности оставляйте upstream-приложение доступным только с хоста или из доверенной сети. Устанавливайте listen_address в 0.0.0.0:<port> только если вы намеренно хотите, чтобы Net Ward был доступен за пределами localhost. В Linux/macOS следите, чтобы storage_path не был доступен на запись всем пользователям. Пример: chmod 600 netward.db, или chmod 644 netward.db только если вам намеренно нужен доступ на чтение для мониторинга.

Мониторинг ресурсов

Net Ward непрерывно выдерживает заявленную ёмкость на одну машину, но пулы памяти среды выполнения Python могут сохранять состояние рабочего набора после продолжительной высокой нагрузки. Операторам, запускающим Net Ward при непрерывном интенсивном трафике, следует отслеживать использование ресурсов процессом и периодически перезапускать демон, например еженедельно или когда RSS превышает базовый уровень в 2 раза. В v0.5 это руководство будет уточнено на основе отзывов операторов и локальных наблюдений при тестировании, а не автоматической телеметрии.


Проверка

Чистый запрос должен доходить до upstream:

curl -i http://127.0.0.1:8080/

Известный пробник должен быть зеркалирован:

curl -i http://127.0.0.1:8080/wp-admin/

Проверка WordPress возвращает поддельную страницу входа. Вышестоящий сервис не получает запрос.

Пример успешного сценария

С приведённой выше примерной топологией успешный первый запуск должен выглядеть так:

  1. Запустите небольшой вышестоящий сервис на 127.0.0.1:9000.
  2. Запустите Net Ward на 127.0.0.1:8080.
  3. Запросите / через Net Ward и убедитесь, что возвращается ответ вышестоящего сервиса.
  4. Запросите /wp-admin/ через Net Ward и убедитесь, что вместо этого возвращается зеркальный ответ.

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


Команды оператора

Установите или обновите встроенный набор шаблонов вендоров:

python -m netward.cli --db netward.db install-patterns
python -m netward.cli --db netward.db install-patterns --force

Список активных шаблонов:

Скачать инструмент