偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

LINUX下SYN攻防戰(zhàn)

運(yùn)維 系統(tǒng)運(yùn)維
在Linux的命令提示符中執(zhí)行"service httpd start"命令,即可開啟Web服務(wù),接著執(zhí)行"netstat -ant | grep 80"命令,可以看到80端口已經(jīng)處于打開狀態(tài)了.

(一)SYN攻擊原理

SYN攻擊屬于DOS攻擊的一種,它利用TCP協(xié)議缺陷,通過發(fā)送大量的半連接請(qǐng)求,耗費(fèi)服務(wù)器CPU和內(nèi)存資源.SYN攻擊聊了能影響主機(jī)外,還可以危害路由器,防火墻等網(wǎng)絡(luò)系統(tǒng),事實(shí)上SYN攻擊并不管目標(biāo)是什么系統(tǒng),只要這些系統(tǒng)打開TCP服務(wù)就可以實(shí)施.我們知道,在網(wǎng)絡(luò)中兩臺(tái)電腦建立TCP連接時(shí)需要進(jìn)行三次握手過程,客戶端首先向服務(wù)器發(fā)關(guān)TCP SYN數(shù)據(jù)包,接著服務(wù)器會(huì)向客戶端發(fā)關(guān)相應(yīng)的SYN ACK數(shù)據(jù)包,最后客戶端會(huì)以ACK進(jìn)行響應(yīng).從而建立正常的握手過程.在具體的連接細(xì)節(jié)中,服務(wù)器最早接受到SYN包時(shí),在TCP協(xié)議棧中會(huì)將相應(yīng)的半連接記錄添加到隊(duì)列中,之后等待接受下面準(zhǔn)備握手的數(shù)據(jù)包,如果握手成功,那么這個(gè)半連接記錄將從隊(duì)列中刪除.或者當(dāng)服務(wù)器未收到客戶端的確認(rèn)包時(shí),會(huì)重發(fā)請(qǐng)求包,一直到超時(shí)才將此條目從未連接隊(duì)列刪除.但是,在服務(wù)器中的TCP協(xié)議棧中存儲(chǔ)的半連接記錄是有限的,當(dāng)服務(wù)器受到SYN型的DOS攻擊后,隊(duì)列會(huì)很快處于充滿狀態(tài),客戶端在短時(shí)間內(nèi)偽造大量不存在的IP地址,向服務(wù)器不斷地發(fā)送SYN包,服務(wù)器回復(fù)確認(rèn)包,并等待客戶的確認(rèn),由于源地址是不存在的,服務(wù)器需要不斷的重發(fā)直至超時(shí),這些偽造的SYN包將長時(shí)間占用未連接隊(duì)列,正常的SYN請(qǐng)求被丟棄,目標(biāo)系統(tǒng)運(yùn)行緩慢嚴(yán)重者引起網(wǎng)絡(luò)堵塞甚至系統(tǒng)癱瘓,服務(wù)器隨后就不再接受新的網(wǎng)絡(luò)連接,從而造成正常的客戶端無法訪問服務(wù)器的情況發(fā)生.

(二)實(shí)戰(zhàn)SYN攻擊過程

SYN攻擊實(shí)現(xiàn)起來非常的簡單,互聯(lián)網(wǎng)上有大量面成的SYN攻擊工具可以直接利用.假設(shè)在Linux服務(wù)器中安裝了Web服務(wù),在Linux的命令提示符中執(zhí)行"service httpd start"命令,即可開啟Web服務(wù),接著執(zhí)行"netstat -ant | grep 80"命令,可以看到80端口已經(jīng)處于打開狀態(tài)了.在網(wǎng)絡(luò)的其它機(jī)器上利用SYN攻擊軟件(例如"synkill"等)對(duì)Linux服務(wù)器的80端口進(jìn)行 DOS攻擊,之后在Linux服務(wù)器中執(zhí)行命令"netstat -ant | grep 80",可以看到大量的網(wǎng)絡(luò)連接信息,包括連接的類型,原地址,目標(biāo)直地址,連接狀態(tài)等,當(dāng)然,因?yàn)镾YN工具通常會(huì)偽告客戶端地址,因此在連接列表中是找不到真實(shí)地址的.在連接狀態(tài)中顯示"SYN_RECV",表示當(dāng)前處于半連接狀態(tài).我們可以每隔幾秒鐘運(yùn)行命令"netstat -n -p TCP | grep SYN_RECV |grep 80 | wc -l",來檢查某個(gè)端口(這里為80)的未連接隊(duì)列的條目數(shù),當(dāng)發(fā)現(xiàn)該條目數(shù)增大到某個(gè)極大值,并處于平衡狀態(tài)時(shí),那么就很有可能是Linux的TCP協(xié)議棧中的隊(duì)列滿了,此時(shí)用戶就無法建立新的連接了.

