เซิร์ฟเวอร์อินเทอร์เน็ตที่พร้อมใช้งานได้เนื่องจากการโจมตี SYN ที่เป็นอันตราย

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 142641 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

อาการ

บนคอมพิวเตอร์ ที่กำลังเรียกใช้โพรโทคอล TCP/IP ที่มีการเชื่อมต่อกับอินเทอร์เน็ต บริการเครือข่ายบางส่วน หรือทั้งหมดที่มีให้พร้อมใช้งาน และข้อความแสดงข้อผิดพลาดเช่นต่อไปนี้ปรากฏบนหน้าจอไคลเอ็นต์ของเครือข่าย:
การเชื่อมต่อได้ถูกตั้งค่าใหม่ โดยโฮสต์ระยะไกล
อาการของบริการเครือข่ายทั้งหมดที่มีให้พร้อมใช้งานนี้อาจเกิดขึ้นบนคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการอื่นที่ไม่ใช่ Windows NT ตัวอย่างเช่น UNIX

สาเหตุ

ปัญหานี้เกิดขึ้นเมื่อคอมพิวเตอร์จะกลายเป็น เป้าหมายของการโจมตีที่เป็นอันตรายที่เรียกว่า TCP/IP "Flooding SYN" หรือ "SYN โจมตี

ผู้ใช้ที่เป็นอันตรายสามารถระบุเป้าหมายเครื่องจักรทั้งหมด หรือบริการ TCP เฉพาะเช่นเว็บเซอร์วิส การโจมตี focused บนโพรโทคอล TCP ที่ใช้ โดยคอมพิวเตอร์ทุกเครื่องบนอินเทอร์เน็ต และไม่เจาะจงกับระบบปฏิบัติการ Windows NT

วิธี SYN Flooding ทำงาน

ทำ SYN Flooding งานต่อไปนี้:
  • การร้องขอการเชื่อมต่อ TCP (SYN) ถูกส่งไปที่เครื่องคอมพิวเตอร์เป้าหมาย อยู่ IP ของแหล่งที่มาในแพ็คเก็ต "spoofed" หรือแทนที่ ด้วยอยู่ที่ไม่ใช้งานบนอินเทอร์เน็ต หรือที่อยู่ในคอมพิวเตอร์เครื่องอื่น ผู้โจมตีจะส่งจำนวนมาก SYNs TCP เหล่านี้เพื่อ tie ทรัพยากรที่มากที่สุดบนเครื่องคอมพิวเตอร์เป้าหมาย
  • เมื่อต้องการได้รับการร้องขอการเชื่อมต่อ เครื่องคอมพิวเตอร์เป้าหมายการจัดสรรทรัพยากรการจัดการ และติดตามการเชื่อมต่อใหม่ นั้นการตอบสนองกับคำ "SYN ACK" ในกรณีนี้ การตอบสนองถูกส่งไปยังอยู่ IP ไม่มีอยู่จริง "ปลอม"
  • ไม่มีการตอบสนองได้รับการ ACK. SYN กำหนด A เป็นค่าเริ่มต้นค่า Windows NT 4.0 คอมพิวเตอร์หรือการ 3.5 x จะ retransmit 5 ACK SYN ครั้ง doubling ค่าการหมดเวลาหลังจากแต่ละ retransmission ค่าหมดเวลาเริ่มต้นเป็นสามวินาที เพื่อลองใหม่หลายครั้งจะมีความพยายามที่ 3, 6, 12, 24 และ 48 วินาที หลังจาก retransmission ล่าสุด วินาที 96 ได้รับอนุญาตให้ก่อนแสดงขึ้นในการรับการตอบรับ และคอมพิวเตอร์ deallocates ทรัพยากรที่กำหนดก่อนหน้าชขนาดสำหรับการเชื่อมต่อ เวลาที่ผ่านไปทั้งหมดที่มีทรัพยากรในการใช้เป็นวินาที 189

วิธีการตรวจสอบว่า คอมพิวเตอร์ของคุณอยู่ภายใต้การโจมตีแบบ SYN

หากคุณสงสัยว่า คอมพิวเตอร์ของคุณเป็นเป้าหมายของการโจมตี SYN คุณสามารถพิมพ์คำสั่งต่อไปนี้ที่พร้อมท์รับคำสั่งเพื่อดูการเชื่อมต่อในสถานะ "SYN_RECEIVED":
netstat - n -p tcp
คำสั่งนี้อาจทำให้ข้อความต่อไปนี้จะปรากฏบนหน้าจอของคุณ:
การเชื่อมต่อที่ใช้งานอยู่
      Proto  Local Address         Foreign Address       State
      TCP    127.0.0.1:1030        127.0.0.1:1032        ESTABLISHED
      TCP    127.0.0.1:1032        127.0.0.1:1030        ESTABLISHED
      TCP    10.57.8.190:21        10.57.14.154:1256     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1257     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1258     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1259     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1260     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1261     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1262     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1263     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1264     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1265     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1266     SYN_RECEIVED
      TCP    10.57.8.190:4801      10.57.14.221:139      TIME_WAIT
				
ถ้ามีการเชื่อมต่อจำนวนมากอยู่ในสถานะ SYN_RECEIVED เป็นไปได้ว่า ระบบอยู่ภายใต้การโจมตี ตัววิเคราะห์คำของเครือข่ายสามารถใช้เพื่อติดตามปัญหาลงเพิ่มเติม และคุณอาจจำเป็นให้ติดต่อผู้ให้บริการอินเทอร์เน็ตของคุณเพื่อขอความช่วยเหลือในการพยายามการสืบค้นกลับแหล่งที่มา

ผลของการผูกอัพทรัพยากรการเชื่อมต่อจะ ขึ้นอยู่กับสแต็ค TCP/IP และแอปพลิเคชันในการฟังบนพอร์ต TCP For most stacks, there is a limit on the number of connections that can be in the half-open (SYN_RECEIVED) state. Once the limit is reached for a given TCP port, the target computer responds with a reset to all further connection requests until resources are freed.

การแก้ไข

Obtain the following update for Windows NT 3.51 or the latest Service Pack for Windows NT 4.0

Microsoft is committed to providing the best possible protection against these attacks from within the Windows NT operating system and has made a number of changes to its TCP/IP components available to customers in response to this threat.

This global key has been designed to protect against attacks and sets the other keys mentioned later in the article to known effective values. This key avoids having the administrator guess about which values would offer the most protection. It is strongly recommended that the following global keys be used:

SynAttackProtect
Key: Tcpip\Parameters
Value Type: REG_DWORD
Valid Range: 0, 1, 2
0 (no synattack protection)
1 (reduced retransmission retries and delayed RCE (route cache entry) creation if the TcpMaxHalfOpen and TcpMaxHalfOpenRetried settings are satisfied.)
2 (in addition to 1 a delayed indication to Winsock is made.)

หมายเหตุ:: When the system finds itself under attack the following options on any socket can no longer be enabled : sScalable windows (RFC 1323) and per adapter configured TCP parameters (Initial RTT, window size). This is because when protection is functioning the route cache entry is not queried before the SYN-ACK is sent and the Winsock options are not available at this stage of the connection.

Default: 0 (False)
Recommendation: 2
Description: Synattack protection involves reducing the amount of retransmissions for the SYN-ACKS, which will reduce the time for which resources have to remain allocated. The allocation of route cache entry resources is delayed until a connection is made. If synattackprotect = 2, then the connect on indication to AFD is delayed until the three-way handshake is completed. Also note that the actions taken by the protection mechanism only occur if TcpMaxHalfOpen and TcpMaxHalfOpenRetried settings are exceeded.

หมายเหตุ:: The following keys should only be altered if the above global key has proven to be ineffective or specific resource limits are being hit.

The changes are listed here:
*******************************************************************
*  1. Tcpip.sys times out half-open connections faster            *
*******************************************************************
				
A new version of Tcpip.sys has been produced that allows control of the number of times a response to a TCP connection request (SYN-ACK) will be retransmitted. Control is handled through a new registry parameter:
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \Tcpip
      \Parameters
       \TcpMaxConnectResponseRetransmissions
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 2
				
The default value for this parameter is now 3. The following table shows Windows NT 4.0 TCP/IP behavior for various values of this parameter:
Value  Retransmission Times  Elapsed Time  Comments
3      3, 6, and 12 seconds  45 seconds    Cleanup 24 secs after last retx
2      3, and 6 seconds      21 seconds    Cleanup 12 secs after last retx
1      3 seconds             9  seconds    Cleanup 6  secs after last retx
				
