1. 選擇浙大鏡像下載SEED虛擬機
2.利用VirtualBox新建SEEDUbuntu16.04-32
3.設置 SEEDUbuntu16.04-32的網絡
4.完全複製一個作爲SEEDUbuntu16.04-32target
5.利用GNS3來構建網絡拓撲並在GNS3中啓動2個虛擬機
6.配置兩臺虛擬機的ip地址和路由,SEEDUbuntu16.04-32的ip地址爲192.168.1.1,SEEDUbuntu16.04-32target的ip地址爲192.168.1.2
7.設置默認路由
8.測試是否連通
1. SEEDUbuntu16.04-32target啓動telnet服務,在SEEDUbuntu16.04-32使用netwox進行攻擊
2.使用wireshark觀察
3.進一步查看tcp syn cookie參數,並修改tcp_max_syn_backlog=5
4.修改參數tcp_syncookies=0,無法telnet到target,並用netstat –n –tcp發現5個SYN_RECV和1個TIME_WAIT,5個SYN_RECV已達到設置的半連接上限。
5.重新修改參數tcp_syncookies=1,telent成功。
6.tcp syn cookie原理分析
SYN Flood是一種典型的拒絕服務攻擊,利用tcp協議中的三次握手過程進行攻擊。由於TCP服務器在收到 tcp syn request 包時,在發送 tcp syn+ack 包回客戶機前,此時連接狀態爲半打開連接。如果此時惡意攻擊方僞造syn源地址,快速連續地發送此類連接請求,由於服務器的TCP連接數量有限,服務器可用TCP連接隊列很快便會發生阻塞,從而造成拒絕服務,系統運行緩慢。
SYN Cookie機制用來防範這種SYN Flood攻擊,主要方法就是針對TCP的三次握手進行一些修改。在第二次握手時,服務器不分配專門的數據區來維護一個未連接隊列,而是根據SYN包來計算一個cookie值,並且將這個值作爲將要返回的SYN+ACK包的初始序列號,當返回一個ACK包時,會根據包頭信息計算cookie,此時cookie包含本次連接的狀態信息,不給未確認的連接分配資源,只有cookie計算後和返回的確認序列號對比正確後才分配資源,建立連接。