No firewall da Linode consigo fazer isso, mas alem do campo IP tem outros campos para cada IP que eu quiser permitir/bloquear:

. Protocolo: tcp, udp, icmp e ipencap . Portas(campo de multipla seleção): custom, dns(53), http(80), https(443), mysql(3306) e ssh(22) . Source: todos IPV4, todos IPV6 e IP/Netmask

Seu banco de dados deveria ser aberto a rede externa mesmo?

Não, o banco de dados não precisa de acesso externo.

Qual seria sua recomendação para configurar esses campos para cada um dos IP's da Cloudflare?

Primeiro passo seria bloquear o acesso externo ao banco e permitir somente da rede interna.

Isso já pode te ajudar muito. Mas tome cuidado em como sua aplicacao chama o banco, confira se ela usa a rede interna.

Se voce optar pela solucao de bloquear um IP ou um CIDR inteiro, você então vai bloquear todos os prrotocolos/portas tcp/udp FILTRANDO apenas para esse IP ou CIDR, afinal, esse IP não deve sacessar sua rede.