Как заблокировать сайт штатными средствами ubuntu?
Чтобы не "тупили", замените "-j DROP" на "-p tcp -j REJECT --reject-with tcp-reset" или на "-j REJECT --reject-with icmp-net-prohibited".
1) поменять правила ACCEPT и DROP местами
2) используй ipset, адреса в который можно добавлять резолвингом по крону или узнаешь с какого-нибудь bgp-резолвера.
А виджеты на сайтах висят скорее всего из-за не всех фильтруемых IP-шников. Узнай все его адреса и отфильтруй их.
Но все же прокси для этого подходит лучше.