Hệ thống phát hiện và ngăn chặn xâm nhập

Thảo luận trong 'Infrastructure security' bắt đầu bởi phongtvc, 05/02/15, 12:02 PM.

  1. phongtvc

    phongtvc W-------

    Tham gia: 05/02/15, 09:02 AM
    Bài viết: 9
    Đã được thích: 6
    Điểm thành tích:
    8
    Snort là phần mềm xây dựng hệ thống phát hiện xâm nhập (IDS), có nhiệm vụ theo dõi, phát hiện các hành vi khai thác trái phép tài nguyên của hệ thống được bảo vệ mà có thể dẫn đến việc làm tổn hại đến tính bảo mật, tính toàn vẹn và tính sẵn sàng của hệ thống. Anh em có thể tham khảo thêm tại https://www.snort.org/

    Để trở Snort trở thành một hệ thống ngăn chặn xâm nhập (IPS) mình xin giới thiệu về một phần mềm do 1 bên thứ 3 phát triển là SnortSam, đây là 1 plugin của Snort sẽ hỗ trợ việc block các IP do Snort phát hiện là đang thực hiện hành vi trái phép đối với hệ thống.

    SnortSam sẽ giúp Snort gửi thông tin tương tác với Firewall để chặn các IP tấn công, hiện đang hỗ trợ các Firewall: Iptables, Checkpoint Firewall-1, CISCO ASA, PIX, Netscreen…Anh em tham khảo thêm tại: http://www.snortsam.net/index.html

    Sau đây là bài viết hướng dẫn xây dựng hệ thống IPS bằng cài đặt Snort + SnortSam trên Ubuntu 10.04 LST, sử dụng IPtables để thực hiện việc chặn các IP tấn công:

    Cài đặt các gói phụ thuộc và download các phần mềm cần thiết.

    Các câu lệnh cài đặt đều thực hiện ở quyền root:

    PHP:
     apt-get update 


    PHP:
    apt-get -y install build-essential libpcap0.8-dev libmysqlclient15-dev mysql-client-5.1 mysql-server-5.1 bison flex apache2 libapache2-mod-php5 php5-gd php5-mysql libphp-adodb php-pear libc6-dev g++ gcc pcregrep libpcre3-dev


    PHP:
    apt-get install uuid-dev libmagic-dev libmemcached-dev  libssl-dev  libssl-dev  libconfig8-dev libpcre3-dev libmysqlclient-dev make libtool  autoconf  automake  libcurl4-openssl-dev  libcli-dev  libjson0-dev 


    PHP:
    cd /home/admin/
    wget hxxp://libdnet.googlecode.com/files/libdnet-1.12.tgz
     
    tar –zxvf  libdnet-1.12.tgz
    cd  libdnet
    -1.12
    ./configure
    make
    make install
    ldconfig
    ln 
    -/usr/local/lib/libdnet.1 /usr/lib/libdnet.1


    Download các gói sau (google search :) ):
    - snort-2.9.1.2.tar.gz
    - daq-0.6.2.tar.gz
    - snortrules-snapshot-2912.tar.gz
    - snortsam-src-2.70.tar.gz
    - snortsam-2.9.1.2.diff.gz
    - razorback-0.4.1.tar.gz
    - base-1.4.5.tar.gz

    Giải nén và cài đặt các phần mềm đã download trên:

    PHP:
    tar  -zxvf  snort-2.9.1.2.tar.gz

    tar 
    -xvzf daq-0.6.2.tar.gz
    cd daq
    -0.6.2
    ./configure
    make
    make install

    tar 
    -zxvf snortsam-src-2.70.tar.gz
    cd snortsam
    chmod 
    +x makesnortsam.sh
    ./makesnortsam.sh

    cp snortsam 
    /usr/bin/

    gunzip  -d snortsam-2.9.1.2.diff.gz

    cd  
    /home/admin/snort-2.9.1.2
    patch 
    -p1 < /home/admin/snortsam-2.9.1.2.diff
    chmod 
    +x autojunk.sh
    ./autojunk.sh
    libtoolize 
    --automake --copy
    aclocal 
    -I m4
    autoheader
    automake 
    --add-missing --copy
    autoconf
    ./configure -enable-dynamicplugin --with-mysql
    make
    make  install
    Tạo database để lưu trữ các event:

    PHP:
    mysql -u root –p
    create database snort
    ;
    create database snort_archive
    use 
    snort;
    grant all privileges on snort.* to 'snort'@'localhost' identified by '123456’;
    grant all privileges on snort.* to '
    root'@'localhost' identified by '123456';
    use snort_archive;
    grant all privileges on snort_archive.* to '
    snort'@'localhost' identified by ‘123456';
    exit
    mysql -D snort -u snort -< /home/admin/snort-2.9.1.2/schemas/create_mysql
    mysql 
    -D snort_archive -u snort -< /home/admin/snort-2.9.1.2/schemas/create_mysql


    Tạo user snort:

    PHP:
    ​adduser snortchsh snort
    Login Shell 
    [/bin/bash]: /bin/true
    passwd snort 
    -l


    Rule cho Snort:

    PHP:
    mkdir -/etc/snort/rules /var/log/snort
    sudo chown 
    -R root.snort /var/log/snort
    sudo chmod 
    -R 770 /var/log/snort
     
    tar  
    -xvzf /home/admin/snortrules-snapshot-2912.tar.gz -/etc/snort

    Chỉnh sửa file cấu hình snort:

    PHP:
    vim /etc/snort/etc/snort.conf


    PHP:
    #dynamicdetection directory /usr/local/lib/snort_dynamicrules
    #var RULE_PATH ../rules
    #var SO_RULE_PATH ../so_rules
    #var PREPROC_RULE_PATH ../preproc_rules
    var RULE_PATH /etc/snort/rules 
    var SO_RULE_PATH /etc/snort/so_rules 
    var PREPROC_RULE_PATH /etc/snort/preproc_rules
    #preprocessor reputation: \
    #   memcap 500, \
    #   priority whitelist, \
    #   nested_ip inner, \
    #   whitelist $WHITE_LIST_PATH/white_list.rules, \
    #   blacklist $BLACK_LIST_PATH/black_list.rules
    # dynamic library rules
     
    include $SO_RULE_PATH/bad-traffic.rules
     
    include $SO_RULE_PATH/chat.rules
     
    include $SO_RULE_PATH/dos.rules
     
    include $SO_RULE_PATH/exploit.rules
     
    include $SO_RULE_PATH/icmp.rules
     
    include $SO_RULE_PATH/imap.rules
     
    include $SO_RULE_PATH/misc.rules
     
    include $SO_RULE_PATH/multimedia.rules
     
    include $SO_RULE_PATH/netbios.rules
     
    include $SO_RULE_PATH/nntp.rules
     
    include $SO_RULE_PATH/p2p.rules
     
    include $SO_RULE_PATH/smtp.rules
     
    include $SO_RULE_PATH/snmp.rules
     
    include $SO_RULE_PATH/specific-threats.rules
     
    include $SO_RULE_PATH/web-activex.rules
     
    include $SO_RULE_PATH/web-client.rules
     
    include $SO_RULE_PATH/web-iis.rules
     
    include $SO_RULE_PATH/web-misc.rules
     output database
    logmysqluser=snort password=123456 dbname=snort host=localhost


    Chạy thử với file cấu hình vừa chỉnh sửa

    PHP:
    snort -/etc/snort/etc/snort.conf


    Cài đặt giao diện base để quản lý event của snort:

    PHP:
    tar -zxvf base-1.4.5.tar.gz
    mv base
    -1.4.5 /var/www/base
    pear install Image_Color Image_Canvas
    -alpha Image_Graph-alpha
    chown www
    -data /var/www/base
    chmod 755 
    /var/www/base


    PHP:
    vim /etc/php5/apache2/php.ini
    sửa 
    :error_reporting E_ALL & ~E_NOTICE
    Cấu hình BASE:

    PHP:
    vim /var/www/base/base_conf.php.dist

    thay đổi
    :
    $DBLib_path '/usr/share/php/adodb';
    $BASE_urlpath '/base';
        
    $alert_dbname   'snort';
        
    $alert_host     'localhost';
        
    $alert_port     '';
        
    $alert_user     'snort';
        
    $alert_password '123456';
     
        
    /* Archive DB connection parameters */
        
    $archive_exists   '1'# Set this to 1 if you have an archive DB
        
    $archive_dbname   'snort_archive';
        
    $archive_host     'localhost';
        
    $archive_port     '';
    $archive_user 'snort_archive';
        
    $archive_password '123456';
     
    cp /var/www/base/base_conf.php.dist /var/www/base/base_conf.php
    chown www
    -data:www-data /var/www/base
    chown 
    -R www-data:www-data /var/www/base/*

    mysqldump -u root -p snort > snort.db
    mysql -u root -p snort_archive < snort.db
    mysql -u root –p
    use snort_archive;
    grant all privileges on snort_archive.* to 'snort'@'localhost' identified by '123456’;


    Truy cập giao diện BASE:

    PHP:
    http://ip-address/base


    Cấu hình SnortSam:

    PHP:
    cp snortsam/conf/snortsam.conf.sample /etc/snort/snortsam.conf
    mkdir  
    /var/db
    chmod 777  
    /var/db


    Sửa đổi file cấu hình SnortSam:

    PHP:
    vim  /etc/snort/snortsam.conf


    Nội dung sửa đổi:

    PHP:
    ​defaultkey 123456
    accept localhost
    iptables eth0 log
    iptables 
    -I FORWARD -i eth0 -{ip_addr_to_be_blocked} -j REJECT
    iptables 
    -D FORWARD -i eth0 -{ip_addr_to_be_unblocked} -j REJECT


    Bổ sung cấu hình file snort:

    PHP:
    vim /etc/snort/etc/snort.conf


    Bổ sung cuối file:
    PHP:
    output alert_fwsamlocalhost:898/123456​


    Câu lệnh thực hiện chạy Snort và SnortSam:
    PHP:
    snort -u snort -g snort -/etc/snort/etc/snort.conf -i eth0 ~
    snortsam /etc/snortsam/snortsam.conf ~
    Cách viết luật sử dụng SnortSam để chặn IP tấn công:
    Ví dụ:
    PHP:
    alert tcp 10.2.51.121 any -> any 80 msg"Test Rule: -----ICMP packet detected!"sid10009uricontent:"index.htm";uricontent:"index2.htm"uricontent:"index3.htm"flow:to_server,established threshold:type thresholdtrack by_srccount 20seconds 3600fwsamsrc1 minutes;)
    So với cách viết luật thông thường cho Snort thì có thêm cấu hình chặn IP:

    PHP:
    fwsamsrc1 minutes; ==>chặn IP tấn công là 1 phút
    Hoàn thành.
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    Sugi_b3o thích bài này.
  2. mrduke

    mrduke Wh------

    Tham gia: 11/03/14, 08:03 AM
    Bài viết: 48
    Đã được thích: 2
    Điểm thành tích:
    18
    Re: Hệ thống phát hiện và ngăn chặn xâm nhâp

    Thấy thú vị đó.. để làm xem sao.
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  3. nktung

    nktung Super Moderator Thành viên BQT

    Tham gia: 08/10/13, 04:10 AM
    Bài viết: 883
    Đã được thích: 362
    Điểm thành tích:
    83
    Re: Hệ thống phát hiện và ngăn chặn xâm nhập

    Bạn có thể giải thích rõ hơn cơ chế này được không?
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  4. DiepNV88

    DiepNV88 Super Moderator Thành viên BQT

    Tham gia: 24/09/13, 03:09 AM
    Bài viết: 1,554
    Đã được thích: 355
    Điểm thành tích:
    83
    Re: Hệ thống phát hiện và ngăn chặn xâm nhập

    Snortsam là plusin dùng cho việc giao tiếp với firewall. Anh có thể hiểu đơn giản như sau:
    nếu 1 ip vi phạm luật thì snortsam sẽ gọi 1 lệnh trong firewall ra để block ip đó.
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  5. phongtvc

    phongtvc W-------

    Tham gia: 05/02/15, 09:02 AM
    Bài viết: 9
    Đã được thích: 6
    Điểm thành tích:
    8
    Re: Hệ thống phát hiện và ngăn chặn xâm nhập

    Nôm na nó thế này: Nếu vi phạm luật của Snort, Snort sẽ gọi đến SnortSam, SnortSAM nhận thông tin cần chặn những IP nào sẽ tạo luật và tự động kết nối tới Firewall (iptables, PIX, ASA, ISA...) add các luật này vào
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  6. Nam Hải

    Nam Hải New Member

    Tham gia: 23/05/20, 03:05 PM
    Bài viết: 1
    Đã được thích: 0
    Điểm thành tích:
    1
    Có bác nào có file path snortsam cho e với ạ,E tìm down mà k thấy ạ
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  7. Sugi_b3o

    Sugi_b3o Moderator Thành viên BQT

    Tham gia: 30/08/16, 10:08 AM
    Bài viết: 368
    Đã được thích: 283
    Điểm thành tích:
    63
    Cám ơn bạn về bài chia sẻ bổ ích :D
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  8. ihackgamevtc

    ihackgamevtc New Member

    Tham gia: 19/05/20, 09:05 AM
    Bài viết: 1
    Đã được thích: 0
    Điểm thành tích:
    1
    Mình cũng đang tìm hiểu về cái này
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  9. JasonVo

    JasonVo Member

    Tham gia: 01/05/20, 10:05 AM
    Bài viết: 5
    Đã được thích: 0
    Điểm thành tích:
    1
    Cái này mình thấy cũng giống như CSF nhỉ, mà CSF thấy cài cũng ok, không biết cái này có ăn thua gì không ^^
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan