成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

GNU/Linux系統下nftables防火墻的本地IPS能力部署實例

運維 系統運維
隨著各 GNU/Linux 系統廠商以及社區逐步開始采用新的內核作為其發行版本的默認內核,防火墻機制采用了更新的 nftables 防火墻機制。

[[325653]]

隨著各 GNU/Linux 系統廠商以及社區逐步開始采用新的內核作為其發行版本的默認內核,防火墻機制采用了更新的 nftables 防火墻機制。

盡管紅帽公司提供了 firewalld.service 防火墻服務組件以及相關的配置管理命令 firewall-configfirewall-cmd 來對防火墻進行管理,但該服務組件目前還沒有在其他發行版或者社區版本內得到統一使用。

為了更好的幫助讀者朋友們理解該防火墻機制,筆者將自己在工作中直接使用 nftables 進行手工創建配置,從而使系統具有本地 IPS 能力的過程進行總結。

目前多數主流的新發行版 GNU/Linux 系統,默認安裝完成后 systemd 系統和服務管理器中已經添加了新的 nftables.serivce 子服務配置文件。同時依然支持 iptables 規則和 iptables 命令,不過為了徹底將防火墻升級到 nftables 機制,我們可以在沒有 firewalld.service 的發行版系統中直接啟用 nftables.service 服務來使用新的防火墻。

通過執行命令 vi /lib/systemd/system/nftables.service,從該文件中的語句 ExecStart=/usr/sbin/nft -f /etc/nftables.conf 我們可以清楚的看到,nftables 防火墻的默認配置和規則文件一般都放置在系統的 /etc/nftables.conf 目錄中,不過該默認配置文件中只包含一個名為 inet filter 的簡單 IPv4/IPv6 防火墻列表。

inet 過濾器可以同時適用于 IPv4 和 IPv6 的規則,但不能用于 NAT 類型的鏈,只能用于過濾器類型的鏈。

為了保持和 iptables 防火墻的規則類比,便于用戶熟悉,我們可以使用如下 nftables 命令創建相應的表和鏈來建立一個類似于傳統 iptables 防火墻框架,創建過程如下:

1、創建 nft 表

與 iptables 中的表不同,nftables 中沒有內置表,表的數量和名稱由用戶決定。但是,每個表只有一個地址簇,并且只適用于該簇的數據包。

表可以指定五個(ip、ip6、inet、arp、bridge)簇中的一個,用戶可以依次執行如下命令:

  1. nft add table ip filter
  2. nft add table ip6 filter
  3. nft add table bridge filter

nftables 將為我們分別建立三個 ipipv6bridge 簇并且表名均為 filter 的防火墻框架。

2、創建鏈

表包含鏈,鏈的目的是保存規則。

與 iptables 中的鏈不同,nftables 也沒有內置鏈。這意味著與 iptables 不同,如果鏈不匹配 nftables 框架中的簇或鉤子,則流經這些鏈的數據包不會被 nftables 觸及。

鏈有兩種類型。基礎鏈是來自網絡棧的數據包的入口點,其中指定了鉤子,其實可以理解為 iptables 防火墻的默認規則。常規鏈可以理解為其它用戶自定義的規則鏈。

使用如下命令為每一個表建立 INPUTFORWARDOUTPUT 鏈,并且設置基礎鏈,其中 ipfilterINPUT 鏈默認為丟棄所有數據包的相應的命令格式如下。

添加 ipfilter 表相應鏈命令集:

  1. nft add chain ip filter INPUT { type filter hook input priority 0\; policy drop\; }
  2. nft add chain ip filter FORWARD { type filter hook forward priority 0\; policy accept\; }
  3. nft add chain ip filter OUTPUT { type filter hook output priority 0\; policy accept\; }

添加 ipv6filter 表相應鏈命令集: 

  1. nft add chain ip6 filter INPUT { type filter hook input priority 0\; policy accept\; }
  2. nft add chain ip6 filter FORWARD { type filter hook forward priority 0\; policy accept\; }
  3. nft add chain ip6 filter OUTPUT { type filter hook output priority 0\; policy accept\; }

添加 bridgefilter 表相應鏈命令集:

  1. nft add chain bridge filter INPUT { type filter hook input priority 0\; policy accept\; }
  2. nft add chain bridge filter FORWARD { type filter hook forward priority 0\; policy accept\; }
  3. nft add chain bridge filter OUTPUT { type filter hook forward priority 0\; policy accept\; }

3、添加規則

規則由語句或表達式構成,包含在鏈中。

將一條規則添加到鏈中使用如下語法:

  1. nft add rule family table chain handle statement

規則添加到 handle 處,這是可選的。如果不指定,則規則添加到鏈的末尾,類似于 iptables -A 方法。

將規則插入到指定位置使用如下語法:

  1. nft insert rule family table chain handle statement

如果未指定handle,則規則插入到鏈的開頭,類似于 iptables -I 方法。

以下是用戶根據自己的實際情況添加的具體規則:

