本文介紹如何在centos 7.2系統(tǒng)上為LNMP(Linux, nginx, mysql/MariaDB, php)環(huán)境配置防火墻規(guī)則,保障服務(wù)器安全。 我們將使用iptables進(jìn)行配置,請(qǐng)注意,在生產(chǎn)環(huán)境操作前,務(wù)必在測試環(huán)境中進(jìn)行驗(yàn)證。
步驟一:禁用firewalld
首先,我們需要禁用CentOS默認(rèn)的firewalld防火墻服務(wù):
systemctl stop firewalld.service systemctl disable firewalld.service
步驟二:設(shè)置iptables默認(rèn)策略
接下來,設(shè)置iptables的默認(rèn)策略,拒絕所有入站和轉(zhuǎn)發(fā)連接,允許所有出站連接:
sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT
步驟三:添加允許規(guī)則
然后,我們添加允許特定端口和連接的規(guī)則:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- 允許已建立連接和相關(guān)連接: 這允許返回的流量通過防火墻。
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- 允許ICMP (ping):
sudo iptables -A INPUT -p icmp -j ACCEPT
- 允許本地回環(huán)接口流量:
sudo iptables -A INPUT -i lo -j ACCEPT
- 允許ssh訪問 (可選): 如果你需要遠(yuǎn)程管理服務(wù)器,請(qǐng)?zhí)砑哟艘?guī)則。
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
步驟四:保存和重啟iptables
最后,保存規(guī)則并重啟iptables服務(wù)使更改生效:
sudo iptables-save > /etc/sysconfig/iptables sudo systemctl restart iptables
重要提示:
- 以上規(guī)則僅為基本配置,根據(jù)實(shí)際需求可能需要添加其他規(guī)則,例如允許MySQL端口(3306)訪問等。
- 不熟悉iptables的用戶,建議使用更易用的防火墻管理工具,如ufw。
- 定期檢查和更新防火墻規(guī)則,確保服務(wù)器安全。
通過以上步驟,你就能為你的LNMP服務(wù)器設(shè)置基本的防火墻規(guī)則了。 記住,安全至關(guān)重要,請(qǐng)謹(jǐn)慎操作并根據(jù)你的具體情況調(diào)整規(guī)則。