Перейти к содержанию

dimon27254

Report Team
  • Постов

    1 348
  • Зарегистрирован

  • Посещение

  • Победитель дней

    86

Весь контент dimon27254

  1. @Le ecureuil исправление в 4.3.2 также подтверждаю. Спасибо!
  2. Вышла новая версия 1.2. Новое: 1) Сохранение списка адресов кандидатов на блокировку в файл. 2) Защита устройств, подключенных к роутеру и использующих перенаправление портов (предложено @avn и @kaguyashaa). Обратите внимание: в "PORTS" необходимо будет указать номер порта устройства (поле "направлять на порт" в веб-интерфейсе), на который направляется трафик, а не номер, который "смотрит" в интернет ("открыть порт"). 3) Настройка маски для правил iptables (предложил @avn). RULES_MASK="255.255.255.255" Значением по умолчанию является 255.255.255.255 (/32), что соответствует версиям 1.0 и 1.1. При необходимости вы можете установить иное значение, например, 255.255.255.0. Это расширит "область наблюдения" за множественными соединениями - в этом случае IP, принадлежащие одной подсети /24 и превышающие установленные в конфиге пороги, будут вноситься в список блокировки. 4) Ручная очистка списков адресов. /opt/etc/init.d/S99ascn flush Можно очистить как все три списка - кандидатов на блокировку, заблокированных IP и подсетей, так и каждый по отдельности. Пример: /opt/etc/init.d/S99ascn flush subnets Будет выполнена очистка ipset'ов, а затем удалены с накопителя файлы соответствующих списков. Улучшения: 1) Сохранение списков в файл теперь не требует бессрочного хранения записей (сообщил @snark). Обратите внимание: если в 1.1 у вас было включено сохранение списков, то при обновлении на 1.2 значение параметров RECENT_CONNECTIONS_BANTIME и SUBNETS_BANTIME автоматически изменится на "0" - бессрочное хранение, что будет соответствовать логике версии 1.1. Измените данные значения, если вам не требуется бессрочное хранение. 2) Упрощен вызов Antiscan из консоли. Вместо /opt/etc/init.d/S99ascn в консоли можно вводить просто antiscan. Пример: antiscan status Исправления: 1) Правила iptables не обновлялись при вызове reload, если в ascn.conf изменялись параметры ограничения множественных соединений. 2) При обновлении Antiscan в консоли появлялась ненужная строка "/opt/etc/ascn.conf".
  3. По моему мнению, вероятность того, что в одной подсети со злоумышленниками, делающими свои грязные дела с нескольких адресов, будет легитимный клиент - крайне мала) В этом случае подсеть не будет заблокирована, пока в ней не "соберётся" 254 адреса.
  4. @avn об ip2net мне известно, уже пользовался им ранее. Однако, он работает только с конкретными адресами, и не сворачивает уже имеющиеся подсети в более крупные - просто выдает их без изменений. Тогда может получиться ещё больше записей в ipset, чем сейчас, если не делать тонкую настройку.
  5. /24 мной была выбрана намеренно, т.к. по ней можно легко и быстро отслеживать и подсчитывать "похожие" адреса, просто проверяя совпадение первых трех октетов, т.е. 1.2.3.1, 1.2.3.14, 1.2.3.94 и так далее. Если количество "похожих" адресов больше порогового, на основе этих же трех октетов создается запись в ipset 1.2.3.0/24 для блокировки подсети целиком. С /23, /22 и более крупными такой "фокус" уже не пройдет. В данном направлении улучшений я пока что не планирую.
  6. Не совсем понял, что вы имеете ввиду и в каких именно из правил. Для connlimit я маску не указываю явно, она автоматически ставится /32.
  7. Бессрочное хранение включается только для списков заблокированных IP и подсетей. Список кандидатов на блокировку продолжает хранить записи в соответствии с установленным в конфиге сроком (DIFFERENT_IP_CANDIDATES_STORAGETIME), если вы явно не установите 0. При этом, кандидаты не сохраняются в постоянной памяти вовсе - при каждой перезагрузке роутера/скрипта они будут наполняться заново. Вариант с аптаймом устройства в год я полноценно не рассматривал, т.к. лично у меня роутер работает от обновления к обновлению. Однако, в данном случае на длительном аптайме полноценную точечную очистку записей реализовать не представляется возможным - максимальный срок хранения записей в ipset при использовании timeout составляет 2147483 секунды, что чуть меньше 25 дней. Ввиду этого ограничения при SAVE_IPSETS=1 значение timeout для ascn_ips и ascn_subnets полностью исключается и записи хранятся без срока. Могу, например, к следующей версии исключить принудительную установку "бессрочного" хранения для ipset, чтобы вы могли и дальше устанавливать свой таймаут. Однако, в этом случае я не вижу смысла в сохранении в файлы вовсе, если, условно говоря, через день/несколько часов записи все равно удалятся. Или есть вариант реализовать дополнительную задачу в cron, которая будет, например, раз в 3 месяца принудительно очищать все ipset и удалять сохраненные файлы, чтобы они могли наполняться "с нуля".
  8. В версии 1.1 появилась возможность загрузки списков IP и подсетей из файлов. Включите функционал сохранения в файлы: SAVE_IPSETS=1 Укажите путь к каталогу, где будут храниться файлы со списками заблокированных адресов: IPSETS_SAVE_PATH="/tmp/mnt/MYDISK/antiscan" При запуске Antiscan будет искать в указанном каталоге файлы ipset_ascn_ips.txt и ipset_ascn_subnets.txt. Файлы должны быть в читаемом для команды ipset restore виде. Пример для ipset_ascn_ips.txt: create ascn_ips hash:ip family inet hashsize 1024 maxelem 65536 add ascn_ips 1.2.3.4 add ascn_ips 5.6.7.8 Пример для ipset_ascn_subnets.txt: create ascn_subnets hash:net family inet hashsize 1024 maxelem 65536 add ascn_subnets 1.2.3.0/24 add ascn_subnets 4.5.6.0/24
  9. Вышла новая версия 1.1. Новое (предложено @MDP и @kaguyashaa) 1) Бессрочное хранение адресов в ipset. Укажите "0" в параметрах длительности блокировки конфига ascn.conf. Пример: RECENT_CONNECTIONS_BANTIME=0 SUBNETS_BANTIME=0 2) Сохранение списков заблокированных адресов и подсетей в память с возможностью дальнейшего восстановления после повторного запуска. Настройка осуществляется с помощью параметров "SAVE_IPSETS", "IPSETS_SAVE_PATH". По умолчанию сохранение выключено. Для включения укажите "1" в параметре "SAVE_IPSETS", а также путь к каталогу, где планируете хранить списки адресов в "IPSETS_SAVE_PATH". Пример: SAVE_IPSETS=1 IPSETS_SAVE_PATH="/tmp/mnt/MYDISK/antiscan" Обратите внимание: при включенном сохранении адресов игнорируются установленные значения длительности блокировки адресов и подсетей - автоматически включается "бессрочное" хранение. Сохранение списков производится с помощью задачи в cron каждые 5 дней в 00:00. Период изменяется аналогично задаче чтения кандидатов, текст задачи: 0 0 */5 * * /opt/etc/init.d/S99ascn save_ipsets & Исправления: 1) При удалении/переустановке пакета файл crontab не очищается от задач Antiscan, если в них вносились изменения.
  10. Перманентная блокировка может сыграть злую шутку в неподходящий момент.. а если вы случайно сами себя удаленно заблокируете?
  11. В целом, такое возможно. Однако, изначально я решил это не реализовывать, так как потребуется постоянная периодическая запись ipset на флешку/внутреннюю память, что может негативно сказаться на их ресурсе.
  12. Списки заблокированных хостов и подсетей представляют собой ipset. Они не сохраняются где-либо в памяти роутера/флешки, и при каждой перезагрузке будут наполняться заново по мере поступления запросов на порты.
  13. Antiscan - простой инструмент для выявления и блокировки IP с подозрительной активностью (например, сканеры портов и служб). Предыстория от @FLK, поясняющая актуальность данного инструмента: Antiscan представляет собой скрипт на shell с config-файлом и хук-скриптом netfilter.d. Предназначен для устройств Keenetic/Netcraze, поддерживающих Entware. Возможности: 1) Блокировка хостов, открывающих множество соединений с одного IP-адреса. 2) Блокировка хостов, открывающих единичные соединения с множества IP, принадлежащих одной подсети /24. 3) Блокировка хостов по пользовательскому черному/белому списку. 4) Геоблокировка в режиме черного/белого списка. 5) Блокировка хостов с помощью "ловушки" (honeypot). Требования для корректной работы скрипта: 1) Установленный компонент "Модули ядра для подсистемы Netfilter" (начиная с версии ПО 4.3 доступен без "Протокол IPv6"). Установка: 1. Выполнить команду: opkg update && opkg install curl && curl -fsSL https://raw.githubusercontent.com/dimon27254/antiscan/refs/heads/main/install.sh | sh 2. Указать unix-имена интерфейсов интернет-подключений в файле "/opt/etc/antiscan/ascn.conf". В 4.3+ просмотр unix-имен интерфейсов доступен по команде: show interface {интерфейс} system-name 3. Настроить остальные параметры под собственные нужды, если это требуется, в файле "/opt/etc/antiscan/ascn.conf". 4. Запустить Antiscan командой: antiscan start Для версий Antiscan 1.4 и выше доступна настройка с помощью web4static от @spatiumstas. Важно: Antiscan является IPv4-only, работает только для протокола TCP. Принцип работы: Описание параметров в ascn.conf: Описание задач в ascn_crontab.txt: Использование Antiscan: {start|stop|restart|status|list|reload|flush|version|edit|update_rules|read_candidates|read_ndm_ipsets|save_ipsets|update_ipsets|update_crontab} start начать работу скрипта (создать правила, ipset'ы, начать сбор IP) stop остановить работу скрипта (удалить правила, очистить ipset'ы, отменить блокировку) restart остановить и заново начать работу скрипта status отобразить статус работы Antiscan list {ips|subnets|ndm_lockout|honeypot} отобразить список и количество заблокированных IP/подсетей reload обновить конфигурацию Antiscan (перечитать файл ascn.conf) flush [candidates|ips|subnets|custom_whitelist|custom_blacklist|custom_exclude|geo|ndm_lockout|honeypot] очистить списки адресов и удалить их файлы version отобразить версию установленного Antiscan edit {config|crontab|custom_exclude|custom_blacklist|custom_whitelist} редактировать конфигурационные файлы Antiscan или пользовательские списки update_rules проверить наличие правил iptables, и добавить их при отсутствии (для hook-скрипта netfilter.d) read_candidates обработать список адресов кандидатов для блокировки по подсетям (запускается вручную или по расписанию) read_ndm_ipsets считать системные списки блокировки по ip lockout-policy (запускается вручную или по расписанию) save_ipsets сохранить списки накопленных адресов в файлы (запускается вручную или по расписанию) update_ipsets {custom|geo} обновить пользовательские списки адресов или подсети для геоблокировки (запускается вручную или по расписанию) update_crontab обновить задачи Antiscan в файле crontab История версий: Списки заблокированных IP/подсетей от пользователей Antiscan: Исходный код доступен на github: https://github.com/dimon27254/antiscan
  14. Нет, политики вам в этом случае не требуются. Вы для всего сегмента ставите ограничение в 200, а определенные устройства, для которых в настройках вы явно установите ограничение в 300, получат именно 300.
  15. К сожалению, для Домашней сети невозможно указать общее ограничение скорости через веб-интерфейс. Это требуется выполнить через CLI, первая команда в сообщении @FLK: Для конкретного устройства ограничение уже можно установить в веб-интерфейсе. Таким образом, для всех устройств сегмента ограничение будет 200 Мбит/с, а для избранных устройств - 300.
  16. Добрый день! Спасибо за напоминание по теме Отображение кнопок одновременно у нескольких серверов точно исправлено. А вот "след" от кнопок у меня воспроизводился в момент, когда отписывался по другим исправлениям в 4.3.1. Сейчас никак не хочет.. быть может, что-то "самоизлечилось" после автоматических обновлений браузера 😅
  17. Это ожидаемое поведение: А это уже недоработка со стороны системы. Я о ней довольно давно писал, пока что не исправлено:
  18. Не заработал. Поведение полностью идентично 4.3.0 - также требуется менять tls-priorities на сервере.
  19. Проверил в 4.3.1 - IP корректно добавляются. Спасибо!
  20. @eralde @Anna_ @Test Pilot В мобильной версии окно подтверждения может прокручиваться, даже если не занимает всю высоту видимой области: Проверял на KN-1012 с 4.3.1.
  21. @eralde @Anna_ @Test Pilot На ретрансляторах Mesh-системы возможность изменения часового пояса заблокирована. Это ограничение видно в Параметрах системы: Однако, в окне выбора страны никаких ограничений на смену часового пояса нет. Сохранение настроек повлечет за собой "ругань" системы в логе. Проверял на KN-3210 с 4.3.1.
  22. @eralde @Anna_ в 4.3.1 недочетик больше не воспроизводится. Спасибо за исправление!
  23. @eralde @Anna_ на последних preview с включением порта проблем нет. Спасибо!
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.