方法1:下载libdnet进行源码编译安装,文件上面网盘有下载,下面为操作步骤:
cd /usr/local/src/libdnet-1.xx
./configure –with-pic
make
make install
cd /usr/local/lib
ldconfig –v /usr/local/lib 别忘了,容易忽略
可能会出以下错误:
checking how to run the C++ preprocessor... /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
解决办法:
yum install glibc-headers gcc-c++
修改/etc/snort/snort.conf配置文件,参考如下:
# such as: c:\snort\rules
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
# If you are using reputation preprocessor set these
# Currently there is a bug with relative paths, they are relative to where snort is
# not relative to snort.conf like the above variables
# This is completely inconsistent with how other vars work, BUG 89986
# Set the absolute path appropriately
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules
尝试启动snort –c /etc/snort/snort.conf,会报如下错误:
ERROR: snort.conf(253) Could not stat dynamic module path "/usr/local/lib/snort_dynamicrules": No such file or directory. Fatal Error, Quitting.
解决办法:
mkdir -p /usr/local/lib/snort_dynamicrules
chown -R snort:snort /usr/local/lib/snort_dynamicrules
chmod -R 700 /usr/local/lib/snort_dynamicrules
2、检测nmap类扫描规则: -> /etc/snort/rules/scan.rules
alert tcp any any -> any any (msg:"SYN FIN Scan"; flags: S;sid:9000000;)
alert tcp any any -> any any (msg:"FIN Scan"; flags: F;sid:9000001;)
alert tcp any any -> any any (msg:"NULL Scan"; flags: 0;sid:9000002;)
alert tcp any any -> any any (msg:"XMAS Scan"; flags: FPU;sid:9000003;)
alert tcp any any -> any any (msg:"Full XMAS Scan"; flags: SRAFPU;sid:9000004;)
alert tcp any any -> any any (msg:"URG Scan"; flags: U;sid:9000005;)
alert tcp any any -> any any (msg:"URG FIN Scan"; flags: FU;sid:9000006;)
alert tcp any any -> any any (msg:"PUSH FIN Scan"; flags: FP;sid:9000007;)
alert tcp any any -> any any (msg:"URG PUSH Scan"; flags: PU;sid:9000008;)
alert tcp any any -> any any (flags: A; ack: 0; msg:"NMAP TCP ping!";sid:9000009;)
3、检测一句话(中国菜刀webshell)规则:-> /etc/snort/rules/local.rules
alert tcp any any -> any 80 (msg:"China Chopper PHP/Backdoor Detected"; content:"|62 61 73 65 36 34 5f 64 65 63 6f 64 65|"; rawbytes;reference:url,1c6K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3k6A6M7X3g2W2P5h3g2Q4x3X3g2U0L8$3#2Q4x3V1k6T1L8r3!0Y4i4K6u0r3N6r3g2U0K9r3&6A6j5$3q4D9i4K6u0r3j5X3!0@1L8X3g2@1i4K6u0V1j5h3y4@1K9i4k6A6N6r3W2W2M7#2)9J5k6s2u0W2M7$3g2S2M7X3y4Z5i4K6u0r3x3U0l9I4x3#2)9J5c8U0l9^5i4K6u0r3j5Y4u0W2j5h3E0A6L8X3N6Q4x3X3c8V1L8%4N6F1i4K6u0V1N6r3S2W2i4K6u0V1j5$3S2A6L8X3q4Q4x3X3c8U0K9r3!0H3M7r3g2J5i4K6u0V1N6$3g2T1i4K6u0V1M7$3S2W2L8r3I4Q4x3X3c8H3j5i4u0@1i4K6u0V1K9g2)9J5k6h3S2@1L8h3I4Q4x3@1u0Q4x3U0k6F1j5Y4y4H3i4K6y4n7j5$3I4S2M7%4y4@1P5i4m8W2i4K6y4m8N6s2u0G2K9X3q4F1i4K6u0V1j5h3y4@1K9i4k6A6N6s2W2Q4x3@1u0Q4x3U0k6F1j5Y4y4H3i4K6y4n7M7$3W2V1i4K6y4m8y4e0l9H3x3o6l9%4i4K6y4n7i4K6t1$3L8X3u0K6M7q4)9K6b7Y4u0W2N6W2)9K6b7e0q4Q4x3@1u0Q4x3U0V1`.
alert tcp any any -> any 80 ( sid:900001; content:"base64_decode";http_client_body;flow:to_server,established; content:"POST"; nocase;http_method;msg:"Webshell Detected Apache";)
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg: "China Chopper with first Command Detected";flow:to_server,established; content: "FromBase64String";content: "z1"; content:"POST"; nocase;http_method;reference:url,24bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3k6A6M7X3g2W2P5h3g2Q4x3X3g2U0L8$3#2Q4x3V1k6T1L8r3!0Y4i4K6u0r3N6r3g2U0K9r3&6A6j5$3q4D9i4K6u0r3j5X3!0@1L8X3g2@1i4K6u0V1j5h3y4@1K9i4k6A6N6r3W2W2M7#2)9J5k6s2u0W2M7$3g2S2M7X3y4Z5i4K6u0r3x3U0l9I4x3#2)9J5c8U0l9^5i4K6u0r3j5Y4u0W2j5h3E0A6L8X3N6Q4x3X3c8V1L8%4N6F1i4K6u0V1N6r3S2W2i4K6u0V1j5$3S2A6L8X3q4Q4x3X3c8U0K9r3!0H3M7r3g2J5i4K6u0V1N6$3g2T1i4K6u0V1M7$3S2W2L8r3I4Q4x3X3c8H3j5i4u0@1i4K6u0V1K9g2)9J5k6h3S2@1L8h3I4Q4x3@1u0U0L8r3q4K6M7%4c8&6M7r3g2Q4x3@1q4%4k6h3u0Q4x3X3c8S2M7s2m8D9K9h3y4S2N6r3W2G2L8W2)9J5k6r3q4@1N6r3q4U0K9#2)9K6b7W2)9J5y4X3&6T1M7%4m8Q4x3@1u0K6K9h3c8Q4x3@1q4Q4x3U0k6F1j5Y4y4H3i4K6y4n7z5e0l9H3x3o6l9H3x3e0l9I4i4K6y4n7i4K6t1&6
一般攻击日志,导出csv格式就可以了,纪录的也不是很详细,丢数据库个人觉得意义不是特大,自己结合实际情况吧。
导出csv方法:
vim /etc/snort/snort.conf
output alert_csv: /var/log/snort/alert.csv msg,proto,timestamp,src,srcport,dst,dstport
0x3、snort与iptables联动,升级为IPS
Step 1 :
Go to b51K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4Z5j5h3!0@1K9h3y4Q4x3X3g2G2M7X3N6Q4x3V1k6Y4N6h3q4J5k6r3W2S2L8W2)9J5c8W2!0o6x3W2!0m8x3s2c8G2i4K6t1$3L8X3u0K6M7q4)9K6b7X3c8G2N6$3&6D9L8$3q4V1i4K6t1$3L8X3u0K6M7q4)9K6b7V1N6#2j5i4u0V1K9h3q4F1i4K6u0W2i4K6t1$3L8X3u0K6M7q4)9K6b7W2c8Z5k6g2)9J5y4X3&6T1M7%4m8Q4x3@1u0U0N6i4u0J5k6h3&6@1i4K6t1$3L8X3u0K6M7q4)9K6b7Y4k6W2M7Y4y4A6L8$3&6Q4x3U0k6F1j5Y4y4H3i4K6y4n7j5i4y4Q4x3U0k6F1j5Y4y4H3i4K6y4n7j5i4c8Q4x3U0k6F1j5Y4y4H3i4K6y4n7N6r3S2A6M7#2)9J5y4X3&6T1M7%4m8Q4x3@1u0%4M7X3W2@1K9h3&6Y4i4K6t1$3L8X3u0K6M7q4)9K6b7X3W2K6i4K6t1$3L8X3u0K6M7q4)9K6b7Y4k6W2M7Y4y4A6L8$3&6Q4x3U0k6F1j5Y4y4H3i4K6y4n7x3g2)9J5k6e0N6Q4x3X3f1`.
wget 368K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4Z5j5h3!0@1K9h3y4Q4x3X3g2G2M7X3N6Q4x3V1k6Y4N6h3q4J5k6r3W2S2L8W2)9J5c8X3N6#2j5i4u0V1K9h3q4F1i4K6u0V1x3g2)9J5k6e0N6Q4x3X3g2@1j5i4u0Q4x3X3g2Y4P5R3`.`.
Step 2 :
Untar the package.
tar -xzvf guardian-1.7.tar.gz
Step 3 :
cd guardian-1.7
cp guardian.pl /usr/local/bin/
cp scripts/iptables_block.sh /usr/local/bin/guardian_block.sh
cp scripts/iptables_unblock.sh /usr/local/bin/guardian_unblock.sh
cp guardian.conf /etc/snort/
touch /etc/snort/guardian.ignore
touch /etc/snort/guardian.target
touch /var/log/snort/guardian.log
Step 4 :
vi /etc/snort/guardian.conf
Make the file looks like this (the IP address of HostIpAddr may be different from yours).
HostIpAddr取消注释,写自己eth0 ip地址
Step 5:
Vim /etc/snort/guardian.target
将步骤4中监听的eth0 ip地址写进来,这里别落下了,网上已有文章,这里是个坑,导致关联有问题
Step 6:
Vim /etc/snort/snort.conf注释掉output alert_syslog:LOG_AUTH LOG_ALERT,至于下一行的需不需要output alert_csv结合自己需要。
配置完毕