A filtragem deve ser feita no nível da AWS. Você pode adicionar um firewall de software adicional na instância (ou como outra instância entre o IGW e a instância), o Pfsense deve permitir o bloqueio de firewall com base no nome do host.
Escrevi um web hook para o PayPal IPN e desejo apenas permitir o acesso de servidores do PayPal na porta 80/443 à instância do EC2 que hospeda o ponto de extremidade.
No console do grupo de segurança do EC2, só posso filtrar por IP / Intervalo. Isso não é adequado, pois o PayPal diz que altera o endereço IP aleatoriamente e sem aviso prévio, portanto, é necessário usar os nomes de host.
Eu já vi respostas aqui que recomendam ampliar o bloco de IP, etc., mas nenhuma solução direta real. Uma solução proposta foi atualizar o Grupo de segurança usando a API da AWS.
Esta é a melhor opção? O que eu poderia fazer é ter uma tarefa agendada para comparar o IP atual que o host do PayPal resolve até o último endereço IP conhecido. Se forem diferentes, atualize o grupo do AWS EC2.
Eu executaria essa tarefa na mesma máquina, porque, ei, se a máquina parar, o acesso ao ponto de extremidade não estará disponível de qualquer maneira.
Esta é a solução mais adequada? Eu farei o mesmo para minha casa, onde tenho um problema semelhante.
A filtragem deve ser feita no nível da AWS. Você pode adicionar um firewall de software adicional na instância (ou como outra instância entre o IGW e a instância), o Pfsense deve permitir o bloqueio de firewall com base no nome do host.
Os grupos de segurança não fazem filtragem de nome de host, apenas intervalos de IP ou outras referências lógicas na AWS.
Como a AWS oferece uma API para SGs, você pode atualizá-los à medida que os endereços IP mudam, embora esse método pareça um pouco frágil demais para um serviço de produção.
Existem muitas outras opções disponíveis, embora elas exijam um pouco mais de trabalho. Por exemplo, a configuração de um proxy permitiria que você controlasse o acesso por meio do nome do host, por exemplo.
A AWS oferece um guia detalhado para instalar e configurar o squid aqui link
Este é um snippet rápido para você ter uma ideia do que está envolvido:
$ sudo vim /etc/squid/squid.conf
acl s3 dstdom_regex .*s3\.amazonaws\.com
acl s3 dstdom_regex .*s3\.ap-southeast-2\.amazonaws\.com
acl s3 dstdom_regex .*s3\.ap-southeast-1\.amazonaws\.com
http_access allow localnet s3
$ sudo service squid restart