AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1020429
Accepted
J W
J W
Asked: 2020-06-08 12:29:54 +0800 CST2020-06-08 12:29:54 +0800 CST 2020-06-08 12:29:54 +0800 CST

设置为 1 的 httpd_can_network_connect 在 SELinux 上实际打开了多少

  • 772

当我尝试将用户重定向到 Paypal 进行结帐时,我的日志文件中出现以下 SELinux denied 行。请您帮助我理解它的含义以及我应该向 SELinux 添加哪些例外以允许这些例外?

type=AVC msg=audit(1591554743.559:10135): avc:  denied  { name_connect } for  pid=3389 comm="httpd" dest=80 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0
type=SYSCALL msg=audit(1591554743.559:10135): arch=c000003e syscall=42 success=no exit=-13 a0=19 a1=7f6a14077238 a2=10 a3=26 items=0 ppid=981 pid=3389 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)ARCH=x86_64 SYSCALL=connect AUID="unset" UID="apache" GID="apache" EUID="apache" SUID="apache" FSUID="apache" EGID="apache" SGID="apache" FSGID="apache"
type=PROCTITLE msg=audit(1591554743.559:10135): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 

type=AVC msg=audit(1591554758.933:10140): avc:  denied  { name_connect } for  pid=5728 comm="php-fpm" dest=80 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0
type=SYSCALL msg=audit(1591554758.933:10140): arch=c000003e syscall=42 success=no exit=-13 a0=b a1=7f2e0555cf50 a2=10 a3=1bd7a524e1bda8 items=0 ppid=977 pid=5728 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="php-fpm" exe="/usr/sbin/php-fpm" subj=system_u:system_r:httpd_t:s0 key=(null)ARCH=x86_64 SYSCALL=connect AUID="unset" UID="apache" GID="apache" EUID="apache" SUID="apache" FSUID="apache" EGID="apache" SGID="apache" FSGID="apache"
type=PROCTITLE msg=audit(1591554758.933:10140): proctitle=7068702D66706D3A20706F6F6C20777777

根据我的研究,它看起来像“在 ENFORCING 模式下启用时,默认情况下,SELinux 会阻止 Apache Web 服务器建立网络连接。在托管 Apache Web 服务器的机器上,将 SELinux 配置为允许 httpd 网络连接” RedHat

# /usr/sbin/setsebool httpd_can_network_connect 1

我只是想更多地了解从安全的角度来看这实际上打开了多少,以及它是否添加了过于广泛的异常。

此外,如果有任何方法可以限制此布尔规则的域。

非常感谢大家的帮助:)

centos php magento centos8 selinux
  • 2 2 个回答
  • 3280 Views

2 个回答

  • Voted
  1. Best Answer
    Danila Vershinin
    2020-06-08T15:01:33+08:002020-06-08T15:01:33+08:00

    从安全的角度来看,这实际上打开了多少

    很多。正如您可能已经猜到的那样,它允许httpd_t与任何远程服务器通信。没有说明它是哪个网站,它可能是恶意网站。

    如果它添加的异常范围太广

    它确实如此,但它是一个有点必要的邪恶。

    要了解它是如何危险的:关闭布尔值后,PHP 代码无法与远程网站通信(就好像curl_功能被禁用一样)。

    如果一个网站被黑客入侵,并且攻击者现在可以更改一些文件,他们通常会寻求从其他网站添加有效负载或建立一个反向 shell,这是不可能的。

    启用布尔值后,这将是可能的。

    这同样适用于从第三方获取任何不受信任的 PHP 代码的所有情况。例如,首先考虑您的网站没有被黑客入侵。

    您已经为您的 CMS 安装了一些罕见的模块,但您几乎不知道它有一些伪装成许可证的混淆代码,用于在运行时从作者的网站获取恶意软件/进行加密挖掘。

    如果有任何方法可以限制此布尔规则的域。

    看起来只能通过IP 地址来限制。我不确定具体的实现方式。

    • 3
  2. RSG
    2020-09-25T18:34:09+08:002020-09-25T18:34:09+08:00

    SELinux 设置 httpd_can_network_connect 默认应该是关闭的。此设置不会阻止您的服务器连接到 PayPal 结帐。服务器中还有一些其他问题阻止它连接到 PayPal,但您需要提供更多详细信息。

    • 1

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve