我正在迁移到一个已设置 SELinux 的新网络服务器(运行 Centos 5.5)。我已经将其设置为可以毫无问题地执行 CGI 脚本,但一些旧的基于 Perl 的脚本无法连接到远程 Web 服务(RSS 提要等)。
运行:grep perl /var/log/audit/audit.log
给出:
类型=SYSCALL msg=audit(1299612513.302:7650): arch=40000003 syscall=102 成功=无退出=-13 a0=3 a1=bfb3eb90 a2=57c86c a3=10 项目=0 ppid=22342 pid=22558 auid=0 uid =48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(无) ses=235 comm="index.cgi" exe="/usr/bin/perl" subj=根:system_r:httpd_sys_script_t:s0 key =(空)
正如我在 SELinux 中的速成课程所进行的那样,它看起来像是主动拒绝出站连接,但我如何配置它以允许 CGI 脚本发出出站请求?
答案1
您可能需要启用httpd_can_network_connectSELinux 布尔值:
以 root 身份运行:
# setsebool -P httpd_can_network_connect 1