CentOS 7 配置白名單


CentOS 7 配置白名單


 

在一些網絡安全要求比較高的場景下(比如:客戶現場部署的環境,客戶要求部署服務的機器均需經過安全掃描和漏洞檢測),為了保證機器上的服務不會被惡意攻擊,

我們可以通過一些手段進行控制(比如,MySQL數據庫的訪問權限控制,我們可以通過SQL命令對可訪問機器進行控制)。

更為便捷的方式,可以通過 Linux 系統自帶的防火牆功能,通過針對特定的 IPport 添加白名單的方式,進行安全訪問控制,杜絕外部惡意訪問和攻擊。

 

在配置白名單前,需要保證 CentOS 7的機器上有 iptables文件。

iptables服務的安裝,可以參考:https://www.cnblogs.com/miracle-luna/p/13714709.html

 

如果想實現如下效果:

1)允許 10.105.211.10,10.105.211.11,10.105.211.12 這三台機器訪問該機器的  UDP端口 111和123 ,TCP端口 3306,

2)允許其他機器訪問該機器的除了TCP端口 8080和 8082 以外的其他端口。

 

方式1(常規配置):

iptables 文件配置如下:

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

# 配置白名單中的源IP(10.105.211.1010.105.211.1110.105.211.12-N whitelist 
-A whitelist -s 10.105.211.10 -j ACCEPT
-A whitelist -s 10.105.211.11 -j ACCEPT
-A whitelist -s 10.105.211.12 -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

# 白名單中的機器允許訪問 UDP端口 111和123
-A INPUT -m state --state NEW -p udp --dport 111 -j whitelist
-A INPUT -m state --state NEW -p udp --dport 123 -j whitelist

# 白名單中的機器允許訪問 TCP端口 3306
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j whitelist

# 其他機器允許訪問 除了TCP端口 8080和 8082 以外的其他端口(此時的!表示取反)
-A INPUT -p tcp ! --dport 8080 -j ACCEPT
-A INPUT -p tcp ! --dport 8082 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

說明! 是表示取反,注意 兩側是有空格的,否則,會報錯)

 

方式2(簡潔配置):

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

# 配置白名單中的源IP(10.105.211.1010.105.211.1110.105.211.12-N whitelist 
-A whitelist -s 10.105.211.10,10.105.211.11,10.105.211.12 -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

# 白名單中的機器允許訪問 UDP端口 111和123
-A INPUT -m state --state NEW -p udp -m multiport --dport 111, 123 -j whitelist

# 白名單中的機器允許訪問 TCP端口 3306
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j whitelist

# 其他機器允許訪問 除了TCP端口 8080和 8082 以外的其他端口(此時的!表示取反)
-A INPUT -p tcp -m multiport ! --dport 8080,8082 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

說明-m multiport 表示同時對多個端口操作;另外,多個IP或者多個端口之間,使用英文的逗號隔開,且中間不能有空格,否則,啟動 iptables 服務會報錯)

 

iptables 文件配置完,執行如下步驟:

1、保存 iptables 配置,命令如下:

service iptables save

 

2、重載 iptables 文件

 

systemctl reload iptables

 

或者 

service iptables reload

 

3、重啟 iptables 服務,命令如下:

systemctl restart iptables

或者

service iptables restart

 

4、查看 iptables 服務狀態(服務狀態為綠色active,表示 iptables 文件配置成功,服務正常):

systemctl status iptables

或者

service iptables status

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM