प्रौद्योगिकी साझेदारी

[HBZ Sharing] TCP फ्लड् आक्रमणं कथं परिहरितव्यम्

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

पारम्परिकजलप्रलयप्रहारस्य सिद्धान्तः

  1. यदा TCP द्वितीयहस्तप्रहारः अर्धसंयोजनं स्थापयति तदा अस्मिन् समये जलप्लावनम् आक्रमणं कर्तुं शक्यते
  2. अर्थात्, बहूनां अनुरोधाः TCP संयोजनानां आरम्भं कुर्वन्ति, सर्वरः एतान् अनुरोधाः अर्ध-संयोजनपङ्क्तौ स्थापयति यतः एते दुर्भावनापूर्णाः आक्रमणकारीः क्लायन्ट् तृतीयहस्तक्षेपस्य पुष्टिं न करिष्यन्ति, अतः एते अर्ध-संयोजनानि संसाधितुं न शक्यन्ते विमोचनं, सर्वरः समयसमाप्तिपर्यन्तं प्रतीक्षते, अर्ध-संयोजनपङ्क्तिः पूरिता भविष्यति, सामान्य-अनुरोध-सम्बद्धानां उत्तरं दातुं न शक्यते ।

सामान्यतया जलप्रलयस्य आक्रमणानां समाधानं कथं करणीयम्

  1. यदा सिन्कुकीज मोड चालू भवति तदा सर्वरः प्रथमहस्तप्रहारस्य समये (स्रोतपतेः, स्रोतपोर्ट्, गन्तव्यसङ्केतः, गन्तव्यपोर्ट् इत्यादि) इत्यस्य आधारेण हैशमूल्यं (SHA1) गणयिष्यति तथा च प्रथमहस्तप्रहारस्य समये यादृच्छिकसङ्ख्यां करिष्यति, ततः द्वितीयहस्तप्रहारस्य समये will use this उत्पन्नाः सिन्कुकीजः क्लायन्ट् प्रति प्रत्यागच्छन्ति यदा क्लायन्ट् तृतीयं हस्तप्रहारं पुष्टयति तदा सर्वरः सिंकूकीजः पूर्वस्य मेलनं करोति वा इति सत्यापयिष्यति स्थापित।
  2. अस्य उपायस्य लाभः : यदा सर्वरः न प्राप्नोति अथवा प्राप्ताः समन्वयनानि न मेलन्ति तदा TCP संयोजनं न स्थापितं भविष्यति । तथा च सिन्कुकीजस्य उपयोगं कुर्वन् सर्वरः अर्धसंयोजनपङ्क्तिं न निर्वाहयिष्यति, अर्थात् तुलनायै सिन्कुकीजस्य उपयोगेन अर्धसंयोजनस्य आवश्यकता नास्ति, अतः अर्धसंयोजनपङ्क्तिं परिहरति पूरितं भवति तथा च नूतनानां संयोजनानां प्राप्तिः निवारयति।

ये परिदृश्याः सिन्कुकीजः समाधानं कर्तुं न शक्नुवन्ति

  1. यदा बहूनां DDOS आक्रमणानां प्रारम्भः भवति तदा सिन्कुकीज-विधिः अपि लकवाग्रस्तः भविष्यति यत् CPU इत्यनेन बहूनां सिन्कुकीज-गणना कर्तव्या भवति, येन CPU-इत्यस्य वधः भवति यतः सिन्कुकीजस्य गणना CPU कार्यक्षमतायाः अपि उपभोगं करोति, अतः CPU DDOS इत्यस्य विशालं परिमाणं सम्भालितुं न शक्नोति अस्मिन् समये, एकमात्रः विकल्पः अस्ति यत् बैण्डविड्थ् वर्धयितुं हार्ड कैप् विन्यस्तुं च ।

अन्ये समाधानम्

  1. अर्ध-संयोजन-पङ्क्तिं पूर्ण-संयोजन-पङ्क्तिं च वर्धयन्तु (इयं पद्धतिः मूलतः विशाल-आक्रमणानां कृते अप्रभावी भवति)
  2. SYN+ACK पुनः प्रसारणस्य संख्यां न्यूनीकरोतु (TCP स्थिरसंयोजनं निर्वाहयितुम् पुनः प्रसारणेषु अवलम्बते), अर्थात् यदा सः बहूनां syn अनुरोधानाम् फ्लड् आक्रमणं प्राप्नोति तदा सर्वरः पुनः प्रयासं कुर्वन् भविष्यति यदि सः यावत् प्रतिक्रियां प्राप्तुं न शक्नोति अधिकतमं वारं न्यूनीकरोतु एतत् भवन्तं किञ्चित् राहतं दास्यति

कथं परीक्षितव्यं यत् भवतः उपरि जलप्लावनेन आक्रमणं कृतम् अस्ति वा इति

1. 先进行流量查看:
sar -n DEV 1 -h

然后只看eth0即可-->用rxkb/s 和 rxpck/s 这两列相除-->如果得出的包就50-60几字节,
那就说明是小包搞鬼,有可能遭受洪水攻击了,一般来说最大MTU = 1460

2. 如果发现是小包搞鬼,那就再进行网络抓包, 输入如下命令
tcpdump -i eth0 -n tcp port 80

3. 看有多少个[S], 这个表示发起TCP请求阶段,如果[S]过多,那就说明是洪水攻击,这是洪水攻击的特征


4. 进一步确认是洪水攻击,查询半连接的池子大小,以及当前半连接数量
半连接总大小: cat /proc/sys/net/ipv4/tcp_max_syn_backlog
当前半连接数: ss -s 或 netstat -n -p | grep SYN_RECV | wc -1



[S]: SYN,开始连接
[P]: PSH, 推送数据
[F]: FIN, 结束连接
[R]: RST, 重置连接
[.]: 没有Flag,可能是ACK 也可能是URG

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24