IP для внесения в черный список

M2
На сайте с 11.01.2011
Offline
324
328

Всем привет!

Следующая информация будет полезна тем, у кого часто ломают сайты, почту, рассылают спам и т.д.... в общем - чтобы по максимуму закрыть сервер / VPS от нападок злоумышленников.

Многие здесь уже знают, что я сам держу свой почтовый сервер вот уже 5 лет. Приходилось бороться со спамом, взломами и т.д. Кое-какого опыта поднакопил, коим и делюсь.

Как показала практика, чаще всего спам и атаки идут с азиатских стран: Китай, Япония, Корея, Турция и т.д. Сюда же относятся исламские страны - ОАЭ, Иран, Ирак... всех их я предпочитаю "закрывать" через ipset.

На этом сайте имеются данные по каждой ASN. Жалко, конечно, что вот такого нет:


iptables -A INPUT -m asn --asn-number AS11111 -j DROP

Именно поэтому я проделал довольно большую работу: с вышеуказанного сайта собрал подсети ASN, рассортировал их соответствующим образом и написал скрипт на баш, который создает блок ipset и загоняет туда все IP из всех ASN данной страны.

Итак, как же пользоваться?

1. Скачиваете файл по ссылке: https://yadi.sk/d/4QxCFIQhaVXBOQ

2. Распаковываете его на сервере, например, куда-нибудь в /tmp/

3. Переходите в папку turkey - видите огромное количество папок вида ASN12345, где 12345 - номер ASN. В корне папки будет файл script. Его нужно сделать исполняемым и просто запустить. В итоге у вас выполнится:


ipset create turkey_ipv4 nethash
ipset create turkey_ipv6 nethash family inet6

В каждой папке с ASN есть два файла: ipv4 и ipv6. В них записаны подсети IP соответствующих версий. Скрипт проходит по папкам, читает каждый файл и построчно записывает всё либо в turkey_ipv4 (для IPv4) либо в turkey_ipv6 (для IPv6).

После того, как вы это сделаете, нужно будет эти ipset добавить в iptables. У меня это в скрипт не включено, поскольку имеет значение, под каким номером добавлять правило. Если вы просто хотите добавить его в конец, делайте так:


iptables -A INPUT -m set --match-set turkey_ipv4 src -j DROP
ip6tables -A INPUT -m set --match-set turkey_ipv6 src -j DROP

если нужно добавить правило в середину под каким-то номером, или в начало, то так:


iptables -I INPUT 7 -m set --match-set turkey_ipv4 src -j DROP
ip6tables -I INPUT 7 -m set --match-set turkey_ipv6 src -j DROP

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


iptables -L INPUT -v -n --line-numbers
------------------- Крутые VPS и дедики. Качество по разумной цене (http://cp.inferno.name/view.php?product=1212&gid=1) VPS25OFF - скидка 25% на первый платеж по ссылке выше
Mik Foxi
На сайте с 02.03.2011
Offline
930
#1

mark2011, зачем вы включаете ipv6 для почты, чтоб с ними потом бороться? :D

Антибот защита сайта от накрутки поведенческих, от спама, взлома и поиска xss, от хит и клик ботов, от парсинга и кражи контента, снижение нагрузки на сервер - https://antibot.cloud/ Вам все еще конкуренты генерят отказы?
M2
На сайте с 11.01.2011
Offline
324
#2

foxi, честно? Очень большой холивар можно развести на эту тему... ну включаю и всё))) кстати по логам спамят пока в основном с ipv4. Просто в данный файл я включаю все адреса. Для тех, кто не хочет блокировать ipv6 - там очень простые изменения в файле надо произвести и всё, будет блокироваться только ipv4.

skapunker
На сайте с 15.01.2014
Offline
190
#3

"Многие здесь уже знают, что я сам держу свой почтовый сервер вот уже 5 лет."

Ржу нимагу) че заняться нечем больше. Все равно это типичный Г почт сервер.

Мои сайты ищут дно. Я больше не СЕО гуру... Я ухожу в отставку. Однако, я по прежнему царь вебмастеринга.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий