我在RHEL(CentOS 6.3)上运行一台专用机器,运行多个IP地址.多个用户还可以在非超级用户帐户上访问该计算机.我想阻止他们绑定到某些地址.
我知道Linux可以限制非root用户的端口,就像目前对小于或等于1024的端口所做的那样.如果我想阻止访问特定的IP地址,如0.0.0.0,或者范围如127.0 .0.0 / 8,这样做是可能的,如果是这样,它会怎么做?
或者相反,我如何拒绝所有绑定到任何IP地址的访问权限,并授予用户对各个地址的访问权限?
解决方法
我不会详细介绍如何设置SELinux或如何创建SELinux策略.
This可能是熟悉SELinux的良好起点.
要解决SELinux的问题,请尝试以下方法:
>将类型分配给您要限制的网络接口
# Assign a type to the whole interface semanage interface -a -t foo_netif_t eth2
>为通过接口的流量分配标签
netlabelctl unlbl add interface:eth2 address:0.0.0.0/0 label:system_u:object_r:foo_peer_t:s0 netlabelctl unlbl add interface:eth2 address:::/0 label:system_u:object_r:foo_peer_t:s0
此示例将类型foo_peer_t分配给所有IPv4和IPv6流量.
>添加规则以允许数据包流
交通进入
allow user_t foo_netif_t:netif ingress; allow user_t foo_peer_t:node recvfrom;
交通离开
allow user_t foo_netif_t:netif egress; allow user_t foo_peer_t:node sendto;
将user_t替换为分配给您要限制的用户的类型.
参考文献:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。