免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
Linux實(shí)踐工程師學(xué)習(xí)筆記十四:網(wǎng)絡(luò)安全 Linux高級(jí)應(yīng)用 卓越資源 - 專業(yè)Linu...

Linux實(shí)踐工程師學(xué)習(xí)筆記十四:網(wǎng)絡(luò)安全

2009-09-22 09:42 來(lái)源: plum163.cublog.cn 作者:plum163 網(wǎng)友評(píng)論 0 條 瀏覽次數(shù) 6
實(shí)際配置防火墻時(shí),首先將所有門都關(guān)閉,如將三條鏈的默認(rèn)策略都改為DROP,再根據(jù)服務(wù)器需要一個(gè)端口一個(gè)端口地打開(kāi)。首先需要分析這臺(tái)服務(wù)器是干什么用的,假設(shè)只是一臺(tái)提供http服務(wù)的Web服務(wù)器...
防火墻的作用:過(guò)慮兩個(gè)網(wǎng)絡(luò)之間的數(shù)據(jù)包
Linux內(nèi)核的Netfilter


進(jìn)出數(shù)據(jù)包,以及發(fā)送到本機(jī)的數(shù)據(jù)包都要經(jīng)過(guò)內(nèi)核的處理
INPUT鏈用來(lái)過(guò)濾進(jìn)入本機(jī)的數(shù)據(jù)包
OUTPUT鏈用來(lái)過(guò)濾從本機(jī)發(fā)送出去的數(shù)據(jù)包
FORWARD鏈用來(lái)過(guò)濾從本機(jī)路由出去的數(shù)據(jù)包
一個(gè)數(shù)據(jù)包的頭部包括源地址、源端口、目的地址、目的端口、協(xié)議類型
包過(guò)濾正是根據(jù)這些特征來(lái)過(guò)濾數(shù)據(jù)包
Linux 下通過(guò)在三個(gè)鏈中設(shè)置規(guī)則來(lái)過(guò)濾
包的處理方式
#iptables -A INPUT -p icmp -j DROP 將進(jìn)入本機(jī),協(xié)議類型為icmp的數(shù)據(jù)包丟棄。
-A 添加規(guī)則
INPUT 對(duì)INPUT鏈進(jìn)行操作
-p 協(xié)議類型
-j 指定動(dòng)作,可以是ACCEPT(接收),LOG(日志),REJECT(彈回)
#iptables -L -n 顯示三條鏈的過(guò)濾規(guī)則
-L 顯示所有鏈的所有規(guī)則
-n 以數(shù)字形式顯示
#iptables -F 清空所有鏈的所有規(guī)則
每個(gè)包進(jìn)入本機(jī)時(shí)都被INPUT鏈檢查
出去時(shí)經(jīng)過(guò)OUTPUT鏈檢查
轉(zhuǎn)發(fā)時(shí)經(jīng)過(guò)FORWARD檢查
TCP/IP是雙向通信的,所以添加規(guī)則時(shí)必須注意使INPUT鏈和OUTPUT鏈的規(guī)則對(duì)應(yīng)。

-D rulenum 刪除第幾條規(guī)則
-I rulenum 在第幾條前插入規(guī)則
-P 修改鏈的默認(rèn)策略,如默認(rèn)狀態(tài)ACCEPT,默認(rèn)情況下數(shù)據(jù)包的處理方式
-s 源地址 -m 匹配擴(kuò)展條件
-d 目的地址 -t 維護(hù)的表,默認(rèn)為filter,另外還有一個(gè)nat表
--line-numbers 規(guī)則中顯示編號(hào)
#iptables -L -n --line-numbers 這樣方便刪除指定行編號(hào)的規(guī)則或在指定編號(hào)前插入

拒絕所有連接到本機(jī)21端口的所有連接
#iptables -A INPUT -P tcp -d 192.168.0.22 --dport 22 -j DROP
--dport 目的端口
--sport 源端口

在實(shí)際使用過(guò)程中服務(wù)器還不夠嚴(yán)密,還存在被利用的弱點(diǎn)。如22端口,為防止沒(méi)有請(qǐng)求過(guò)的包,在本機(jī)主動(dòng)發(fā)送出去,需要檢查包的狀態(tài)??窗欠袷侨思艺?qǐng)求過(guò)我,而我回應(yīng)別人的。Linux的防火墻支持狀態(tài)匹配檢查。
#iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
-m 匹配狀態(tài),上面表示跟本機(jī)連接過(guò)的包才能從22端口出去
如果正在使用ssh遠(yuǎn)程管理服務(wù)器,不要將第一條的22端口規(guī)則刪掉,等添加完上面這條規(guī)則,才能把存在弱點(diǎn)的第一條刪除,否則遠(yuǎn)程管理會(huì)立刻斷掉。

