您現在的位置是:首頁 > 籃球

UOS伺服器作業系統防火牆設定

  • 由 IT界的店小二 發表于 籃球
  • 2021-06-11
簡介第二種方式配置檔案etciptables(需要使用sbiniptables-restore 匯入規則,可以配置重啟時就執行該檔案)#清空配置iptables-Fiptables-Xiptables-Z#配置,禁止進,允許出,允許迴環

防火牆如何設定

1. UOS支援的防火牆

iptables ufw firewalld

Netfilter區別?

iptables ufw firewall 都是前端管理,Netfilter才是核心。

統信的UOS伺服器作業系統是基於Debian開發的,因此和Debian和Ubuntu很多命令都是相同的。在Debian和Ubuntu上面可以使用的防火牆在UOS也是可以正常使用的。

預設情況下,Debian使用iptables,Ubuntu有iptables,也使用簡單的ufw,在CentOS7 之前使用的是iptables,CentOS 7開始使用firewall,Centos 7前可以使用iptables命令也可以直接編輯檔案

/etc/sysconfig/iptables,在firewall一般都是使用命令。在Debian和UOS是使用iptables命令,由於不是直接編輯配置檔案,需要對iptables命令比較熟悉,再就是對重啟生效需要編輯檔案設定。ufw也可以在UOS使用,由於是簡易的命令,在本文主要討論怎麼使用iptables來設定防火牆功能。

2. 防火牆設定

UOS防火牆設定步驟:

檢查iptables有沒有安裝

如果之前有使用CentOS經驗使用service iptables status 是檢查不出來的,在CentOS中iptables是以服務形式,這裡iptables只是配置的前端的命令,也不能使用yum list檢視。而是使用apt list|grep iptables 看到已經安裝。表示已經正常安裝,如果沒有安裝可以使用apt install iptables 或者apt-get install iptables,如果想要使用ufw安裝apt install ufw,如果希望使用firewall,也可以安裝後使用。

UOS伺服器作業系統防火牆設定

清空原有規則

iptables -L 可以檢視現有生效的規則

iptables -P INPUT ACCEPT 清空規則前放開INPUT 否則清空以後可能導致無法遠端連線

#清空配置

iptables -F【清空規則】

iptables -X 【刪除自建鏈】

iptables -Z 【重置過濾包資料】

UOS伺服器作業系統防火牆設定

新建規則配置檔案

第一種方式,編輯/etc/iptables。sh然後賦予執行許可權chmod +x /etc/iptables。sh。執行以後規則就生效了,如果需要修改規則每次都可以修改此檔案。

第二種方式配置檔案/etc/iptables(需要使用/sbin/iptables-restore 匯入規則,可以配置重啟時就執行該檔案)

#清空配置

iptables

-F

iptables

-X

iptables

-Z

#配置,禁止進,允許出,允許迴環網絡卡

iptables

-P

INPUT DROP

iptables

-A

OUTPUT

-j

ACCEPT

iptables

-A

INPUT

-i

lo

-j

ACCEPT

#允許ping

iptables

-A

INPUT

-p

icmp

-j

ACCEPT

#允許ssh

iptables

-A

INPUT

-p

tcp

——dport

22

-j

ACCEPT

#允許VNC

iptables

-A

INPUT

-p

tcp

——dport

5900

-j

ACCEPT

#學習felix,把smtp設成本地

iptables

-A

INPUT

-p

tcp

-m

tcp

——dport

25

-j

ACCEPT

-s

127

。0。0。1

iptables

-A

INPUT

-p

tcp

-m

tcp

——dport

25

-j

REJECT

#允許DNS

iptables

-A

INPUT

-p

tcp

-m

tcp

——dport

53

-j

ACCEPT

iptables

-A

INPUT

-p

udp

-m

udp

——dport

53

-j

ACCEPT

#允許http和https

iptables

-A

INPUT

-p

tcp

——dport

80

-j

ACCEPT

iptables

-A

INPUT

-p

tcp

——dport

443

-j

ACCEPT

# 允許已建立的或相關連的通行

iptables

-A

INPUT

-m

state

——state

ESTABLISHED,RELATED

-j

ACCEPT

#禁止其他未允許的規則訪問

iptables

