Quel est l'avantage conféré par TCP timestamp?

j'ai un scan de sécurité qui me dit de désactiver les horodateurs TCP. Je comprends les raisons de la recommandation: le timestamp peut être utilisé pour calculer le temps de disponibilité du serveur, ce qui peut être utile à un attaquant (bonne explication sous la rubrique "TCP Timestamps" à http://www.silby.com/eurobsdcon05/eurobsdcon_silbersack.pdf).

cependant, je crois comprendre que les horodateurs TCP sont destinés à améliorer les performances TCP. Naturellement, le coût/bénéfice analyse, la dégradation de la performance est un coût élevé, peut-être trop élevé. J'ai du mal à comprendre combien, s'il y en a, le coût de la performance est susceptible d'être élevé. Des nœuds dans le cerveau du HIV vous aident?

40
demandé sur Paul Degnan 2011-10-24 22:53:08

5 réponses

La réponse est plus succinctement exprimé dans RFC 1323 - aller-retour de Mesure... L'introduction à la RFC fournit également un contexte historique pertinent...

   Introduction

   The introduction of fiber optics is resulting in ever-higher
   transmission speeds, and the fastest paths are moving out of the
   domain for which TCP was originally engineered.  This memo defines a
   set of modest extensions to TCP to extend the domain of its
   application to match this increasing network capability.  It is based
   upon and obsoletes RFC-1072 [Jacobson88b] and RFC-1185 [Jacobson90b].


  (3)  Round-Trip Measurement

       TCP implements reliable data delivery by retransmitting
       segments that are not acknowledged within some retransmission
       timeout (RTO) interval.  Accurate dynamic determination of an
       appropriate RTO is essential to TCP performance.  RTO is
       determined by estimating the mean and variance of the
       measured round-trip time (RTT), i.e., the time interval
       between sending a segment and receiving an acknowledgment for
       it [Jacobson88a].

       Section 4 introduces a new TCP option, "Timestamps", and then
       defines a mechanism using this option that allows nearly
       every segment, including retransmissions, to be timed at
       negligible computational cost.  We use the mnemonic RTTM
       (Round Trip Time Measurement) for this mechanism, to
       distinguish it from other uses of the Timestamps option.

la pénalité de performance spécifique que vous encourez en désactivant les horodateurs dépend de votre système d'exploitation de serveur spécifique et comment vous le faites (pour des exemples, voir ceci CFP doc sur le réglage des performances). Certains OS exigent que vous activiez ou désactiviez toutes les options RFC1323 à lorsque... d'autres vous permettent d'activer sélectivement les options RFC 1323.

si votre transfert de données est quelque peu étouffé par votre serveur virtuel (peut-être que vous avez seulement acheté le plan vhost bon marché), alors peut-être que vous ne pouvez pas utiliser des performances plus élevées de toute façon... peut-être que ça vaut le coup de les éteindre pour essayer. Si vous le faites, assurez-vous de comparer votre performance avant et après de plusieurs endroits différents, si possible.

22
répondu Mike Pennington 2011-10-25 02:38:15

À Daniel et à toute personne souhaitant des précisions:

http://www.forensicswiki.org/wiki/TCP_timestamps

" les horodateurs TCP sont utilisés pour fournir une protection contre les numéros de séquence enveloppés. Il est possible de calculer le temps de fonctionnement du système (et le temps de démarrage) en analysant les horodateurs TCP (voir ci-dessous). Ces durées de fonctionnement calculées (et les temps de démarrage) peuvent aider à détecter les systèmes d'exploitation réseau cachés (voir TrueCrypt), en reliant les adresses IP et MAC usurpées. ensemble, la liaison d'adresses IP avec des APs sans fil Ad-Hoc,etc."

c'est une vulnérabilité à faible risque dénotée dans la conformité PCI.

14
répondu psouza4 2012-09-17 17:41:24

pourquoi les gens de la sécurité voudraient que vous désactiviez les horodateurs? Quelle menace une estampille temporelle pourrait-elle représenter? Je parie que L'équipage du NTP ne serait pas satisfait de cela;^)

le Timestamp TCP lorsque activé vous permettra de deviner le temps de fonctionnement d'un système cible (nmap v-O. Savoir depuis combien de temps un système est opérationnel vous permettra de déterminer si les correctifs de sécurité qui nécessitent un redémarrage ont été appliqués ou non.

13
répondu R V Marti 2014-09-06 00:57:00

je ne le ferais pas.

sans timestamp, le mécanisme de Protection TCP contre les numéros de séquence enveloppés (PAWS) ne fonctionnera pas. Il utilise l'option timestamp pour déterminer que le changement de numéro de séquence soudain et aléatoire est un wrap (numéros de séquence 16 bits) plutôt qu'un paquet insensé provenant d'un autre flux.

si vous ne l'avez pas, alors vos sessions TCP éclateront de temps en temps en fonction de la vitesse à laquelle elles utilisent le numéro de séquence. espace.

à Partir de la RFC 1185:

ARPANET       56kbps       7KBps    3*10**5 (~3.6 days)
DS1          1.5Mbps     190KBps    10**4 (~3 hours)
Ethernet      10Mbps    1.25MBps    1700 (~30 mins)
DS3           45Mbps     5.6MBps    380
FDDI         100Mbps    12.5MBps    170
Gigabit        1Gbps     125MBps    17

prendre 45Mbps (bien dans les vitesses 802.11 n), Puis nous aurions un burp toutes les ~380 secondes. Pas horrible, mais ennuyeux.

pourquoi les gens de la sécurité voudraient que vous désactiviez les horodateurs? Quelle menace une estampille temporelle pourrait-elle représenter? Je parie que L'équipage du NTP ne serait pas satisfait de cela;^)

Hmmmmm, j'ai lu quelque chose à propos de L'utilisation des horodateurs TCP pour deviner la fréquence d'horloge de l'expéditeur? Peut-être que c'est ce que ils ont peur de? Je ne sais pas ;^)

les repères temporels sont moins importants pour l'estimation de la TRT que vous ne le pensez. Il se trouve que je les aime parce qu'ils sont utiles pour déterminer RTT au récepteur ou une middlebox. Toutefois, selon le canon de TCP, seul l'expéditeur a besoin d'une telle connaissance interdite ;^)

l'expéditeur n'a pas besoin d'horodatage pour calculer la RTT. t1 = timestamp lorsque j'ai envoyé le paquet, t2 = timestamp lorsque j'ai reçu L'ACK. RTT = t2-t1. Faire un peu de lissage, et vous êtes bon pour aller!

...Daniel

10
répondu Daniel 2014-01-24 03:49:50

on m'a posé une question similaire à ce sujet, aujourd'hui. De mon point de vue est comme suit:

un système non surveillé est la vulnérabilité, et non si l'attaquant peut facilement la trouver. La solution est donc de corriger vos systèmes régulièrement. Désactiver les timestamps TCP ne fera rien pour rendre vos systèmes moins vulnérables - c'est simplement la sécurité par l'obscurité, qui n'est pas une sécurité du tout.

tourner la question sur sa tête, envisager de scripter une solution qui utilise TCP horodatage pour identifier les hôtes sur votre réseau qui ont les plus longues durées de fonctionnement. Ce sont généralement vos systèmes les plus vulnérables. Utilisez cette information pour prioriser la correction, pour vous assurer que votre réseau reste protégé.

N'oubliez pas que des informations comme uptime peuvent aussi être utiles pour les administrateurs système. :)

7
répondu Oliver Jones 2016-05-12 12:45:00