web-dev-qa-db-ja.com

TCP timestamp?

TCPタイムスタンプを無効にするように指示するセキュリティスキャンが見つかりました。推奨の理由を理解しています。タイムスタンプを使用してサーバーのアップタイムを計算できます。これは攻撃者に役立ちます( http://www.silby.com/eurobsdcon05の「TCP Timestamps」という見出しの下に良い説明があります/eurobsdcon_silbersack.pdf )。

ただし、TCPタイムスタンプはTCPパフォーマンスを向上させることを目的としていることを理解しています。当然、コスト/利益分析では、パフォーマンスの低下は大きな、場合によっては大きすぎるコストです。パフォーマンスコストがどれくらいあるのかを理解するのに苦労しています。ハイブマインド内のノードは支援する必要がありますか?

43
Paul Degnan

答えは RFC 1323-ラウンドトリップ測定 ...で最も簡潔に表現されています。RFCの概要は、いくつかの関連する歴史的背景も提供します...

   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.

タイムスタンプを無効にすることで発生する特定のパフォーマンスの低下は、特定のサーバーのオペレーティングシステムとその方法によって異なります(たとえば、これを参照してください パフォーマンスチューニングに関するPSCドキュメント )。一部のOSでは、すべてのRFC1323オプションを一度に有効または無効にする必要があります...他のOSでは、RFC 1323オプションを選択的に有効にできます。

仮想サーバーによって何らかの形でデータ転送が抑制されている場合(おそらく、安価な仮想ホストプランを購入しただけかもしれません)、とにかく高いパフォーマンスを使用できない可能性があります。その場合は、可能であれば、いくつかの異なる場所からパフォーマンスの前後をベンチマークしてください。

24
Mike Pennington

ダニエルと説明を必要とする他の人へ:

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

「TCPタイムスタンプは、ラップされたシーケンス番号に対する保護を提供するために使用されます。TCPタイムスタンプを分析することにより、システムの稼働時間(およびブート時間)を計算できます隠されたネットワーク対応オペレーティングシステムの検出(TrueCryptを参照)、なりすましIPアドレスとMACアドレスのリンク、IPアドレスとアドホックワイヤレスAPなどのリンクなど。」

PCI準拠で示されている低リスクの脆弱性です。

14
psouza4

セキュリティ担当者がタイムスタンプを無効にすることを望むのはなぜですか?タイムスタンプが表す可能性のある脅威は何ですか? NTP乗組員はこれに不満だろう; ^)

TCP有効な場合のタイムスタンプにより、ターゲットシステムの稼働時間を推測できます(nmap v -O。適用されているかどうか。

12
R V Marti

しません.

タイムスタンプなしでは、TCPラップされたシーケンス番号に対する保護(PAWS)メカニズムは機能しません。タイムスタンプオプションを使用して、突然でランダムなシーケンス番号の変更がラップ(16ビットシーケンス番号)ではなく別のフローからの異常なパケット。

これがない場合、TCPセッションは、シーケンス番号スペースをどれだけ速く使用しているかに応じて、時々げっぷをします。

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

45Mbps(802.11nの速度内)を使用すると、〜380秒ごとにげっぷが発生します。恐ろしくありませんが、迷惑です。

セキュリティ担当者がタイムスタンプを無効にすることを望むのはなぜですか?タイムスタンプが表す可能性のある脅威は何ですか? NTP乗組員はこれに不満だろう; ^)

うーん、私はTCPタイムスタンプを使って送信者のクロック周波数を推測しますか?これは恐らく恐ろしいことでしょうか?わかりません; ^)

あなたが思うよりも、タイムスタンプはRTT推定にとって重要ではありません。レシーバーまたはミドルボックスでRTTを決定するのに役立つので、私はそれらが好きです。ただし、TCPの大砲によれば、送信者だけがそのような禁じられた知識を必要とします; ^)

送信者は、RTTを計算するためにタイムスタンプを必要としません。 t1 =パケットを送信したときのタイムスタンプ、t2 = ACKを受信したときのタイムスタンプ。 RTT = t2-t1。その上で少しスムージングを行うと、あなたは行ってもいいです!

...ダニエル

10
Daniel

今日、このトピックについて同様の質問をされました。私の見解は次のとおりです。

パッチを当てていないシステムは脆弱性であり、攻撃者が簡単に見つけることができるかどうかではありません。したがって、解決策はシステムに定期的にパッチを適用することです。 TCPタイムスタンプはシステムの脆弱性を減らすために何もしません-それは単にセキュリティによるセキュリティである、あいまいさによるセキュリティです。

疑問に答えるには、TCPタイムスタンプを使用して、稼働時間が最も長いネットワーク上のホストを特定するソリューションをスクリプト化することを検討してください。これらは通常、最も脆弱なシステムです。ネットワークの保護を維持するためのパッチ適用。

稼働時間などの情報は、yourシステム管理者にも役立つことを忘れないでください。 :)

8
Oliver Jones