(三)如可在Linux中防御SYN型DOS攻擊

在Linux中防御SYN型DOS攻擊的方法比較常見的有增大隊(duì)列SYN最大半連接數(shù),減小超時(shí)值,利用SYN cookie技術(shù),過濾可疑的IP地址等常用方法,下面分別進(jìn)行分析.

(四)增大隊(duì)列SYN最大半連接數(shù)

在Linux中執(zhí)行命令"sysctl -a|grep net.ipv4.tcp_max_syn_backlog",在返回的"net.ipv4.tcp_max_syn_backlog=256"中顯示 Linux隊(duì)列的最大半連接容量是256.這個(gè)默認(rèn)值對(duì)于Web服務(wù)器來說是遠(yuǎn)遠(yuǎn)不夠的,一次簡單的SYN攻擊就足以將其完全占用.因此,防御DOS攻擊最簡單的辦法就是增大這個(gè)默認(rèn)值,在Linux中執(zhí)行命令"sysctl -w et.ipv4.tcp_max_syn_backlog=3000",這樣就可以將隊(duì)列SYN最大半連接數(shù)容量值改為3000了.

(五)減小超時(shí)值

在Linux中建立TCP連接時(shí),在客戶端和服務(wù)器之間創(chuàng)建握手過程中,當(dāng)服務(wù)器未收到客戶端的確認(rèn)包時(shí),會(huì)重發(fā)請(qǐng)求包,一直到超時(shí)才將此條目從未連接隊(duì)列是刪除,也就是說半連接存在一定的存活時(shí)間,超過這個(gè)時(shí)間,半連接就會(huì)自動(dòng)斷開,在上述SYN攻擊測試中,當(dāng)經(jīng)過較長的的時(shí)間后,就會(huì)發(fā)現(xiàn)一些半連接已經(jīng)自動(dòng)斷開了.半連接存活時(shí)間實(shí)際上是系統(tǒng)所有重傳次數(shù)等待的超時(shí)時(shí)間之和,這個(gè)值越大,半連接數(shù)占用的Backlog隊(duì)列的時(shí)間就越長,系統(tǒng)能處理的 SYN請(qǐng)求就越少,因此,縮短超時(shí)時(shí)間就可以有效防御SYN攻擊,這可以通過縮小重傳超時(shí)時(shí)間和減少重傳次數(shù)來實(shí)現(xiàn).在Linux中默認(rèn)的重傳次數(shù)為5 次,總超時(shí)時(shí)間為3分鐘,在Linux中執(zhí)行命令"sysctl -w net.ipv4.tcp_synack_retries=1",將超時(shí)重傳次數(shù)設(shè)置為1.

(六)利用SYN cookie來防御DOS攻擊

