Você não pode fazer com que o sistema de firewall do iptables leia o conteúdo e o bloco da camada HTTP. Existem alguns módulos de correspondência "camada 7" disponíveis, mas geralmente não são boas escolhas nem razoavelmente suportáveis.
Parte do problema é que o cabeçalho é provável de três a cinco pacotes abaixo da linha da conexão inicial, e você tem que manter um monte de estado para começar a trabalhar de onde veio. (A menos que o balanceador de carga o coloque em uma opção de IP ou algo assim, o que provavelmente não acontece.)
Você ficaria melhor com uma das muitas ferramentas, como fail2ban , que processam registros em busca de ofensas conteúdo, em seguida, adicionar regras iptables ou - utilmente - executar alguma outra ação, como fazer o que for possível para obter bloqueio a montante do ataque.
Se você não pode bloquear o ataque fora do seu sistema, o melhor que você pode fazer é colocar algum tipo de proxy em seu sistema entre o servidor web e o balanceador de carga e fazer isso - mas somente se o ataque não for hostil.
Isso ainda custa substancialmente, mas pelo menos protege seu servidor de aplicativos das solicitações incorretas e oferece um sistema muito mais simples para operar.