用snort和空IP做一个安全的log纪录服务器

Snort入侵检测系统介绍 什么是Snort Snort是一个免费的IDS(入侵监测系统)软件。它的一些源代码是从著名的tcpdump软件发展而来的。它是一个基于libpcap包的网络监控软件,可以作为一个十分有效的网络入侵监测系统。 Snort首先根据远端的ip地址建立目录,然后将检测到的包以tcpd 阅读详情
在网上越来越多的 hacker 的出现, 越来越多的高手出现的情况下.如何才能确保自己可以保存一份完整的 log 呢?稍微有点概念的 hacker 都知道,进入系统后的第一见事情就是去清理 log, 而发现入侵的最简单最直接的方法就是去看系统纪录文件.现在我们来说说如何设定一个安全的 log 服务器.

 

想想看,如果入侵者无法连结您的 log 服务器,又如何能改您的 log 呢?现在我们来学习如何设定一个无 ip 的 log 服务器.

现在,来介绍一下如何用 Snort 来做三件事情∶
Stealth sniffer
stealth NIDS porbe
stealth logger
这一切都是用在一台没有 ip 的服务器上面的. NIDS 是 Network Intrusion Dectection Server 的简称,也就是说入侵检测服务器.

为什么要 stealth 呢?

在 internet 中运行任何一种服务,都是有一定的危险的.不管是 http 也好, ftp 也好, telnet 也好,总之都会有机会被 hack 入侵. stealth logger 的独特性可以让我们在接收资料的同时,不发送任何的资料.这样外界的电脑(被 hack 入侵的电脑)就根本无法去更改 loger server 所收到的信息.也就是说保证了我们信息的完整性,以及原始性. 为了确保 log 服务器的安全,最好不要将 log 服务器连接在网路中.也就是说,当您需要检查 logger 服务器上得东西的时侯,您需要到电脑前,打开屏幕.而不是远端 login 进来.但是,如果说您一定要连接网路的话的话,那么请用两个的介面来做.也就是说两片网卡.并且注意,第一, IP forwarding 一定要关闭.第二就是,用来做 stealth logger 的介面是没有 ip 的一张网卡,这张网卡必须不能跟另外一个有 ip 的网卡在同一网路下面.

设定

首先当然是确定您的网卡安装无误,并且可以被 kernel 抓到.然后把网卡所需要的 module 写到 /etc/modules.conf 文件中.

现在我们来设定一个没有 ip 的网卡介面.
编辑文件 /etc/sysconfig/network-scripts/ifcfg-eth0

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=
BROADCAST=
NETWORK=
NETMASK=
IPADDR=

存档后,用 ifconfig 来 active 我们的 eth0 介面.

 

初试 stealth

这里我们用到了 snort 这个程式.如果您的电脑中没有这个程式,可以到 www.snort.org 下载.

现在我们运行
snort -dvi eth0

这里 -d 的选项告诉 snort 对资料进行 decode (解码)
-v 告诉 snort 将结果显示在屏幕上面
-i 则是指定所需要的 interface

可以用 -C 选项告诉 snort 只显示 ASCII 部份. 忽略 hexadecimal 资料.

$snort -dviC eth0

Log directory= /var/log/snort

Initializing Network Interface eth0
kernel filter, protocol ALL, TURBO mode
(63 frames), raw packet socket

--== Initializing Snort ==--
Decoding Ethernet on interface eth0

--== Initialization Complate ==--

-*> Snort! <*-

Version 1.8.4 (Build 99)
By Martin Roesch (roesch@sourcefire.com,
www.snort.org)

......
......
......

 

NIDS(入侵侦测) 入侵检测本身是一件很复杂的事情. snort 本身也提供了强大的入侵检测的功能. 这里我只做一个简单的介绍,好让大家有一个概念.如果真正实体去做一个 NIDS 的话.需要些更复杂的动作.例如设定更完善的 rules, 定时更新 snort.conf 中所定义的 rules (当新的攻击方式出现以后,要及时更新)

首先,我们需要更改一下 /etc/snort/snort.conf 具体需要参照您自己的机器来设定.

#设定 log 存放的地方
config logdir: /var/log/snort

#设定网路
var HOME_NET 192.168.1.0/24
var EXTERNAL_NET any
var SMTP $HOME_NET
var HTTP_SERVERS $HOME_NET
var SQL_SERVERS $HOME_NET
var DNS_SERVERS 192.168.1.250/32
var RULE_PATH ./

#设定 preprocessors
preprocessor frag2
preprocessor stream4: detect_scans
preprocessor stream4_reassemblt
preprocessor portscan: $HOME_NET 4 3 portscan.log