除了在TCP協(xié)議棧中開辟一個(gè)內(nèi)存空間來存儲(chǔ)半連接數(shù)之外,為避免因?yàn)镾YN請(qǐng)求數(shù)量太多,導(dǎo)致該隊(duì)列被填滿的情況下,Linux服務(wù)器仍然可以處理新的 SYN連接,可以利用SYN Cookie技術(shù)來處理SYN連接.什么是SYN Cookie呢?SYN Cookie是用一個(gè)Cookie來響應(yīng)TCP SYN請(qǐng)求的,在正常的TCP連接過程中,當(dāng)服務(wù)器接收一個(gè)SYN數(shù)據(jù)包,就會(huì)返回一個(gè)SYN -ACK包來應(yīng)答,然后進(jìn)入TCP -SYN -RECV(半開放連接)狀態(tài)來等待最后返回的ACK包.服務(wù)器用一個(gè)數(shù)據(jù)空間來描述所有未決的連接,然而這個(gè)數(shù)據(jù)空間的大小是有限的,所以攻擊者將塞滿這個(gè)空間,在TCP SYN COOKIE的執(zhí)行過程中,當(dāng)服務(wù)器收到一個(gè)SYN包的時(shí)候,他返回一個(gè)SYN -ACK包,這個(gè)數(shù)據(jù)包的ACK序列號(hào)是經(jīng)過加密的,它由TCP連接的源地址和端口號(hào),目標(biāo)地址和端口號(hào),以及一個(gè)加密種子經(jīng)過HASH計(jì)算得出的,然后服務(wù)器釋放所有的狀態(tài).如果一個(gè)ACK包從客戶端返回后,服務(wù)器重新計(jì)算COOKIE來判斷它是不是上個(gè)SYN -ACK的返回包.如果是的話,服務(wù)器就可以直接進(jìn)入TCP連接狀態(tài)并打開連接.這樣服務(wù)器就可以避免守候半開放連接了,在Linux中執(zhí)行命令"echo "echo "1" > / proc/sys/net/ipv4/tcp_syncookies"> > /etc/rc_local",這樣即可啟動(dòng)SYN Cookie,并將其添加到了Linux的啟動(dòng)文件,這樣即使系統(tǒng)重啟也不影響SYN Cookie的激活狀態(tài).

(七)過濾可疑的IP直址

當(dāng)客戶機(jī)對(duì)服務(wù)器進(jìn)行攻擊時(shí).在服務(wù)器上可以進(jìn)行抓包操作,這樣可以對(duì)數(shù)據(jù)包中的IP進(jìn)行檢測,然后再對(duì)這些可疑的潮行過濾,從而將其無法正常連接服務(wù)器.利用Linux自帶的"tcpdump"命令可以實(shí)現(xiàn)抓包操作.執(zhí)行命令"tcpdump -c 1000 -l eth 0 -n dst port 80 > test.txt",就可以在當(dāng)前目錄下創(chuàng)建一個(gè)'test.txt"文件,在其中包含大量的網(wǎng)絡(luò)數(shù)據(jù)包,通過對(duì)該文件的的分析,就很容易得到可疑的客戶端IP,之后利用系統(tǒng)自帶的"iptables"命令即可對(duì)可疑IP進(jìn)行屏蔽.便如執(zhí)行命令"iptables -A INPUT -s 219.29.78.79 -d 0/0 -j REJECT",即可禁止"219.29.78.79"的外部主要訪問本機(jī)所有端口.其中"-j REJECT"參數(shù)表示禁止訪問.

【編輯推薦】

  1. Windows和Linux如何在一臺(tái)計(jì)算機(jī)上共存
  2. Linux置CVS集成cvstrac
  3. 如何在64位的Linux中運(yùn)行32位的應(yīng)用程序
責(zé)任編輯:趙寧寧 來源: chinaitlab
相關(guān)推薦

2012-10-25 13:54:03

云安全云計(jì)算

2011-01-17 23:41:13

2019-09-02 14:45:33

2009-05-27 15:11:24

2011-01-07 10:04:50

2010-09-28 14:10:21

2014-10-13 13:20:27

2013-01-28 14:16:59

2009-02-10 10:20:06

2012-11-15 09:32:35

雙十一淘寶DDoS

2014-02-19 10:43:04

虛擬運(yùn)營商

2018-11-12 00:35:56

2014-03-12 10:01:15

阿里云亞馬遜云計(jì)算

2013-03-27 16:58:40

2023-11-09 16:13:49

2019-03-05 12:43:07

AI攻防OpenAI攻擊

2015-08-24 17:20:21

2024-01-15 11:03:41

2024-04-30 11:06:52

2025-04-03 17:11:36

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)