Vettori di rilevamento del server

2

Ho un server web e mi piacerebbe anonimizzarlo il più possibile, per prevenire gli exploit non dichiarati diretti sul mio server web (crack originali).

Le mie idee:

  • cambia intestazione server
  • personalizza 404 pagine

Intestazioni della mia home page:

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Encoding: gzip
Last-Modified: Mon, 26 Aug 2013 14:33:29 GMT
ETag: "3159055821"
Content-Type: text/html
Expires: Tue, 27 Aug 2013 22:42:28 GMT
Cache-Control: max-age=21600
Content-Length: 939
Date: Tue, 27 Aug 2013 16:42:28 GMT
Server: unspecified

Apri porte ( nmap ):

  • link
  • ssh

Non viene generato alcun contenuto dinamico (ad es. nessun PHP o altro).

Domanda: sono necessari ulteriori passaggi per sovvertire il rilevamento di server / versione?

    
posta FakeRainBrigand 27.08.2013 - 18:54
fonte

1 risposta

3

Il sistema operativo stesso verrà riconosciuto dagli aggressori, analizzando i dettagli sottili dei pacchetti TCP / IP . Nmap può farlo facilmente. Il server SSH ha anche un banner (inviato come primo elemento alla connessione) che può dare molti indizi. Allo stesso modo, il software che utilizzi sarà probabilmente rivelato dalle sue dinamiche . Quello che viene considerato come una singola "intestazione HTTP" atomica verrà inviato come una o più chiamate elementari write() , che verranno poi emesse come alcuni pacchetti IP; la posizione della divisione, e il tempo esatto tra le emissioni, potrebbero rivelarsi abbastanza importanti sul software coinvolto.

L'ordinamento delle intestazioni HTTP può anche dare indizi sul software del server. Vedo che usi gzip compressione: sarà coinvolto zlib , ma non tutte le versioni comprimono lo stesso input per la stessa identica sequenza di byte (la decompressione è completamente deterministica, ma la compressione lascia aperte molte scelte, e ogni versione di zlib può fare scelte distinte quando si sforza di raggiungere il massimo tasso di compressione o operazione più veloce).

L'unico modo sicuro per nascondere la tua versione del software è scrivere il tuo software (e non pubblicarlo mai). Scrivere il proprio sistema operativo o almeno lo stack TCP / IP, anche se fattibile, è uno sforzo piuttosto scoraggiante.

Comunque, sosterrò che prevenire il rilevamento della versione non è veramente rilevante. Se un attaccante conosce uno o due attacchi non pubblicati, allora ... li proverà. Nel caso in cui. Non ha bisogno di conoscere la versione esatta del software per quello. Conoscere la versione esatta è utile solo quando l'attaccante ha centinaia o migliaia di exploit tra cui scegliere e non ha abbastanza tempo per provarli tutti; questa situazione non si applica a exploit non dichiarati , che tendono ad essere preziosi perché sono rari . Un determinato attaccante si considererebbe davvero fortunato se ha accesso a più di due o tre exploit che sono, ancora, sconosciuti al grande pubblico.

    
risposta data 27.08.2013 - 19:10
fonte

Leggi altre domande sui tag