80端口也同樣設(shè)置
#iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
防止服務(wù)器在80端口主動(dòng)發(fā)送請(qǐng)求,防止病毒利用。添加完后,刪除OUTPUT中以前添加的那條80端口規(guī)則。

假設(shè)自己是ssh客戶機(jī),訪問(wèn)別人的ssh服務(wù)器,先經(jīng)過(guò)OUTPUT鏈出去
#iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
當(dāng)包回就,從對(duì)方22端口,如果對(duì)方有病毒,可能會(huì)使用22端口發(fā)送請(qǐng)求,所以只接受已建立連接的數(shù)據(jù)包。
#iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
#service iptables save 保存勞動(dòng)成果
現(xiàn)在防火墻算配好了,不僅非常嚴(yán)密,還非常有效,有效防止別人攻擊你的服務(wù)器的各種服務(wù),可防止主動(dòng)型的病毒或木馬攻擊。

LOG目標(biāo)
過(guò)濾包的檢查機(jī)制,可以指定某種要求的包寫入日志中。
#iptables -A INPUT -p tcp --dport 22 -j LOG --log-level 5 --log-prefix “IPTABLES:”
-j LOG 記錄日志
--log-level 5 寫入日志時(shí)需指定級(jí)別,與日志服務(wù)器配合使用
--log-prefix “IPTABLES:” 指定寫入日志時(shí),記錄的前綴字符,主要方便用戶分析日志。
添加LOG目標(biāo)規(guī)則時(shí),保證規(guī)則前同樣的包沒(méi)有被丟棄或接受,即要注意添加規(guī)則的次序。
編緝?nèi)罩九渲梦募?etc/syslog.conf 添加:
kern.=notice /var/log/firewall.log
(消息來(lái)源內(nèi)核kern,級(jí)別notice),將內(nèi)核這個(gè)級(jí)別消息,記錄到firewall.log文件中,等號(hào)表示剛好等于這個(gè)級(jí)別的消息。為什么是notice?因?yàn)槲覀冊(cè)?jīng)用man syslog知道消息的默認(rèn)級(jí)別notice為5,與LOG目標(biāo)一致。
注意:日志級(jí)別5要跟syslog.conf中的級(jí)別一致,級(jí)別可通過(guò)syslog的manual幫助獲得。
#service syslog restart
#tail /var/log/firewall.log
注意將前面在/etc/syslog.conf文件添加過(guò)的
*.* @192.168.0.22
那行刪除,還要將/etc/sysconfig/syslog文件中,那行還原為:
SYSLOGD_OPTIONS=”-m 0”
不管哪個(gè)服務(wù),修改過(guò)配置文件,要立刻生效,必須重啟服務(wù)。
這樣會(huì)將進(jìn)入本機(jī)22端口的包記錄在firewall.log文件,當(dāng)使用ssh持續(xù)登錄使用時(shí),由于不停記錄包信息,firewall.log文件會(huì)持續(xù)增大!