This parameter changes the default time that it takes to clean up a half- open TCP connection from 189 seconds to 45 seconds, and provides more granular control to the administrator. A site that is under heavy attack might set the value as low as "1". A value of "0" is also valid; however if this parameter is set to 0, SYN-ACKs will not be retransmitted at all, and will time out in 3 seconds. With the value this low, legitimate connection attempts from distant clients may fail.
*******************************************************************
*  2. NetBT has a Higher, Configurable Backlog                    *
*******************************************************************
				
NetBT (NetBIOS over TCP/IP) uses TCP port 139 and is used by Microsoft Network Services such as file and print sharing. Version 3.51 and 4.0 NetBT has a "backlog" of connection blocks available that is two plus an incremental number depending on the NetBT clients (such as the redirector, server, and any NetBIOS applications running). On a typical server, this number will be 7-11. A new version of NetBT has been produced that automatically allocates more connection blocks as needed, in a configurable manner.

On a connection event, it now checks to see if the number of free blocks is below 2, and if so, adds an "increment" number of blocks, where "increment" is configurable in the registry as shown here:
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \NetBt
      \Parameters
       \BacklogIncrement
           Value Type: REG_DWORD
           Valid Range: 1-0x14  (1-20 decimal)
           Default: 3
				
Each connection block consumes 78 bytes of memory. The total number of connection blocks that can be allocated by NetBT is also registry configurable:
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \NetBt
      \Parameters
       \MaxConnBackLog
           Value Type: REG_DWORD
           Valid Range: 1-0x9c40 (1-40,000 decimal)
           Default: 1000
				
MaxConnBackLog defaults to 1000, but can be set as high as 40,000. Connection blocks are "scavenged," or recycled, when the SYN-ACK retransmission timer expires and TCP fails the connection attempt.
*******************************************************************
*  3. Afd.sys has been modified to withstand large numbers of     *
*     "half-open" connections efficiently                         *
*******************************************************************
				
Windows Sockets applications such as ftp servers and web servers have their connection attempts handled by Afd.sys. Afd.sys has been modified to support large numbers of connections in the "half-open" state without denying access to legitimate clients. This is accomplished by allowing the administrator to configure a dynamic backlog.

The new version of Afd.sys supports four new registry parameters that can be used to control the dynamic backlog behavior.

EnableDynamicBacklog is a global switch to enable or disable dynamic backlog. It defaults to 0 (off), and this setting provides no change from the existing versions. Setting it to 1 enables the new dynamic backlog feature.
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \EnableDynamicBacklog
           Value Type: REG_DWORD
           Valid Range: 0,1
           Default: 0
           Suggested value for a system under heavy attack: 1
				
MinimumDynamicBacklog controls the minimum number of free connections allowed on a listening endpoint. If the number of free connections drops below this value, then a thread is queued to create additional free connections. This value should not be made too large, as the dynamic backlog code engages whenever the number of free connections falls below this value. Too large a value may lead to a performance reduction.
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \MinimumDynamicBacklog
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 0
           Suggested value for a system under heavy attack: 20
				
MaximumDynamicBacklog controls the maximum number of "quasi-free" connections allowed on a listening endpoint. "Quasi-free" connections include the number of free connections plus those connections in a half- connected (SYN_RECEIVED) state. No attempt is made to create additional free connections if doing so would exceed this value.
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \MaximumDynamicBacklog
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 0
           Suggested value for a system under heavy attack: Memory
           dependent. We recommend that this value does not exceed 20000 (decimal). This prevents exhaustion of the non-paged pool when under attack. 
				
DynamicBacklogGrowthDelta controls the number of free connections to create when additional connections are necessary. Be careful with this value, as a large value could lead to explosive free connection allocations.
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \DynamicBacklogGrowthDelta
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 0
           Suggested value for a system under heavy attack: 10 (0xa)
				