#设定 output
output database: log, mysql, user=root
dbname-snort host=localhost

#rules
alert tcp $HOME_NET 7161 -> $EXTERNAL_NET any
(msg: "MISC Cisco Catalyst Remote Access";
flags: SA; reference:arachnids, 129;
reference:cve, CVE-1999-0430;
classtype:bad-unknow; sid:513; rev:1;)

#设定 patch , 这些都是些附加的 rules 的文件
include $RULE_PATH/bad-traffic.rules
include $RULE_PATH/exploit.rules
include $RULE_PATH/scan.rules
include $RULE_PATH/ftp.rules

#这些 rule 其实还有很多.您可以自己去写,也可以找人家写好的下载拿来用.

现在让我们把 snort 跑起来∶

snort -c /etc/snort/snort.conf -D -i eth0

现在 snort NIDS 的模式跑起来了. 在 default 的情况下∶
alerts 会放在 /var/log/snort/alert 中
port-scanning 会放在 /var/log/snort/portscan.log

 

当您真正跑 NIDS 的时侯,需要把 snort 以 daemon 的模式来跑. 如果您安装的是 rpm 的东西,那么 rpm 文件中已经包含了一个 snortd 的文件,并且会帮您安装在 /etc/rc.d/init.d/ 下面. 当您设定好 snort 的 configure 文件以后,只要用 chkconfig 把 snortd 打开就可以了:

加入 snortd
chkconfig --add snortd

打开 snortd
chkconfig snortd on
或者
chkconfig --level 3 snortd on
这里的 level 请自行更改到您所跑的 runlevel
您可以用 cat /etc/inittab | grep id 来看自己在哪个
runlevel 上面.
cat /etc/inittab | grep id
id:5:initdefault:
这里就是说跑在 run level 5 上面.

设定服务器 我们需要对服务器做一些设定,让服务器把 log 送到我们的 logger 服务器去. 首先,我们需要设定 /etc/syslog.conf 把 log 送到一个有效的,但是不存在的 ip 下面.例如我们的网路是 192.168.1.0/24 其中并没有 192.168.1.123 这台机器,也就是说这个 ip 实际上是空的.我们就把 log 指向这里.您可以指向任意一个空的有效 ip.

vim /etc/syslog.conf
加入
*.info @192.168.1.123

如果您的系统是用 syslog-ng 的话
vim /etc/syslog-ng/syslog-ng.conf

destination d_loghost { udp(ip(192.168.123)
port (514)); };
filter f_info { level(info); };
log {filter(f_info); destination(d_loghost);};


我们还需要加入 static ARP entry 才可以. 如果您的网路只是接了记个 Hub 而已, 那么 ARP 地址一样可以好象 ip 一样,设定成虚构的. 如果您有连结 switch, 您需要加入 log 服务器的真实 MAC 地址.

我们这里加入我们 logger 服务器的真实 MAC 地址就可以了.

arp -s 192.168.1.123 00:D0:B7:DB:BF:95

在 Logger 服务器设定 snort

/etc/snort/snort.conf

var EXTERNAL_NET any

#等于 snort -d
config dump_payload

#等于 snort -C
config dump_chars_only

#设定 log 存放的 path
config logdir: /var/log/snort

# frag2 所做的动作就是把 fragmented 给我们 re-assembly
preprocessor frag2

log udp 192.168.1.1/32 any -> 192.168.1.123/32 514
(logto: "logged-packets";)


最后一行需要稍微解释一下∶

我们这里把 snort 来做 packet logger. 也就是说,并不是把所有的东西都写入到 /var/log/snort/alert 中.而是 log any packets with match the rule without writing an alert.

udp: 是说,我们这里用 udp 的 protocol. system log 通常都是使用 udp 的.

192.168.1.1/32: 就是只我们的服务器啦,也就是送 log 的机器. 如果您是从整个一个网路段中收 log 也可以用 192.168.1.0/24.

any: any source port 任何 port

->: 这个是 direction operator 大家都知道的

192.168.1.123/35 514 就是我们给出的那个空 ip 啦, port 514

如果没有指定 logto: 的话, log 会分别保存在不同的文件中. 而指定 logto 的话,就会把 log 全部存放到我们指定的文件中,看起来方便多了.

更安全的保存 log 就可以更安全的保护服务器. snort 的功能实际上非常的强大, 这里只是一个简单的介绍而已.如果您对这些东西有兴趣.可以去 www.snort.org/docs/ 下面看到非常多的有用的文件. 

