JumpServer 高危命令拦截规则 + 防火墙配置方案

环境说明

通过防火墙 禁止其他IP(剔除堡垒机和其他管理机IP) 通过ssh 访问业务服务器,通过过滤命令 禁止高危命令和修改防火墙以及ssh 配置;支持用户使用root 命令

通用配置说明

  1. 所有拦截规则动作:拒绝(Deny)
  2. 规则优先级:1(最高)
  3. 全部使用单行独立正则,无复合逻辑,适配 JumpServer,防空格绕过、无误拦截
  4. 防护目标:禁止修改防火墙配置、禁止篡改SSH端口;防火墙仅限制22端口,不影响其他业务端口正常访问

正则基础语法速查

语法 作用
\s+ 匹配1个或多个空格,防御多空格绕过
\s* 匹配0个或多个空格,兼容命令首尾空格
\w+ 匹配字母/数字/下划线,适配目录、文件名
\b 单词边界,避免关键词误匹配正常命令

一、高危删除类(防删库、销毁系统文件)

单行正则(直接复制) 拦截真实命令 防护说明
rm\s+-rf\s+/\* rm -rf /* 拦截清空根目录所有文件,防范删库跑路
rm\s+-rf\s+/\s* rm -rf / 拦截直接删除根目录,防止全盘数据丢失
rm\s+-rf\s+~\s* rm -rf ~ 拦截删除用户家目录,保护运维配置数据
rm\s+-rf\s+\$HOME rm -rf $HOME 拦截通过环境变量绕过删除家目录
rm\s+-rf\s+/\w+ rm -rf /etc /var /data 拦截删除系统、业务一级目录

二、磁盘销毁类(防分区格式化、裸盘擦写)

单行正则(直接复制) 拦截真实命令 防护说明
mkfs\.\w+\s+/dev/ mkfs.ext4 /dev/sda1 拦截所有磁盘格式化操作
dd\s+if=.*of=/dev/ dd if=/dev/zero of=/dev/sda 拦截裸盘读写、篡改分区表等高风险操作

三、系统攻击类(防Fork炸弹宕机)

单行正则(直接复制) 拦截真实命令 防护说明
:\(\)\{:|:\&\};: Fork炸弹脚本 拦截无限生成进程攻击,避免服务器卡死宕机

四、权限篡改类(防系统权限紊乱、越权入侵)

单行正则(直接复制) 拦截真实命令 防护说明
chmod\s+-R\s+777\s+/ chmod -R 777 / 拦截全局开放777权限,杜绝木马植入、非法入侵
chown\s+-R\s+root:root\s+/ chown -R root:root / 拦截全盘强制归属root用户,防止业务服务权限失效

五、防火墙防篡改规则(核心:禁止修改配置,不限制业务端口)

仅拦截防火墙规则变更、服务启停,正常业务端口访问不受限制。

单行正则(直接复制) 拦截真实命令 防护说明
iptables\s+-F iptables -F 拦截清空 iptables 所有规则
iptables\s+-X iptables -X 拦截删除 iptables 自定义规则链
iptables\s+-A\s+ iptables -A 拦截新增 iptables 规则
iptables\s+-I\s+ iptables -I 拦截插入高优先级 iptables 规则
iptables\s+-D\s+ iptables -D 拦截删除现有 iptables 防护规则
iptables\s+-R\s+ iptables -R 拦截替换 iptables 原有安全策略
firewall-cmd\s+.*add\s+ firewall-cmd --add 拦截 firewalld 新增端口/IP规则
firewall-cmd\s+.*remove\s+ firewall-cmd --remove 拦截删除 firewalld 现有规则
firewall-cmd\s+.*delete\s+ firewall-cmd --delete 拦截删除 firewalld 白名单、端口策略
systemctl\s+restart\s+firewalld systemctl restart firewalld 拦截重启防火墙,避免规则临时失效
systemctl\s+stop\s+firewalld systemctl stop firewalld 拦截关闭防火墙,防止服务器裸奔暴露
systemctl\s+disable\s+firewalld systemctl disable firewalld 拦截禁用防火墙开机自启

六、SSH防篡改规则(核心:禁止改端口/改配置,正常登录不受限)

仅拦截编辑、修改、启停SSH配置,不拦截正常 ssh 登录命令,杜绝私自修改22端口搭建后门。

单行正则(直接复制) 拦截真实命令 防护说明
vi\s+/etc/ssh/sshd_config vi /etc/ssh/sshd_config 拦截手动编辑SSH核心配置文件
sed\s+.*Port\s+\d+\s+/etc/ssh/sshd_config sed 修改SSH端口 拦截命令行批量篡改SSH端口
echo\s+.*Port\s+\d+\s+>>\s+/etc/ssh/sshd_config echo 追加端口配置 拦截静默新增SSH后门端口
systemctl\s+restart\s+sshd systemctl restart sshd 拦截重启SSH,阻断篡改配置生效
systemctl\s+stop\s+sshd systemctl stop sshd 拦截关闭SSH服务,防止运维失联
systemctl\s+disable\s+sshd systemctl disable sshd 拦截禁用SSH开机自启

七、关机/重启类(防无预警业务宕机)

单行正则(直接复制) 拦截真实命令 防护说明
\breboot\b reboot 拦截服务器重启
\bshutdown\b shutdown 拦截系统关机
\bpoweroff\b poweroff 拦截强制断电关机
\bhalt\b halt 拦截系统停机
init\s+0 init 0 拦截运行级别0关机
telinit\s+0 telinit 0 拦截强制停机指令

八、敏感信息泄露类(防账号、密钥、配置外泄)

单行正则(直接复制) 拦截真实命令 防护说明
cat\s+/etc/shadow cat /etc/shadow 拦截查看系统密码哈希文件
cat\s+/etc/passwd cat /etc/passwd 拦截查看系统用户列表
cat\s+/etc/sudoers cat /etc/sudoers 拦截查看sudo提权配置
cat\s+/etc/ssh/sshd_config cat /etc/ssh/sshd_config 拦截查看SSH端口、白名单配置
cat\s+.*\.pem cat xxx.pem 拦截查看SSL证书私钥
cat\s+.*\.key cat xxx.key 拦截查看各类密钥文件
cat\s+.*\.pfx cat xxx.pfx 拦截查看加密证书
cat\s+.*\.p12 cat xxx.p12 拦截查看加密密钥包

九、数据外传 & 反弹Shell类(防数据泄露、植入后门)

单行正则(直接复制) 拦截真实命令 防护说明
\bscp\b scp 拦截远程文件外传
\brsync\b rsync 拦截批量同步外传数据
nc\s+-l\s+-p\s+\d+ nc -l -p 端口 拦截端口监听、反弹Shell
curl\s+.*|\s*bash curl url | bash 拦截外网脚本下载并执行
curl\s+.*|\s*sh curl url | sh 拦截外网脚本下载并执行

十、账号提权 & 配置清空类

单行正则(直接复制) 拦截真实命令 防护说明
passwd\s+root passwd root 拦截修改root管理员密码
usermod\s+-aG\s+root usermod -aG root 拦截普通用户加入root组非法提权
>\s*/etc/\w+ > /etc/配置文件 拦截清空系统核心配置文件

