Hi all,
Ik zit met het volgende. Onze PHP webapplicatie draait op Nginx achter Cloudflare. Alle requests komen binnen alsof Cloudflare onze applicatie bezoekt; het is immers een reverse proxy.
Anyway, Cloudflare stuurt het client IP adres (van de daadwerkelijke bezoeker) mee in de headers X-Forwarded-For en CF-Connecting-IP.
De X-Forwarded-For is eigenlijk als ik me niet vergis industry standard. Maar iedereen kan die header faken, dus we controleren of het inkomende IP van Cloudflare is en gebruiken dan de X-Forwarderd-For als IP-adres van de bezoeker. Dan weten we dat we die header in principe moeten kunnen vertrouwen.
Echter: als ik de docs van Cloudflare (https://support.cloudflar...dle-HTTP-Request-headers-) bekijk zie ik bij X-Forwarded-For staan:
Of is er niks aan de hand? We kunnen de applicatie ook ombouwen en de Cf-Connecting-IP header gebruiken, maar dat is imo een beetje tegen de standaarden in gaan. Alle grote open source libraries om requests af te handelen kijken ook alleen naar de X-Forwarded-For. Ook alle voorbeelden online om het originele Cloudflare bezoekers IP te tonen gaan uit van de X-Forwarded-For.
Is dit een security issue en moeten we switchen naar Cf-Connecting-Ip ? Of Checkt Cloudflare dit?
Ben benieuwd of iemand daar antwoord op kan geven. Ik neig een beetje naar het eerste, maar ik ben geen netwerk pro
Ik zit met het volgende. Onze PHP webapplicatie draait op Nginx achter Cloudflare. Alle requests komen binnen alsof Cloudflare onze applicatie bezoekt; het is immers een reverse proxy.
Anyway, Cloudflare stuurt het client IP adres (van de daadwerkelijke bezoeker) mee in de headers X-Forwarded-For en CF-Connecting-IP.
De X-Forwarded-For is eigenlijk als ik me niet vergis industry standard. Maar iedereen kan die header faken, dus we controleren of het inkomende IP van Cloudflare is en gebruiken dan de X-Forwarderd-For als IP-adres van de bezoeker. Dan weten we dat we die header in principe moeten kunnen vertrouwen.
Echter: als ik de docs van Cloudflare (https://support.cloudflar...dle-HTTP-Request-headers-) bekijk zie ik bij X-Forwarded-For staan:
Dat betekent imo dat als Jantje zijn eigen X-Forwarderd-For spooft/instelt, dat dit in onze applicatie alsnog zijn gespoofde IP wordt gezien als 'echt ip' en heeft onze 'Trusted Proxies' PHP-module die controleert of het verkeer vanaf Cloudflare komt geen enkel nut?Maintains proxy server and original visitor IP addresses. If there was no existing X-Forwarded-For header in the request sent to Cloudflare, X-Forwarded-For has an identical value to the CF-Connecting-IP header
Of is er niks aan de hand? We kunnen de applicatie ook ombouwen en de Cf-Connecting-IP header gebruiken, maar dat is imo een beetje tegen de standaarden in gaan. Alle grote open source libraries om requests af te handelen kijken ook alleen naar de X-Forwarded-For. Ook alle voorbeelden online om het originele Cloudflare bezoekers IP te tonen gaan uit van de X-Forwarded-For.
Is dit een security issue en moeten we switchen naar Cf-Connecting-Ip ? Of Checkt Cloudflare dit?
Ben benieuwd of iemand daar antwoord op kan geven. Ik neig een beetje naar het eerste, maar ik ben geen netwerk pro