Linux 系统安全如何设定 log 日志记录服务器 首先,我们需要设定 /etc/syslog.conf 把 log 送到一个有效的,但是不存在的 ip 下面。如果您安装的是 rpm 的东西,那么 rpm 文件中已经包含了一个 snortd 的文件,并且会帮您安装在 /etc/rc.d/init.d/ 下面。稍微有点概念的黑客都知道,进入系统后的第一见事情就是去清理 log,而发现入侵的最简单最直接的方法就是去看系统纪录文件。更安全的保存 log 就可以更安全的保护服务器. snort 的功能实际上非常的强大, 这里只是一个简单的介绍而已。 阅读详情

相关推荐

snort规则

Snort规则被分成两个逻辑部分:规则头和规则选项。 规则头包含规则的动作,协议,源和目标ip地址与网络掩码,以及源和目标端口信息; 规则选项部分包含报警消息内容和要检查的包的具体部分。 1. 规则头 规则动作 在snort中有五种动作:alert、log、pass、activate和dynamic. Alert:使用选择的报警方法生成一个警报,然后记录(log)这个包。 Alert动作用来在一个...

qq_32350719的博客 1万+

snort配置

link: http://hi.baidu.com/telpublic/blog/item/d40fddd3c1a6a7dca8ec9a01.html 前提: snort的官方网站:www.snort.org snort的安装方法请参阅官方网站或在网络上搜索一下 snort详细参考请参阅官方网站的用户手册或《snort中文手册》 这篇文章仅讲解snort入侵检测的使用方法和处理过

zeflove的专栏 3271

数据基础设施建设任务中的技术名词解析

近日,国家数据局确定了18个数据基础设施建设任务(先行先试)承担地区,建设任务内容为:数场、数据空间、数据原件、隐私计算、数联网、区块链。这些概念都有什么样的内涵,他们的相互关系是怎样的?

五角大寨 5307

在Centos 7上安装 snort日志处理barnyard2和WEBGUI BASE

在Centos 7上安装barnyard2 安装 关闭SELinux,不关闭sytemd服务不能启动 vi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启才能生效 网上可以搜索到为CentOS 7提供的rpm软件包,只需使用以下命令即可安装: yum install http://rnd.rajven.net/centos/7/os/x86_64/barnyard2-1.9-26.2.x86_64.rpm ..

allway2的博客 1166

用Typora画流程图和序列图:Mermaid语法实战教程(含常见报错解决)

本文是一份详细的Typora与Mermaid语法实战教程,教你如何在Markdown文档中高效绘制流程图和序列图。文章涵盖从环境配置、核心语法到复杂图表构建的全过程,并重点解析了常见报错原因与解决方案,助你将可视化图表无缝融入文档工作流。

weixin_29279101的博客 299

CAN收发器TJA1145A休眠唤醒应用

TJA1145的唤醒工作原理主要依赖于其内部的唤醒机制和外部硬件的配合,主要涉及低功耗状态、选择性唤醒功能。TJA1145是一款CAN收发器,它支持多种工作模式,包括NormalStandbySleep等。在这些模式中,Sleep模式是最低功耗状态,而Normal模式则是最活跃的状态,其中Standby模式处于两者之间,允许一定的功能操作但功耗较低。TJA1145可以通过接收特定的唤醒源从Sleep或Standby模式唤醒到Standby或Normal模式。唤醒源的检测与处理。

radix关于mcu的博客,持续更新中... 5954

Snort 命令参数详解

用法:        snort -[options] 选项: -A      设置报警模式,alert = full/fast/none/unsock,详解上一篇snort简介。 -b    用二进制文件保存网络数据包,以应付高吞吐量的网络。 -B    将IP地址信息抹掉,去隐私化。 -c    使用配置文件,这会使得snort进入IDS模式,并从中读取运行的配置信息。 -d

可木的专栏 1万+

YOLO11实战 第010期-基于yolo11的农业杂草作物目标检测实战文档(详细教程)

通过这条曲线,用户可以评估模型的检测能力,分析模型在不同阈值下对真实目标的检测是否全面。通过这条曲线,可以评估模型在目标检测任务中的整体性能,并找到合适的置信度阈值,以在精确率和召回率之间做出最佳平衡。PR 曲线越接近右上角,模型性能越好,曲线下方的面积越大,说明模型在不同置信度下的。),它展示了不同置信度下的召回率。条曲线都显示了随着召回率的增加,精确度略有下降的趋势,但整体上精确度保持在很高的水平。通过这条曲线,可以选择合适的置信度阈值,以优化模型的检测结果,平衡精确率和召回率。反映了分类器的准确性。

