zoukankan      html  css  js  c++  java
  • Linux应急响应日志分析

    Linux-应急响应-日志分析
    日志默认存放位置:/var/log/
    
    查看日志配置情况:more /etc/rsyslog.conf
    
    日志文件 说明
    
    /var/log/cron 记录了系统定时任务相关的日志
    
    /var/log/cups 记录打印信息的日志
    
    /var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
    
    /var/log/mailog 记录邮件信息
    
    /var/log/message 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件
    
    /var/log/btmp 记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看
    
    /var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看
    
    /var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看
    
    /var/log/utmp 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
    
    /var/log/secure 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
    
    比较重要的几个日志: 登录失败记录:/var/log/btmp //lastb 最后一次登录:/var/log/lastlog //lastlog 登录成功记录: /var/log/wtmp //last 登录日志记录:/var/log/secure
    
    目前登录用户信息:/var/run/utmp //w、who、users
    
    历史命令记录:history 仅清理当前用户: history -c
    
    
    
    Linux下常用的shell命令如:find、grep 、egrep、awk、sed
    
    小技巧:
    
    1、grep显示前后几行信息:
    
        标准unix/linux下的grep通过下面參数控制上下文:
    
        grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
    
        grep -B 5 foo file 显示foo及前5行
    
        grep -A 5 foo file 显示foo及后5行
    
        查看grep版本号的方法是
    
        grep -V
    
    2、grep 查找含有某字符串的所有文件
    
        grep -rn "hello,world!"
    
        * : 表示当前目录所有文件,也可以是某个文件名
    
        -r 是递归查找
    
        -n 是显示行号
    
        -R 查找所有文件包含子目录
    
        -i 忽略大小写
    
    3、如何显示一个文件的某几行:
    
        cat input_file | tail -n +1000 | head -n 2000
    
        #从第1000行开始,显示2000行。即显示1000~2999行
    
    4、find /etc -name init
    
    //在目录/etc中查找文件init
    
    5、只是显示/etc/passwd的账户
    
    `cat /etc/passwd |awk -F ':' '{print $1}'`
    
    //awk -F指定域分隔符为':',将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。
    
    
    
    日志分析技巧
    
    A、/var/log/secure
    
    1、定位有多少IP在爆破主机的root帐号:
    
    grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
    
    定位有哪些IP在爆破:
    
    grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
    
    爆破用户名字典是什么?
    
    grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
    
    2、登录成功的IP有哪些:   
    
    grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
    
    登录成功的日期、用户名、IP:
    
    grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
    
    3、增加一个用户kali日志:
    
    Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001
    
    Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, home=/home/kali
    
    , shell=/bin/bash
    
    Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali
    
    #grep "useradd" /var/log/secure
    
    4、删除用户kali日志:
    
    Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'
    
    Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'
    
    Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'
    
    # grep "userdel" /var/log/secure
    
    5、su切换用户:
    
    Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid=0)
    
    sudo授权执行:
    
    sudo -l
    
    Jul 10 00:43:09 localhost sudo:    good : TTY=pts/4 ; PWD=/home/good ; USER=root ; COMMAND=/sbin/shutdown -r now
    
    
    
    软件安装升级日志:
    
    more /var/log/yum.log
    
    
    
    推荐:https://bypass007.github.io/Emergency-Response-Notes/LogAnalysis/%E7%AC%AC2%E7%AF%87%EF%BC%9ALinux%E6%97%A5%E5%BF%97%E5%88%86%E6%9E%90.html
    
    
    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    Python-爬取小说内容并下载
    Python-网易音乐下载
    [Python图像处理]六.图像缩放,图像旋转,图像翻转与图像平移
    [Python图像处理]五.图像加法运算,图像融合及图像类型转换
    [Python图像处理]四.图像平滑中四种常用的滤波
    go语言-从控制套获取用户输入
    go语言-运算符
    go语言-指针
    go语言-数据类型及类型之间转换
    go语言-变量与常量
  • 原文地址:https://www.cnblogs.com/autopwn/p/15701646.html
Copyright © 2011-2022 走看看