主頁(yè) > 知識(shí)庫(kù) > 利用Linux防火墻隔離本地欺騙地址的方法詳解

利用Linux防火墻隔離本地欺騙地址的方法詳解

熱門標(biāo)簽:貴州全自動(dòng)外呼系統(tǒng)廠家 百度地圖標(biāo)注備注 德州外呼系統(tǒng)排名 地圖標(biāo)注員怎么去做 上海電銷卡外呼系統(tǒng)廠家 福州外呼系統(tǒng)中間件 威海人工智能電銷機(jī)器人系統(tǒng) 好看的地圖標(biāo)注圖標(biāo)下載 機(jī)器人電銷有什么用

前言

即便是被入侵檢測(cè)和隔離系統(tǒng)所保護(hù)的遠(yuǎn)程網(wǎng)絡(luò),黑客們也在尋找各種精巧的方法入侵。IDS/IPS 不能停止或者減少那些想要接管你的網(wǎng)絡(luò)控制權(quán)的黑客攻擊。不恰當(dāng)?shù)呐渲迷试S攻擊者繞過所有部署的安全措施。

在這篇文章中,我將會(huì)解釋安全工程師或者系統(tǒng)管理員該怎樣避免這些攻擊。

幾乎所有的 Linux 發(fā)行版都帶著一個(gè)內(nèi)建的防火墻來保護(hù)運(yùn)行在 Linux 主機(jī)上的進(jìn)程和應(yīng)用程序。大多數(shù)防火墻都按照 IDS/IPS 解決方案設(shè)計(jì),這樣的設(shè)計(jì)的主要目的是檢測(cè)和避免惡意包獲取網(wǎng)絡(luò)的進(jìn)入權(quán)。

Linux 防火墻通常有兩種接口:iptables 和 ipchains 程序(LCTT 譯注:在支持 systemd 的系統(tǒng)上,采用的是更新的接口 firewalld)。大多數(shù)人將這些接口稱作 iptables 防火墻或者 ipchains 防火墻。這兩個(gè)接口都被設(shè)計(jì)成包過濾器。iptables 是有狀態(tài)防火墻,其基于先前的包做出決定。ipchains 不會(huì)基于先前的包做出決定,它被設(shè)計(jì)為無(wú)狀態(tài)防火墻。

在這篇文章中,我們將會(huì)專注于內(nèi)核 2.4 之后出現(xiàn)的 iptables 防火墻。

有了 iptables 防火墻,你可以創(chuàng)建策略或者有序的規(guī)則集,規(guī)則集可以告訴內(nèi)核該如何對(duì)待特定的數(shù)據(jù)包。在內(nèi)核中的是Netfilter 框架。Netfilter 既是框架也是 iptables 防火墻的項(xiàng)目名稱。作為一個(gè)框架,Netfilter 允許 iptables 勾連被設(shè)計(jì)來操作數(shù)據(jù)包的功能。概括地說,iptables 依靠 Netfilter 框架構(gòu)筑諸如過濾數(shù)據(jù)包數(shù)據(jù)的功能。

每個(gè) iptables 規(guī)則都被應(yīng)用到一個(gè)表中的鏈上。一個(gè) iptables 鏈就是一個(gè)比較包中相似特征的規(guī)則集合。而表(例如 nat 或者 mangle)則描述不同的功能目錄。例如, mangle 表用于修改包數(shù)據(jù)。因此,特定的修改包數(shù)據(jù)的規(guī)則被應(yīng)用到這里;而過濾規(guī)則被應(yīng)用到 filter 表,因?yàn)?filter 表過濾包數(shù)據(jù)。

iptables 規(guī)則有一個(gè)匹配集,以及一個(gè)諸如 Drop 或者 Deny 的目標(biāo),這可以告訴 iptables 對(duì)一個(gè)包做什么以符合規(guī)則。因此,沒有目標(biāo)和匹配集,iptables 就不能有效地處理包。如果一個(gè)包匹配了一條規(guī)則,目標(biāo)會(huì)指向一個(gè)將要采取的特定措施。另一方面,為了讓 iptables 處理,每個(gè)數(shù)據(jù)包必須匹配才能被處理。

現(xiàn)在我們已經(jīng)知道 iptables 防火墻如何工作,讓我們著眼于如何使用 iptables 防火墻檢測(cè)并拒絕或丟棄欺騙地址吧。

打開源地址驗(yàn)證

作為一個(gè)安全工程師,在處理遠(yuǎn)程的欺騙地址的時(shí)候,我采取的第一步是在內(nèi)核打開源地址驗(yàn)證。

源地址驗(yàn)證是一種內(nèi)核層級(jí)的特性,這種特性丟棄那些偽裝成來自你的網(wǎng)絡(luò)的包。這種特性使用反向路徑過濾器方法來檢查收到的包的源地址是否可以通過包到達(dá)的接口可以到達(dá)。(LCTT 譯注:到達(dá)的包的源地址應(yīng)該可以從它到達(dá)的網(wǎng)絡(luò)接口反向到達(dá),只需反轉(zhuǎn)源地址和目的地址就可以達(dá)到這樣的效果)

利用下面簡(jiǎn)單的腳本可以打開源地址驗(yàn)證而不用手工操作:

#!/bin/sh
#作者: Michael K Aboagye
#程序目標(biāo): 打開反向路徑過濾
#日期: 7/02/18
#在屏幕上顯示 “enabling source address verification”
echo -n "Enabling source address verification…"
#將值0覆蓋為1來打開源地址驗(yàn)證
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
echo "completed"

上面的腳本在執(zhí)行的時(shí)候只顯示了 Enabling source address verification 這條信息而不會(huì)換行。默認(rèn)的反向路徑過濾的值是 0,0 表示沒有源驗(yàn)證。因此,第二行簡(jiǎn)單地將默認(rèn)值 0 覆蓋為 1。1 表示內(nèi)核將會(huì)通過確認(rèn)反向路徑來驗(yàn)證源地址。

最后,你可以使用下面的命令通過選擇 DROP 或者 REJECT 目標(biāo)之一來丟棄或者拒絕來自遠(yuǎn)端主機(jī)的欺騙地址。但是,處于安全原因的考慮,我建議使用 DROP 目標(biāo)。

像下面這樣,用你自己的 IP 地址代替 IP-address 占位符。另外,你必須選擇使用 REJECT 或者 DROP 中的一個(gè),這兩個(gè)目標(biāo)不能同時(shí)使用。

iptables -A INPUT -i internal_interface -s IP_address -j REJECT / DROP 
iptables -A INPUT -i internal_interface -s 192.168.0.0/16 -j REJECT / DROP

這篇文章只提供了如何使用 iptables 防火墻來避免遠(yuǎn)端欺騙攻擊的基礎(chǔ)知識(shí)。

via: https://opensource.com/article/18/2/block-local-spoofed-addresses-using-linux-firewall

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

標(biāo)簽:南陽(yáng) 白城 葫蘆島 邵陽(yáng) 岳陽(yáng) 撫州 泉州 南陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用Linux防火墻隔離本地欺騙地址的方法詳解》,本文關(guān)鍵詞  利用,Linux,防火墻,隔離,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《利用Linux防火墻隔離本地欺騙地址的方法詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于利用Linux防火墻隔離本地欺騙地址的方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章