深度学习算法工程师,专注于前沿算法研究与实战应用。在这里,我将分享深度学习领域的实战经验、优质数据集资源以及最新论文解读与精度分析,旨在与广大技术爱好者共同探索人工智能的奥秘,助力技术成长与创新。 1522

Snort里如何将读取的包记录存到指定的目录下(图文详解)

        不多说,直接上干货!   比如,在/root/log目录下。 [root@datatest ~]# snort -dve -l /root/log   需要注意:   1) /log目录需要你自己建立,并修改权限,以保证snort能够写入。即chmod 777 log是最好。   2)不要遗漏-l参数,用来指定写入日志位置。   3)存到给定的是目录,不...

weixin_34296641的博客 624

五分钟搞懂游戏开发中的抗锯齿算法

常见抗锯齿算法总结锯齿由来抗锯齿算法SSAAMSAACSAA 锯齿由来 场景的定义在三维空间中是连续的,而最终显示的像素则是一个离散的二维数组,这是计算机屏幕产生锯齿的原因。在计算机处理图形的过程中(渲染管线了解一下),有一个非常重要的阶段,就是光栅化,光栅化主要的作用是将顶点数据的不连续性通过插值计算,将两个顶点之间不存在的点进行弥补,然后实现到屏幕像素点上的一一映射。如图,现在要在屏幕上绘制一...

绿洲守望者 1万+

反光柱定位算法实战03:VEnus代码解析和纯反光柱定位中的可改进方向

本文深入解析了开源框架VEnus的反光柱定位与建图实现流程,包括强度提取、聚类、数据关联、位姿优化等核心模块。同时指出其三大局限:匹配质量脆弱性、单一传感器依赖和地图扩展逻辑缺失,并提出改进方向:融合里程计/IMU数据、引入图优化后端、建立动态地图维护机制。该分析为基于反光柱的定位系统优化提供了实用参考,有助于提升工业场景下的定位鲁棒性和精确性。

Studying…… 520

文件服务器 安全性日志,安全的log日志记录服务器

环境 RedHat 7.3在网上越来越多的 hacker 的出现, 越来越多的高手出现的情况下.如何才能确保自己可以保存一份完整的 log 呢?稍微有点概念的 hacker 都知道,进入系统后的第一见事情就是去清理 log, 而发现入侵的最简单最直接的方法就是去看系统纪录文件.现在我们来说说如何设定一个安全的 log 服务器.想想看,如果入侵者无法连结您的 log 服务器,又如何能改您的 log ...

weixin_30699957的博客 333

华为OD机试新系统真题-谁没交卷(Java /Py/C++/Go/C/Js)

华为OD机试 新系统真题【谁没交卷】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【谁没交卷】多语言题解。

qq_45776114的博客 422

linux安全服务器日志,Linux安全的log日志记录服务器

环境 RedHat 7.3在网上越来越多的 hacker 的出现, 越来越多的高手出现的情况下.如何才能确保自己可以保存一份完整的 log 呢?稍微有点概念的 hacker 都知道,进入系统后的第一见事情就是去清理 log, 而发现入侵的最简单最直接的方法就是去看系统纪录文件.现在我们来说说如何设定一个安全的 log 服务器。想想看,如果入侵者无法连结您的 log 服务器,又如何能改您的 log ...

weixin_29663547的博客 231

线程池详解(通俗易懂超级好)

目标 【理解】线程池基本概念 【理解】线程池工作原理 【掌握】自定义线程池 【应用】java内置线程池 【应用】使用java内置线程池完成综合案例 线程池 线程池基础 线程池使用 线程池综合案例 4.学员练习 5.线程池总结 概念介绍 1:什么是线程池 2:为什么使用线程池 3:线程池有哪些优势 什么是池 什么是线程池 线程池其实就是一种多线程处理形式,处理过程中可以将任务添加到队列中,然后在创建线程后自动启动这些任务。这里的线程就是我们前面学过的线程,这里的任务就是我们前面学过的实现了Runna.

拉格朗日的学习笔记 12万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

配置Linux安全日志记录服务器

在网上越来越多的 hacker 的出现,越来越多的高手出现的情况下。如何才能确保自己可以保存一份完整的 log 呢?稍微有点概念的 hacker 都知道,进入系统后的第一见事情就是去清理 log,而发现入侵的最简单最直接的方法就是去看系统纪录文件。现在我们来说说如何设定一个安全的 log 服务器。  想想看,如果入侵者无法连结您的log服务器,又如何能改您的 log 呢?现在我们来学习如何设定

