在CentOS上配置LAMP環境(Linux, Apache, MySQL, PHP)時,防火墻的配置是一個重要的步驟,用于保護服務器的安全。以下是配置防火墻的詳細步驟:
首先,需要關閉并禁用CentOS 7默認的firewalld防火墻服務,以便使用iptables作為防火墻。
# 停止firewalld服務
sudo systemctl stop firewalld.service
# 禁止firewalld服務開機啟動
sudo systemctl disable firewalld.service
接下來,安裝iptables服務。
# 安裝iptables
sudo yum install iptables-services
編輯iptables配置文件,添加必要的端口規則。
# 編輯iptables配置文件
sudo vi /etc/sysconfig/iptables
在配置文件中添加以下內容,允許80端口(HTTP)和443端口(HTTPS)的流量通過:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# 允許已建立的連接和相關連接
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允許ICMP請求
-A INPUT -p icmp -j ACCEPT
# 允許本地回環接口的流量
-A INPUT -i lo -j ACCEPT
# 允許新的TCP連接到22端口(SSH)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
# 允許新的TCP連接到80端口(HTTP)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# 允許新的TCP連接到3306端口(MySQL)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# 拒絕所有其他進入的流量
-A INPUT -j REJECT --reject-with icmp-host-prohibited
# 拒絕所有轉發流量
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
保存并退出編輯器。
保存配置文件后,重啟iptables服務以使規則生效。
# 重啟iptables服務
sudo systemctl restart iptables.service
# 設置iptables服務開機自啟
sudo systemctl enable iptables.service
最后,可以驗證防火墻配置是否正確。
# 查看iptables狀態
sudo iptables -L -n
或者使用firewall-cmd命令查看狀態:
# 查看firewalld狀態
sudo firewall-cmd --state
通過以上步驟,你可以在CentOS 7上配置iptables防火墻,以保護LAMP環境的安全。請注意,這些步驟適用于CentOS 7系統。如果你使用的是CentOS 8或更高版本,建議使用firewalld作為防火墻管理工具。