SYN攻擊是(shì)現(xiàn)在最常見(jiàn)的(≈✔¥de)DDoS攻擊之一(yī),這(zhè)是(shì)一(yī)種利用γ>™®(yòng)TCP/IP協議(yì)3次握手的(d e)原理(lǐ),發送大(dà)量的(de)建立連接的← (de)網絡包,但(dàn)不(bù)實際建立連接,最終導緻♠↔>γ被攻擊服務器(qì)的(de)網絡隊列被占滿,無法被正常用(yòng)戶訪問♥ ε(wèn)。Linux服務器(qì)在運營過β₹®程中遭到(dào)SYN,DDoS攻擊時(shí),最直接的(de)方法就(jiù)是(shì)接入墨者安♠¶β全高(gāo)防雲防禦或添置硬件(jiàn)防火(h¥≈§uǒ)牆。有(yǒu)些(xiē)企業(yè)可(kě)能(nén↑₽g)覺得(de)成本太高(gāo),那(nà)也(yě)可(kě)以考慮利用(∞ ÷yòng)Linux 系統本身(shēn)提供的(d✔≈&e)防火(huǒ)牆功能(néng)配置來(lái)防禦。
一(yī)、添加以下(xià)參數(shù)
二、參數(shù)詳解
1、net.ipv4.tcp_synacδ★∑k_retries = 0
表示回應第二個(gè)握手包(SYN+ACK包)≤₩±給客戶端IP後,如(rú)果收不(bù)到(dào)δ™第三次握手包(ACK包)後,不(bù)進行(xíng)重試,加快(kβ∞uài)回收“半連接”,不(bù)要(' ≤yào)耗光(guāng)資源。不(bù)修改這(zh↔±è)個(gè)參數(shù),模拟攻擊,10秒(miλ∏'ǎo)後被攻擊的(de)80端口即無法服務,機(jī)器(↓£qì)難以ssh登錄; 用(yòng)命令 netsta€Ωt -na | grep SYN_RECV檢測“半連接&r✘↑dquo;hold住180秒(miǎo);
2、net.ipv4.tcp_syn_retr∏φies = 0
默認是(shì)5,當沒有(yǒu)收到(dào)服務器(q♠ ∞ì)端的(de)SYN+ACK包時(shí),客戶端重發SYλ<α←N握手包的(de)次數(shù);
3、net.ipv4.tcp_max_s♠"yn_backlog = 20480
半連接隊列長(cháng)度,增加SYN隊列長(c λháng)度到(dào)20480:加大(dà)SY↑βN隊列長(cháng)度可(kě)以容納更多(duō)等待< ♣連接的(de)網絡連接數(shù),具體(tǐ)∞≤♥多(duō)少(shǎo)數(shù)值受限于內(nèi☆÷∞φ)存。
4、fs.file-max = 8192∏÷ 00
系統允許的(de)文(wén)件(jiàn)句柄的(de)最大(dà)數™♠(shù)目,因為(wèi)連接需要(yào)占用(yòng)文→σ(wén)件(jiàn)句柄;
5、net.core.somaxconn = 65536
用(yòng)來(lái)應對(duì)↑→↕突發的(de)大(dà)并發connect請(qǐng)♥↔☆£求;
6、net.core.wmem_max = 16777216
最大(dà)的(de)TCP數(shù)據發送緩←¥★×沖(字節)
7、net.core.netdev_max_backlo® →g = 165536
網絡設備接收數(shù)據包的(de)速度比內(nèi)核處理(lǐ)這(z♦★≥>hè)些(xiē)包的(de)速度快(kuài)時(shí),允許送到(φ₽↕dào)隊列的(de)數(shù)據包的(d ∑★•e)最大(dà)數(shù)目;
8、net.ipv4.ip_local_port_range = 10000 $&≠65535
本機(jī)主動連接其他(tā)機(jī)器(qì)時(s > hí)的(de)端口分(fēn)配範圍,比如(rú)說(shφ★<uō),在vdftpd主動模式會(huì)用(yòng)到(dào),如(× ↑®rú)果隻是(shì)開(kāi)啓22端口,不(bù)會(hu ↓λδì)使用(yòng)到(dào)net.ipv4.ip_local_po≈ rt_range這(zhè)個(gè)功能(néng);
9、net.ipv4.tcp_syncookies = 1
表示開(kāi)啓SYN Cookies,當出現(xiànε≈π)半鏈接隊列溢出時(shí)啓用(yòn→∏→g)cookies來(lái)處理(lǐ),調大(dà)半鏈接隊列,可(kεě)防範少(shǎo)量SYN攻擊,默認為(wè♥γ™♦i)0,改為(wèi)1開(kāi)啓;
10、net.ipv4.tcp_tw_reuse = 1φ€γ→
表示開(kāi)啓tcp連接重用(yòn♥εσg),允許将TIME-WAIT sockets重₹®±新用(yòng)于建立新的(de)tcp連接,默認為(wèi)0>≈,改為(wèi)1開(kāi)啓;
11、net.ipv4.tcp_tw_recycle≠♥→ = 1
表示開(kāi)啓tcp連接中TIME-WAIT socke↑↑γts的(de)快(kuài)速回收,默認為(wèi)0,改為(wè♠↔i)1開(kāi)啓;
12、net.ipv4.tcp_fin_timeout = 10
對(duì)于本端斷開(kāi)的(de)socket連接,tc↑™p保持在FIN_WAIT_2狀态的(de)時(shí)間$σ(jiān)。
這(zhè)些(xiē)內(nèi)核配置參數(shù)應該☆♠在每台服務器(qì)上(shàng)線之前配置好(hǎ§≥±φo),可(kě)以有(yǒu)效的(de)防禦小(xiǎo)流量DDo≠♦≠™S攻擊。當遇到(dào)大(dà)流量DDoSπ¶¶洪水(shuǐ)攻擊時(shí),還(hái)是(shì)要(yào)✘'靠接入墨者安全高(gāo)防雲防禦或添置硬件(jiàn)防火(huǒ)牆才能(néng)有(yǒu)效防禦,企業(yè)可(kě)以根據♣₽自(zì)身(shēn)實際情況來(lái)選擇合适的(de)防禦☆&₩α方案。
熱(rè)門(mén)文(wén)章(z≤λ≤¥hāng)
-->