SELinux、ProFTPd 和静默日志

SELinux、ProFTPd 和静默日志

我的机器上需要一个 FTP 服务器,Fedora 23。我想要一个简单的设置,我决定使用 ProFTPd 和身份验证mod_auth_unix.c(这只是关于我的机器)。

我安装了 ProFTPd 并配置了它。我在从本地计算机登录时遇到了一些问题,最终我意识到问题与 SeLinux 有关(只需尝试将其设置为 Permissive)。

我正在尝试(但失败了)找出如何更改 SELinux 配置以添加我需要的权限。这是我到目前为止所做的:

  1. 从审计中我得到:

    denied  { dac_read_search } for
      pid=16049
      comm="proftpd"
      capability=2
      scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023
      tcontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023
      tclass=capability
      permissive=0
    
  2. 根据本文我需要启用ftp_home_dirallow_ftpd_full_access布尔值。我首先设置第一个,并获得不同的情况:

    • 仍然无法记录,但没有审核消息
    • /var/log/secure说:

      proftpd[16070]: 127.0.0.1 (::1[::1]) - USER dave (Login failed): No such user found
      
  3. allow_ftpd_full_access显然我的里面没有semanage boolean -l。无论如何我都可以启用它,但不会出现不同的行为。

  4. 以下并不总是相关的布尔值似乎都不起作用(尝试了所有这些,只是为了更好的衡量):

    sftpd_full_access
    ftpd_anon_write
    ftpd_connect_db
    ftpd_full_access
    ftpd_use_cifs
    sftpd_enable_homedirs
    ftpd_connect_all_unreserved
    sftpd_write_ssh_home
    ftpd_use_passive_mode
    sftpd_anon_write
    ftpd_use_nfs
    ftpd_use_fusefs
    

这一定是一个selinux问题,因为如果我将其设置为permissive,它就会起作用。然而,奇怪的是,审核日志没有报告 SELinux 活动。

我相信 FTP 服务器被禁止访问/etc/passwd/etc/shadow.

有什么提示或想法吗?

答案1

回答我自己的问题:

我能够通过恢复配置来解决/etc/proftpd.conf问题

AuthOrder mod_auth_pam.c* mod_auth_unix.c

SELinux 是通过设置以下标志来配置的:

setsebool ftpd_full_access 1
setsebool ftp_home_dir 1

mod_auth_unix.c显然,这个问题与SELinux 禁止的 whilemod_auth_pam.c可以正常工作有关。以 PEBCAK 为例。

我现在唯一想不通的是为什么没有报告任何内容/var/log/audit/audit.log:我确信 SELinux 阻止了登录,因为我能够在许可模式下登录。

答案2

我相信 FTP 服务器被禁止访问/etc/passwd/etc/shadow.

这不是真的。从AVC消息中,您可以看到

tcontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023

这是 的一部分ftpd_t,而不是shadowpasswd(这些文件具有不同的上下文,正如您可以从 中看到的ls -Z /etc/passwd)。

这不是完整的解决方案,但正在向前推进。你都是按照文章做的吗?还有群组设置?

相关内容