У меня есть диапазон IPS 197.192.xx, который изо дня в день атакует мои pop/imap/smtp-серверы методом перебора.
У меня установлен IP-сет, который блокирует все IP-адреса, пытающиеся взломать мой сервер.
Я хотел бы заблокировать доступ для pop/smtp/imap для всех IP-адресов, начинающихся с 197.192
Для этого я ввел следующую команду:
ipset -A myIpset 197.192.0.0/24
но это добавило 65536 IP-адресов в мой IPset, сделав его огромным, и теперь я не могу добавлять в него больше IP-адресов.
Есть ли другой, более элегантный способ сделать это?
решение1
Вы можете добавить еще один ipset для блокировки, на этот раз типа hash:net
, и добавить 197.192.0.0/16 к этому ipset. Или заменить свой ipset на один из типа , hash:net
поскольку hash:net
может также хранить IP-адреса (сетевая маска 32).
Чтобы преобразовать из hash:ip
в hash:net
:
ipset save myIpset > myIpset &&
ipset destroy myIpset &&
sed s/:ip/:net/ myIpset | ipset restore &&
ipset add myIpset 197.192.0.0/16
решение2
Вы можете просто не использовать ipset для этого; iptables может довольно легко сопоставлять сети:
iptables -I INPUT -s 197.192.0.0/16 -p tcp --dports smtp,imap,pop3 -j DROP
или похожие.
Кстати: Вы сообщили о насилии[email protected]как запрошено в AfriNIC Whois? Стоит попробовать...