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

Рекомендуемые сообщения

  • Ответов 277
  • Создана
  • Последний ответ

Топ авторов темы

Опубликовано (изменено)

От себя добавлю - штука эта имеет "накопительный" эффект - чем дольше работает, тем меньше мух летит на роутер)))) Главное не заиграться и самого себя в бан не отправить))))

Себе поставил

DIFFERENT_IP_THRESHOLD=3
Изменено пользователем FLK
Опубликовано
20 минут назад, FLK сказал:

От себя добавлю - штука эта имеет "накопительный" эффект - чем дольше работает, тем меньше мух летит на роутер)))) Главное не заиграться и самого себя в бан не отправить))))

Себе поставил

DIFFERENT_IP_THRESHOLD=3

Список заблокированных хостов и подсетей хранится в ОЗУ ? Или на флешке?

 

Опубликовано
1 минуту назад, MDP сказал:

Список заблокированных хостов и подсетей хранится в ОЗУ ? Или на флешке?

Списки заблокированных хостов и подсетей представляют собой ipset. Они не сохраняются где-либо в памяти роутера/флешки, и при каждой перезагрузке будут наполняться заново по мере поступления запросов на порты.

Опубликовано
5 минут назад, dimon27254 сказал:

Списки заблокированных хостов и подсетей представляют собой ipset. Они не сохраняются где-либо в памяти роутера/флешки, и при каждой перезагрузке будут наполняться заново по мере поступления запросов на порты.

Так...очень интересно, а реализовать сохранение в какой нибудь файл с некой периодичностью, а после перезагрузки формировать ipset из файла обратно реализуемо?

Опубликовано
1 минуту назад, MDP сказал:

Так...очень интересно, а реализовать сохранение в какой нибудь файл с некой периодичностью, а после перезагрузки формировать ipset из файла обратно реализуемо?

В целом, такое возможно. Однако, изначально я решил это не реализовывать, так как потребуется постоянная периодическая запись ipset на флешку/внутреннюю память, что может негативно сказаться на их ресурсе.

Опубликовано

...ещё бы сюда какую нибудь финтифлюшку приделать для защиты от брутфорсинга )))) ...вообще была бы "бомба". 

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

Опубликовано
1 минуту назад, MDP сказал:

...ещё бы сюда какую нибудь финтифлюшку приделать для защиты от брутфорсинга )))) ...вообще была бы "бомба". 

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

Тут только от надоедливых сканеров)

Опубликовано
7 минут назад, MDP сказал:

...ещё бы сюда какую нибудь финтифлюшку приделать для защиты от брутфорсинга )))) ...вообще была бы "бомба". 

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

зачем? это ведь уже есть из коробки

Опубликовано
Только что, Denis P сказал:

зачем? это ведь уже есть из коробки

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

 

Опубликовано
1 минуту назад, MDP сказал:

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

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

Опубликовано (изменено)
13 минут назад, MDP сказал:

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

 

если сильно хочется, можно системные наборы себе в файл хоронить, их легко опознать по признаку _NDM_BFD

Изменено пользователем Denis P
Опубликовано (изменено)
В 14.05.2025 в 13:57, Denis P сказал:

если сильно хочется, можно системные наборы себе в файл хоронить, их легко опознать по признаку _NDM_BFD

Если требуется защитить сторонние сервисы, которые находятся не на роутере (другое устройство со свои ip) - данный способ работать не будет. Таффик не будет проходить через INPUT.

Изменено пользователем avn
Опубликовано (изменено)

Способ интересный. Решил потестить

Спойлер
PORTS="80,443,22,8443,53"
if [ "$type" == "iptables" ]; then
	EXCLUDE_IPSET=localnet4
	IPSET=blockscan4
	MASK=255.255.255.0
	MASKINT=24
else
	EXCLUDE_IPSET=localnet6
	IPSET=blockscan6
	MASK=ffff:ffff:ffff:ff00::
	MASKINT=56
fi;

# Block scan
ipt _NDM_ACL_IN -t filter -i eth3 -p tcp -m multiport --dports $PORTS -m set ! --match-set ${EXCLUDE_IPSET} src -m connlimit --connlimit-mask $MASKINT --connlimit-above 20 -j SET --add-set $IPSET src
ipt _NDM_ACL_IN -t filter -i eth3 -p tcp -m multiport --dports $PORTS -m set ! --match-set ${EXCLUDE_IPSET} src -m conntrack --ctstate NEW -m recent --name $IPSET --mask $MASK --rsource --update --seconds 30 --hitcount 15 -j SET --add-set $IPSET src
ipt _NDM_ACL_IN -t filter -i eth3 -p tcp -m multiport --dports $PORTS -m set ! --match-set ${EXCLUDE_IPSET} src -m conntrack --ctstate NEW -m recent --name $IPSET --mask $MASK --rsource --set
ipt _NDM_ACL_IN -t filter -i eth3 -p tcp -m multiport --dports $PORTS -m set ! --match-set ${EXCLUDE_IPSET} src -j SET --add-set $IPSET-buf src
ipt _NDM_ACL_IN -t filter -i eth3 -p tcp -m multiport --dports $PORTS -m set --match-set $IPSET src -j DROP

 

 

_NDM_ACL_IN

Использую, т.к. проходит через input и forward

 

 

 

Изменено пользователем avn
Опубликовано
3 минуты назад, avn сказал:

