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?
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.
À 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.
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.
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
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. :)