Linux佔用的系統資源少,運行效率高,具備很好的穩定性和安全性,做爲一種網絡操做系統,須要部署防火牆,將內網安全地接入到Internet中。CentOS7的防火牆已經用firewalld安全
替代iptables。firewalld提供一個動態的管理的防火牆。支持IPV4和IPV6防火牆設置。服務器
防火牆技術可用於可信網絡(內網)和不可信網絡(外網)之間創建安全屏障網絡
防火牆技術架構
防火牆的做用工具
人們一般在內網和外網之間安裝防火牆,造成一個保護層,對進出全部的數據進行監測,分析,限制,並對用戶進行認證。防止有害信息進入受保護的網絡,保護其安全。內網和外網之間傳輸的全部數據都要通過防火牆檢查,只有合法數據才能經過。測試
防火牆的最主要的目的是確保受保護網絡的安全,但它只是一種網絡安全技術,存在侷限性,例如不能防範繞過防火牆的攻擊,不能防止收到病毒感染的軟件或文件的傳輸,以及收到木馬的攻擊等,難以免來自內部的攻擊操作系統
防火牆按照防禦原理分爲包過濾路由器,應用網關和狀態檢測的防火牆;按照防禦範圍分爲網絡防火牆和主機防火牆。網絡防火牆主要用來保護內網計算機免受來自網絡外部的入侵,但並能保護內部網絡及算你免受其來自自己和內網計算機的攻擊,主機防火牆主要用於主機面受攻擊。命令行
防火牆的配置方案代理
通常來講,只有內網和外網鏈接時才須要防火牆,固然,在內部不一樣部門之間的網絡有時也須要防火牆。嘴賤當的防火牆配置,就彷佛最直接在內網和外網之間加一個包過濾路由器或者是應用網關接口
目前主要有如下3種防火牆配置方案
雙宿主機網
屏蔽主機網關
屏蔽子網
雙宿主機網關,這種配置一臺配有兩個網絡接口的雙宿主機作防火牆,其中一個網咯接口鏈接內網,另外一個鏈接Internet。雙宿主機又稱堡壘機,用於運行防火牆軟件。這種配置存在致命弱點,入侵者侵入堡壘機並使改主機具備路由功能後,任何網上用戶都可訪問內網。
屏蔽主機網關。屏蔽主機網關易於實現,安全性好,應用普遍,它又能夠分爲單宿型和雙宿型兩種類型。一般採用雙宿型,堡壘主機有兩塊網卡,一塊鏈接內網,一塊鏈接包過濾路由器,雙宿型堡壘機在應用層提供代理服務,這種方案組合應用網關和包過濾技術,安全性較高
屏蔽子網。這是最爲複雜的防火牆體系,在內網和外網之間創建一個被隔離的子網,該子網和內網隔離,造成一個網絡防護帶,在其中安裝應用服務器以發佈公共服務。屏蔽子網又稱周邊網絡或者非軍事區
屏蔽子網又分爲兩種模式。一種是多防火牆屏蔽子網,最典型的是用兩個包過濾路由器將屏蔽子網分別於內網分開,構成一個緩衝地帶。內外網都可訪問屏蔽子網,但禁止他們穿過屏蔽子網進行通訊,具備很強的抗攻擊能力,但須要設別多,造價高。另外一種是更爲經濟實用的三宿主機屏蔽子網,一臺防火牆主機共有三個網絡接口,分別鏈接到內部專用網,屏蔽網絡和外網。
網絡地址轉換
網絡地址轉換是一個IETE標準,工做在網絡層和傳輸層,既能實現內網安全,又能提供共享上網服務,還能夠將內網資源發佈到Internet
NAT工做原理
NAT其實是在網絡之間對已通過的數據報進行地址轉換後再轉發的特殊路由器,要實現NAT,可將內網種的一臺計算機設置爲具備NAT功能的路由器,該路由器至少安裝兩個網絡接口,其中一個網絡接口使用合法的Internet地址接入Internet,稱爲公共接口,另外一個網絡接口與內網其餘計算機鏈接使用合法的私有IP地址,稱爲專用接口。
NAT的網絡地址轉換是雙向的,能夠實現內網和外網雙向通訊,我的那句地址轉換的方向,NAT能夠分爲兩種類型,即內網到外網的NAT和外網到內網的NAT
內網到外網的NAT實現如下兩個方面的功能
共享IP地址和網絡鏈接,讓內網計算機共用一個公網地址接入外網
保護網絡安全,經過隱藏內網IP地址,使黑客沒法直接攻擊內網
端口映射(轉發)技術
外網到內網的NATj用於從內網向外部用戶提供服務,這是經過端口映射來實現的。端口映射將NAT路由器的公網IP和端口號映射到內網服務器的私有IP地址和端口號,來自外網的請求數據包到達NAT路由器,由NAT路由器將其轉發後轉發給內網服務器,內網服務器返回的應答數據包通過NAT路由器再次轉換,而後傳回給外網客戶端。端口映射又稱端口轉換或目標地址的轉換,若是公網端口與內網服務器端口相同,則每每稱爲端口轉發。
Linux的防火牆架構
Linux內核包含一個強大的網絡過濾子系統netfilter,這是構建防火牆的基礎,是爲了與netfilter進行交互配置和管理防火牆,Linux提供了軟件iptables。在以前的CentOS版本中, iptables是與內核netfilter子系統交互的主要方法。iptables命令不容易掌握,人們退出一個更爲易用的交互軟件firewalld,不過該工具底層調用的任然是iptables命令。iptables和firewalld的規則結構和使用方法有所不一樣。這些軟件自己不具有防火牆公能,最終都是由內涵和的netfilter來履行規則,實現通訊的過濾和防禦
netfilter
netfilter位於網絡層與防火牆內核之間,是Linux內核anq中的一個通用的架構,定義包過濾子系統功能的實現。
iptables
iptables是一個功能更十分強大的安全軟件 ,能夠用來構建防火牆,也能夠被用NAT路由器,透明代理等。iptalbes是由ipchains和ipfwadm軟件演變過來的,它只是由一個管理內核包過濾的工具,用來添加,刪除和修改包過濾規則,而真正用來執行過濾規則的是netfilter及其餘相關模塊(如iptables模塊和net模塊)
firewalld
firewalld是一種比iptables更高級的與netfilter交互的工具,是一個能夠配置和監控系統防火牆規則的系統守護進程。firewalld的主要特性以下
支持網絡區域定義網絡鏈接及接口安全等級,使防火牆更爲靈活
提供一個動態管理的防火牆,能夠動態修改單條規則。不須要重啓整個防火牆即可應用更改,也就是不必重載全部內核防火牆模塊。而iptables防火牆模型是靜態的,每次修改都要求防火牆徹底重啓,在修改了規則以後,必須所有刷新才能夠生效。
提供D-Bus接口,用於服務和應用程序的防禦牆設置。
具有對IPv4和IPv6防火牆設置的支持,還支持以太網橋
支持爲服務或者應用程序直接添加防火牆規則,可是firewall守護進程沒法解析t由iptables,ip6tables和ebtables命令行添加的防火牆規則
能夠提供獨立的運行時配置和永久性配置。使防火牆管理和測試更爲容易
能夠提供命令行工具和圖形界面管理工具管理防火牆及規則
再同一個系統中不能同時運行firewalld和iptables,不然可能引起衝突
在使用上比iptables簡單,用戶無須掌握錶鏈等概念和TCP/IP協議,就能夠實現大部分防火牆的功能。