linux

Linux LAMP中如何设置防火墙

小樊
44
2025-05-21 13:14:16
栏目: 智能运维

在Linux LAMP环境中设置防火墙,通常使用的是iptablesfirewalld。这里我将分别介绍这两种方法。

方法1:使用iptables

  1. 首先,确保iptables已安装。在大多数Linux发行版中,iptables已经预装。如果没有,请使用以下命令安装:

    对于基于Debian的系统(如Ubuntu):

    sudo apt-get update
    sudo apt-get install iptables
    

    对于基于RPM的系统(如CentOS、Fedora):

    sudo yum install iptables-services
    
  2. 设置默认策略。将INPUT链的默认策略设置为DROP,以阻止所有未经允许的连接。将OUTPUT链的默认策略设置为ACCEPT,以允许所有传出连接。

    sudo iptables -P INPUT DROP
    sudo iptables -P OUTPUT ACCEPT
    
  3. 允许SSH连接。将SSH端口(默认为22)添加到INPUT链中,以便远程管理服务器。

    sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    
  4. 允许HTTP和HTTPS连接。将端口80(HTTP)和443(HTTPS)添加到INPUT链中,以便访问LAMP服务器。

    sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    
  5. 保存iptables规则。这将确保在系统重启后,规则仍然有效。

    对于基于Debian的系统:

    sudo iptables-save > /etc/iptables/rules.v4
    

    对于基于RPM的系统:

    sudo service iptables save
    

方法2:使用firewalld

  1. 首先,确保firewalld已安装。在大多数Linux发行版中,firewalld已经预装。如果没有,请使用以下命令安装:

    对于基于Debian的系统(如Ubuntu):

    sudo apt-get update
    sudo apt-get install firewalld
    

    对于基于RPM的系统(如CentOS、Fedora):

    sudo yum install firewalld
    
  2. 启动firewalld服务并设置为开机启动。

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  3. 设置默认区域。将默认区域设置为public,以便限制所有未经允许的连接。

    sudo firewall-cmd --set-default-zone=public
    
  4. 允许SSH连接。将SSH端口(默认为22)添加到firewalld中,以便远程管理服务器。

    sudo firewall-cmd --permanent --zone=public --add-service=ssh
    
  5. 允许HTTP和HTTPS连接。将端口80(HTTP)和443(HTTPS)添加到firewalld中,以便访问LAMP服务器。

    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    
  6. 重新加载firewalld配置。这将使更改生效。

    sudo firewall-cmd --reload
    

现在,您已经成功设置了Linux LAMP环境的防火墙。请确保根据实际需求调整规则,并定期审查以确保安全性。

0
看了该问题的人还看了