如何屏蔽入站流量防安全风险?

在Linux系统中,端口屏蔽是网络安全的核心实践之一,通过控制特定端口的访问权限,可有效防止未授权访问、恶意扫描和攻击,以下详细介绍两种主流工具的操作方法(基于CentOS/Ubuntu等主流发行版),请根据实际环境选择。


使用 iptables 屏蔽端口

iptables 是 Linux 内核集成的防火墙工具,适合所有主流发行版。

屏蔽指定端口(以 22/TCP 为例)

# 屏蔽出站流量(OUTPUT链)
sudo iptables -A OUTPUT -p tcp --dport 22 -j DROP
  • -A INPUT:追加到INPUT链(入站规则)
  • -p tcp:指定TCP协议
  • --dport 22:目标端口22
  • -j DROP:丢弃数据包(无响应)

允许特定IP访问端口(白名单)

# 仅允许 192.168.1.100 访问22端口
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP  # 其他IP禁止访问

保存规则(重启后生效)

# Ubuntu/Debian
sudo iptables-save > /etc/iptables/rules.v4
# CentOS/RHEL
sudo service iptables save

使用 firewalld 屏蔽端口(推荐用于 CentOS/RHEL 7+)

firewalld 提供动态管理支持,更易用。

永久屏蔽端口

# 屏蔽TCP 3306端口(MySQL默认端口)
sudo firewall-cmd --permanent --remove-port=3306/tcp
# 屏蔽UDP 53端口(DNS)
sudo firewall-cmd --permanent --remove-port=53/udp

允许特定服务(如HTTP/HTTPS)

sudo firewall-cmd --permanent --add-service=http  # 放行80端口
sudo firewall-cmd --permanent --add-service=https # 放行443端口

生效配置

sudo firewall-cmd --reload  # 重载配置
sudo firewall-cmd --list-ports  # 查看已屏蔽端口

其他工具补充

  • UFW (Ubuntu 简化工具)
    sudo ufw deny 22/tcp  # 屏蔽22端口
    sudo ufw allow from 192.168.1.0/24 to any port 80  # 允许子网访问80端口
  • nftables (iptables 替代品)
    适用于新内核(≥Linux 3.13),语法更简洁。

关键注意事项

  1. 避免锁定自己
    • 操作前确保允许当前SSH连接的IP(或保留一个活动会话)。
    • 测试规则后保存,防止重启失效。
  2. 规则优先级
    iptables 规则从上到下匹配,白名单应放在DROP规则之前
  3. 备份配置
    sudo iptables-save > ~/iptables_backup.txt  # iptables备份
    sudo firewall-cmd --runtime-to-permanent    # firewalld临时转永久
  4. 端口状态验证
    使用 netstat -tulnss -tuln 检查端口监听状态,
    telnet [IP] [端口]nmap -p [端口] [IP] 测试连通性。

端口屏蔽是Linux安全的基础防线:

  • iptables 适合精细控制,兼容性强。
  • firewalld 适合动态管理,操作简便。
  • 生产环境中,建议结合 fail2ban(自动屏蔽恶意IP)和 SELinux(强制访问控制)提升安全性,定期审计规则,确保最小权限原则。

引用说明

  • iptables 官方文档:https://netfilter.org/documentation/
  • firewalld 配置指南:https://firewalld.org/documentation/
  • Linux 内核网络栈:https://www.kernel.org/doc/html/latest/networking/ 基于 Linux 5.4+ 内核及常见发行版实践验证,适用于主流云服务器环境。*

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4415.html

(0)
酷番叔酷番叔
上一篇 2025年6月13日 21:53
下一篇 2025年6月13日 22:03

相关推荐

  • Linux系统如何更新Firefox浏览器到最新版?

    在Linux系统中保持Firefox浏览器的更新至关重要,这不仅能够获取最新的功能特性,更重要的是及时修复安全漏洞,保护用户数据安全,Linux发行版众多,不同系统更新Firefox的方法存在差异,本文将详细介绍主流Linux发行版更新Firefox的多种方式,包括通过官方仓库、包管理器、手动安装以及通用包管理……

    2025年8月28日
    4900
  • Linux如何删除数据库实例名?

    在Linux环境下删除数据库实例是一项需要谨慎操作的任务,涉及数据、配置文件、系统服务等多方面内容的彻底移除,不同类型的数据库(如MySQL、PostgreSQL、Oracle等)因其架构和文件存储路径的差异,删除步骤也存在区别,本文将详细介绍Linux下常见数据库实例的删除方法,并强调操作前的注意事项,确保数……

    2025年9月10日
    4400
  • linux如何服务重启服务器

    在Linux服务器管理中,重启服务或服务器是日常运维中常见的操作,通常用于解决服务卡死、配置更新后生效、系统资源异常等问题,正确的重启操作能确保服务快速恢复,同时减少对业务的影响,本文将详细介绍Linux系统中重启服务和服务器的常用方法、注意事项及常见问题处理,重启系统服务的方法Linux系统中,服务的管理主要……

    2025年9月17日
    7100
  • 安装Linux Mint难不难?

    准备工作检查系统要求最低配置:2GB 内存、20GB 存储空间、1024×768 分辨率显示器推荐配置:4GB 内存、100GB SSD、双核处理器(可流畅运行 Cinnamon 桌面环境)备份重要数据使用外部硬盘或云存储备份个人文件(如文档、照片)记录原系统的软件许可证密钥(如 Windows 激活码)下载……

    2025年8月3日
    4700
  • 手机现在连的WiFi名称怎么查?

    命令行断开Wiifi(推荐高级用户)方法1:使用 nmcli (NetworkManager工具)# 断开指定WiFi(将CONNECTION_NAME替换为实际名称)nmcli connection down CONNECTION_NAME# 示例:断开名为"Home-WiFi"的网络nm……

    2025年6月14日
    7000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信