Eind vorige week is op ons hostingplatform de instelling HostnameLookups uitgeschakeld. Deze instelling zorgt ervoor dat de webserver bij elk verzoek van een bezoeker een Reverse DNS-lookup gedaan wordt om de vertaling van IP-adres naar hostname te doen. Deze vertaling kan handig zijn, omdat een adres als a82-95-102-3.adsl.xs4all.nl beter te lezen en herkenbaarder is dan het bijbehorende IP-adres 82.95.102.3.

Het opzoeken van deze namen bij de adressen kost echter tijd. Normaal gesproken, bij goed werkende en goed ingestelde DNS-servers is deze tijd niet zo’n probleem. Bij een slecht werkende DNS-server moeten de websiteverzoeken van de bezoeker wachten totdat de webserver bepaald heeft dat er geen reverse DNS gedaan kan worden. Deze tijd kan oplopen tot meer dan 10 seconden, wat voor de betreffende bezoeker natuurlijk vervelend is, ook al is het zijn eigen Internetprovider die zijn zaakjes niet voor elkaar heeft.

Het is echter niet alleen vervelend voor de bezoeker, maar het kost ook extra verwerkingscapacteit van onze webservers. Gedurende de tijd dat het webserver-proces namelijk staat te wachten op het niet-komende antwoord, kan hij geen andere bezoekers helpen.

We hebben er dus voor gekozen om deze instellingen uit te zetten. Tijdens het verwerken van de logs om uw statistieken te verzorgen, wat elke nacht gebeurt, worden de lookups alsnog gedaan. Het kan dan echter veel efficienter, omdat het verwerkingsproces bij kan houden welke IP-adressen hij al gehad heeft. Hij hoeft elk IP-adres dus maar 1 keer op te zoeken.

Wat heeft het uitschakelen van HostnameLookups voor gevolgen?

Voor u als ontwikkelaar/klant: de environment-variabele ‘REMOTE_HOST‘ is niet meer beschikbaar. In PHP was deze te benaderen als $_SERVER[‘REMOTE_HOST’], in bijvoorbeeld Perl als $ENV{REMOTE_HOST}. Mocht u deze variabele gebruiken om bijvoorbeeld toegangscontrole te implementeren in PHP dan zult u dit even moeten aanpassen en de variabele REMOTE_ADDR gebruiken. Toegangscontrole verloopt dan op basis van IP-adres, wat sowieso verstandiger en veiliger is.

Mocht u gebruik maken van toegangscontrole middels .htaccess bestanden en de mod_authz_host-module dan zal dat gewoon blijven werken. Als Apache bijvoorbeeld onderstaande regels in een .htaccess-file tegenkomt dan zal hij alsnog de reverse-DNS lookups doen om te bepalen of de host binnen mag. In dat geval is ook de ‘REMOTE_HOST‘ weer beschikbaar.

Voor uw bezoekers betekent het dat uw site gemiddeld sneller laadt. Een kleine test laat zien dat de gemiddelde requesttijd omlaag gegaan is van 2,6 naar 2,2 seconden. In deze tijd is alles meegenomen van het moment dat de bezoeker de pagina opvraagt, tot het moment dat de webserver de verbinding sluit. Op een totaal van 20 miljoen hits per dag is dit een enorme tijdswinst!

Scan je eigen Magento shop op veiligheidslekken