Opieranie bezpieczeństwa na ukrywaniu informacji o wykorzystanych rozwiązaniach nie ma prawa być skuteczne. Z drugiej jednak strony przyjęło się, że należy minimalizować ilość informacji, jakie system dostarcza o sobie, swoim działaniu, występujących błędach i wykorzystywanych komponentach. W przypadku aplikacji webowej komponentem, który jest najbardziej chyba widoczny, jest serwer WWW. Zwykle usuwa się ze zwracanych przez serwer nagłówków informację nie tylko o wersji serwera, ale również o jego typie. Często również wstawia się informację fałszywą, po to, by zmylić atakującego, lub raczej narzędzia/skrypty opierające się na zwracanej przez serwer identyfikacji wykorzystanego oprogramowania.
httprecon - fingerprinting
W trakcie testów rozpoznanie wykorzystywanej aplikacji i jej wersji jest istotne. Z tego powodu istnieją rozwiązania mające na celu fingerprinting serwera. Jednym z bardziej znanych jest oczywiście HMAP, po części dlatego, że w oparciu o niego powstał plugin do Nessusa. HMAP jest wykorzystywany również przez projekt w3af. Można mieć jednak pewne zastrzeżenia co do aktualności i dokładności tego narzędzia. Można też wspomnieć projekt httprint, lecz również aktualność tego narzędzia pozostawia nieco do życzenia.
Od pewnego czasu intensywnie rozwija się inne narzędzie - httprecon. Ja już włączyłem je do zestawu podstawowych narzędzi. Zasada jego działania opisana jest tutaj. Baza danych (fingerprintów) również jest dostępna online, można ją sobie spokojnie przejrzeć nawet bez pobierania aplikacji.
I jeszcze jedno - jeśli zmienia się już nagłówek serwera, to warto go zmienić sensownie. Sensownie, to znaczy tak, by na pierwszy rzut oka nie wyglądał na sfałszowany. Trudno uznać za prawdopodobny nagłówek twierdzący, że serwer to Apache 2000 albo IIS NG.