Back

如何防護SYN-flood阻斷服務攻擊

在資訊發達的時代,許多駭客想盡辦法要傷害別人的服務系統,但是架設網站的人通常就是要和大家分享資訊,有必要互相傷害嗎????

所以今天要來講解如何利用OpenWrt與Fortinet Fortigate 50E防火牆來做SYN-flood阻斷攻擊的防護。

SYN-flood介紹

首先先介紹什麼是SYN-flood攻擊,SYN 洪水攻擊 (半開放式攻擊) 他是一種阻斷服務攻擊,俗稱DDoS,指在透過消耗所有可用的伺服器資源,使伺服器無法用於合法流量,透過重複傳送初始連線要求 (SYN) 封包,攻擊者就可以淹沒目標伺服器的所有連接埠,例如網站常使用的外網端口443與80 Port,導致標裝置緩慢回應或完全不回應合法流量,也就是伺服器不管是後端與前端都因為過量資源而導致客戶端無法請求數據。

SYN 洪水攻擊的工作原理

SYN 洪水攻擊透過利用TCP Port連線的交握程序進行工作。在正常條件下,TCP連線會有三個不同的程序以進行連線。

1.首先,用戶端向伺服器傳送一個 SYN 封包以初始化連線。

2.伺服器回應帶有 SYN/ACK 封包的初始連線,以便確認此通訊。

3.最後,用戶端傳回 ACK 封包以確認收到來自該伺服器的封包。完成這個封包傳送和接收的序列後,TCP 連線將開啟並能傳送和接收資料。

為建立阻斷式網路,攻擊者會利用這樣一個事實:當收到一個初始 SYN 封包後,伺服器將使用一個或多個 SYN/ACK 封包進行回應,並等待交握的最後一個步驟。其工作原理如下:

1.攻擊者將大量 SYN 封包傳送至通常帶有偽裝的IP 位址的目標伺服器。

2.伺服器回應每個連線要求,並準備好一個開啟的連接埠以接收回應。

3.在伺服器等待最後一個從未到達的 ACK 封包的同時,攻擊者會繼續傳送更多 SYN 封包。每一個新的 SYN 封包的到達,會使伺服器在某一段時間內臨時維護新開啟的連接埠連線,一旦利用了所有的可用連接埠,伺服器將無法正常運作。

SYN 洪水攻擊三種方法:

  1. 直接攻擊:IP地址未偽裝的 SYN 洪水攻擊稱直接攻擊。在此攻擊中,攻擊者完全不會遮罩其 IP 位址。由於攻擊者使用帶有真實 IP 位址建立攻擊,攻擊者很容易被發現並被解除。為了在目標機器上建立半開放狀態,駭客會防止其機器回應伺服器的 SYN-ACK 封包。這通常可以透過防火牆規則來實現,此規則可阻止傳出封包,而不是 SYN 封包,也可以在其到達惡意使用者機器前,篩選出任何傳入 SYN-ACK 封包。
  2. 偽裝的攻擊:惡意使用者還可偽裝其傳送的每個 SYN 封包上的 IP 位址,以便阻止緩解,並使其身分識別更難以發現。盡管封包可能偽裝,但這些封包可能會被追蹤到其來源。此類偵測工作比較困難,但並非沒有可能,尤其在網際網路服務提供者 (ISP) 願意提供協助的情況下。
  3. 分散式攻擊 (DDoS):如果使用殭屍網路建立攻擊,將攻擊追溯回其來源的可能性很低。對於新增的混淆層級,攻擊者可能也會讓每個分散式裝置偽裝其傳送封包的 IP 位址。如果攻擊者使用殭屍網路,例如 (Mirai 殭屍網路),他們不會注重遮罩受感染裝置的 IP。

透過使用 SYN 洪水攻擊,惡意執行者可嘗試在目標裝置或服務中使用極少流量 (而非其他 DDoS 攻擊) 建立阻斷服務。無需使用巨流量攻擊,它旨在使目標周圍的網路基礎結構飽和,而 SYN 攻擊僅需大於目標作業系統中的可用待處理項目。如果攻擊者能在逾時前確定待處理項目的大小及每個連線開啟的時長,攻擊者就能定位停用此系統所需的具體參數,從而使總流量減少至建立阻斷服務所需的最小數量。

防範:

首先是在路由器上做安全防護,一般來說路由器是在網路設備中的第二層級,因此我在OpenWrt伺服器中開啟SYN-flood防護,就可以做到基本防護。

Fortinet Dos防護

首先先開啟DoS政策。

接著到這邊新增政策。

接著按照我的圖片進行設定即可。

接著就進行成果演示,開始對自己的網站伺服器做DDos攻擊,在沒開啟DoS防護時,出現非常大的使用者連線數與網路頻寬佔用。

接著我開啟防護後,就會發現惡意攻擊已經被擋下來了。

此時也可以在惡意連線異常中看到我們的攻擊紀錄。

以上就是如何防範DDoS網路阻斷攻擊的方式,因此有做好資訊安全防護其實不必擔心DDoS攻擊,因為大部分的攻擊會被防火牆擋下來,對於伺服器是不會造成傷害的,服務也是不會中斷的喔~

Ricky Chen
Ricky Chen

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *