服务器 频道

经验谈:安全应用vsftpd服务器(下)

    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
     这样每隔八个小时更新日志。

0
相关文章