其實,proftpd默認是禁止匿名登錄的。今天我們反其道,研究一下如何開啟匿名登錄。清楚了怎么破防,才能更好得防。
查看/etc/proftpd.conf 配置文件:
# A basic anonymous configuration, with an upload directory
# Enable this with PROFTPD_OPTIONS=-DANONYMOUS_FTP in /etc/sysconfig/proftpd
<IfDefine ANONYMOUS_FTP>
Include /etc/proftpd/anonftp.conf
</IfDefine># Include other custom configuration files
Include /etc/proftpd/conf.d/*.conf
這么一段配置其實是一個KEY,proftpd已經定義了相對安全的匿名登錄配置,都在/etc/proftpd/anonftp.conf文件中。我們只需要修改proftpd的/etc/sysconfig/proftpd環境變量文件中,增加配置PROFTPD_OPTIONS=-DANONYMOUS_FTP即可。
查看/etc/sysconfig/proftpd環境變量文件:
# Set PROFTPD_OPTIONS to add command-line options for proftpd.
# See proftpd(8) for a comprehensive list of what can be used.
#
# The following "Defines" can be used with the default configuration file:
# -DANONYMOUS_FTP : Enable anonymous FTP
# -DDYNAMIC_BAN_LISTS : Enable dynamic ban lists (mod_ban)
# -DQOS : Enable QoS bits on server traffic (mod_qos)
# -DTLS : Enable TLS (mod_tls)
#
# For example, for anonymous FTP and dynamic ban list support:
# PROFTPD_OPTIONS="-DANONYMOUS_FTP -DDYNAMIC_BAN_LISTS"
#PROFTPD_OPTIONS=""
PROFTPD_OPTIONS="-DANONYMOUS_FTP"
如上,已注釋掉默認值#PROFTPD_OPTIONS="",并新增了開啟匿名登錄的參數PROFTPD_OPTIONS="-DANONYMOUS_FTP"。
但是,此時你重啟proftpd會發現仍然無法匿名登錄。
這是因為proftpd的認證模塊會驗證用戶的shell是否允許登錄,在/etc/proftpd/anonftp.conf文件中通過UserAlias ? ? ? ? ? ?anonymous ftp指令,將ftp用戶重命名為anonymous。而ftp用戶的shell是:/usr/sbin/nologin。我們通過usermod -s /bin/bash ftp ,然后再次匿名登錄就會成功了。
綜上,通過上面研究實驗,如果要成功匿名登錄,如下配置是關鍵點:
1、UserAlias ? ? ? ? ? ? anonymous user1
2、用戶user1的shell不能為/usr/sbin/nologin、/bin/fasle等
?
那么我們只要確保如上兩點沒有生效,那么就可以起到禁用匿名登錄的目的。