您的位置:首页 > 运维架构 > Linux

Linux进程隐藏

2016-08-29 22:50 429 查看
在linux3.3内核以后,在procs 增加了一个挂载选项hidepid,实现对用户隐藏进程。

hidepid=0: 默认模式,所有人都可以访问读取公开的 /proc/PID/* 文件

hidepid=1: 用户不能访问进入的/proc/PID 文件,除了属于他的目录,一些敏感文件比如cmdline, io, sched*, status, wchan对其他用户保护起来,。当用户输入ps,top等命令,用户是看不到那些不属于自己的进程的!!不过还是能够看到/proc下的process IDs

hidepid=2: 是hidepid的加强,这种设定下,/proc/PID/ 对于任何用户都是不可见的——哪怕是入侵到/proc 目录下,也看不到process IDs。无论是否有部分守护进程是以提升的权限运行,是否有其他用户运行一些敏感程序,是否有其他用户运行任何程序等,这个参数的设定都使得入侵者收集系统运行进程信息变得更复杂,难度加大。

在一个共享服务器上强烈建议hidepid=2选项来挂载procfs, 可以在运行时重新挂载procfs.

$ mount | grep ^proc

proc on /proc type proc (rw,relatime)

$ mount -o remount,hidepid=2 /proc

$ mount | grep ^proc

proc on /proc type proc (rw,relatime,hidepid=2)

也可以直接在/etc/fstab中增加挂载选型来持续生效

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc          
proc    defaults,hidepid=2        0      
0

 通过ps 命令查看只能查看该用户的进程信息

user@web:~$
ps
  PID
TTY          TIME
CMD

17486 pts/0    00:00:00
bash
24806
pts/0    00:00:00
ps

这也同样对pstree, top, htop生效

还有其他的一些进程隐藏手段可以采用:

1.使用一个适当的框架(Selinux,  gresecurity)

2.改变ps 、 top等命令的二进制文件

3.改变libc库函数, 改变readdir函数

4.系统调用劫持
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: