小编Mic*_*and的帖子

如何使用 SELinux 限制 PHP 脚本?

我想在我的 SL6.4(RHEL 6.4 重建)Web 服务器上划分不同的 PHP 应用程序,以便它们无法访问彼此的数据。SELinux 似乎可以做到这一点,但我不确定细节。我的问题有两个部分:

  1. SElinux如何使用mod_php管理Apache进程中运行的PHP脚本?进程是否在运行 PHP 脚本时以某种方式进入脚本上下文,或者仅当脚本通过 CGI 或 FastCGI 在进程外运行时才有效?如果它转换到脚本上下文来运行 PHP 脚本,是什么阻止了 PHP 错误触发转换回主 httpd 上下文?如果我需要一种替代的 PHP 部署方法,那最好知道。
  2. 如何分离脚本/应用程序,以便 TinyTinyRSS 无法访问 OpenCloud 拥有的内容?它看起来像我应该能够通过关闭要做到这一点httpd_unified,并提供独立的httpd_ttrss_*httpd_opencloud_*环境,平行于套httpd_user_foohttpd_sys_foo。考虑到我可以使用的应用程序数量,我什至可以在没有新上下文的情况下使用 sys/user 区别。但是我还没有找到很多关于关闭的含义的文档httpd_unified,或者如何设置不同的 HTTP 上下文。特别是对于通过mod_php.

我很擅长创建新的 SELinux 策略模块,但需要一些文档来指出我需要什么来使新策略执行以及如何使其与 SELinux 目标策略很好地集成。

如果尝试仅使用 SELinux 进行这种分离是一个失败的原因,并且我需要在不同的上下文中启动单独的 httpds,甚至可能是 LXC 容器,那么这也是一个有用的答案。

php selinux mod-php apache-2.2 rhel6

8
推荐指数
1
解决办法
1379
查看次数

sudo 的简单多级身份验证

我有一个启用了基于密码的 SSH 的 FreeBSD 服务器。我想启用sudo,但我不希望潜在的攻击者成为远离 root 访问权限的密码。我目前的解决方案是使用公钥以 root 身份登录(root 的远程密码身份验证被禁用),我的普通用户不在轮子上,sudo也没有安装。

过去,我使用一次性密码进行 sudo 访问(我可以公开密钥进入系统,但是 sudo 需要一个 OTP,并且有 30 分钟的超时时间让我真正完成工作,而无需重新验证所有时间)。然而,这相当麻烦,至少对于 OPIE/S/Key。使用硬件令牌可能没问题,但目前我没有。

我一直在寻找可以让我通过代理转发使用 SSH 公钥对 sudo 进行身份验证的东西。 pam_sshFreeBSD 中包含的似乎没有这样做——它只是通过查看用户是否可以解密服务器上的私钥来进行身份验证。我找到了pam_ssh_agent_auth,但我在其他地方很少找到对它的引用。它现在是 0.9,但我有点犹豫是否信任根到程序的网关,我找不到很多人实际使用的证据。

所以,我的问题基本上是2:

  1. pam_ssh_agent_auth用在野外可靠吗?
  2. 是否有另一个很好的解决方案来启用 sudo 同时仍然有超过登录密码的障碍?我曾想过使用 sudo 访问权限和无密码身份验证的第二个帐户,但这似乎也有些麻烦。

freebsd ssh authentication sudo private-key

5
推荐指数
1
解决办法
2589
查看次数

标签 统计

apache-2.2 ×1

authentication ×1

freebsd ×1

mod-php ×1

php ×1

private-key ×1

rhel6 ×1

selinux ×1

ssh ×1

sudo ×1