附录:防火墙配置(仅限制22端口,放行所有其他端口)

需求说明

仅允许 10.3.170.3210.3.153.20110.3.170.95 访问服务器22端口,其余端口全部放行

1. firewalld 配置(CentOS 7/8/9、RHEL 系列)

# 重载临时规则
firewall-cmd --reload

# 白名单IP放行22端口
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.3.153.201/32' port protocol='tcp' port='22' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.3.170.95/32' port protocol='tcp' port='22' accept"

# 拒绝所有其他IP访问22端口(仅限制SSH)
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' port protocol='tcp' port='22' drop"

# 生效永久规则
firewall-cmd --reload

2. iptables 配置(通用全Linux)

# 清空原有规则
iptables -F
iptables -X

# 放行本地回环地址
iptables -A INPUT -i lo -j ACCEPT

# 白名单IP放行22端口

iptables -A INPUT -s 10.3.153.201/32 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 10.3.170.95/32 -p tcp --dport 22 -j ACCEPT

# 禁止其他IP访问22端口
iptables -A INPUT -p tcp --dport 22 -j DROP

# 放行所有其他端口流量(核心:不限制业务端口)
iptables -A INPUT -j ACCEPT

3. 规则验证命令

# 查看 firewalld 规则
firewall-cmd --list-rich-rules

# 查看 iptables 规则
iptables -L -n --line-number

纯正则清单(批量导入JumpServer专用)

可全选复制,批量粘贴到 JumpServer 命令规则栏:

rm\s+-rf\s+/\*
rm\s+-rf\s+/\s*
rm\s+-rf\s+~\s*
rm\s+-rf\s+\$HOME
rm\s+-rf\s+/\w+
mkfs\.\w+\s+/dev/
dd\s+if=.*of=/dev/
:\(\)\{:\|:\&\};:
chmod\s+-R\s+777\s+/
chown\s+-R\s+root:root\s+/
iptables\s+-F
iptables\s+-X
iptables\s+-A\s+
iptables\s+-I\s+
iptables\s+-D\s+
iptables\s+-R\s+
firewall-cmd\s+.*add\s+
firewall-cmd\s+.*remove\s+
firewall-cmd\s+.*delete\s+
systemctl\s+restart\s+firewalld
systemctl\s+stop\s+firewalld
systemctl\s+disable\s+firewalld
vi\s+/etc/ssh/sshd_config
sed\s+.*Port\s+\d+\s+/etc/ssh/sshd_config
echo\s+.*Port\s+\d+\s+>>\s+/etc/ssh/sshd_config
systemctl\s+restart\s+sshd
systemctl\s+stop\s+sshd
systemctl\s+disable\s+sshd
\breboot\b
\bshutdown\b
\bpoweroff\b
\bhalt\b
init\s+0
telinit\s+0
cat\s+/etc/shadow
cat\s+/etc/passwd
cat\s+/etc/sudoers
cat\s+/etc/ssh/sshd_config
cat\s+.*\.pem
cat\s+.*\.key
cat\s+.*\.pfx
cat\s+.*\.p12
\bscp\b
\brsync\b
nc\s+-l\s+-p\s+\d+
curl\s+.*\|\s*bash
curl\s+.*\|\s*sh
passwd\s+root
usermod\s+-aG\s+root
>\s*/etc/\w+
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