cnbird's blog 832

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

如何设定安全log服务器呢(RedHat)

*环境 RedHat 7.3 在网上越来越多的 hacker 的出现, 越来越多的高手出现的情况下.如何才能确保自己可以保存一份完整的 log 呢?稍微有点概念的 hacker 都知道,进入系统后的第一见事情就是去清理log, 而发现***的最简单最直接的方法就是去看系统纪录文件.现在我们来说说如何设定一个安全的log服务器. 想想看,如果***者无法连接服务器,又如何能改您...

weixin_33974433的博客 114

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux安全服务器日志,配置Linux安全日志记录服务器

在网上越来越多的 hacker 的出现,越来越多的高手出现的情况下。如何才能确保自己可以保存一份完整的 log 呢?稍微有点概念的 hacker 都知道,进入系统后的第一见事情就是去清理 log,而发现入侵的最简单最直接的方法就是去看系统纪录文件。现在我们来说说如何设定一个安全的 log服务器。想想看,如果入侵者无法连结您的log服务器,又如何能改您的 log 呢?现在我们来学习如何设定一个无 i...

weixin_31908827的博客 222

snort 日志 mysql_Snort日志输出插件详解

Snort日志输出插件详解Snort是一款老×××的开源***检测工具,本文主要讨论他作为日志分析时的各种插件的应用。Snort的日志一般位于:/var/log/snort/目录下。可以通过修改配置文件来设置Snort的报警形式。基于文本的格式、Libpcap格式和数据库是Snort最重要的三种报警形式。本文主要对每种报警形式及其配置进行介绍。1工作模式及输出插件Snort拥有3种工作模式,分别为...

weixin_39984403的博客 665

「干货」Snort使用手册「详细版」

转移发布平台通知:将不再在优快云博客发布新文章,敬请移步知识星球... ...

橙留香Park的博客 1万+

Snort 学习

snort.conf 文件中配置的规则将应用于每个数据包,如果您没有为程序指定输出目录,它将默认为 /var/log/snort。snort -l /etc/log/ -h 10.23.1.0/24 -h作用,定义受保护的本地网络,Snort会重点监控此范围流量。snort -v -c /home/ly/snort/snort-2.9.20/etc/snort.conf 启动。snort -l ./log -b 以二进制的方式记录,不能添加其他的过滤参数,-v 启用详细模式。

ly4983的专栏 1243

Snort日志输出插件详解

Snort日志输出插件详解  Snort是一款老×××的开源***检测工具,本文主要讨论他作为日志分析时的各种插件的应用。Snort的日志一般位于:/var/log/snort/目录下。可以通过修改配置文件来设置Snort的报警形式。基于文本的格式、Libpcap格式和数据库是Snort最重要的三种报警形式。本文主要对每种报警形式及其配置进行介绍。1    工作模式及输出插件Snort拥有3种工作...

weixin_33898233的博客 4283

snort源码分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eS0IVwzj-1645710889444)(snort分析.assets/xiaoming.jpg)] 《入侵检测技术》课程报告 《入侵检测技术》 snort分析 ​ 课程名称 入侵检测技术 ​ .

qq_43445553的博客 4353

snort命令行配置参数

用法:  snort -[options] 选项:  -A 设置报警模式,alert = full/fast/none/unsock,详解上一篇snort简介。 -b    用二进制文件保存网络数据包,以应付高吞吐量的网络。 -B 将IP地址信息抹掉,去隐私化。  -c 使用配置文件,这会使得snort进入IDS模式,并从中读取运行的配置信息。 -d    显示包的应用层数据。  -D

funtasty的专栏 1834

网络安全实验8 基于网络入侵检测系统

赞赏码 & 联系方式 & 个人闲话 【实验名称】基于网络入侵检测系统 【实验目的】 1.掌握snort IDS工作机理 2.应用snort三种方式工作 【实验原理】 一.snort IDS概述 snort IDS(入侵检测系统)是一个强大的网络入侵检测系统。它具有实时数据流量分析和记录IP网络数据包的能力,能够进行协议分析,对网络数据包内容进行搜索/匹配。...

一半西瓜的博客 1万+

snort的安装、配置和使用

Snort 在1998年,Marty Roesch先生用C语言开发了开放源代码(Open Source)的入侵检测系统Snort.直至今天,Snort已发展成为一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention Syst...

不忘初心,护天下安全! 7万+
上一篇: 华中科大学生宿舍子网案例
下一篇: Cisco Catalyst 3560系列交换机产品资料
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值