利用Linux系統IP偽裝防攻擊

來源:互聯網
上載者:User

防火牆可分為幾種不同的安全等級。在Linux中,由於有許多不同的防火牆軟體可供選擇,安全性可低可高,最複雜的軟體可提供幾乎無法滲透的保護能力。不過,Linux核心本身內建了一種稱作“偽裝”的簡單機制,除了最專門的駭客攻擊外,可以抵擋住絕大部分的攻擊行動。

當我們撥號接連上Internet後,我們的電腦會被賦給一個IP地址,可讓網上的其他人回傳資料到我們的電腦。駭客就是用你的IP來存取你電腦上的資料。Linux所用的“IP偽裝”法,就是把你的IP藏起來,不讓網路上的其他人看到。有幾組IP地址是特別保留給本網使用的,Internet骨幹路由器並不能識別。像作者電腦的IP是192.168.1.127,但如果你把這個地址輸入到你的瀏覽器中,相信什麼也收不到,這是因為Internet骨幹是不認得192.168.X.X這組IP的。在其他 Intranet上有數不清的電腦,也是用同樣的IP,由於你根本不能存取,當然不能侵入或破解了。

那麼,解決Internet上的安全問題,看來似乎是一件簡單的事,只要為你的電腦選一個別人無法存取的IP地址,就什麼都解決了。錯!因為當你瀏覽Internet時,同樣也需要伺服器將資料回傳給你,否則你在螢幕上什麼也看不到,而伺服器只能將資料回傳給在Internet骨幹上登記的合法IP地址。

“IP偽裝”就是用來解決此兩難困境的技術。當你有一部安裝Linux的電腦,設定要使用“IP偽裝”時,它會將內部與外部兩個網路橋接起來,並自動解譯由內往外或由外至內的IP地址,通常這個動作稱為網路位址轉譯。

實際上的"IP偽裝"要比上述的還要複雜一些。基本上,“IP偽裝”伺服器架設在兩個網路之間。如果你用類比的撥號數據機來存取Internet上的資料,這便是其中一個網路;你的內部網路通常會對應到一張乙太網路卡,這就是第二個網路。若你使用的是DSL數據機或纜線數據機(Cable Modem),那麼系統中將會有第二張乙太網路卡,代替了類比數據機。而Linux可以管理這些網路的每一個IP地址,因此,如果你有一部安裝 Windows的電腦(IP為192.168.1.25),位於第二個網路上(Ethernet eth1)的話,要存取位於Internet(Ethernet eth0)上的纜線數據機(207.176.253.15)時,Linux的“IP偽裝”就會攔截從你的瀏覽器所發出的所有TCP/IP封包,抽出原本的本地地址(192.168.1.25),再以真真實位址(207.176.253.15)取代。接著,當伺服器回傳資料到207.176.253.15 時,Linux也會自動攔截回傳封包,並填回正確的本地地址(192.168.1.25)。

Linux可管理數台本機電腦(如Linux的“IP偽裝”示意圖中的 192.168.1.25與192.168.1.34),並處理每一個封包,而不致發生混淆。作者有一部安裝SlackWare Linux的老486電腦,可同時處理由四部電腦送往纜線數據機的封包,而且速度不減少。

在第二版核心前,“IP偽裝”是以IP發送管理模組(IPFWADM,IP fw adm)來管理。第二版核心雖然提供了更快、也更複雜的IPCHAINS,但仍舊提供了IPFWADM wrapper來保持向下相容性,因此,作者在本文中會以IPFWADM為例,來解說如何設定“IP偽裝”(您可至http: //metalab.unc.edu/mdw/HOWTO/IPCHAINS-HOWTO.html查詢使用IPCHAINS的方法,該頁並有“IP偽裝”更詳盡的說明)。

另外,某些應用程式如RealAudio與CU-SeeME所用的非標準封包,則需要特殊的模組,您同樣可從上述網站得到相關資訊。

作者的伺服器有兩張乙太網路卡,在核心啟用過程中,分別被設定在eth0與eth1。這兩張卡均為SN2000式無跳腳的ISA適配卡,而且絕大多數的Linux都認得這兩張卡。作者的乙太網路絡初始化步驟在rc.inet1中設定,指令如下:

IPADDR="207.175.253.15"

#換成您纜線數據機的IP地址。

NETMASK="255.255.255.0"

#換成您的網路屏蔽。

NETWORK="207.175.253.0"

#換成您的網路地址。

BROADCAST="207.175.253.255"

#換成您的廣播位址。

GATEWAY="207.175.253.254"

#換成您的網關地址。

#用以上的宏來設定您的纜線數據機乙太網路卡

/sbin/ifconfig eth0 ${IPADDR} broadcast $ {BROADCAST} netmask ${NETMASK}

#設定IP路由表

/sbin/route add -net ${NETWORK} netmask $ {NETMASK} eth0

#設定intranet乙太網路絡卡eth1,不使用巨集指令

/sbin/ifconfig eth1 192.168.1.254 broadcast 192.168.1.255 netmask 255.255.255.0

/sbin/route add -net 192.168.1.0 netmask 255.255.255.0 eth1

#接著設定IP fw adm初始化

/sbin/ipfwadm -F -p deny #拒絕以下位置之外的存取 #開啟來自192.168.1.X的傳送需求

/sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0

/sbin/ipfwadm -M -s 600 30 120

就是這樣!您系統的"IP偽裝"現在應該可以正常工作了。如果您想得到更詳細的資訊,可以參考上面所提到的HOWTO,或是至http://albali.aquanet.com.br/howtos/Bridge+ Firewall-4.html參考MINI HOWTO。另外關於安全性更高的防火牆技術,則可在ftp: //sunsite.unc.edu/pub/Linux/docs/HOWTO/Firewall-HOWTO中找到資料。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.