Linux高危命令,运维人手一份
需求
《运维:对数据要有敬畏之心》一文从日常运维的主要环节总结了如何规避数据丢失的风险,如果你细品可能会意识到“操作系统级肯定不是只有rm -rf
这类和文件相关的”,因此我们在此将Linux的高危命令进行了统一的总结整理。
类别
针对操作系统级命令的功能,我们将高危命令分为以下几类:
-
磁盘管理 -
权限管理 -
设备操作 -
网络管理 -
文件管理 -
系统管理 -
账号管理 -
大数据管理 -
数据库管理 -
等等
相信如果我们不仔细去梳理,我们永远也意识不到原来高危命令有这么多类型,那么我们继续往下看!
命令处理
对于高危命令的管理,我们不能“一刀切”将其全部禁用,而是要根据其具体需求去区别处理,下面是我们的一些建议。
类别 | 命令 | 措施 |
---|---|---|
磁盘管理 | badbocks | 阻断 |
磁盘管理 | cfdisk | 阻断 |
磁盘管理 | dd | 阻断 |
磁盘管理 | e2fsck | 阻断 |
磁盘管理 | fsck | 阻断 |
磁盘管理 | fsconf | 阻断 |
磁盘管理 | hdparm | 阻断 |
磁盘管理 | mformat | 阻断 |
磁盘管理 | mkbootdisk | 阻断 |
磁盘管理 | mkdosfs | 阻断 |
磁盘管理 | mke2fs | 阻断 |
磁盘管理 | mkfs.ext4 | 阻断 |
磁盘管理 | mkfs.xfs | 阻断 |
磁盘管理 | mkinitrd | 阻断 |
磁盘管理 | mkswap | 阻断 |
磁盘管理 | mpartition | 阻断 |
磁盘管理 | swapon | 阻断 |
磁盘管理 | swapoff | 阻断 |
磁盘管理 | symlinks | 阻断 |
磁盘管理 | sync | 阻断 |
磁盘管理 | mbadblocks | 阻断 |
磁盘管理 | fdisk | 阻断 |
磁盘管理 | mkfs | 阻断 |
磁盘管理 | eject | 阻断 |
磁盘管理 | restore | 阻断 |
磁盘管理 | > | 阻断 |
磁盘管理 | rm | 阻断 |
权限管理 | sudo | 监控 |
权限管理 | su | 监控 |
权限管理 | chmod | 监控 |
权限管理 | chown | 监控 |
设备操作 | mount | 监控 |
设备操作 | umount | 监控 |
设备操作 | shutdown | 监控 |
设备操作 | poweroff | 监控 |
设备操作 | reboot | 监控 |
设备操作 | halt | 监控 |
网络管理 | curl | 监控 |
网络管理 | wget | 监控 |
网络管理 | ftp | 监控 |
网络管理 | sftp | 监控 |
网络管理 | nc | 监控 |
网络管理 | telnet | 监控 |
网络管理 | ssh | 监控 |
网络管理 | rlogin | 监控 |
网络管理 | rsh | 监控 |
文件管理 | smaba | 监控 |
文件管理 | git | 监控 |
文件管理 | mv | 监控 |
文件管理 | rm | 监控 |
文件管理 | cp | 监控 |
文件管理 | scp | 监控 |
文件管理 | dump | 监控 |
文件管理 | rsync | 监控 |
系统管理 | crontab | 监控 |
系统管理 | cron | 监控 |
系统管理 | yum | 监控 |
系统管理 | rpm | 监控 |
系统管理 | apt | 监控 |
系统管理 | eval | 监控 |
系统管理 | exec | 监控 |
系统管理 | kill | 监控 |
系统管理 | killall | 监控 |
系统管理 | skill | 监控 |
系统管理 | reset | 监控 |
系统管理 | init | 监控 |
系统管理 | supervisorctl | 监控 |
系统管理 | systemctl | 监控 |
系统管理 | service | 监控 |
系统管理 | java -jar | 监控 |
账号管理 | useradd | 监控 |
账号管理 | userdel | 监控 |
账号管理 | adduser | 监控 |
账号管理 | deluser | 监控 |
账号管理 | groupdel | 监控 |
账号管理 | groupadd | 监控 |
账号管理 | chgrp | 监控 |
账号管理 | passwd | 监控 |
大数据管理 | hdfs dfsadmin.* | 阻断 |
大数据管理 | hdfs dfs -rm.* | 阻断 |
大数据管理 | hdfs haadmin.* | 阻断 |
大数据管理 | hdfs dfs -chmod.* | 阻断 |
大数据管理 | hdfs dfs -chgrp.* | 阻断 |
大数据管理 | hdfs dfs -chown.* | 阻断 |
大数据管理 | hdfs dfs -moveToLocal.* | 阻断 |
大数据管理 | hdfs dfs -mv.* | 阻断 |
大数据管理 | hdfs dfs -rmdir.* | 阻断 |
大数据管理 | systemctl .* cloudera-scm-server | 阻断 |
大数据管理 | systemctl .* cloudera-scm-agent | 阻断 |
大数据管理 | hadoop distch.* | 阻断 |
大数据管理 | hadoop distcp.* | 阻断 |
大数据管理 | hadoop fs -rm.* | 阻断 |
大数据管理 | hadoop fs -chmod.* | 阻断 |
大数据管理 | hadoop fs -chgrp.* | 阻断 |
大数据管理 | hadoop fs -chown.* | 阻断 |
大数据管理 | hadoop fs -moveToLocal.* | 阻断 |
大数据管理 | hadoop fs -mv.* | 阻断 |
大数据管理 | hadoop fs -rmdir.* | 阻断 |
数据库管理 | truncate | 阻断 |
数据库管理 | drop database | 阻断 |
数据库管理 | drop tables | 阻断 |
数据库管理 | delete | 阻断 |
当然在实际使用过程中的命令包含但绝不限于
这些,而且考虑到操作系统、应用、服务已经在生产中稳定运行,因此我们需要将可能具有潜在危险的命令进行监控或阻断。特殊情况下要执行某个高危命令,我们要有意识进行多人复核,以免误操作。
监控管理
对于处理高危命令的处理,我们要做到监控和管理,在此可以结合监控系统和堡垒机来处理:
-
监控系统,对高危命令进行监控告警; -
堡垒机,对高危命令命令过滤,最好可以和正则表格式结合使用;
总结
其实Linux高危命令不只是存在于单纯的命令执行,而是广泛存在于数据库、应用服务、大数据等和业务息息相关的环节上。如果我们的生产服务器没有做到开发、运维、测试人员的权限分离,那么本次的高危命令总结希望可以派上用场。
札记:对的那条路,往往不是最好走的!