• [转] 在 Ubuntu 15.04 中如何安装和使用 Snort


    对于网络安全而言入侵检测是一件非常重要的事。入侵检测系统(IDS)用于检测网络中非法与恶意的请求。Snort是一款知名的开源的入侵检测系统。其 Web界面(Snorby)可以用于更好地分析警告。Snort使用iptables/pf防火墙来作为入侵检测系统。本篇中,我们会安装并配置一个开源的入侵检测系统snort。

    Snort 安装

    要求

    snort所使用的数据采集库(DAQ)用于一个调用包捕获库的抽象层。这个在snort上就有。下载过程如下截图所示。

    downloading_daq

    downloading_daq

    解压并运行./configure、make、make install来安装DAQ。然而,DAQ要求其他的工具,因此,./configure脚本会生成下面的错误。

    flex和bison错误

    flexandbison_error

    flexandbison_error

    libpcap错误

    libpcap error

    libpcap error

    因此在安装DAQ之前先安装flex/bison和libcap。

    install_flex

    install_flex

    如下所示安装libpcap开发库

    libpcap-dev installation

    libpcap-dev installation

    安装完必要的工具后,再次运行./configure脚本,将会显示下面的输出。

    without_error_configure

    without_error_configure

    make和make install 命令的结果如下所示。

    make install

    make install

    make

    make

    成功安装DAQ之后,我们现在安装snort。如下图使用wget下载它。

    downloading_snort

    downloading_snort

    使用下面的命令解压安装包。

    1. #tar -xvzf snort-2.9.7.3.tar.gz

    snort_extraction

    snort_extraction

    创建安装目录并在脚本中设置prefix参数。同样也建议启用包性能监控(PPM)的sourcefire标志。

    1. #mkdir /usr/local/snort
    2. #./configure --prefix=/usr/local/snort/ --enable-sourcefire

    snort_installation

    snort_installation

    配置脚本会由于缺少libpcre-dev、libdumbnet-dev 和zlib开发库而报错。

    配置脚本由于缺少libpcre库报错。

    pcre-error

    pcre-error

    配置脚本由于缺少dnet(libdumbnet)库而报错。

    libdnt error

    libdnt error

    配置脚本由于缺少zlib库而报错

    zlib error

    zlib error

    如下所示,安装所有需要的开发库。

    1. # aptitude install libpcre3-dev

    libpcre3-dev install

    libpcre3-dev install

    1. # aptitude install libdumbnet-dev

    libdumnet-dev installation

    libdumnet-dev installation

    1. # aptitude install zlib1g-dev

    zlibg-dev installation

    zlibg-dev installation

    安装完snort需要的库之后,再次运行配置脚本就不会报错了。

    运行make和make install命令在/usr/local/snort目录下完成安装。

    1. # make

    make snort

    make snort

    1. # make install

    make install snort

    make install snort

    最后,从/usr/local/snort/bin中运行snort。现在它对eth0的所有流量都处在promisc模式(包转储模式)。

    snort running

    snort running

    如下图所示snort转储流量。

    traffic

    traffic

    Snort的规则和配置

    从源码安装的snort还需要设置规则和配置,因此我们需要复制规则和配置到/etc/snort下面。我们已经创建了单独的bash脚本来用于设置规则和配置。它会设置下面这些snort设置。

    • 在linux中创建用于snort IDS服务的snort用户。
    • 在/etc下面创建snort的配置文件和文件夹。
    • 权限设置并从源代码的etc目录中复制数据。
    • 从snort文件中移除规则中的#(注释符号)。

     

    1. #!/bin/bash#
    2. # snort源代码的路径
    3. snort_src="/home/test/Downloads/snort-2.9.7.3"
    4. echo "adding group and user for snort..."
    5. groupadd snort &>/dev/null
    6. useradd snort --/sbin/nologin -/var/log/snort -c snort_idps -g snort &>/dev/null#snort configuration
    7. echo "Configuring snort..."mkdir -/etc/snort
    8. mkdir -/etc/snort/rules
    9. touch /etc/snort/rules/black_list.rules
    10. touch /etc/snort/rules/white_list.rules
    11. touch /etc/snort/rules/local.rules
    12. mkdir /etc/snort/preproc_rules
    13. mkdir /var/log/snort
    14. mkdir -/usr/local/lib/snort_dynamicrules
    15. chmod -775/etc/snort
    16. chmod -775/var/log/snort
    17. chmod -775/usr/local/lib/snort_dynamicrules
    18. chown -R snort:snort /etc/snort
    19. chown -R snort:snort /var/log/snort
    20. chown -R snort:snort /usr/local/lib/snort_dynamicrules
    21. ###copy configuration and rules from etc directory under source code of snort
    22. echo "copying from snort source to /etc/snort ....."
    23. echo $snort_src
    24. echo "-------------"
    25. cp $snort_src/etc/*.conf* /etc/snort
    26. cp $snort_src/etc/*.map /etc/snort##enable rules
    27. sed -i 's/include $RULE\_PATH/#include $RULE\_PATH/' /etc/snort/snort.conf
    28. echo "---DONE---"

    改变脚本中的snort源目录路径并运行。下面是成功的输出。

    running script

    running script

    上面的脚本从snort源中复制下面的文件和文件夹到/etc/snort配置文件中

    files copied

    files copied

    snort的配置非常复杂,要让IDS能正常工作需要进行下面必要的修改。

    1. ipvar HOME_NET 192.168.1.0/24# LAN side

    1. ipvar EXTERNAL_NET !$HOME_NET # WAN side

    veriable set

    veriable set

    1. var RULE_PATH /etc/snort/rules # snort signature path
    2. var SO_RULE_PATH /etc/snort/so_rules #rules in shared libraries
    3. var PREPROC_RULE_PATH /etc/snort/preproc_rules # Preproces path
    4. var WHITE_LIST_PATH /etc/snort/rules # dont scan
    5. var BLACK_LIST_PATH /etc/snort/rules # Must scan

    main path

    main path

    1. include $RULE_PATH/local.rules # file for custom rules

    移除ftp.rules、exploit.rules前面的注释符号(#)。

    path rules

    path rules

    现在下载社区规则并解压到/etc/snort/rules。启用snort.conf中的社区及紧急威胁规则。

    wget_rules

    wget_rules

    community rules

    community rules

    进行了上面的更改后,运行下面的命令来检验配置文件。

    1. # snort -T -c /etc/snort/snort.conf

    snort running

    snort running

    总结

    本篇中,我们关注了开源IDPS系统snort在Ubuntu上的安装和配置。通常它用于监控事件,然而它可以被配置成用于网络保护的在线模式。snort规则可以在离线模式中可以使用pcap捕获文件进行测试和分析

    相关阅读:

    Snort 中文手册 http://www.linuxidc.com/Linux/2013-11/92265.htm

    Snort + Base 入侵检测配置 http://www.linuxidc.com/Linux/2013-02/79805.htm

    Ubuntu 12.04下安装Snort详解 http://www.linuxidc.com/Linux/2013-01/78554.htm

    Snort企业部署实战 http://www.linuxidc.com/Linux/2012-08/68946.htm

    Snort+base搭建IDS入侵检测系统 http://www.linuxidc.com/Linux/2012-08/67865.htm

    Linux平台Snort入侵检测系统实战指南 http://www.linuxidc.com/Linux/2012-08/67048.htm

    Ubuntu下Snort从编译、安装到调试全过程 http://www.linuxidc.com/Linux/2011-09/44157.htm

    Snort 的详细介绍请点这里
    Snort 的下载地址请点这里


    via: http://linoxide.com/security/install-snort-usage-ubuntu-15-04/

    作者:nido 译者:geekpi 校对:wxy

    本文由 LCTT 原创翻译,Linux中国 荣誉推出

    本文永久更新链接地址http://www.linuxidc.com/Linux/2015-09/122685.htm

    linux

  • 相关阅读:
    《java程序设计》第三周学习总结
    《Java程序设计》第2周学习总结
    #20175201 实验一 Java开发环境的熟悉(Linux + Eclipse)
    学号 20175201张驰 《Java程序设计》第4周学习总结
    #学号 20175201张驰 《Java程序设计》第3周学习总结
    #学号 20175201张驰 《Java程序设计》第2周学习总结
    #学号 20175201张驰 《Java程序设计》第1周学习总结
    实现一个book类
    学号 20175329 2018-2019-3《Java程序设计》第六周学习总结
    20175229许钰玮 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结
  • 原文地址:https://www.cnblogs.com/cxt-janson/p/9274321.html
Copyright © 2020-2023  润新知