實(shí)際配置防火墻時(shí),首先將所有門都關(guān)閉,如將三條鏈的默認(rèn)策略都改為DROP,再根據(jù)服務(wù)器需要一個(gè)端口一個(gè)端口地打開(kāi)。首先需要分析這臺(tái)服務(wù)器是干什么用的,假設(shè)只是一臺(tái)提供http服務(wù)的Web服務(wù)器。
首先把服務(wù)器所有端口關(guān)閉,為了方便遠(yuǎn)程管理開(kāi)一個(gè)22的端口,端口可以在/etc/services文件中查看。添加規(guī)則時(shí)分析一下數(shù)據(jù)包的格式,再確定規(guī)則參數(shù)。
#iptables -A INPUT -p tcp -d 192.168.0.22 --dport 22 -j ACCEPT
#iptables -A OUTPUT -p tcp -s 192.168.0.22 --sport 22 -j ACCEPT
注意通信的雙向性,在INPUT添加一條規(guī)則,一般要在OUTPUT添加一條與之對(duì)應(yīng),所謂有出必有入。
#iptables -P INPUT DROP
#iptables -P OUTPUT DROP
#iptables -p FORWARD DROP
上面首先打開(kāi)22端口,防止正在使用的遠(yuǎn)程管理斷掉,再改變?nèi)龡l鏈的默認(rèn)策略。
#iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
打開(kāi)一個(gè)80端口,本機(jī)地址可省略
#service iptables save 保存勞動(dòng)成果(保存規(guī)則)
將剛才添加的規(guī)則保存到/etc/sysconfig/iptables文件
或使用#iptables-save > /etc/sysconfig/iptables
系統(tǒng)啟動(dòng)時(shí)會(huì)加載這個(gè)文件中的規(guī)則。
現(xiàn)在服務(wù)器擋住所有服務(wù),只開(kāi)了兩個(gè)端口80,22,對(duì)一臺(tái)網(wǎng)絡(luò)服務(wù)器來(lái)說(shuō),絕不能缺少DNS服務(wù),任何聯(lián)網(wǎng)的主機(jī)都需要做DNS請(qǐng)求,目前這臺(tái)服務(wù)器還無(wú)法發(fā)送DNS請(qǐng)求。增加一條DNS通道,首先作為一臺(tái)客戶機(jī)出現(xiàn):
#iptables -A OUTPUT -p udp --dpott 53 -j ACCEPT 首先經(jīng)過(guò)OUTPUT鏈
#iptables -A INPUT -p udp --sport 53 -j ACCEPT 請(qǐng)求后得到回復(fù)數(shù)據(jù)雹,允許進(jìn)入
測(cè)試#host fedora.cyrich.com
如出現(xiàn)無(wú)法解析,或很慢,則#more /etc/resolv.conf查看域名解析配置文件,看是否本機(jī)為DNS服務(wù)器,如果是還需添加一條規(guī)則,在規(guī)則時(shí),應(yīng)該分析這個(gè)數(shù)據(jù)包如何進(jìn)出哪條鏈,以及這人數(shù)據(jù)包的格式,如上面#host fedora.cyrich.com因?yàn)楸旧碜鳛镈NS服務(wù)器,所以會(huì)發(fā)送一個(gè)包到自己,
192.168.0.22:*――>102.168.0.22:53 (允許)
但當(dāng)時(shí)入INPUT鏈時(shí),沒(méi)有一條跟它匹配,所以會(huì)拒絕。所以如果同時(shí)作為DNS服務(wù)器和客戶機(jī),還需添加下面規(guī)則:
#iptables -A INPUT -p udp --dport 53 -j ACCEPT
#iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
當(dāng)同時(shí)作為某種服務(wù)的服務(wù)端和客戶端時(shí),需在規(guī)則中添加兩條規(guī)則,即源端口和目標(biāo)端口。
當(dāng)前的規(guī)則設(shè)置忽略了本機(jī)的內(nèi)部服務(wù),在本機(jī)上有很多端口守護(hù)在127.0.0.1上,當(dāng)本機(jī)的客戶端訪問(wèn)回環(huán)設(shè)備時(shí)會(huì)拒絕。
127.0.0.1上的服務(wù)如不打開(kāi),會(huì)影響本機(jī)內(nèi)部服務(wù)的正常運(yùn)行,打開(kāi)了也不會(huì)造成服務(wù)器什么危害,所以還是最好打開(kāi):
#iptables -A INPUT -s 127.0.0.1 -j ACCEPT
#iptables -A INPUT -d 127.0.0.1 -j ACCEPT
#service iptables save (保存勞動(dòng)成果)

經(jīng)過(guò)FORWARD鏈的數(shù)據(jù)包不是發(fā)送給本機(jī),而是發(fā)送給別人的,當(dāng)作為路由器使用時(shí)才需配置FORWARD鏈?,F(xiàn)配置一臺(tái)路由器,如允許局域網(wǎng)用戶瀏覽網(wǎng)頁(yè)配置方法與INPUT.OUTPUT一樣。
#iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT 允許局域網(wǎng)發(fā)送數(shù)據(jù)包
#iptables -A FORWARD -d 10.0.0.0/24 -j ACCEPT 允許局域網(wǎng)接收數(shù)據(jù)包
這樣相當(dāng)于把局域網(wǎng)和互聯(lián)網(wǎng)打通了,任何包都可通過(guò),在實(shí)際使用中可以加上端口,做些限制,過(guò)濾某些數(shù)據(jù)包,也可以使用LOG目標(biāo)加進(jìn)日志。其實(shí)光打開(kāi)FORWARD鏈還不行,還需要打開(kāi)內(nèi)核的轉(zhuǎn)發(fā)文件。
#echo 1 >/proc/sys/net/ipv4/ip_forward (默認(rèn)為0)
0表示關(guān)閉轉(zhuǎn)發(fā),1為啟用,要永久啟用,可修改配置文件/etc/sysctl.conf:
net.ipv4.ip_forward =1
如需訪問(wèn)互聯(lián)網(wǎng),這樣的配置還不行,因?yàn)樗接械刂肥菬o(wú)法直接訪問(wèn)互聯(lián)網(wǎng)的,這里我們做NAT網(wǎng)絡(luò)地址轉(zhuǎn)換,這時(shí)網(wǎng)需兩個(gè)地址,一個(gè)局域網(wǎng)的,一個(gè)互聯(lián)網(wǎng)的,當(dāng)收到訪問(wèn)互聯(lián)網(wǎng)的包時(shí),將源地址替換為互聯(lián)網(wǎng)地址。
#iptables -t nat -L -n 查看nat表內(nèi)容

