日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Redhat防火墙

發(fā)布時(shí)間:2024/3/24 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redhat防火墙 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Redhat防火墻

什么防火墻

? 防火墻:防火墻是位于內(nèi)部網(wǎng)和外部網(wǎng)之間的屏障,它按照系統(tǒng)管理員預(yù)先定義好的規(guī)則來控制數(shù)據(jù)包的進(jìn)出。

? 防火墻又可以分為硬件防火墻與軟件防火墻。硬件防火墻是由廠商設(shè)計(jì)好的主機(jī)硬件,這臺(tái)硬件防火墻的操作系統(tǒng)主要以提供數(shù)據(jù)包數(shù)據(jù)的過濾機(jī)制為主,并將其他不必要的功能拿掉。軟件防火墻就是保護(hù)系統(tǒng)網(wǎng)絡(luò)安全的一套軟件(或稱為機(jī)制)

iptables與firewalld都不是真正的防火墻,它們都只是用來定義防火墻策略的防火墻管理工具
這些工具的作用

  • 拒絕讓Internet的數(shù)據(jù)包進(jìn)入主機(jī)的某些端口;

  • 拒絕讓某些來源ip的數(shù)據(jù)包進(jìn)入;

  • 拒絕讓帶有某些特殊標(biāo)志(flag)的數(shù)據(jù)包進(jìn)入,最常拒絕的就是帶有SYN的主動(dòng)連接的標(biāo)志了;

  • 分析硬件地址(MAC)來決定連接與否。

  • 防火墻并不能有效阻擋病毒或木馬程序。(假設(shè)主機(jī)開放了www服務(wù),防火墻的設(shè)置是一定要將www服務(wù)的port開放給client端的。假設(shè)www服務(wù)器軟件有漏洞,或者請(qǐng)求www服務(wù)的數(shù)據(jù)包本身就是病毒的一部分時(shí),防火墻是阻止不了的)

  • 防火墻對(duì)于內(nèi)部LAN的攻擊無能為力(防火墻對(duì)于內(nèi)部的規(guī)則設(shè)置通常比較少,所以就很容易造成內(nèi)部員工對(duì)于網(wǎng)絡(luò)無用或?yàn)E用的情況)

    ?

  • iptables

    ? 防火墻會(huì)從以上至下的順序來讀取配置的策略規(guī)則,在找到匹配項(xiàng)后就立即結(jié)束匹配工作并去執(zhí)行匹配項(xiàng)中定義的行為(即放行或阻止)。如果在讀取完所有的策略規(guī)則之后沒有匹配項(xiàng),就去執(zhí)行默認(rèn)的策略。一般而言,防火墻策略規(guī)則的設(shè)置有兩種:一種是“通”(即放行),一種是“堵”(即阻止)。當(dāng)防火墻的默認(rèn)策略為拒絕時(shí)(堵),就要設(shè)置允許規(guī)則(通),否則誰都進(jìn)不來;如果防火墻的默認(rèn)策略為允許時(shí),就要設(shè)置拒絕規(guī)則,否則誰都能進(jìn)來,防火墻也就失去了防范的作用。

    ? iptables服務(wù)把用于處理或過濾流量的策略條目稱之為規(guī)則,多條規(guī)則可以組成一個(gè)規(guī)則鏈,而規(guī)則鏈則依據(jù)數(shù)據(jù)包處理位置的不同進(jìn)行分類,具體如下:

    在進(jìn)行路由選擇前處理數(shù)據(jù)包,用于目標(biāo)地址轉(zhuǎn)換(PREROUTING);

    處理流入的數(shù)據(jù)包(INPUT);

    處理流出的數(shù)據(jù)包(OUTPUT);

    處理轉(zhuǎn)發(fā)的數(shù)據(jù)包(FORWARD);

    在進(jìn)行路由選擇后處理數(shù)據(jù)包,用于源地址轉(zhuǎn)換(POSTROUTING)。

    安裝iptables服務(wù)的包:(因?yàn)槭褂玫腞edhat8,8上默認(rèn)沒有這個(gè)包)

    yum install iptables-services.x86_64 -ysystemctl stop firewalld #關(guān)閉Redhat8默認(rèn)得防火墻systemctl start iptables #啟動(dòng)服務(wù) iptables -F #清空所有的規(guī)則表,清空之后客戶端可以訪問ssh和http服務(wù)

    ? iptables命令可以根據(jù)流量的源地址、目的地址、傳輸協(xié)議、服務(wù)類型等信息進(jìn)行匹配,一旦匹配成功,iptables就會(huì)根據(jù)策略規(guī)則所預(yù)設(shè)的動(dòng)作來處理這些流量。

    ? 用法:iptables -t 表名 <-A/I/D/R> 規(guī)則鏈名 [規(guī)則號(hào)] <-i/o 網(wǎng)卡名> -p 協(xié)議名 <-s 源IP/源子網(wǎng)> --sport 源端口 <-d 目標(biāo)IP/目標(biāo)子網(wǎng)> --dport 目標(biāo)端口 -j 動(dòng)作

    iptables的參數(shù)說明:

    ? -t:對(duì)指定的表進(jìn)行操作,table必須是raw,nat,filter,mangle中的一個(gè)。默認(rèn)是filter表。

    ? -p:指定要匹配的數(shù)據(jù)包協(xié)議類型;

    ? -s, --source address[/mask][,…]:把指定的一個(gè)或者一組地址作為源地址,按此規(guī)則進(jìn)行過濾。當(dāng)后面沒有mask 時(shí),address 是一個(gè)地址,比如:192.168.1.1;當(dāng) mask 指定時(shí),可以表示一組范圍內(nèi)的地址,比如:192.168.1.0/255.255.255.0。

    -d, --destination address[/mask][,…]:地址格式同上,但這里指定地址為目的地址,按此進(jìn)行過濾

    ? -i, --in-interface name:指定數(shù)據(jù)包的來自來自網(wǎng)絡(luò)接口,比如最常見的 eth0 。注意:它只對(duì) INPUT,FORWARD,PREROUTING 這三個(gè)鏈起作用。如果沒有指定此選項(xiàng), 說明可以來自任何一個(gè)網(wǎng)絡(luò)接口。同前面類似,"!" 表示取反。

    -o, --out-interface name:指定數(shù)據(jù)包出去的網(wǎng)絡(luò)接口。只對(duì) OUTPUT,FORWARD,POSTROUTING 三個(gè)鏈起作用。

    ? -L, --list [chain] 列出鏈 chain 上面的所有規(guī)則,如果沒有指定鏈,列出表上所有鏈的所有規(guī)則。

    ? -A, --append chain rule-specification:在指定鏈 chain 的末尾插入指定的規(guī)則,也就是說,這條規(guī)則會(huì)被放到最后,最后才會(huì)被執(zhí)行。規(guī)則是由后面的匹配來指定。

    ? -I, --insert chain [rulenum] rule-specification:在鏈 chain 中的指定位置插入一條或多條規(guī)則。如果指定的規(guī)則號(hào)是1,則在鏈的頭部插入。這也是默認(rèn)的情況,如果沒有指定規(guī)則號(hào)。

    ? -D, --delete chain rule-specification -D, --delete chain rulenum:在指定的鏈 chain 中刪除一個(gè)或多個(gè)指定規(guī)則。

    ? -R num:Replays替換/修改第幾條規(guī)則。

    ? -P, --policy chain target :為指定的鏈 chain 設(shè)置策略 target。注意,只有內(nèi)置的鏈才允許有策略,用戶自定義的是不允許的。

    ? -F, --flush [chain] 清空指定鏈 chain 上面的所有規(guī)則。如果沒有指定鏈,清空該表上所有鏈的所有規(guī)則。

    ? -N, --new-chain chain 用指定的名字創(chuàng)建一個(gè)新的鏈。

    ? -X, --delete-chain [chain] :刪除指定的鏈,這個(gè)鏈必須沒有被其它任何規(guī)則引用,而且這條上必須沒有任何規(guī)則。如果沒有指定鏈名,則會(huì)刪除該表中所有非內(nèi)置的鏈。

    ? -j, --jump target <指定目標(biāo)> :即滿足某條件時(shí)該執(zhí)行什么樣的動(dòng)作。target 可以是內(nèi)置的目標(biāo),比如 ACCEPT,也可以是用戶自定義的鏈。

    實(shí)驗(yàn)一:搭建web服務(wù),設(shè)置任何人能夠通過80端口訪問。

    iptables -I INPUT -p tcp --dport 80 -j ACCEPT iptables -L --line-numbersiptables -D INPUT 1#禁止某個(gè)IP訪問web服務(wù)器iptables -I INPUT -p tcp --dport 80 -s 192.168.19.1 -j REJECT

    測(cè)試:在Linux本機(jī)(測(cè)試的時(shí)候并未刪除之前書寫的規(guī)則)

    在window下,在iptables中httpd服務(wù)是默認(rèn)可以通過得,在firewalld中httpd服務(wù)默認(rèn)不通過

    實(shí)驗(yàn)二:禁止所有人ssh遠(yuǎn)程登錄該服務(wù)器

    iptables -I INPUT -p tcp --dport 22 -j REJECT#刪除設(shè)置的拒絕ssh連接:iptables -D INPUT 1

    測(cè)試:在遠(yuǎn)程輸入指令之后,我們得終端馬上就掉線了

    現(xiàn)在進(jìn)入虛擬機(jī)中查看相應(yīng)得防火墻規(guī)則

    刪除剛剛寫的規(guī)則

    再次嘗試遠(yuǎn)程連接,連接成功

    實(shí)驗(yàn)三:禁止某個(gè)主機(jī)地址ssh遠(yuǎn)程登錄該服務(wù)器,允許該主機(jī)訪問服務(wù)器的web服務(wù)。服務(wù)器地址為192.168.19.1

    #拒絕192.168.19.1通過ssh遠(yuǎn)程連接服務(wù)器:iptables -I INPUT -p tcp -s 192.168.19.1 --dport 22 -j REJECT#允許192.168.19.1訪問服務(wù)器的web服務(wù):iptables -I INPUT -p tcp -s 192.168.19.1 --dport 80 -j ACCEPT

    firewalld

    ? iptables service 的操作首先對(duì)舊的防火墻規(guī)則進(jìn)行了清空,然后重新完整地加載所有新的防火墻規(guī)則,而如果配置了需要 reload 內(nèi)核模塊的話,過程背后還會(huì)包含卸載和重新加載內(nèi)核模塊的動(dòng)作,而不幸的是,這個(gè)動(dòng)作很可能對(duì)運(yùn)行中的系統(tǒng)產(chǎn)生額外的不良影響,特別是在網(wǎng)絡(luò)非常繁忙的系統(tǒng)中。

    ? 如果我們把這種哪怕只修改一條規(guī)則也要進(jìn)行所有規(guī)則的重新載入的模式稱為靜態(tài)防火墻的話,那么 firewalld 所提供的模式就可以叫做動(dòng)態(tài)防火墻,它的出現(xiàn)就是為了解決這一問題,任何規(guī)則的變更都不需要對(duì)整個(gè)防火墻規(guī)則列表進(jìn)行重新加載,只需要將變更部分保存并更新即可,它具備對(duì) IPv4 和 IPv6 防火墻設(shè)置的支持。

    ? 相比于傳統(tǒng)的防火墻管理工具,firewalld支持動(dòng)態(tài)更新技術(shù)并加入了區(qū)域的概念。區(qū)域就是firewalld預(yù)先準(zhǔn)備了幾套防火墻策略集合(策略模板),用戶可以選擇不同的集合,從而實(shí)現(xiàn)防火墻策略之間的快速切換。

    firewalld中常見的區(qū)域名稱(默認(rèn)為public)以及相應(yīng)的策略規(guī)則:

    區(qū)域默認(rèn)規(guī)則策略
    阻塞區(qū)域 (block)拒絕流入的流量,除非與流出的流量相關(guān)
    工作區(qū)域(work)拒絕流入的流量,除非與流出的流量相關(guān)
    家庭區(qū)域(home)拒絕流入的流量,除非與流出的流量相關(guān)
    公共區(qū)域(public)不相信網(wǎng)絡(luò)上的任何計(jì)算機(jī),只有選擇接受傳入的網(wǎng)絡(luò)連接
    隔離區(qū)域(DMZ)隔離區(qū)域也稱為非軍事區(qū)域,內(nèi)外網(wǎng)絡(luò)之間增加的一層網(wǎng)絡(luò),起到緩沖作用。對(duì)于隔離區(qū)域,只有選擇接受傳入的網(wǎng)絡(luò)連接。
    信任區(qū)域(trusted)允許所有的數(shù)據(jù)包
    丟棄區(qū)域(drop)拒絕流入的流量,除非與流出的流量相關(guān)
    內(nèi)部區(qū)域(internal)等同于home區(qū)域
    外部區(qū)域(external)拒絕流入的流量,除非與流出的流量有關(guān);而如果流量與ssh服務(wù)相關(guān),則允許流量

    ? firewalld默認(rèn)提供的九個(gè)zone配置文件都保存在“/usr/lib/firewalld/zones/”目錄下,分別為:block.xml drop.xml home.xml public.xml work.xml dmz.xml external.xml internal.xml trusted.xml。

    nm-shared.xml文件并不是firewalld自己提供的配置文件,是由NetworkManager提供的

    ? 在RHEL7中,firewalld服務(wù)是默認(rèn)的防火墻配置管理工具,他擁有基于CLI(命令行界面)和基于GUI(圖形用戶界面)的兩種管理方式。firewall-config和firewall-cmd是直接編輯xml文件,其中firewall-config是圖形化工具,firewall-cmd是命令行工具。

    圖形化測(cè)試

    yum -y install firewall-config firewall-config

    firewall-cmd命令的參數(shù)說明如下:

    參數(shù)作用
    –get-default-zone查詢默認(rèn)的區(qū)域名稱
    –set-default-zone=<區(qū)域名稱>設(shè)置默認(rèn)的區(qū)域,使其永久生效
    –get-zones顯示可用的區(qū)域
    –get-services顯示預(yù)先定義的服務(wù)
    –get-active-zones顯示當(dāng)前正在使用的區(qū)域與網(wǎng)卡名稱
    –add-source=將源自此IP或子網(wǎng)的流量導(dǎo)向指定的區(qū)域
    –remove-source=不再將源自此IP或子網(wǎng)的流量導(dǎo)向某個(gè)指定區(qū)域
    –add-interface=<網(wǎng)卡名稱>將源自該網(wǎng)卡的所有流量都導(dǎo)向某個(gè)指定區(qū)域
    –change-interface=<網(wǎng)卡名稱>將某個(gè)網(wǎng)卡與區(qū)域進(jìn)行關(guān)聯(lián)
    –list-all顯示當(dāng)前區(qū)域的網(wǎng)卡配置參數(shù)、資源、端口以及服務(wù)等信息
    –list-all-zones顯示所有區(qū)域的網(wǎng)卡配置參數(shù)、資源、端口以及服務(wù)等信息
    –add-service=<服務(wù)名>設(shè)置默認(rèn)區(qū)域允許該服務(wù)的流量
    –add-port=<端口號(hào)/協(xié)議>設(shè)置默認(rèn)區(qū)域允許該端口的流量
    –remove-service=<服務(wù)名>設(shè)置默認(rèn)區(qū)域不再允許該服務(wù)的流量
    –remove-port=<端口號(hào)/協(xié)議>設(shè)置默認(rèn)區(qū)域不再允許該端口的流量
    –reload讓“永久生效”的配置規(guī)則立即生效,并覆蓋當(dāng)前的配置規(guī)則
    –panic-on開啟應(yīng)急狀況模式
    –panic-off關(guān)閉應(yīng)急狀況模式

    示例:

    firewall-cmd --version #查看版本firewall-cmd --help #查看幫助firewall-cmd --state #顯示狀態(tài)firewall-cmd --panic-on #啟用緊急模式,所有的規(guī)則出入都拒絕firewall-cmd --panic-off #關(guān)閉緊急模式firewall-cmd --query-panic #查詢緊急模式狀態(tài)firewall-cmd --get-zone-of-interface=ens160 # 根據(jù)接口查詢區(qū)域firewall-cmd --reload #重載查看才有該服務(wù) #使用firewalld配置的防火墻策略默認(rèn)為當(dāng)前生效,會(huì)隨著系統(tǒng)的重啟而失效。如果想讓策略一直存在, #就需要使用永久模式了,即在使用firewall-cmd命令設(shè)置防火墻策略時(shí)添加--permanent參數(shù),這樣配置的防火墻策略就可以永久生效了, #最后想要使用這種方式設(shè)置的策略生效,只能重啟或者輸入命令:firewall-cmd --reload。systemctl restart firewalld#任何人可以訪問該服務(wù)器的web服務(wù): firewall-cmd --add-port=80/tcp #或者 firewall-cmd --add-service=http #(臨時(shí)生效,重啟失效)#添加富規(guī)則firewall-cmd --permanent --add-service=ssh #先添加服務(wù),默認(rèn)已添加firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="172.24.8.0/24" service name="ssh" reject' #禁止172.24.8.0網(wǎng)段的地址進(jìn)行ssh訪問firewall-cmd --reload #重載之后當(dāng)前會(huì)話不會(huì)斷開,新連接的被拒絕firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="172.24.8.0/24" service name="ssh" reject' #刪除富規(guī)則 #端口轉(zhuǎn)發(fā) #配置端口轉(zhuǎn)發(fā)(在172.24.8.0網(wǎng)段的主機(jī)訪問該服務(wù)器的5423端口將被轉(zhuǎn)發(fā)到80端口) firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="172.24.8.0/24" forward-port port="5423" protocol="tcp" to-port="80"'#此規(guī)則將本機(jī)80端口轉(zhuǎn)發(fā)到192.168.1.1的8080端口上:firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.1 --permanent防火墻常用的指令:firewall-cmd --get-services #查看命令支持的服務(wù)firewall-cmd --list-all #查看所有的規(guī)則firewall-cmd --get-default-zone #查看當(dāng)前區(qū)域firewall-cmd --permanent --add-service=服務(wù)名 #添加區(qū)域默認(rèn)服務(wù)firewall-cmd --get-zones #查看所有支持的區(qū)域firewall-cmd --set-default-zone=trusted #設(shè)置trusted區(qū)域?yàn)楫?dāng)前區(qū)域

    samba服務(wù)對(duì)應(yīng)應(yīng)該在防火墻添加的服務(wù)為:samba

    nfs服務(wù)對(duì)應(yīng)應(yīng)該在防火墻添加的服務(wù)為:nfs,rpc-bind,mountd

    iscsi服務(wù)對(duì)應(yīng)應(yīng)該在防火墻添加的服務(wù)為:iscsi-target

    ll-cmd --permanent --add-service=服務(wù)名 #添加區(qū)域默認(rèn)服務(wù)
    firewall-cmd --get-zones #查看所有支持的區(qū)域
    firewall-cmd --set-default-zone=trusted #設(shè)置trusted區(qū)域?yàn)楫?dāng)前區(qū)域

    samba服務(wù)對(duì)應(yīng)應(yīng)該在防火墻添加的服務(wù)為:sambanfs服務(wù)對(duì)應(yīng)應(yīng)該在防火墻添加的服務(wù)為:nfs,rpc-bind,mountdiscsi服務(wù)對(duì)應(yīng)應(yīng)該在防火墻添加的服務(wù)為:iscsi-target

    總結(jié)

    以上是生活随笔為你收集整理的Redhat防火墙的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。