6.关注vsftpd服务器日志
网络管理员应当记录vsftpd服务器所有日志,它记录了系统每天发生的各种各样的事情,包括哪些用户曾经或者正在使用系统,可以通过日志来检查错误发生的原因,更重要的是在系统受到黑客攻击后,日志可以记录下攻击者留下的痕迹,通过查看这些痕迹,系统管理员可以发现黑客攻击的某些手段以及特点,从而能够进行处理工作,为抵御下一次攻击做好准备。这里推荐使用AWStats它是在Sourceforge上发展很快的一个基于Perl的WEB日志分析工具。现今它也可以用来分析多种日志包括:Apache 、proftp、wuftp、vsftp、Postfix, Sendmail, QMail。现在介绍一下用它来分析vsftp日志的安装配置方法。
(1)软件下载安装
#mkdir /var/www/html/syc ;cd /var/www/html/syc;
#wget http://heanet.dl.sourceforge.net/sourceforge/awstats/awstats-6.5.tar.gz
# tar zxvf /usr/local/src/awstats-6.2.tgz ;mv awstats-6.2 awstats
# chmod 755 /var/www/html/syc/awstats ;mkdir -p /var/www/cgi-bin/awstats
#mv /var/www/html/syc/awstats/wwwroot/cgi-bin/* /var/www/cgi-bin/awstats #
说明下载的软件版本一定要大于6.4,之前版本有安全漏洞。
(2)修改配置文件/etc/vsftpd/vsftpd.conf ,添加以下内容:
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
(3)清空旧日志文件内容:
true > /var/log/vsftpd.log
(4)重新啟動 vsftpd 服务器
# /etc/rc.d/init.d/vsftpd restart
(5)建立日志文件目录
# mkdir /etc/awstats
# cp /var/www/cgi-bin/awstats/awstats.model.conf /etc/awstats/awstats.ftp.conf
# mkdir /var/www/html/syc/awstats/data
(6)修改缺省配置文件
LogFile="/var/log/vsftpd.log
LogType=F
#LogFormat=1
LogFormat="%time3 %other %host %bytesd %url %other %other %method %other %logname %other %code %other %other"
LogSeparator="\s"
SiteDomain=" host.cao.net" #主机名称#
HostAliases="localhost 127.0.0.1 192.168.0.254 " #域名、服务器名、别名#
DNSLookup=0 #不逆向解析域名 #
DirData="/var/www/html/syc/awstats/data" #日志文件存放目录#
DirCgi="/cgi-bin/awstats" # CGI统计脚本目录#
DirIcons="/syc/awstats/wwwroot/icon" #图标在Web服务器apache对应目录#
MiscTrackerUrl="/syc/awstats/wwwroot/js/awstats_misc_tracker.js"
LevelForBrowsersDetection=0 # 是否可以用浏览器来执行更新,默认是不可以#
LevelForOSDetection=0 #是否可以通过浏览器频道操作系统默认是不可以#
LevelForRefererAnalyze=0 # 0 disables Origin detection.
LevelForRobotsDetection=0 # 0 disables Robots detection.
LevelForSearchEnginesDetection=0 # 0 disables Search engines detection.
Lang="cn" #设置国家语言类型#
ShowMonthStats=UVHB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=HB
ShowHostsStats=HB
ShowAuthenticatedUsers=HBL
ShowRobotsStats=0
ShowOSStats=0
ShowBrowsersStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
StyleSheet="/syc/awstats/wwwroot/css/awstats_bw.css" #css启示位置#
注意上面粗黑体字部分是笔者服务器的情况,读者在实际操作中要按照你的具体情况设置。
(7)建立awstats.sh批处理文件:
cd /var/www/cgi-bin/awstats
./awstats.pl -config=ftp -update -output > /var/www/html/syc/awstats/ftp.html
chmod 644 /var/www/html/syc/awstats/data/
(8)赋予awstats.sh文件权限
# chmod 700 /var/www/cgi-bin/awstats/awstats.sh
(9)运行批处理文件awstats.sh
# /var/www/cgi-bin/awstats/awstats.sh
(10)重新启动Apache Web服务器,查看日志:
# /etc/rc.d/init.d/httpd restart
在Firefox浏览器的URL栏目输入:http://localhost /syc/awstats/ftp.html ,见图4。
图8 vsftpd日志界面 |
(11)用 crontab命令实现自动更新日志:
在Windows系统中有一个计划任务的功能,它可以根据用户的要求定时完成某项功能,这对网管员十分有用。Linux中也有类似功能,它是由cron来执行的。Crom是一个守护进程(daemon),它提供定时器功能,只要用户必须定时器设置文件,就可以使用的完成计划任务。建立定时器设置文件:
#crontab -e
文件内容:
35 */8 * * * root /var/www/cgi-bin/awstats/awstats.sh > /dev/null 2>&1
用vi或其他编辑器存盘退出。
(12)使用 crontab命令添加到任务列表中:
#crontab -u mytype
这样每隔八个小时更新日志。