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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux学习-防火墙

發布時間:2024/9/30 linux 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux学习-防火墙 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

      • 1. 防火墻概述
      • 2. iptables
        • 2.1 策略與規則鏈
        • 2.2 iptables中基本的命令參數
      • 3. firewalld
        • 3.1 firewalld區域以及相關設置
        • 3.2 firewalld常用命令

防火墻的作用:保障數據的安全性

1. 防火墻概述

為什么要有防火墻:
相較于企業內網,外部的公網環境更加惡劣,罪惡叢生。為了保障數據的安全性,需要在公網與企業內網
之間構建一道保護屏障–防火墻。這種防火墻可以是硬件也可以是軟件。

實現方式:
雖然有軟件或硬件之分,但主要功能都是依據策略對穿越防火墻自身的流量進行過濾。防火墻策略可以基于流量的源目地址、端口號、協議、應用等信息來定制,然后防火墻使用預先定制的策略規則監控出入的流量,若流量與某一條策略規則相匹配,則執行相應的處理,反之則丟棄。

因為暫時沒有接觸到硬件類的防火墻,所以這里只記錄軟件類的防火墻的管理工具。
在RHEL(Red Hat Enterprise Linux)7中,firewalld取代了iptables,成為了新的防火墻管理工具。是的,這兩個都不是真正的防火墻,它們都只是用來定義防火墻策略的防火墻管理工具而已,或者說,它們只是一種服務。在這一點上,有點類似于MySQL,MySQL并不是真正的數據庫,而是一種數據庫的管理工具,一種服務。

iptables服務會把配置好的防火墻策略交由內核層面的 netfilter 網絡過濾器來處理,而 firewalld 服務則是把配置好的防火墻策略交由內核層面的 nftables 包過濾框架來處理。換句話說,當前在Linux 系統中其實存在多個防火墻管理工具,旨在方便運維人員管理 Linux 系統中的防火墻策略,我們只需要配置妥當其中的一個就足夠了。

2. iptables

在早期的 Linux 系統中,默認使用的是 iptables 防火墻管理服務來配置防火墻。盡管新型的 firewalld 防火墻管理服務已經被投入使用多年,但是大量的企業在生產環境中依然出于各種原因而繼續使用 iptables。同時,各個防火墻管理工具的配置思路是一致的,在掌握了 iptables 后再學習其他防火墻管理工具時,也有借鑒意義。

2.1 策略與規則鏈

防火墻會從上至下的順序來讀取配置的策略規則,在找到匹配項后就立即結束匹配工作并去執行匹配項中定義的行為(即放行或阻止)。如果在讀取完所有的策略規則之后沒有匹配項,就去執行默認的策略。

一般而言,防火墻策略規則的設置有兩種:一種是“通”(即放行),一種是“堵”(即阻止)。當防火墻的默認策略為拒絕時(堵),就要設置允許規則(通),否則誰都進不來;如果防火墻的默認策略為允許時,就要設置拒絕規則,否則誰都能進來,防火墻也就失去了防范的作用。

iptables 服務把用于處理或過濾流量的策略條目稱之為規則,多條規則可以組成一個規則鏈,而規則鏈則依據數據包處理位置的不同進行分類,具體如下:

  • 在進行路由選擇前處理數據包(PREROUTING)
  • 處理流入的數據包(INPUT)
  • 處理流出的數據包(OUTPUT)
  • 處理轉發的數據包(FORWARD)
  • 在進行路由選擇后處理數據包(POSTROUTING)
    一般來說,從內網向外網發送的流量一般都是可控且良性的,因此我們使用最多的就是INPUT 規則鏈。

