
近々侵入テストを実施し、いくつかの問題をクリーンアップする予定です。その 1 つが Windows の TCP タイムスタンプです。単純な NMAP スキャンで TCP タイムスタンプの推測値が表示されますが、これは実際にはかなり正確です。当社では Sonicwall ファイアウォールを実行していますが、テクニカル サポートによると、ファイアウォール レベルではタイムスタンプを削除できないとのことです。Windows 環境を見ると、次のコマンドが機能するようです。
To set using netsh:
netsh int tcp set global timestamps=disabled
To set using PowerShell cmdlets:
Set-NetTCPSetting -SettingName InternetCustom -Timestamps Disabled
適用してサーバーを再起動した後も、NMAP はタイムスタンプを表示するようです。
これでうまくいった人はいますか? それとも、これを試みているのは私だけでしょうか :) 推奨されていないようですが、どのように対処しますか?
ありがとう。
答え1
TCP タイムスタンプは、パフォーマンスを向上させるだけでなく、遅延パケットによるデータ フローの混乱を防ぐためにも使用されます。TCP タイムスタンプを無効にすると、パフォーマンスが低下し、接続の信頼性が低下することが予想されます。これは、TCP タイムスタンプを無効にする方法に関係なく当てはまります。
ミドルボックスによってパケットに加えられた変更は、TCP エンドポイントがそのような変更を考慮する必要がないため、追加の問題を引き起こす可能性があります。
TCP タイムスタンプは、時間の経過とともに単調に増加する必要があります。したがって、必然的に予測可能になります。この予測可能性が問題になるという文書は見たことがありません。
技術的には、初期オフセットと増加率を変更して、ある IP アドレスに送信するタイムスタンプを使用して別の IP アドレスに送信するタイムスタンプを予測できないようにすることが可能です。
したがって、私の推奨は明確です。
- ファイアウォールのタイムスタンプを変更しないでください。
- 予測可能なタイムスタンプが問題となる理由とエンドポイントの推奨構成を文書化した追加情報をペンテスターに要求します。
- 必要に応じてエンドポイントに構成設定を適用します。