Netfilter的NAT表:
三條鏈用來(lái)做包過(guò)濾
用來(lái)翻譯地址的也有三條鏈,常用的有PREROUTING,POSTROUTING


SNAT(源地址翻譯)





數(shù)據(jù)包進(jìn)入內(nèi)核前,首先進(jìn)入PREROUTING這個(gè)點(diǎn),然后進(jìn)入內(nèi)核進(jìn)行處理,就是ROUTING那個(gè)點(diǎn),如果數(shù)據(jù)包不是發(fā)送給本機(jī),而內(nèi)核啟用了轉(zhuǎn)發(fā)功能,則內(nèi)核將把數(shù)據(jù)包從FORWARD,再到POSTROUTING。如果FORWARD允許數(shù)據(jù)包通過(guò),這個(gè)包可以在POSTROUTING這個(gè)點(diǎn)上做源地址替換,而且只能在這個(gè)點(diǎn)上做,這是內(nèi)核的一種機(jī)制,所以數(shù)據(jù)包的源地址是在經(jīng)過(guò)POSTROUTING這個(gè)點(diǎn)后改變的。

DNAT(目標(biāo)地址翻譯)
數(shù)據(jù)包進(jìn)入時(shí),首先進(jìn)入PREROUTING。然后內(nèi)核ROUTING會(huì)根據(jù)包的目標(biāo)地址決定是從INPUT鏈走還是FORWARD鏈走。所以數(shù)據(jù)包的目標(biāo)地址非常重要。在PREROUTING上可以做目標(biāo)地址替換。

SNAT應(yīng)用



網(wǎng)關(guān)有兩塊網(wǎng)卡分別連接兩臺(tái)主機(jī)或兩個(gè)網(wǎng)絡(luò)。
#iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 192.168.0.254
將源地址為10.0.0.0/24的包的源地址替換為192.168.0.254,如果這是一臺(tái)ADSL撥號(hào)網(wǎng)關(guān),可以將整個(gè)局域網(wǎng)帶進(jìn)互聯(lián)網(wǎng)
#iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
有人會(huì)想數(shù)據(jù)包怎么回來(lái)?其實(shí)將數(shù)據(jù)包翻譯成192.168.0.254源地址時(shí),192.168.0.1回應(yīng)一個(gè)數(shù)據(jù)包到服務(wù)器會(huì)被服務(wù)器認(rèn)出來(lái),那服務(wù)器會(huì)自動(dòng)將翻譯地址還原,然后退還給10.0.0.241。所以做網(wǎng)關(guān)時(shí),只要加SNAT,然后配合前面的過(guò)濾規(guī)則就可配一個(gè)安全且強(qiáng)大的防火墻,同時(shí)具有路由器的功能。


DNAT應(yīng)用



DNAT應(yīng)用一般用來(lái)做DMZ,保護(hù)局域網(wǎng)內(nèi)部
如192.168.0.1作為一臺(tái)Web服務(wù)器,主機(jī)10.0.0.241訪問(wèn)10.0.0.254網(wǎng)關(guān),網(wǎng)關(guān)將請(qǐng)求發(fā)送到192.168.0.1,這樣就起到保護(hù)Web服務(wù)器的作用
#iptables -t nat -A PREROUTING -d 10.0.0.254 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1
將訪問(wèn)網(wǎng)關(guān)80端口的數(shù)據(jù)包目標(biāo)地址翻譯或192.168.0.1,這樣本來(lái)發(fā)送給本機(jī)的數(shù)據(jù)包就會(huì)從FORWARD鏈轉(zhuǎn)發(fā)出去。

Web服務(wù)器在內(nèi)部,它收到請(qǐng)求后回應(yīng)數(shù)據(jù)包給網(wǎng)關(guān),然后返回到10.0.0.241。這樣就把內(nèi)部主機(jī)保護(hù)起來(lái),外面的人只能看見(jiàn)那臺(tái)網(wǎng)關(guān)服務(wù)器,所以NAT應(yīng)用非常廣,而且非常強(qiáng)大,更多幫助和介紹可參考www.netfilter.org

為軟件打補(bǔ)丁,首先用gpg導(dǎo)入公鑰文件,再校驗(yàn)patch文件的正確性。
#bzcat 9.3.0-patch | patch -p0
一般需查文件里面的目錄,然后再將軟件目錄改名。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
linux下用iptables做本機(jī)端口轉(zhuǎn)發(fā)方法
關(guān)于 iptables 入站 出站以及NAT實(shí)例
Linux系列-Red Hat5平臺(tái)下的Iptables防火墻應(yīng)用(一)翻出老家底——咱們來(lái)學(xué)Iptables
75.iptables 之centos6系列(day75)
安卓網(wǎng)絡(luò)防火墻原理詳解
Linux iptables 防火墻常用規(guī)則
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服