MaximumDynamicBacklog,
เมื่อต้องการใช้ประโยชน์จากการเปลี่ยนแปลงการ Afd.sys โปรแกรมประยุกต์ของ Windows Sockets ต้องโดยเฉพาะอย่างยิ่งขอ backlog มากกว่าค่าที่กำหนดค่าสำหรับ MinimumDynamicBacklog เมื่อพวกเขาออกของพวกเขาเรียก listen() โปรแกรมประยุกต์ Microsoft เช่นเซิร์ฟเวอร์ข้อมูลทางอินเทอร์เน็ต (ซึ่งมี backlog เป็นค่าเริ่มต้นของ 25) ที่จัดโครงแบบได้ รายละเอียดเฉพาะของแอพลิเคชันพร้อมใช้งานจาก Microsoft Knowledge Base ที่:
http://support.microsoft.com
โปรแกรมควบคุมที่ปรับเปลี่ยนสำหรับ Windows NT 3.51 และคำแนะนำสำหรับการติดตั้งดังกล่าวจะพร้อมใช้งาน จากสถานีการสนับสนุนของ Microsoft หรือ จากตำแหน่งของอินเทอร์เน็ตต่อไปนี้:
ftp://ftp.microsoft.com/bussys/winnt /winnt-public/fixes/usa/nt351/hotfixes-postsp5/syn-attack

สถานะ

Windows NT 4.0

ปัญหานี้ได้ถูกแก้ไขในการล่าสุด Microsoft Windows NT สหรัฐอเมริกา Service Pack สำหรับ Windows NT 4.0 สำหรับข้อมูลเกี่ยวกับการขอรับเซอร์วิสแพ็ค แบบสอบถามคำต่อไปนี้ในฐานความรู้ของ Microsoft:
servpack

windows NT 3.51

Microsoft ได้ยืนยันปัญหานี้อาจส่งผลบางระดับการรักษาความปลอดภัยช่องโหว่ใน Windows NT รุ่น 3.51 โปรแกรมแก้ไขด่วนที่สนับสนุนทั้งหมดจะพร้อมใช้งาน แต่จะไม่ได้อย่างสมบูรณ์ปัญหาทดสอบ และควรจะใช้กับระบบที่ได้ระบุว่าเป็นความเสี่ยงของการโจมตีเท่านั้น กรุณาประเมินของระบบของคุณสำหรับการเข้าถึงทางกายภาพ เครือข่าย และการเชื่อมต่ออินเทอร์เน็ต และปัจจัยอื่น ๆ เพื่อกำหนดระดับของความเสี่ยงต่อระบบของคุณ ถ้าระบบของคุณอย่างเป็นความเสี่ยง Microsoft แนะนำให้คุณใช้โปรแกรมแก้ไขด่วนนี้ มิฉะนั้น รอ Windows NT service pack ถัดไป ซึ่งจะประกอบด้วยโปรแกรมแก้ไขด่วนนี้ กรุณาติดต่อฝ่ายสนับสนุนด้านเทคนิคของ Microsoft สำหรับข้อมูลเพิ่มเติม

ข้อมูลเพิ่มเติม

เพิ่มเปลี่ยนแปลงรีจิสทรีเหล่านี้อาจมี affect adverse ในคลัสเตอร์ Exchange ของ Microsoft

คลัสเตอร์ Exchange ของ Microsoft (Exres.dll) มักเริ่มการเชื่อมต่อกับพอร์ต SMTP, IMAP, POP3 และ HTTP ในการทดสอบความพร้อมใช้งาน การทดสอบจะเหมือนกับเซสชันเทลเน็ตพอร์ต 25, 143, 110 หรือ 80

หากการทดสอบเสร็จเรียบร้อยแล้ว คลัสเตอร์ทราบว่า บริการพร้อมใช้งานสำหรับผู้ใช้ และทำเครื่องหมายเป็น "Alive" If the tests are not successful, the Cluster Administrator marks the resource as offline in Cluster Administrator, and logs an event in the Application log. The event is:

Event Type: Error
Event Source: MSExchangeCluster
Event Category: Services
Event ID: 2074
วันที่:วันที่
เวลา:เวลา
ผู้ใช้: n/a
คอมพิวเตอร์:computer name
Description: SMTP Virtual Server Instance - (125-VS2-NAME): Cluster Service failed the isalive checking for the resource.

คุณสมบัติ

หมายเลขบทความ (Article ID): 142641 - รีวิวครั้งสุดท้าย: 6 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
Keywords: 
kbnetwork kbmt KB142641 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:142641

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com