利用Linux系統IP偽裝防攻擊
防火墻可分為幾種不同的安全等級。在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偽裝"現在
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解