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

在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系统中,可视块(Visual Block) 是Vim编辑器中的高效文本操作功能,特别适合处理多行数据的列编辑任务,它允许用户以矩形区域选择文本,实现批量修改、插入或删除,极大提升编码和配置文件编辑效率,以下是详细操作指南:基础操作在Normal模式(按Esc进入)下,按 Ctrl + V 启动可视块……

    2025年7月28日
    9700
  • 环境搭建需要安装哪些必备工具?

    为后续操作搭建基础环境,需安装必要的开发工具、运行库及依赖项,并进行基础配置,确保环境可用。

    2025年7月29日
    7900
  • 你还在纠结吗

    操作前准备:查看当前登录用户在踢出用户前,需确认目标用户及会话信息:who # 显示用户、终端和登录时间w # 显示更详细信息(包括用户正在执行的命令)输出示例:root pts/0 2023-10-01 10:00 (192.168.1.100)user1 pts/1 2023-10-01 11:30 (19……

    2025年7月21日
    10800
  • Linux如何查看电脑硬件型号?

    综合硬件信息查看lshw 命令最全面的硬件报告工具(需root权限):sudo lshw -short | grep -i "product\|vendor" # 查看产品型号和制造商sudo lshw -class system # 仅显示系统信息(含型号)输出示例:system TUF……

    2025年7月15日
    9800
  • linux系统如何配置网络连接不上

    网卡驱动、网络设置(IP、网关等)、路由配置,查看防火墙

    2025年8月16日
    8100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信