Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22451
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 68
  • 用 户 组: 普通用户
  • 注册时间: 2014-02-20 12:06
文章分类
文章存档

2014年(7)

我的朋友

分类: 系统运维

2014-02-20 12:56:48

在SOC、审计、4A等项目中,经常需要解析 Unix系统的登录日志,以此进行分析用户登录行为,特别是在4A项目中,需要判定绕过堡垒主机的登录行为及操作。对于Unix系统来说,默认的 syslog配置并不会记录用户的操作过程,只有一个结果的日志。比如以下在Linux系统上添加用户:

点击(此处)折叠或打开

  1. [root@RHEL2 ~]# useradd -m bashuser1
    在系统日志里会有如下,显示了以上命令的一个结果,但是对于命令本身是没有日志记录在syslog中的。

Feb 19 11:21:39 RHEL2 useradd[3534]: new group: name=bashuser1, GID=503

Feb 19 11:21:39 RHEL2 useradd[3534]: new user: name=bashuser1, UID=502, GID=503, home=/home/bashuser1, shell=/bin/bash


对于登录日志,其中Linux本身提供的SSH、telnet日志,其中包含源IP、登录帐户等信息。但是HP-UX、Solaris、AIX提供的telnet日志是基于inetd的,日志信息中不包含登录帐户信息。如以下是Linux系统上telnet登录日志:

Feb 19 11:11:17 RHEL2 login: pam_unix(remote:session): session opened for user root by (uid=0)

Feb 19 11:11:17 RHEL2 login: ROOT LOGIN ON pts/4 FROM 192.168.56.1

其中日志信息包含了登录用户,登录IP,作为一个登录事件解析,变量是足够的。但是对于HP-UX、Solaris、AIX提供的telnet日志,只是一个session的建立日志,只有登录IP,没有登录用户,作为登录事件解析就缺少了关键的用户信息:

Feb 19 11:11:13 RHEL2 xinetd[2354]: START: telnet pid=3414 from=192.168.56.1

    因此,本文提出一种方法,统一所有Unix系统(Linux、HP-UX、Solaris、AIX、SuSe)的登录(ssh、telnet、rlogin)日志、操作命令日志,可以作为系统日志的有效补充。以下为配置好后的登录日志内容:

<13>bashuser: class="HOST_LOGIN" type="2" time="2011-06-29 10:44:03" src_ip="192.168.14.83" dst_ip="192.168.99.243" primary_user="" secondary_user="bashuser" operation="" content="login successful" authen_status="Success" log_level="1" sessionid="12182"

<13>bashuser: class="HOST_COMMAND" type="3" time="2011-06-29 10:44:03" src_ip="192.168.14.83" dst_ip="192.168.100.90" primary_user="" secondary_user="bashuser" operation="uname -a" content="command" authen_status="" log_level="1" sessionid="12182"

日志格式说明:

class:HOST_LOGIN,表示主机登录;HOST_COMMAND,表示主机操作命令;

time:用户登录主机时间;

src_ip:登录源IP地址;

dst_ip:主机地址;

primary_user:主账号,这个变量是引用堡垒主机的概念加的,在这里会永远为空值;

secondary_user:从账号,也就是主机上的账号,也是引用堡垒主机的概念加的;

operation:针对HOST_COMMAND类,是实际的操作命令内容;

content:表示结果,如登录成功或者命令;

session_id:这里引用的变量是$$变量值;

可以根据实际需要增加删除修改变量内容。


以下先讲如何配置登录日志,大概需要了解以下方面的知识,其中部分内容我已经在空间上陆续发过:

  • 各Unix系统基本的服务启停;
  • 各Unix系统syslog配置方法;
  • Unix系统Shell,交互式shell,非交互式shell,登录shell,非登录shell;
  • 各Unix系统各Shell的启动文件;
  • 变量引用及配置;
  • shell编程;
  • 一些函数的用法(文中单独说)


编辑 |删除 |推送 |置顶
阅读(4788) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~