服务器测评网
我们一直在努力

服务器怎么开启防火墙,Linux和Windows怎么设置?

开启服务器防火墙是保障系统安全的第一道防线,其核心上文归纳在于:开启防火墙不仅仅是启动一个系统服务,更在于精准配置入站和出站规则,在阻断未授权访问的同时,确保合法业务流量的畅通无阻。 无论是Linux还是Windows服务器,防火墙的配置都应遵循“最小权限原则”,即仅开放必要的端口,拒绝所有其他连接,以下将针对主流操作系统,详细解析防火墙的开启方法、专业配置策略及运维注意事项。

服务器怎么开启防火墙,Linux和Windows怎么设置?

Linux服务器防火墙配置与管理

在Linux生态中,CentOS/RHEL系列通常使用Firewalld,而Ubuntu/Debian系列则偏好UFW(Uncomplicated Firewall),虽然工具不同,但底层都依赖于内核的Netfilter框架。

CentOS/RHEL系统:使用Firewalld管理动态防火墙

Firewalld支持动态更新规则而不需要重启连接,非常适合生产环境,需要检查服务状态并启动它。

核心操作步骤:

  • 安装与启动: 大多数CentOS 7及以上版本默认已安装,若需手动安装,可使用yum install firewalld,启动服务并设置开机自启是基础操作:
    systemctl start firewalld
    systemctl enable firewalld
  • 区域概念: Firewalld引入了区域的概念,如public(公共区域)、trusted(信任区域),默认情况下,网卡属于public区域,该区域通常仅放行SSH(端口22)和DHCPv6客户端。
  • 端口开放策略: 开放端口是运维中最常见的操作,开放HTTP(80)和HTTPS(443)端口,需使用--permanent参数确保重启后规则依然生效:
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --zone=public --add-port=443/tcp --permanent
    执行完毕后,必须运行firewall-cmd --reload重载防火墙配置使规则生效。
  • 富规则: 对于更高级的安全需求,Firewalld支持“富规则”,仅允许特定IP段访问数据库端口3306,拒绝其他所有连接:
    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="3306" accept'

Ubuntu/Debian系统:使用UFW简化管理

UFW旨在简化防火墙配置,非常适合不熟悉复杂语法的用户,但其底层依然强大。

服务器怎么开启防火墙,Linux和Windows怎么设置?

核心操作步骤:

  • 启用与状态检查: 在执行任何操作前,务必先允许SSH端口,否则会导致连接断开无法管理,操作顺序至关重要:
    ufw allow ssh (或 ufw allow 22)
    ufw enable
  • 允许与拒绝: UFW的语法非常直观,开放Web服务端口:
    ufw allow 80/tcp
    ufw allow 443/tcp
    若需拒绝特定端口,例如关闭FTP服务:
    ufw deny 21
  • 删除规则: 运维过程中难免需要调整规则,可以通过ufw status numbered查看带编号的规则列表,然后使用ufw delete [序列号]精准删除。

Windows Server防火墙配置

Windows Server自带的高级安全Windows防火墙提供了基于状态检测的强大防护能力,既可以通过图形界面操作,也可以通过PowerShell进行批量管理。

核心操作步骤:

  • 启用防火墙配置文件: 打开“高级安全Windows防火墙”,首先检查域配置文件、专用配置文件和公用配置文件的设置。建议至少在公用和专用配置文件中启用防火墙,并确保“入站连接”默认为“阻止”,“出站连接”默认为“允许”。
  • 新建入站规则: 点击“新建规则”,选择“端口”规则,在“协议和端口”页面,选择TCP并输入特定本地端口(如8080),在“操作”页面,选择“允许连接”,根据服务器的网络环境选择适用的配置文件(域、专用或公用)并命名规则。
  • PowerShell自动化管理: 对于批量服务器管理,图形界面效率较低,使用PowerShell命令可以快速完成配置,开放3389远程桌面端口:
    New-NetFirewallRule -DisplayName "Allow RDP" -Direction Inbound -LocalPort 3389 -Protocol TCP -Action Allow

专业见解:云环境下的双重防护与最佳实践

在当前的云原生时代,服务器安全不能仅依赖操作系统层面的防火墙。专业的安全架构应当遵循“云安全组 + 主机防火墙”的双重防护策略。

服务器怎么开启防火墙,Linux和Windows怎么设置?

  • 云安全组的作用: 云厂商提供的安全组属于网络层防护,用于过滤流向虚拟网络接口卡的数据包,它是第一道关卡,能够有效分担主机防火墙的压力,并在DDoS攻击发生时提供清洗能力。
  • 主机防火墙的必要性: 即使配置了安全组,主机防火墙依然不可或缺,如果安全组配置失误(例如误设为0.0.0.0/0开放),主机防火墙可以作为最后一道防线阻断非法访问,主机防火墙可以针对特定的应用程序进程进行监控,这是安全组无法做到的。
  • 日志审计与监控: 开启防火墙不仅仅是放行端口,必须开启日志记录功能,通过分析防火墙日志,管理员可以发现针对特定端口的暴力破解尝试或扫描行为,从而提前采取防御措施,如封禁恶意IP。

常见风险规避

在配置防火墙时,最大的风险莫过于将自己“锁在门外”。在远程管理服务器时,永远不要更改SSH(Linux)或RDP(Windows)的默认端口而不更新防火墙规则,也不要在允许新端口之前关闭旧端口。 建议的测试流程是:先添加新规则,测试连接成功后,再删除旧规则,对于云服务器,始终保留Web控制台或VNC访问方式作为应急通道。

相关问答

问:开启服务器防火墙后,网站访问变慢了是什么原因?
答:开启防火墙本身对性能的影响微乎其微,网站变慢通常不是因为防火墙的计算开销,而是因为规则配置错误,防火墙可能开启了针对每个连接的深度包检测或日志记录,导致I/O瓶颈;或者是规则中存在大量拒绝策略导致连接超时,建议检查规则顺序,将高频访问的“允许”规则置于列表顶部,减少匹配时间。

问:如何查看服务器当前被防火墙拦截的IP地址?
答:这取决于操作系统,在Linux系统中,可以使用journalctl -u firewalld查看Firewalld服务日志,或者配置/var/log/messages来记录拒绝的数据包,对于UFW,日志通常位于/var/log/ufw.log,在Windows系统中,可以在“事件查看器”的“应用程序和服务日志/Microsoft/Windows/Windows Firewall With Advanced Security/Firewall”中查看,通过分析这些日志,结合grep或日志分析工具,可以提取出被拦截的源IP地址。
能帮助您建立起稳固的服务器安全防线,如果您在配置过程中遇到端口冲突或特定协议的放行问题,欢迎在评论区分享您的具体场景,我们将为您提供更针对性的解决方案。

赞(0)
未经允许不得转载:好主机测评网 » 服务器怎么开启防火墙,Linux和Windows怎么设置?