Security

proftpd 正在訪問 my.cnf

  • March 18, 2016

我將proftpd 用於MySQL 的虛擬FTP 託管。

我已經開始編寫細粒度的 SELinux 策略,發現它正在嘗試訪問 my.cnf 文件。

問題是為了什麼,為什麼?

type=AVC msg=audit(1378191337.059:153431): avc:  denied  { getattr } for  pid= comm="proftpd" path="/etc/my.cnf" dev="dm-1" ino=1180081 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:mysqld_etc_t:s0 tclass=file
type=AVC msg=audit(1378191337.059:153432): avc:  denied  { read } for  pid=50590 comm="proftpd" name="my.cnf" dev="dm-1" ino=1180081 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:mysqld_etc_t:s0 tclass=file
type=AVC msg=audit(1378191337.059:153432): avc:  denied  { open } for  pid=50590 comm="proftpd" path="/etc/my.cnf" dev="dm-1" ino=1180081 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:mysqld_etc_t:s0 tclass=file

的輸出ps auxwf|grep 50590現在為空 - 程序不再存在。看起來它試圖在每次登錄嘗試時都這樣做。

更新: 送出的錯誤/功能請求,開發人員送出的更新檔: http ://bugs.proftpd.org/show_bug.cgi?id=3971

只是補充一點,原始碼也提到了這一點:

我檢查了最近的快照。具體來說,proftpd-cvs-20130903/contrib/mod_sql_mysql.c

485   /* Make sure the MySQL config files are read in.  This will read in
486    * options from group "client" in the MySQL .cnf files.
487    */
488   mysql_options(conn->mysql, MYSQL_READ_DEFAULT_GROUP, "client");

連結到 libmysqlclient 的 MySQL客戶端從[client]. /etc/my.cnf這是此類客戶端的典型行為,當您使用其 MySQL 模組時, ProFTPD 就是這樣的客戶端。

SELinux 布爾值ftpd_full_access將允許此訪問,但它也有效地禁用 SELinux 以進行整個 FTP 守護程序的操作,因此不應在沒有特別小心的情況下使用它。

如果是我,我會送出一個功能請求,反對selinux-policy請求添加一個布爾值以允許添加此訪問權限,或者可能將其添加到ftpd_connect_db布爾值中。

引用自:https://serverfault.com/questions/535807