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

在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系统安装Nikto工具的具体操作步骤是什么?

    nikto是一款开源的Web服务器扫描工具,主要用于检测Web服务器的漏洞、不安全配置和默认文件,它支持HTTP和HTTPS协议,能够扫描超过6700个潜在的危险文件/程序、检查过时的服务器版本以及多种已知的安全漏洞,在Linux系统中安装nikto可以通过源码编译或包管理器两种方式,其中源码编译适用于大多数L……

    2025年9月8日
    8200
  • Linux 5.3如何设置系统中文显示及输入法?

    在Linux 5.3系统中设置中文显示和输入,涉及系统语言环境、中文字体、输入法配置等多个环节,以下是详细步骤和说明,帮助用户完成中文环境的全面适配,系统语言环境配置Linux系统的语言环境由locale控制,决定系统界面、终端输出、日志等文本的显示语言,默认情况下,Linux 5.3可能未启用中文环境,需手动……

    2025年9月24日
    8600
  • Linux系统如何快速返回桌面界面?

    在Linux操作系统中,“回桌面”通常指从当前打开的窗口、应用程序或终端界面切换到图形化桌面环境,即显示所有窗口的最小化状态或空白桌面,方便用户快速访问桌面图标或启动其他程序,由于Linux桌面环境(如GNOME、KDE Plasma、XFCE等)的多样性和定制性,实现“回桌面”的方法也因环境而异,以下将详细介……

    2025年9月9日
    8300
  • linux删除文件如何恢复

    Linux下删除文件后,可尝试用extundelete、testdisk等工具恢复,但

    2025年8月17日
    9500
  • 这样洗碗竟能省水又干净?

    在Linux系统中,进程号(Process ID,简称PID)是操作系统分配给每个运行中程序的唯一数字标识符,获取PID是系统管理、进程监控和故障排查的基础操作,以下是几种常用的输出进程号方法,结合场景说明和示例:基础命令:ps + grep(最常用)适用场景:快速查找指定进程的PID,命令示例:ps aux……

    2025年8月8日
    8800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信