對于從外網到內網的流量該如何處理?一般有兩步

  • 辨別來的流量屬于哪種(過濾)
  • 對不同的請求做不同的動作(處理)
  • 對于辨別流量,舉個栗子,
    我們現在居住的社區內,物業管理公司有兩條規定:1. 禁止小商小販進入社區;2. 各種車輛在進入社區時都要登記。顯而易見,這兩條規定應該是用于社區的正門的(流量必須經過的地方),而不是每家每戶的防盜門上。根據前面提到的防火墻策略的匹配順序,可能會存在多種情況。比如,、

    • 來訪人員是小商小販,則直接會被物業公司的保安拒之門外,也就無需再對車輛進行登記。
    • 如果來訪人員乘坐一輛汽車進入社區正門,則“禁止小商小販進入社區”的第一條規則就沒有被匹配到,因此按照順序匹配第二條策略,即需要對車輛進行登記。
    • 如果是社區居民要進入正門,則這兩條規定都不會匹配到,因此會執行默認的放行策略。

    正如上面例子中所說的,保安在辨來訪人員是輸入哪種(小商販,其他人員,居民)外,還需要對其作出處理(拒絕、登記、允許入內)。這些動作對應了 iptables 服務中的ACCEPT(允許流量通過)、LOG(記錄日志信息)、REJECT(拒絕流量通過并告知允許)、DROP(拒絕流量通過)。

    其中拒絕有兩種,REJECT和DROP,它們的共同點都是拒絕通過,不同點是REJECT拒絕后并回復發送方“您的信息已經收到,但是被扔掉了”信息。而DROP則只是拒絕。

    2.2 iptables中基本的命令參數

    iptables 命令可以根據流量的源地址、目的地址、傳輸協議、服務類型等信息進行匹配,一旦匹配成功,iptables 就會根據策略規則所預設的動作來處理這些流量。且

    3. firewalld

    RHEL 7 系統中集成了多款防火墻管理工具,其中firewalld(Dynamic Firewall Manager of Linux systems,Linux系統的動態防火墻管理器)服務是默認的防火墻配置管理工具,它擁有基于CLI(命令行界面)和基于GUI(圖形用戶界面)的兩種管理方式。

    相較于傳統的防火墻管理配置工具,firewalld 支持動態更新技術并加入了區域(zone)的概念。簡單來說,區域就是 firewalld 預先準備了幾套防火墻策略集合(策略模板),用戶可以根據生產場景的不同而選擇合適的策略集合,從而實現防火墻策略之間的快速切換。

    例如,我們有一臺筆記本電腦,每天都要在辦公室、咖啡廳和家里使用。按常理來講,這三者的安全性按照由高到低的順序來排列,應該是家庭、公司辦公室、咖啡廳。當前,我們希望為這臺筆記本電腦指定如下防火墻策略規則:在家中允許訪問所有服務;在辦公室內僅允許訪問文件共享服務;在咖啡廳僅允許上網瀏覽。在以往,我們需要頻繁地手動設置防火墻策略規則,而現在只需要預設好區域集合,然后只需輕點鼠標就可以自動切換了,從而極大地提升了防火墻策略的應用效率。簡而言之,就是定義多個防火墻情景

    3.1 firewalld區域以及相關設置

    firewalld中常用的區域名稱及策略規則

    區域默認策略規則
    trusted允許所有的數據包
    home拒絕流入的流量,除非與流出的流量相關;而如果流量與 ssh、mdns、ipp-client、amba-client 與 dhcpv6-client 服務相關,則允許流量
    internal等同于 home 區域
    work拒絕流入的流量,除非與流出的流量數相關;而如果流量與 ssh、ipp-client 與 dhcpv6-client 服務相關,則允許流量
    public拒絕流入的流量,除非與流出的流量相關;而如果流量與 ssh、dhcpv6-client 服務相關,則允許流量
    block

    查看當前處于哪種區域(模式):firewall-cmd --get-default-zone

    設置當前模式為trusted :firewall-cmd --set-default-zone=trusted

    3.2 firewalld常用命令

    查看firewalld狀態:systemctl status firewalld

    [root@StudentECSLJM ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: man:firewalld(1) [root@StudentECSLJM ~]#

    啟動firewalld服務:systemctl start firewalld

    [root@StudentECSLJM ~]# systemctl start firewalld [root@StudentECSLJM ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: active (running) since Wed 2019-07-17 15:57:22 CST; 3s agoDocs: man:firewalld(1)Main PID: 27789 (firewalld)CGroup: /system.slice/firewalld.service└─27789 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopidJul 17 15:57:21 StudentECSLJM systemd[1]: Starting firewalld - dynamic firewall daemon... Jul 17 15:57:22 StudentECSLJM systemd[1]: Started firewalld - dynamic firewall daemon. [root@StudentECSLJM ~]#

    未完待續。。。

    總結

    以上是生活随笔為你收集整理的linux学习-防火墙的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。