Le Elastic Load Balancer d'Amazon prend en charge le protocole PROXY version 1. Cela permet au serveur derrière le répartiteur de charge de déterminer l'adresse IP source d'origine d'une connexion client.
Cependant, la spécification du protocole précise clairement dans les sections 2 et 5 que vous devez d'une manière ou d'une autre vous assurer que seuls les points de terminaison autorisés peuvent se connecter à un port prenant en charge ce protocole. Sinon, un utilisateur malveillant pourrait se connecter directement au serveur, contourner le proxy et envoyer un en-tête PROXY revendiquant n'importe quelle adresse IP source souhaitée.
Ma question est la suivante : comment faites-vous cela avec ELB ? Autant que je puisse en juger, il n'y a pas de liste fixe d'adresses IP source autorisées à se connecter à vos serveurs. Il n'y a pas moyen de restreindre un port pour que seul votre ELB puisse s'y connecter. Il semble que n'importe qui puisse créer une instance EC2 et se connecter directement à votre serveur sur le même port vers lequel le ELB effectue la mise en proxy, se faire passer pour le répartiteur de charge et prétendre se connecter depuis n'importe quelle adresse IP souhaitée.
Cela ne peut pas être correct. Qu'est-ce que j'ai manqué ?