热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

在Linux中诱捕入侵者(3)

文章标题:在Linux中诱捕入侵者(3)。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  作者:洪小叶
  
  配置
  
  SNARE安装完成并开始运行后,还需要对其进行一些配置。就像syslogd监控程序有syslog.conf一样,auditd监控程序也有audit.conf文件。安装完成后,该文件会被置于/etc/audit目录下。应该说,该文件很直观,但为确保其格式正确,所以建议只通过GUI进行修改。要配置该文件,你可以到“Setup,Audit Configuration”菜单。在此可修改下列一些参数:
  
  AuditType:缺省为“Objective”;另外一个选项为“Event”。
  
  HostID:可以在此指定远程主机的名字来显示其SNARE日志文件。
  
  Objectives:想要审查的级别。
  
  Events:所有可审查的内核调用。
  
  Output:你想要存储日志文件的地方;缺省为/var/log/audit/audit.log。
  
  Audit.conf文件也由相同的内容组成。如果选择了Objective审查,那么显示的规则文件就会被应用。如果选择了Events日志,那么在Event章节的调用列表就会显示0或者1,以指示其是否被进行日志记录。注意在此可以选择Objective日志或者Kernel日志,但是不可以同时选择二者。
  
  SNARE的灵活性,主要还是体现在通过Objective日志来配置规则方面。当然,我们选择使用哪一种类型,主要取决于我们使用该工具的原因,但是如果想对所审查的内容有更多的控制,那么最好使用Objective审查方式。
  
  当添加一个目标规则(在Audit Configuration的Current Objectives标签页上点击“Add an Objective”按钮),我们就可以看到配置规则的选项(见图2)。
  
  图2 配置规则时的选项
  
  SNARE将其为了5个步骤:
  
  1. 高级别的配置;
  
  2. 想要审查的过滤器;
  
  3. 是否审查事件的成功、失败或者成功和失败的过滤器;
  
  4. 是否审查所有使用的事件,或者选择审查某一用户的事件;
  
  5. 当该事件发生时,为其选拔警报级别。
  
  其中警告级别包括从Critical到Clear。其中Clear表示无关紧要,它只是提示有某件事情发生了。信息提示时,如果有好的事情发生,使用的是绿色;Warning使用的是黄色;Priority使用的是橙色;Critical使用的是红色。
  
  Objective日志
  
  事实上,缺省的Objective配置已经涵盖了想要审查的基本内容,它监控读写或者创建/etc/shadow文件、读或者创建/etc/passwd文件、读写或者创建audit文件。此外,/sbin、/usr/sbin、/bin和/usr/bin目录的使用,su程序的使用,接受一个新的连接,切换到/etc和/var/log目录,打开一个向外的连接等都会受到监控。对于一个更完善的审查系统,建议还应该监控一些其它的文件。这主要取决于可用资源和磁盘空间。
  
  我关注的是是否有人修改、增加或者使用了我系统中的一些重要文件。这些文件包括:login、telnet、ftp、netstat、ifconfig、ls、ps、ssh、find、du、df、sync、reboot、halt和shutdown。可以设置一个规则来监测对每一个文件的操作,此外还要注意在/sbin、/usr/sbin、/bin和/usr/bin目录中对文件写及创建的操作。这看起来是有些麻烦,但却十分的必要。因为缺省的规则集并不对这些内容进行监控,所以一些潜在的问题很容易被忽略。
  
  此外,其它一些我们可能想要监控其修改行为的文件是/etc/lilo.conf、/etc/syslog.conf、/etc/resolv.conf和/etc/sendmail.cf文件。如果lilo.conf文件被修改,一定要引起注意,尤其是在最近没有升级内核的话,更是要知道其被修改的原因。如果resolv.conf文件被修改了,很有可能是有人试图想让你的主机变成一个非你所期望的DNS服务器。如果一个攻击者想要掩盖其痕迹的话,他很有可能就要修改你的syslog.conf文件。还有,如果你的服务器上运行有Sendmail的话,建议你最好为Sendmail.cf设置一个过滤器。如果有人修改该文件,很有可能是有人想在你的Sendmail环境中开启一些你并不想开启的服务(比如VRFY和EXPN),这将直接导致很多电子邮件账号信息泄露。
  
  也许你想要监控所有在你的Linux服务器上运行的非本地的应用程序的客户应用程序文件,那么你在设置规则集时需要先进行测试,看一看你的硬件平台是否有足够的处理负载的能力。当然了,这主要取决于所监控文件的多少。
  
  Event(Kernel)日志
  
  正如前面所提到的,如果使用内核日志,那么一定要注意到底有多少可用的磁盘空间以及到底要做多少内核日志。因为有很多选项可以选择是否做日志,并且在内核级别上,相对要敏感得多。
  
  在这个级别上,可以通过SNARE监控的内容包括:资源访问和安全、命令的执行和资源的创建和删除。资源的访问和安全,这其中包括setuid、open、rename、chmod和chown等调用。命令执行包括chroot、reboot以及套接字调用等。资源创建和删除则包括symlink、create_module和mknod。这些调用的审查都不考虑用户,也就是说对所有用户都要审查。可以把它们都选上,但是事实上只有在服务器上时才有必要对这个级别的日志进行详细的设置。
  
  测试配置
  
  我们测试Objective和Kernel日志,以观察二者实现的功能。在现实中,不管我们多么确信自己的设置万无一失,都要对其进行一下测试。我们进行最小的测试(测试Objective使用了audit.conf的缺省设置,而测试Event时则使用了选择性的内核调用)来感受一下SNARE的操作过程。然后,以一个用户的身份登录,并且在系统上做了一些随机的事情,观察一下auditd对信息的传输到底有什么影响。
  
  首先我尝试着查找audit.conf文件,并且试图使用telnet进行向外的连接。在audit.conf文件中,这两个行为都是被设置为需要监控的。然后我查看了审查日志,发现记录的内容很少,主要是关于telnet会话的一些内容(比如进行了什么类型的调用、程序的权限、以及返回代码等),但是这已经完全记录了我的操作的相应过程。
  
  然后,再进行更多的测试,比如更改用户的密码。这个行为没有被记录,因为在配置规则中,这一行为是以root的身份执行的。接着我改变了我的密码(被记录),试着把ls程序拷贝到/tmp。我不仅被允许这样做,并且在日志中只记录了mv程序曾被执行。我在规则中加入了监控对/bin/ls的修改,然后再次移动该文件,结果这次被记录了。
  
推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
author-avatar
k婷妈咪1_1997
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有