Если требуется защитить сторонние сервисы, которые находятся не на роутере (другое устройство со свои ip) - данный способ работать не будет. Таффик не будет проходить через INPUT.

Речь была только о возможности сохранения системных наборов с "плохими адресами" в файл, при чем тут сторонние сервисы вообще? Этого никто не обещал.

Опубликовано
1 минуту назад, Denis P сказал:

Речь была только о возможности сохранения системных наборов с "плохими адресами" в файл, при чем тут сторонние сервисы вообще? Этого никто не обещал.

Ошибся цитатой, не Вам.

Опубликовано (изменено)
3 минуты назад, MDP сказал:

Тем, у кого серые IP наверное не актуально использовать данную программу.

Ну собственно да, не актуально практически

В основном она для белой статики как и написано в первом сообщении)

Изменено пользователем FLK
Опубликовано

Пожелания:
1) Сохранение заблокированных IP и подсетей + возможность банить перманентно
2) Возможность импортировать свои списки подсетей и ip  для превентивного бана

Опубликовано (изменено)
5 минут назад, kaguyashaa сказал:

Пожелания:
1) Сохранение заблокированных IP и подсетей + возможность банить перманентно
 

в версии 1.1 будет

Она пока на тесте, по первым впечатлениям работает)

Изменено пользователем FLK
Опубликовано
5 часов назад, kaguyashaa сказал:

Кстати, а оно работает только на TCP или ещё на UDP?

Идея была в защите роутера от сканеров портов (обычно это 22. 80, 443 и другие им подобные)

Опубликовано (изменено)

Вышла новая версия 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, если в них вносились изменения.

Изменено пользователем dimon27254
Опубликовано (изменено)
7 часов назад, kaguyashaa сказал:

Возможность импортировать свои списки подсетей и ip  для превентивного бана

В версии 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
Изменено пользователем dimon27254
Опубликовано

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

Опубликовано (изменено)
4 часа назад, snark сказал:

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

Бессрочное хранение включается только для списков заблокированных IP и подсетей. Список кандидатов на блокировку продолжает хранить записи в соответствии с установленным в конфиге сроком (DIFFERENT_IP_CANDIDATES_STORAGETIME), если вы явно не установите 0. При этом, кандидаты не сохраняются в постоянной памяти вовсе - при каждой перезагрузке роутера/скрипта они будут наполняться заново.

Вариант с аптаймом устройства в год я полноценно не рассматривал, т.к. лично у меня роутер работает от обновления к обновлению.
Однако, в данном случае на длительном аптайме полноценную точечную очистку записей реализовать не представляется возможным - максимальный срок хранения записей в ipset при использовании timeout составляет 2147483 секунды, что чуть меньше 25 дней. Ввиду этого ограничения при SAVE_IPSETS=1 значение timeout для ascn_ips и ascn_subnets полностью исключается и записи хранятся без срока.

Могу, например, к следующей версии исключить принудительную установку "бессрочного" хранения для ipset, чтобы вы могли и дальше устанавливать свой таймаут. Однако, в этом случае я не вижу смысла в сохранении в файлы вовсе, если, условно говоря, через день/несколько часов записи все равно удалятся.

Или есть вариант реализовать дополнительную задачу в cron, которая будет, например, раз в 3 месяца принудительно очищать все ipset и удалять сохраненные файлы, чтобы они могли наполняться "с нуля".

Изменено пользователем dimon27254
Опубликовано
4 часа назад, dimon27254 сказал:

Бессрочное хранение включается только для списков заблокированных IP и подсетей. Список кандидатов на блокировку продолжает хранить записи в соответствии с установленным в конфиге сроком (DIFFERENT_IP_CANDIDATES_STORAGETIME), если вы явно не установите 0. При этом, кандидаты не сохраняются в постоянной памяти вовсе - при каждой перезагрузке роутера/скрипта они будут наполняться заново.

Вариант с аптаймом устройства в год я полноценно не рассматривал, т.к. лично у меня роутер работает от обновления к обновлению.
Однако, в данном случае на длительном аптайме полноценную точечную очистку записей реализовать не представляется возможным - максимальный срок хранения записей в ipset при использовании timeout составляет 2147483 секунды, что чуть меньше 25 дней. Ввиду этого ограничения при SAVE_IPSETS=1 значение timeout для ascn_ips и ascn_subnets полностью исключается и записи хранятся без срока.

Могу, например, к следующей версии исключить принудительную установку "бессрочного" хранения для ipset, чтобы вы могли и дальше устанавливать свой таймаут. Однако, в этом случае я не вижу смысла в сохранении в файлы вовсе, если, условно говоря, через день/несколько часов записи все равно удалятся.

Или есть вариант реализовать дополнительную задачу в cron, которая будет, например, раз в 3 месяца принудительно очищать все ipset и удалять сохраненные файлы, чтобы они могли наполняться "с нуля".

Для правил iptables сразу маску /24 добавили? Вы же все равно ip кандидатов агрегируете по маске 24. Так пусть и правила работают по маске /24.

Опубликовано
12 минут назад, avn сказал:

Для правил iptables сразу маску /24 добавили? Так пусть и правила работают по маске /24.

Не совсем понял, что вы имеете ввиду и в каких именно из правил.
Для connlimit я маску не указываю явно, она автоматически ставится /32. 

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

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

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