通过Unix域套接字保护进程通信

时间:2018-05-04 12:45:21

标签: linux security unix-socket

UNIX域套接字(不是IP域AF_INET中的流套接字)提供了一种基于文件系统所有权/权限的内置安全机制,即UDS客户端只能连接到UDS服务器(如果是以相同的用户启动,或者它与服务器属于同一用户组。

我是否会通过检查来自客户端的消息是否在开头具有特定密码来添加其他安全层?我想这样我可能会阻止客户端,如果相应的Linux用户被黑客攻击。有没有其他方法可以通过UDS保护流程通信?

1 个答案:

答案 0 :(得分:1)

好的,这就是passwd(1)计划确实做到的! (并且自从unix的纪元以来就这样做了)它要求输入密码,因此如果用户被有效地入侵了帐户并且不知道密码,他将无法更改密码并且无法访问密码服务。但是,如果用户能够通过除获取密码之外的其他方式绕过安全性,他可能已经破坏了对系统的安全访问权限,为什么不成为root呢?在这种情况下,他将能够更改密码以访问您的系统并在访问后恢复旧密码,甚至不知道它(他只需要复制/etc/shadow文件中的加密密码,更改密码,访问您的系统,并从他制作的副本中恢复加密的密码。只有当原始用户在密码更改时尝试访问系统时,他才会检测到入侵,否则最后一切都会像更改前一样。< / p>

无论如何,在这个级别攻击unix系统可以提供比这更多的功能,并且他将能够在后端攻击您的系统,访问内部数据文件或数据库,更好地以root身份而不是原始用户。 / p>

你的想法很好,如果用户不介意每次使用套接字时都要使用他们的密码,请考虑一下这个问题。你至少会不时地询问密码......并且在不知道密码的情况下被用户入侵的可能性非常低。与所有与安全相关的规范一样,都取决于保存在这些套接字后面的信息的值。