我在学习Linux内核编程的时候发现了这个答案,我的问题对于Linux内核的安全特性更具体。 我想知道如何限制特权用户或进程对其他进程和文件的访问权限,而不是完全访问root。
直到现在我发现:
ping
来打开Linux套接字 ping
suid位并设置cap_net_raw
列表是否完整? 在写这个问题的时候,我发现fanotify监视文件系统事件,比如反病毒扫描。 可能有更多的安全function可用。
是否还有更多的Linux安全function可以从文件或进程的内部或外部以可编程方式使用,以限制特权访问? 也许有一个完整的列表。
传统的unix方法限制一个进程需要更多的权限,但是包含它的过程不能使用超过它所需要的是“chroot”它。
chroot改变了进程的明显根源。 如果正确的话,它只能访问新创建的chroot环境(又名chroot jail)中的那些资源,例如它只能访问这些文件,而且只能访问那些设备等等。
创建一个愿意这样做的过程是相对容易的,并不罕见。
要创建一个现有的软件(如网络服务器,邮件服务器)感觉在家里,仍然正常工作的环境是需要经验的东西。 最主要的是找到所需的最小资源(共享库,配置文件,设备,依赖服务(如syslog)等)。
您可以添加EFS,AppArmor,Yama auditctl,ausearch,aureport类似于fanotify的工具:Snort,ClamAV,OpenSSL,AIDE,nmap,GnuPG