我对 SELinux 如何通过网络堆栈影响数据包的处理很感兴趣。我发现了以下问题和答案:
AppArmor/SELinux 下的网络策略
基于用户/组/进程过滤网络访问
第一个似乎暗示 SELinux 可以标记数据包(有点像标记 VLAN),并且处理可以根据与数据包关联的标记而有所不同。这对我来说很有意义。但是,第二个问题是询问通过用户组和访问控制的网络访问。根据答案和评论尚不清楚这是否属实,或者它是如何可能的。
在阅读 Linux Kernel 源代码(2.6.16,我知道它很旧,但很多嵌入式设备仍在使用 2.6)时,您会遇到文件/security/selinux/hooks.c
. 这具有类似的功能selinux_parse_skb_ipv4, selinux_socket_create, selinux_socket_bind, etc
。
我的问题是:
- 有人可以帮我解决第二个问题吗?要么通过实际回答该问题,要么在这里回答。
- SELinux 是否以任何其他方式影响网络堆栈?
- 使用上面列出的功能,SELinux 是否用于创建“安全套接字”的抽象概念?就像Windows API 提供函数调用来创建“安全套接字”一样。