zoukankan      html  css  js  c++  java
  • 安全运维

    入侵排查思路 (1)- 日志分析

    日志分析
    默认日志路径: /var/log
    查看日志配置情况: more /etc/rsyslog.conf
    重要日志:
    登录失败记录: /var/log/btmp
    最后一次登录: /var/log/lastlog
    登录成功记录: /var/log/wtmp
    登录日志记录: /var/log/secure
    日志分析常用命令: 
    grep -rn "hello,world!"
    cat input_file | tail -n + 1000 | head -n 2000(显示1000-2999行)
    find /etc -name init #在目录/etc中查找文件init
    sed -i '153,$d' .bash_history  #删除历史操作记录,只保留前153行
    grep -C 5 foo file  #显示file文件里匹配foo那行以及上下5行
    定位有多少IP在爆破主机的root账号
    grep "Failed password for root" /var/log/secure | awk '{print $11}'| sort | uniq -c | sort -nr | more
    爆破用户名字典
    grep "Failed password" /var/log/secure|perl -e 'while($_=<>){/for(.*?) from/;print
    "$1
    ";}'|uniq -c | sort --nr
    登录成功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}'
    软件安装升级卸载日志:
    more /var/log/yum.log

    入侵排查思路(2)- 账号安全

    用户信息文件: /etc/passwd
    影子文件: /etc/shadow
    who  #查看当前登录用户(tty本地登录,pts远程登录)
    w   #查看系统信息,想知道某一时刻用户的行为

    入侵排查:
    查询特权用户(uid为0): awk -F: '$3==0{print $1}' /etc/passwd
    查询可以远程登录的账号信息: awk '/$1|$6/{print $1}' /etc/passwd
    禁用或删除多余可疑的账号:
    usermod -L user #禁用账号,账号无法登录
    userdel -r user #将删除user用户,并且将/home目录下的user目录一并删除

     

    入侵排查思路(3)- 历史命令

    root的历史命令: history
    其他账号的历史命令: /home各账号目录下的 .bash_history
    历史操作命令的清除: history -c
    入侵排查:
    进入用户目录:
    cat .bash_history >> history.txt

    入侵排查思路(4)- 端口&进程&开机启动项

    检查异常端口:
    使用netstat网络连接命令,分析可疑端口、IP、PID
    netstat -antlp|more
    
    检查异常进程:
    使用ps命令,分析进程
    ps aux | grep pid
    使用 netset 和 ps 等命令时,可以灵活配合 grep命令获取信息
    netstat -anp | grep -i listen
    lsof -i:port #进程和端口对应关系
    ps -aux查看进程信息(ps -ef 对于反弹shell,更便于发现)
    
    检查开机启动项:
    系统默认运行级别: vi /etc/inittab
    开机启动配置文件: /etc/rc.local
    入侵排查:
    启动项文件:
    more /etc/rc.local /etc/rc.d/rc[0~6].d
    ls -l /etc/rc.d/rc3.d/
    
    定时任务
    crontab -l 列出某个用户cron服务的详细内容
    crontab -r 删除某个用户 cront任务(删除所有的计划任务)
    crontab -e 使用编辑器编辑当前的crontab文件
    重点关注以下目录是否存在恶意脚本:
    /var/spool/cron/*
    /etc/crontab
    /etc/cron.d/*
    /etc/cron.daily/*
    /etc/cron.hourly/*
    /etc/cron.monthly/*
    /etc/cron.weekly/
    /etc/anacrontab
    /var/spool/anacron/*
    more /etc/cron.daily/* #查看目录下所有文件
    
    系统服务
    服务自启动:
    修改 /etc/re.d/rc.local 文件,加入 /etc/init.d/httpd start
    查询RPM包安装的服务:
    chkconfig --list #查询服务自启动状态,可以看到所有的RPM包安装的服务
    ps aux | grep crond #查看当前服务
    系统在3和5级别下的启动项
    中文环境
    chkconfig --list | grep "3:启动|5:启动"
    英文环境
    chkconfig --list | grep "3:on|5:on"
    查询源码包安装的服务:
    查看服务安装位置,一般在 /user/local/
    搜索 /etc/rc.d/init.d/ 查看是否存在
    
    检查异常文件
    查看敏感目录,如 /tmp目录下的文件,同时注意隐藏文件夹,以“..”为名称的文件夹具有隐藏属性
    得到发现WEBSHELL、远控木马的创建时间,找出同一时间创建的文件
    find /opt -iname "*" -atime 1 -type f #找出 /opt 下一天前访问过的文件
    针对可疑文件可以使用 stat进行创建修改时间
  • 相关阅读:
    问题详情-手机问问
    红萝卜要不要削皮?
    清炖香菇
    如何清洗新鲜的香菇
    青菜粥的做法
    Qt移动版优化后台云服务、支持跨平台开发
    EF架构~EF异步改造之路~仓储接口的改造~续
    EF架构~EF6配置需要注意的几个地方
    EF架构~EF异步改造之路~让DbContextRepository去实现异步接口
    EF架构~EF异步改造之路~仓储接口的改造
  • 原文地址:https://www.cnblogs.com/AtesetEnginner/p/11391226.html
Copyright © 2011-2022 走看看