-A

INPUT

-j

REJECT

#(注意:如果22埠未加入允許規則,SSH連結會直接斷開。)

iptables

-A

FORWARD

-j

REJECT

匯入規則

iptables-save >/etc/iptables 【儲存規則】

/sbin/iptables-restore

設定重啟生效指令碼

1。)將iptables。sh指令碼放到init。d中每次都重啟【需要保障iptables指令碼一致都是最新的規則,如果是後續臨時修改的規則可能不在其中】

2。)編輯/etc/network/if-pre-up。d/iptables,重啟會自動生效。要保障/etc/iptables中規則一致是最新的,每次修改規則可以編輯/etc/iptables 如果是使用iptables命令新增,需要增加iptables-save >/etc/iptables 儲存。

#!/bin/sh

/sbin/iptables-restore < /etc/iptables

3. 防火牆指令碼

編輯如下指令碼【第一次執行】,後續編輯/etc/iptables,使用/sbin/iptables-restore < /etc/iptables重新匯入,或者直接iptables命令新增,iptables-save>/etc/iptables 儲存,防止機器重啟無效

#!/bin/sh

#防火牆指令碼

echo

“#!/bin/sh

/sbin/iptables-restore < /etc/iptables”

>/etc/network/if-pre-up。d/iptables

echo

“#清空配置

iptables -F

iptables -X

iptables -Z

#配置,禁止進,允許出,允許迴環網絡卡

iptables -P INPUT DROP

iptables -A OUTPUT -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

#允許ping

iptables -A INPUT -p icmp -j ACCEPT

#允許ssh

iptables -A INPUT -p tcp ——dport 22 -j ACCEPT

#允許VNC

iptables -A INPUT -p tcp ——dport 5900 -j ACCEPT

#學習felix,把smtp設成本地

iptables -A INPUT -p tcp -m tcp ——dport 25 -j ACCEPT -s 127。0。0。1

iptables -A INPUT -p tcp -m tcp ——dport 25 -j REJECT

#允許DNS

iptables -A INPUT -p tcp -m tcp ——dport 53 -j ACCEPT

iptables -A INPUT -p udp -m udp ——dport 53 -j ACCEPT

#允許http和https

iptables -A INPUT -p tcp ——dport 80 -j ACCEPT

iptables -A INPUT -p tcp ——dport 443 -j ACCEPT

# 允許已建立的或相關連的通行

iptables -A INPUT -m state ——state ESTABLISHED,RELATED -j ACCEPT

#禁止其他未允許的規則訪問

iptables -A INPUT -j REJECT #(注意:如果22埠未加入允許規則,SSH連結會直接斷開。)

iptables -A FORWARD -j REJECT”

> /etc/iptables。sh

chmod

+

x /etc/iptables。sh

chmod

+

x /etc/network/if-pre-up。d/iptables

/etc/iptables。sh

iptables-save > /etc/iptables

/sbin/iptables-restore < /etc/iptables

4. 關閉防火牆(清空所有規則,刪除指令碼,關閉重啟)

iptables

-P

INPUT ACCEPT

iptables

-F

iptables

-X

iptables

-Z

rm

/etc/iptables*

rm

/etc/network/if-pre-up。d/iptables

5. 配置黑白名單

#黑白名單

####當只有部分人可以訪問使用白名單,當只有部分人不能訪問使用黑名單

##設定鏈名

iptables

-N

whitelist

iptables

-N

blacklist

##設定自定義鏈規則

iptables

-A

whitelist

-s

xxxx ACCEPT

iptables

-A

blacklist

-s

xxxx DROP

##設定INPUT規則

iptables

-A

INPUT

-p

tcp

——dport

22

-j

whitelist

iptables

-A

INPUT

-p

tcp

——dport

22

-j

blacklist

#刪除規則

iptables

-D

INPUT 數字(iptables

-L

INPUT

——line-numbers

檢視對應鏈的規則序號)

iptables

-D

INPUT

-p

tcp

——dport

22

-j

whitelist (也可以使用設定規則時相同的命令把A改成D)

#刪除自定義鏈

iptables

-X

鏈名(注意內建鏈不可刪除)

iptables

-Z

置零

iptables

-F

清空規則

Top