iptables – 星星電腦百科網 http://www.cddhlm.com 又一個WordPress站點 Fri, 18 Nov 2022 04:12:19 +0000 zh-CN hourly 1 https://wordpress.org/?v=5.8.2 http://www.cddhlm.com/wp-content/uploads/2022/11/2022111802094645-e1668737399240.png iptables – 星星電腦百科網 http://www.cddhlm.com 32 32 linux防火墻設置-linux防火墻發(fā)展史 http://www.cddhlm.com/1189.html Fri, 18 Nov 2022 04:12:19 +0000 http://www.cddhlm.com/1189.html

linux防火墻發(fā)展史?

1. 認識防火墻

從邏輯上講防火墻可以分為主機防火墻和網絡防護墻。

主機防火墻:針對個別主機對出站入站的數據包進行過濾。(**作對象為個體)

網絡防火墻:處于網絡邊緣,針對網絡入口進行防護。(**作對象為整體)

從物理上講防火墻可以分為硬件防火墻和軟件防火墻。

硬件防火墻:通過硬件層面實現(xiàn)防火墻的功能,性能高,成本高。

軟件防火墻:通過應用軟件實現(xiàn)防火墻的功能,性能低,成本低。

2. 系統(tǒng)防火墻發(fā)展過程

防火墻的發(fā)展史就是從墻到鏈再到表,也是從簡單到復雜的過程。

防火墻工具變化如下:

ipfirewall—>ipchains—>iptables–>nftables(正在推廣)

Linux 2.0版內核中:包過濾機制為ipfw,管理工具是ipfwadm。

Linux 2.2版內核中:包過濾機制為ipchain,管理工具是ipchains。

Linux 2.4,2.6,3.0+版內核中:包過濾機制為netfilter,管理工具是iptables。

Linux 3.1(3.13+)版內核中:包過濾機制為netfilter,中間采取daemon動態(tài)管理防火墻,管理工具是firewalld。

# 目前低版本的firewalld通過調用iptables(command),它可以支持老的iptables規(guī)則(在firewalld里面叫做直接規(guī)則),

# 同時firewalld兼顧了iptables,ebtables,ip6tables的功能。

3. iptables和nftables

nftables

nftables誕生于2008年,2013年底合并到Linux內核,從 Linux 3.13起開始作為iptables的替代品提供給用戶。

它是新的數據包分類框架,新的linux防火墻管理程序,旨在替代現(xiàn)存的 {ip,ip6,arp,eb}_tables,它的用戶空間管理工具是nft。

由于iptables的一些缺陷,目前正在慢慢過渡用nftables替換iptables,同時由于這個新的框架的兼容性,

所以nftables也支持在這個框架上運行直接iptables這個用戶空間的管理工具。

nftables實現(xiàn)了一組被稱為表達式的指令,可通過在寄存器中儲存和加載來交換數據。

也就是說,nftables的核心可視為一個虛擬機,nftables的前端工具nft可以利用內核提供的表達式去模擬舊的iptables匹配,

維持兼容性的同時獲得更大的靈活性。

而未來最新的firewalld(0.8.0)默認使用將使用nftables。詳情可以看www.firewalld.org

iptables、nftables和firewalld之間的區(qū)別與聯(lián)系

firewalld同時支持iptables和nftables,未來最新版本(0.8.0)默認將使用nftables。

簡單的說firewalld是基于nftfilter防火墻的用戶界面工具。而iptables和nftables是命令行工具。

firewalld引入區(qū)域的概念,可以動態(tài)配置,讓防火墻配置及使用變得簡便。

準確的說:iptables(command)的最底層是netfilter,它的用戶空間管理工具是iptables

nftables(command)是iptables(command) 的一個替代品并兼容iptables(command),最底層依然是netfilter,它的用戶空間管理工具是nft,

同時未來firewalld最新版(0.8.0)也將默認支持nftables(command)。https://firewalld.org/

iptables會把配置好的防火墻策略交給內核層的netfilter網絡過濾器來處理

firewalld會把配置好的防火墻策略交給內核層的nftables包過濾框架來處理

下圖為iptables、firewalld、nftables之間的關系圖:

?

4. centos6.X到centos7.X

centos6.X:防火墻由netfilter和iptables構成。其中iptables用于制定規(guī)則,又被稱為防火墻的用戶態(tài);

而netfilter實現(xiàn)防火墻的具體功能,又被稱為內核態(tài)。簡單地講,iptables制定規(guī)則,而netfilter執(zhí)行規(guī)則。

centos7.X:防火墻在6.X防火墻的基礎之上提出了新的防火墻管理工具,提出了區(qū)域的概念,通過區(qū)域定義網絡鏈接以及安全等級。

5.怎樣學好防火墻的配置?

1)OSI7層模型以及不同層對應哪些協(xié)議必須很熟悉 # 基礎必備

2)TCP/IP三次握手,四次斷開的過程,TCP HEADER,狀態(tài)轉換 # 基礎必備

3)常用的服務端口要非常清楚了解。 # 基礎必備

4)常用服務協(xié)議的原理,特別是http協(xié)議,icmp協(xié)議。 # 基礎必備

5)能夠熟練的利用tcpdump和wireshark進行抓包并分析,這樣會更好 # 拓展

6)對計算機網絡有研究,至少基本路由交換要很熟悉 # 拓展

6、企業(yè)中安全配置原則

盡可能不給服務器配置外網IP,可以通過**轉發(fā)或者通過防火墻映射。

并發(fā)不是特別大情況有外網IP,可以開啟防火墻服務。

大并發(fā)的情況,不能開iptables,影響性能,利用硬件防火墻提升架構安全。

linux防火墻開啟之后是不是所有的端口都關閉了?

端口是抽象概念,關閉不了的。

防火墻只是阻止或者允許連接通過某個端口與系統(tǒng)交換信息。就算打開防火墻,不開放任何端口,系統(tǒng)和服務依然會**在某個端口上。比如你可試一下

1 打開防火墻 systemctl start firewalld

2 查看端口** netstat -lanp

linux查看防火墻是否開啟centos8?

我的回答:centos8查看防火墻是否開啟,需要執(zhí)行systemctl status firewalld。

systemctl list-unit-files| grep enabled

查看所有自啟動的服務,查找是否包括

firewalld服務。如果找不到,證明防火墻沒隨機自啟動。

否則就是防火墻是隨機啟動了,需要查看防火墻狀態(tài),執(zhí)行systemctl status firewalld查看服務狀態(tài)。

Linux內核提供防火墻嗎?

提供

selinux是基于內核開發(fā)出來的一種安全機制,被稱之為內核級加強型防火墻,有力的提升了系統(tǒng)的安全性。

SElinux的作用分為兩方面:1.在服務上面加上標簽; 2.在功能上面限制功能

在linux系統(tǒng)中使用 getenforce 命令可以查看selinux的狀態(tài):

disabled 為關閉狀態(tài),對服務和功能都沒有限制

enforcing 為強制狀態(tài),對服務和功能都進行限制

如何關閉linuxcentos7防火墻?

centos7防火墻是firewalld#關閉firewalldsystemctlstopfirewalld.service#啟動firewalldsystemctlstartfirewalld.service#把firewalld加入到系統(tǒng)服務systemctlenablefirewalld.service#從系統(tǒng)服務移除systemctldisablefirewalld.service

]]>