Have a Question?

如果您有任务问题都可以在下方输入,以寻找您想要的最佳答案

防火墙怎么设置,防火墙设置步骤 Windows 10

防火墙怎么设置

题图来自Unsplash,基于CC0协议

导读

  • 防火墙设置步骤 Windows 10
  • Linux iptables 防火墙配置教程
  • 企业网络防火墙设置最佳实践
  • 硬件防火墙 vs 软件防火墙 区别
  • 常见防火墙策略配置示例
  • 如何测试防火墙设置是否生效
  • 在开始设置防火墙之前,首先要明确你的需求:是保护一台个人电脑,还是管理一个企业网络。针对不同的场景,防火墙的配置逻辑和工具差异很大。以下从个人操作系统、服务器、企业网络三个维度展开,并附上生效验证方法。

    一、Windows 10 防火墙设置步骤

    Windows 10 自带的防火墙属于基于主机的软件防火墙,默认开启。如需精细化控制,请按以下操作:

    1. 进入高级设置:打开“控制面板” > “系统和安全” > “Windows Defender 防火墙” > 左侧点击“高级设置”。这里可以配置入站和出站规则。
    2. 新建规则(以阻止某程序联网为例)
      • 右键“入站规则”或“出站规则” > “新建规则”。
      • 选择“程序” > 浏览选择目标程序的.exe文件(如某个游戏或聊天软件)。
      • 选择“阻止连接”。
      • 选择何时应用(域、专用、公用网络),建议全选。
      • 命名规则(如“禁止XX联网”),点击完成。
    3. 管理预定义规则:在“高级安全Windows Defender防火墙”窗口中,可以看到大量系统自带规则。例如,若希望关闭“文件和打印机共享”以降低被扫描风险,可找到对应规则(通常名称包含“文件和打印机共享”),右键选择“禁用规则”。
    4. 恢复默认设置:若配置混乱,可在主界面左侧选择“属性”,在“域配置文件”、“专用配置文件”、“公用配置文件”中,将“防火墙状态”设为“关闭”,或直接点击主界面右侧的“还原默认设置”。

    注意:配置出站规则时需谨慎,不当设置可能导致系统更新或软件无法联网。

    二、Linux iptables 防火墙配置(以 CentOS 7 / Ubuntu 20.04 为例)

    Linux 下 iptables 是经典的命令行防火墙工具,目前许多发行版推荐使用 nftables,但 iptables 逻辑仍具参考价值。

    1. 查看当前规则

      sudo iptables -L -n -v  # 查看所有规则及流量计数
    2. 设置默认策略(通常先拒绝所有流量,再放行必要流量)

      sudo iptables -P INPUT DROP
      sudo iptables -P FORWARD DROP
      sudo iptables -P OUTPUT ACCEPT

      注意:在远程服务器上执行 INPUT DROP 前,必须先开放 SSH 端口,否则你会立即断开连接。

    3. 放行必要服务(以 SSH、HTTP、HTTPS 为例)

      sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT   # 允许已建立的连接
      sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT   # 放行 SSH
      sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT   # 放行 HTTP
      sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT  # 放行 HTTPS
    4. 防止 SSH 暴力破解(限制连接频率)

      sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
      sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

      此规则限制每分钟内对 SSH 端口的连接尝试不超过 4 次。

    5. 保存规则

      • CentOS 7: sudo service iptables save
      • Ubuntu: sudo netfilter-persistent save

    三、企业网络防火墙设置最佳实践

    企业通常使用硬件防火墙(如 Fortinet、Palo Alto、Cisco ASA)或下一代防火墙(NGFW)。配置时遵循以下原则:

    1. 最小权限原则:仅放行业务必需的端口和协议。例如,Web 服务器只需要开放 80/443,数据库服务器只允许内网应用服务器连接其 3306/5432 端口,绝不允许外网直接访问数据库。
    2. 默认拒绝入站,严格管控出站:大多数企业攻击源于内部主机被控后主动外连恶意IP。为服务器设置出站白名单,只允许访问更新源、DNS、指定API等;为员工办公区设置出站规则,允许访问标准Web服务,但阻止P2P、加密货币矿池等高风险流量。
    3. 分区域隔离(DMZ与内网分离):将对外服务的服务器(如官网、邮件服务器)部署在DMZ区域,即使该区域被攻破,也无法直接访问内网的ERP、财务系统。防火墙规则应明确:DMZ→内网默认拒绝,仅在必要时添加特定规则(如DMZ的Web服务器需要查询内网数据库)。
    4. 开启日志审计与威胁防御:启用防火墙的日志记录,并将日志发送至SIEM系统(如Splunk)。开启入侵防御系统(IPS)、反病毒扫描、URL过滤功能。例如,防火墙检测到出站流量带有已知恶意软件特征时,自动阻断并记录。
    5. 定期规则审查:每季度或每半年核查一次线上规则,删除冗余、过期的“临时”规则。常见陷阱:为方便测试开放了0.0.0.0/0的全端口访问,上线后忘记删除,形成严重漏洞。

    四、硬件防火墙 vs 软件防火墙:如何选择

    • 硬件防火墙:物理设备,性能高,可处理数Gbit甚至数十Gbit的流量,本身是专用的精简操作系统,抗攻击能力强。适合企业边界、数据中心。缺点:成本高,配置复杂,通常需要专业工程师。
    • 软件防火墙:运行在通用操作系统上(Windows自带、iptables/nftables、第三方如Comodo Firewall)。优点:灵活、免费或者低成本、可直接与应用层结合(例如Sysmon配合防火墙)。缺点:会消耗主机CPU/内存资源,长期满负载下可能成为瓶颈,且操作系统本身若被攻破,软件防火墙就形同虚设。

    一句话建议:个人电脑用系统自带防火墙或免费软件防火墙即可;服务器用iptables/nftables或云平台的安全组/ACL;企业必须采用硬件防火墙(或云上的下一代防火墙虚拟化实例)进行边界防护。

    五、常见防火墙策略配置示例(伪代码/逻辑表达)

    1. 仅允许特定IP远程管理服务器: 规则:来源IP = 公司公网IP,目标端口 = 22 (SSH),动作 = 允许;其余所有来源访问22端口 = 拒绝。

    2. Web服务器保护: 规则集:

      • 允许任意来源 → 本机端口 80/tcp, 443/tcp
      • 限制访问速度:单IP请求超过100次/秒则自动封禁600秒
      • 阻止访问敏感路径:目标URI包含/wp-admin(WordPress后台)则记录并阻断,除非来源IP是管理员IP
    3. 员工上网管控: 规则:

      • 允许内网段 → 目标端口 80, 443 (Web浏览)
      • 允许内网段 → 目标IP 8.8.8.8, 114.114.114.114 端口 53 (DNS)
      • 阻止所有内网段 → 目标IP 192.168.0.0/16 (防止内部攻击内网)
      • 阻止目标域名包含 torrentmagnet (基于应用层识别)

    六、如何测试防火墙设置是否生效

    配置完成后,不要主观判断,必须使用以下方法进行验证:

    1. 外部端口扫描(从外往内测):使用在线工具(如 ShieldsUP)或本地工具 nmap

      # 从另一台位于公司外网的机器扫描你的服务器
      nmap -sS -p 22,80,443,3389 your-server-public-ip

      如果某端口被正确阻止,应显示 filtered(被防火墙丢弃或拒绝)或 closed(主机未监听),而不应是 open

    2. 内部连通性测试(从内往外测)

      • 在受限制的客户端上,尝试访问被规则阻止的网站或IP:ping 1.2.3.4 或使用 curl 命令。应返回超时或拒绝连接。
      • 出站测试:在一个服务器上执行 curl 任意外网IP:9999,如果该端口不在出站白名单中,应该被阻断。
    3. 查看日志:Windows防火墙可在“高级安全”面板的“监视” > “防火墙”下查看连接安全规则。iptables 使用 sudo journalctl -u iptables 或查看 /var/log/messages,确认是否有匹配的丢弃日志。如果防火墙规则设置了丢弃但不记录,你可能在扫描时只看到超时,却无法通过日志排查。

    4. 主动测试脚本:对于复杂策略,编写一个小脚本模拟攻击流量(如暴力破解 SSH,频率低于你的限制阈值),检查防火墙是否按预期记录了警报或触发了阻断。注意:绝对不要在未经授权的生产环境进行这种压力测试。

    最后的核心原则:防火墙是“白名单”思维的艺术——先封死所有路径,再逐条开凿必要的通道;宁可先断网再放行,也不要先全开再封堵。配置完成后,务必使用工具从攻击者的视角扫描自己。

    © 版权声明

    本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com