放行本地回環接口 lo 的所有流量:

  1. nft add rule ip filter INPUT iif lo accept

放行 establishedrelated 狀態的數據包,這一點很重要,因為多數對外訪問的數據包在收到對端主機回包時多為這兩種狀態,如果在 INPUT 鏈中不放行該類型數據包,即使本機的 OUTPUT 鏈默認為 ACCEPT,讓所有數據包出站,系統也會主動在 INPUT 鏈中丟棄掉相應的回包而導致數據無法交互。具體命令如下:

  1. nft add rule ip filter INPUT ct state established,related accept

阻斷存在重大安全隱患的系統端口,包括已經公布的比如勒索病毒等端口。nftables 在配置過程中,當用戶使用端口進行添加后,nftables 會自動將端口轉換為 service 模式,用戶可以通過使用命令 nft describe tcp dport 對照查看。阻斷安全隱患的系統端口具體命令如下: 

  1. nft add rule ip filter INPUT meta l4proto tcp tcp dport { loc-srv, 136, netbios-ns, netbios-dgm, netbios-ssn, microsoft-ds, 3389, radmin-port } counter drop
  2.  
  3. nft add rule ip filter INPUT meta l4proto udp udp dport { loc-srv, 136, netbios-ns, netbios-dgm, netbios-ssn, microsoft-ds, 3389, radmin-port } counter drop

對服務進行限流控制,防止 DDoS 攻擊或者 CC 攻擊造成系統服務中斷,可以通過 limit 限制通信速率,以下是接受一個每秒最多 10 個 web 或者 https 或者 dns 查詢請求的數據包,同時可以有 2 個包超出限制的規則具體命令: 

  1. nft add rule ip filter INPUT meta l4proto tcp tcp dport { 80,443,53 } ct state new limit rate 10/second burst 4 packets accept

  2. nft add rule ip filter INPUT meta l4proto udp udp dport { 80,443,53 } ct state new limit rate 10/second burst 4 packets accept

總結

經過以上配置后,我們的主機就具有了很好的本機 IPS 能力。應對不論是面向南北跨路由器的訪問流量,還是本地網絡內的東西訪問流量,常規的惡意掃描或者惡意攻擊基本是夠用了。

之后用戶可以使用命令 nft list ruleset > /etc/nftables.conf 將這些規則保存在 nftables 的默認配置文件中,并使用 systemctl enable nftables.service 打開該服務的默認啟動模式,之后系統將在開機時自動啟動 nftables 防火墻并應用相應規則。

用戶也可以通過命令 vi /etc/nftables.conf 來直接按照相應規則編輯該文件來修改防火墻配置,以確保自己的系統處于本機防火墻 IPS 能力的保護之下。

希望本文對你有用并能幫助到你。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2011-03-17 16:00:57

2009-02-22 09:30:24

2011-03-15 15:47:26

LinuxIptables防火墻

2010-03-05 09:36:04

linux系統防火墻

2009-12-02 18:54:28

2012-01-06 09:33:45

2012-07-10 10:39:48

Linux防火墻

2010-09-30 16:47:21

2009-10-12 12:51:50

Linux作系統防火墻

2010-09-13 17:45:37

2014-08-05 09:50:40

CentOS防火墻

2011-03-15 17:12:11

2011-12-15 15:32:32

2010-09-13 16:32:58

2018-05-04 08:18:34

2009-09-28 10:06:09

Linux防火墻Linux規則

2011-03-15 16:35:27

2020-04-07 13:20:52

Linux防火墻ufw

2009-12-04 10:02:57

2011-03-16 12:46:29

CentOSiptables防火墻
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二不卡视频 | 欧美日韩亚洲国产综合 | 欧美视频三级 | 亚洲精品乱码久久久久久蜜桃91 | 午夜视频网 | 久久91| 欧美电影免费观看高清 | 国产成人久久av免费高清密臂 | 欧美激情区 | 国产免费一区二区三区最新6 | 一区视频 | 91精品久久久久久综合五月天 | 国产一区二区在线91 | 日本精品久久 | 亚洲国产精品成人无久久精品 | 黄色免费在线观看网站 | 久久精品国产一区二区电影 | 日韩在线综合 | 性生生活大片免费看视频 | 亚洲日本国产 | 免费一级欧美在线观看视频 | 久久亚洲二区 | 国产精品国产成人国产三级 | 中文字幕第二区 | 综合久久av | 欧美午夜在线 | 一区福利视频 | 成人免费淫片aa视频免费 | 亚洲高清在线观看 | 国产一区二区日韩 | 中文字幕av亚洲精品一部二部 | 国产成人高清视频 | 欧美一区二区三区四区五区无卡码 | 日日操夜夜操天天操 | 国产区高清 | 免费在线精品视频 | 午夜精品久久久久久久久久久久 | 久久午夜国产精品www忘忧草 | 黄色在线观看国产 | 国产精品久久久久久一区二区三区 | 国产日韩欧美一区 |