• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      RedHat Linux 7防火墻管理機制

      2019-12-22 10:40:43
      網(wǎng)絡(luò)安全和信息化 2019年1期
      關(guān)鍵詞:源地址配置文件日志

      Linux7防火墻的特點

      對于之前的Linux發(fā)行版來說,其防火墻管理工具包 括 Iptables、IP6tables以 及ebtables等。 在Linux7中則提供了名為Firewalld的管理工具,其包含在Firewalld軟件包中。因為普通用戶無法直接操作內(nèi)核空間的Netfilter組件,所以需要使用以上工具對其進行管理。

      因 為Firewalld是Linux7默認的管理工具,為了防止和Iptables產(chǎn)生沖突,可以編寫一個簡單的腳本,包含“#!/bin/bash”、“for SERVICE in iptables ip6tables ebtables”、“systemctl mask ${SERVICE}.service”、“done”等行,執(zhí)行“chmod 755 xxx.sh”、“./xxx.sh”命令,執(zhí)行該腳本,其名稱假設(shè)為“xxx.sh”,就可以禁用之前的管理工具。

      Linux7支 持Trusted、Home、Internal、Work、Public、External、DMZ、Block、Drop等區(qū)域。區(qū)域定義了綁定的網(wǎng)絡(luò)連接,接口以及源地址的可信程度。區(qū)域是服務(wù)、端口、協(xié)議、IP偽裝、端口/報文轉(zhuǎn)發(fā)、ICMP過濾以及富規(guī)則的組合,區(qū)域可以綁定到接口以及源地址,區(qū)域其實就是一組規(guī)則的集合。其配置方法有三種,一是直接編輯配置文件,配置文件保存在“etc/firewalld”目錄,其中包含“firewalld.conf”主配置文件,名為“services”的服務(wù)目錄,名為“zones”的區(qū)域目錄等。二是使用圖形界面工具firewall-config,當運行該命令后,在區(qū)域列表中顯示所有的區(qū)域名稱,Public是默認區(qū)域。三是使用命令行工具firewall-cmd,例如執(zhí)行“firewall-cmd --getzones”命令,顯示所有的區(qū)域。 執(zhí) 行“firewall-cmd--get-default-zones” 命令,查看默認的區(qū)域。

      Linux 7防火墻的基本操作

      對于trusted區(qū)域來說,允許所有進來的流量。例如,在本機上安裝了HTTPD服務(wù),可以提供Web訪問服務(wù)。

      但是在防火墻保護下,默認狀態(tài)外界是無法訪問的。執(zhí)行“firewall-cmd --getactive-zones”命令,顯示當前的活動區(qū)域為Public。Public區(qū)域會拒絕進入的流量,除非和出去的流量相關(guān)聯(lián)。

      當然,對于SSH、dhcpv6-client等預(yù)先定義的服務(wù)來說,是允許連接的。執(zhí)行“firewall-cmd --setdefault-zones=trusted”命令,將默認區(qū)域設(shè)置為trusted。這樣,外界就可以訪問本機的Web服務(wù)了。

      對應(yīng)的,執(zhí)行“firewallcmd --set-defaultzones=block”命令,將當前區(qū)域設(shè)置為Block,那么將攔截所有進入的流量,除非和出去的流量相關(guān)聯(lián)。這比Public區(qū)域要嚴格。

      注意,這種拒絕依然會返回錯誤信息。例如對于ping探測來說,會被Block區(qū)域攔截,但是會給探測者返回“無法訪問目標主機”的錯誤信息。對于Drop區(qū)域來說,會丟棄所有進入的流量。除非和出去的流量相關(guān)聯(lián)。但是這種拒絕不會返回任何錯誤信息。當設(shè)置為Drop后,如果希望其允許SSH連接進入的話,可以執(zhí)行“firewall-cmd --addservice=ssh”命令,將SSH服務(wù)添加到當前區(qū)域。

      執(zhí) 行“firewal-cmd--list-all”命令,顯示當前區(qū)域的所有規(guī)則。當然,執(zhí)行“firewal-cmd --listall-zone=public”命令,可以查看指定區(qū)域(這里為Public)的所有規(guī)則。執(zhí)行“firewall-cmd --list-allzone”命令,可以查看所有區(qū)域的規(guī)則。除了按需開放服務(wù)外,也可以靈活的開啟端口。

      例如對于FTP服務(wù)來說,既可以執(zhí)行“firewall-cmd--add-service=ftp”命令,也可以執(zhí)行“firewall-cmd--add-port=21/tcp”命令,來開放FTP服務(wù)。當然,這些服務(wù)必須預(yù)先設(shè)置好。執(zhí)行“firewall-cmd --getservices”命令,可以顯示一些預(yù)先的好的服務(wù)。進入“/usr/lib/firewalld/services”目錄,在其中顯示所有預(yù)先定義的服務(wù)的配置文件(后綴為“.xml”)。

      例如執(zhí)行“vim samba.xml”命令,可以查看與Samba服務(wù)相關(guān)的定義信息,在其中顯示與其關(guān)聯(lián)的需要開放的端口信息(例如UDP 137/138/138,TCP 445 等)。對 應(yīng) 的,執(zhí) 行“firewallcmd --remove-service=ftp”或 者“firewall-cmd--remove-port=21/tcp”命令,可以禁止FTP服務(wù)通過防火墻。

      注 意,對 于“Drop”區(qū)域來說,其規(guī)則中添加的“Source”地址是被拒絕的,但是添加的“service”服務(wù)以及“Port”端口是允許開放的。在當前區(qū)域為“Drop”的情況下,執(zhí)行“firewall-cmd --addsource=172.16.1.0/24”命令,則拒絕指定IP范圍內(nèi)的網(wǎng)絡(luò)連接通過防火墻。執(zhí)行“firewall-cmd --addsource=172.16.1.100/32”命令,對于地址為“172.16.10100”的主機來說,是無法通過防火墻進行連接的。

      如果想禁止多個地址,連續(xù)執(zhí)行上述命令即可,例如繼續(xù)執(zhí)行“firewallcmd --add-source=172.16.1.109/32”命 令,可 以 將IP為“172.16.10.100” 和“172.16.1.109”的主機拒之門外。執(zhí)行“firewallcmd --set-defaultzones=public”命令,將當前區(qū)域設(shè)置為“Public”。執(zhí)行“firewal-cmd --listall”命令,顯示該區(qū)域的所有規(guī)則。執(zhí)行“firewalcmd --addl-service=http”命令,允許外界訪問本機的Web服務(wù)。執(zhí)行“firewalcmd --permanent-addservice=ftp”和“firewallcmd --reload”命令,可以添加永久性的規(guī)則,允許外界訪問本機的FTP服務(wù)。

      這和之前的規(guī)則不同,之前的規(guī)則在系統(tǒng)重啟后會消失,而本規(guī)則不會出現(xiàn)這種情況。

      執(zhí) 行“f i r e w a lc m d --c h a n g einterface=enoxxxxxxxx -zone=trusted”命令,可以將指定的網(wǎng)絡(luò)接口(該接口當前屬于“Public”區(qū)域)添加到“trusted”區(qū)域。之后執(zhí)行“firewall-cmd --getactive-zones”命令,可以看到當前活動區(qū)域由“Public”變成了“trusted”。這就說明,活動區(qū)域必須和特定網(wǎng)絡(luò)接口相關(guān)聯(lián)。

      例如對于某防火墻主機來說,配置了三塊網(wǎng)卡,分別連接內(nèi)網(wǎng)、外網(wǎng)和DMZ區(qū)域,對于內(nèi)網(wǎng)來說,一般設(shè)置為Trusted區(qū)域,這樣該區(qū)域就必須和特定的網(wǎng)卡關(guān)聯(lián)方可。在同一時刻可以存在多個活動區(qū)域。

      對于防火墻來說,規(guī)則的制定是極為重要的。防火墻會首先檢測數(shù)據(jù)包的源地址,如果其匹配區(qū)域中的源規(guī)則,就會被該區(qū)域路由。之后防火墻會根據(jù)數(shù)據(jù)包中的進入接口檢查匹配的區(qū)域,并由匹配的區(qū)域進行處理。最后才根據(jù)默認區(qū)域的規(guī)則,對數(shù)據(jù)包進行檢測。

      使用富規(guī)則,實現(xiàn)靈活管控

      除了區(qū)域和服務(wù)之外,F(xiàn)ireWalld同時也提供了“Direct rules”(直接規(guī)則)和“Rich Rules”(富規(guī)則)這兩個選項。

      前者主要用于使服務(wù)和應(yīng)用程序能夠增加規(guī)則,可以對服務(wù)和應(yīng)用程序進行有效控制。相對于富規(guī)則來說,其靈活性較差難以管理,一般很少使用其對防火墻進行管理和控制。富規(guī)則提供了更為復(fù)雜和精細的配置,其語法相對來說比較復(fù)雜。能夠?qū)?shù)據(jù)包的源地址,目標地址進行過濾,針對服務(wù)、端口、協(xié)議、ICMP 攔截、偽裝、端口轉(zhuǎn)發(fā)等動作進行控制,對于流量可以進行更加精細的管控,并且可以將流量信息記錄到日志和審計中,根據(jù)具體情況可以執(zhí)行接受,拒絕和丟棄等操作。

      例如執(zhí)行“firewallc m d --p e r m a n e n t--zone=classroom -add-rich-rule='rule family=ipv4 source address=192.168.0.11/32 reject'”命令,對于自定義 區(qū) 域“classroom” 增加一條富規(guī)則,作用是針對IPv4流量進行控制,拒絕源地址為192.168.0.11的連接。執(zhí)行“firewallcmd --reload”,“firewallcmd --list-rich-rules-zone=xxx”命 令,列 出“xxx”區(qū)域中的所有的富規(guī)則。執(zhí)行firewall-cmd--remove-rich-rule='rule family=ipv4 source address=192.168.0.11/32 reject'”命令,可以移除指定的富規(guī)則。

      對應(yīng)的,執(zhí)行執(zhí)行firewall-cmd --permanent--remove-rich-rule='rule family=ipv4 source address=192.168.0.11/32 reject'”命令,可以永久的移除指定的富規(guī)則。

      執(zhí) 行“firewall-cmd--add-rich-rule='rule service name=ftp limit value=2/m accept'”命令,對于當前區(qū)域增加一條富規(guī)則,作用是針對FTP連接進行控制,只允許在每分鐘內(nèi)接受兩個新連接。執(zhí)行“firewall-cmd --permanent--add-rich-rule='rule protocol name=esp drop'”命令,對于當前區(qū)域增加一條富規(guī)則,作用是禁止IPSec中的ESP協(xié)議進行連接。

      執(zhí) 行“firewall-cmd--permanent --zone=xxx-add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port=7900-8000 protocol=tcp accept'”命令,對于區(qū)域“xxx”增加一條富規(guī)則,作用是針對IPv4流量進行控制,允許源地址為192.168.1.0/24,端口來自7900到8000的TCP連接通過防火墻。

      為了便于監(jiān)控流量信息,還可以將其記錄到日志中。例如執(zhí)行“firewall-cmd--permanent --zone=xxx-add-rich-rule='rule service name="ssh" log prefix="ssh " level="notice" limit value="3/m" accept'”命令,表示針對區(qū)域“xxx”添加一條富規(guī)則,將服務(wù)名為“ssh”的流量放行,并將其記錄到日志中,其自定義前綴為“ssh”,等級為“notice”,記錄的速率為每分鐘三條。日志的級別包括emerg(恐慌)/alert(報警)/crit(緊急)/error(錯誤)/warning(警 告)/notice(提醒)/info(正常信息)/debug(調(diào)試)等。執(zhí)行“grep ssh /var/log/message”命令,就可以檢索到這些日志信息。

      執(zhí) 行“firewall-cmd--add-rich-rule='rule family=ipv6 source address="2001:db8::/64"service name="dns" audit limt value="1/h" reject'-timeout=300”命 令,可以為當前區(qū)域添加一條富規(guī)則,作用是針對IPv6流量進行控制,拒絕源地址為“2001:db8::/64”,服務(wù)名為“dns”的流量,并對其進行審計,速率為每小時處理一條消息,該規(guī)則超時時間為300毫秒。

      當安裝了HTTPD之后,執(zhí) 行“systemctl start https” 命 令,啟 動Web服 務(wù)。 執(zhí) 行“firewallc m d --p e r m a n e n t--zone=public --addr i c h-r u l e='r u l e family=ipv4 source address=172.16.1.0/24 service name=http log p r e f i x="N E W H T T P"level="notice" limit value="3/s" accept'”命令,添加一條富規(guī)則,對源地址為172.16.1.0/24,服務(wù)名為“http”的連接進行記錄,前日志前綴為“NEW HTTP”,速率為每秒3條,對這樣的連接放行。

      執(zhí) 行“firewall-cmd--reload”命令進行加載,執(zhí)行“tail -f /var/log/messages”命令,監(jiān)視日志的變化情況。

      地址偽裝和端口轉(zhuǎn)發(fā)

      在Linux 7的防火墻機制中,提供了地址偽裝和端口轉(zhuǎn)發(fā)功能。對于端口轉(zhuǎn)發(fā),實際分為SNAT和DNAT兩部分。

      對于前者來說,可以實現(xiàn)源地址轉(zhuǎn)換,常用于內(nèi)網(wǎng)用戶共享上網(wǎng)。對于后者來說,可以實現(xiàn)目標地址轉(zhuǎn)換,常用來實現(xiàn)端口的映射發(fā)布內(nèi)網(wǎng)服務(wù)器,允許外界用戶進行訪問。

      例如,當內(nèi)網(wǎng)中的主機需要訪問外網(wǎng)中的某臺Web主機的話,就需要在防火墻上對內(nèi)網(wǎng)地址進行偽裝,將其偽裝成外網(wǎng)地址,然后才可以實現(xiàn)上述訪問要求。

      在防火墻主機上至少需要安裝兩塊網(wǎng)卡,分別連接內(nèi)網(wǎng)和外網(wǎng)。執(zhí)行“firewall-cmd -listall”命令,在默認情況下當前區(qū)域的規(guī)則列表中的“masquerade:”欄 中 顯示“no”,說明偽裝并沒有打開。執(zhí)行“firewall-cmd--permanent --zone=public-add-masquerade”命令,為Public區(qū)域添加偽裝。

      執(zhí) 行“firewall-cmd--reload”和“firewall-cmd-list-all”命令,顯示偽裝功能已經(jīng)打開。是因為在上面的例子中,已經(jīng)為Public區(qū)域設(shè)置了相應(yīng)的富規(guī)則,允許172.16.1.0/24網(wǎng)段的主機通過防火墻來訪問外網(wǎng),而且將連接內(nèi)外網(wǎng)的接口添加到了Public區(qū)域的“interrface”接口列表中了。

      這樣偽裝效果就發(fā)揮了出來,內(nèi)網(wǎng)中該網(wǎng)段內(nèi)的主機就可以通過防火墻訪問外網(wǎng)Web主機了。

      對于端口轉(zhuǎn)發(fā)來說,即可以從本機的一個端口轉(zhuǎn)發(fā)到另一個端口,也可以從本機的一個端口轉(zhuǎn)發(fā)到另一個系統(tǒng),這只是在偽裝接口的情況下有用,其前提是偽裝功能要打開。注意,端口轉(zhuǎn)發(fā)只是用于Ipv4。

      例如,當外網(wǎng)主機想訪問某內(nèi)網(wǎng)主機的Telnet服務(wù),就可以通過端口轉(zhuǎn)發(fā)來實現(xiàn),即將內(nèi)網(wǎng)目標主機的TCP 23端口通過防火墻轉(zhuǎn)發(fā)出去。

      執(zhí) 行“firewall-cmd--permanent --zone=public--add-forward-port=por t=23:proto=tcp:toport=2 3:toaddr=172.16.1.100”,“firewall-cmd --reload”命令,就可以將IP為172.16.1.100內(nèi)網(wǎng)主機的TCP 23端口通過防火墻轉(zhuǎn)發(fā)出去。外網(wǎng)主機通過訪問防火墻主機的TCP 23端口,就可以映射到特定的內(nèi)網(wǎng)主機TCP 23端口上。 執(zhí) 行“firewall-cmd--permanent --zone=work--add-rich-rule= 'rule family=ipv4 source address=192.168.0.0/26 forward-port port=80 p r o t o c o l=t c p t oport=8080'”、“firewall-cmd--reload”命令,使用富規(guī)則實現(xiàn)轉(zhuǎn)口轉(zhuǎn)發(fā),可以將指定源地址TCP80端口訪問轉(zhuǎn)發(fā)到本系統(tǒng)的TCP 8080端口。這樣,就實現(xiàn)了針對本系統(tǒng)的端口轉(zhuǎn)發(fā)功能。

      應(yīng)該指出,在一個區(qū)域中(例如“Public”),規(guī)則的匹配順序是偽裝和轉(zhuǎn)口轉(zhuǎn)發(fā)優(yōu)先級最高,之后是日志記錄功能,再次是允許規(guī)則,最后是拒絕規(guī)則。

      創(chuàng)建自定義區(qū)域和服務(wù)

      處理使用系統(tǒng)自帶的區(qū)域和服務(wù)外,Linux 7的防火墻也允許用戶自定義所需的區(qū)域和服務(wù)。防火墻配置文件分別存儲在“/usr/lib/firewalld” 和“/etc/firewalld”目錄中。

      對于前者來說是系統(tǒng)默認的,對于后者來說是當前使用的。如果要自定義區(qū)域和服務(wù),就需要以前者為模版。

      防火墻區(qū)域的定義信息存儲在“.xml”格式的文件中,進入“/etc/firewalld/zones”目錄中,執(zhí)行“cat public.xml”命 令,顯 示Public區(qū)域的配置信息,在其中包含該區(qū)域的所有規(guī)則信息??梢栽谄渲兄苯犹砑右?guī)則,實現(xiàn)靈活的規(guī)則編輯操作。

      進 入“/u s r/l i b/firewalld/zones”目錄,在其中顯示各種默認的區(qū)域配置信息。執(zhí)行“cat public.xml”命令,查看默認的區(qū)域配置信息,包括默認開放的服務(wù)。但是其中并沒有包含任何規(guī)則。

      了解了這些內(nèi)容,實現(xiàn)自定義區(qū)域操作就很簡單了。例如執(zhí)行“firewall-cmd--new-zone --permanent--new-zone=workzone”,“firewall-cmd --reload”命令,可以自定義一個名為“workzone”的區(qū)域。進入“/etc/firewalld/zones”目錄中,可以看到該區(qū)域配置文件。當然,該文件默認中的配置信息為空。

      執(zhí) 行“f i r e w a l lc m d --l i s t-a l l--zone=workzone”命令,顯示其不包含任何規(guī)則信息。之后可以按照上面談到的方法,執(zhí)行各種命令,為其添加所需的規(guī)則。

      例如執(zhí)行“firewallc m d --c h a n g einterface=enoxxxxxx -zone=workzone”命令,將指定的網(wǎng)絡(luò)接口添加到該自定義區(qū)域。執(zhí)行“firewall-cmd-zone=workzone --addservice=ssh --permanent”,“firewall-cmd --reload”命令,為該區(qū)域添加SSH服務(wù),即允許連接SSH服務(wù)。這樣,在客戶端連接與上述“enoxxxxxx”相關(guān)的IP時,就可以訪問該機的SSH服務(wù)了。

      當然,也可以進入“/etc/firewalld/zones”目錄中,執(zhí)行“vi workzone.xml”命令進行編輯,添加“”行,就開放了FTP服務(wù)。創(chuàng)建自定義服務(wù)的方法與上述大體相同,配置文件分別存儲在“/usr/lib/firewalld/services” 和“/etc/firewalld/services”目錄中。執(zhí)行“firewall-cmd--new-service=newservice--permanent” 、“firewallcmd --reload”命令,可以自定義一個名為“newservice”的服務(wù)。該服務(wù)默認為空,進 入“/etc/firewalld/services”目錄,會顯示名為“newservice.xml”的 文件,其內(nèi)容為空。您可以參閱系統(tǒng)默認提供的服務(wù)配置文件,對其進行適當?shù)男薷?,添加開放的端口和模塊,來滿足實際的需要。 執(zhí) 行“firewall-cmd--add-service=newservice-z o n e=w o r k z o n e--permanent”命令,可以將該服務(wù)添加到“workzone”區(qū)域中。

      猜你喜歡
      源地址配置文件日志
      提示用戶配置文件錯誤 這樣解決
      國內(nèi)互聯(lián)網(wǎng)真實源地址驗證研究進展①
      一名老黨員的工作日志
      華人時刊(2021年13期)2021-11-27 09:19:02
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      搭建簡單的Kubernetes集群
      互不干涉混用Chromium Edge
      忘記ESXi主機root密碼怎么辦
      游學日志
      一種基于粗集和SVM的Web日志挖掘模型
      實現(xiàn)RSF機制的分布式域間源地址驗證
      长岛县| 定兴县| 尚志市| 平泉县| 禄劝| 武穴市| 思南县| 德江县| 房山区| 丰顺县| 东平县| 肥城市| 涡阳县| 林芝县| 绥德县| 正镶白旗| 四川省| 宝兴县| 白河县| 名山县| 濮阳市| 十堰市| 沭阳县| 依兰县| 门头沟区| 和林格尔县| 平顶山市| 工布江达县| 化隆| 阿瓦提县| 资兴市| 乾安县| 长泰县| 保定市| 平邑县| 宜宾市| 康乐县| 桂东县| 梅河口市| 大同县| 临邑县|