• linux历史命令审计


    一、添加历史命令记录

    1.首先在/etc/profile中添加

    export HISTORY_FILE=/var/log/Command/Command.log
    export PROMPT_COMMAND='{ date "+%Y-%m-%d %T # $(who am i |awk "{print $1,$2,$5}") $(whoami):[$PWD]# $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'

    2.定期备份移动历史命令,把如下脚本写到任务计划里。每隔一周执行一次

    30 10 * * 6 /bin/bash /var/log/Command/history.sh > /dev/null 2>&1
    

      

    Time=`date +%Y%m%d%H`
    logs_path="/var/log/Command/"
    logs_name="Command.log"
    new_file="$logs_path$logs_name-$Time"
    old_file=`find $logs_path -mtime +30 -type f -name "Command.*"`
    chattr -a $logs_path$logs_name
    mv $logs_path$logs_name $new_file
    chattr +a $new_file
    touch $logs_path$logs_name
    chown -R nobody:nobody $logs_path$logs_name
    chmod -R 002 $logs_path$logs_name
    chattr +a $logs_path$logs_name
    if [ ! -z $old_file ]
    then
        echo "delet $old_file $Time" >> /var/log/messages
        chattr -a $old_file
        rm -rf $old_file
    fi
    

    3.检查/var/log/Command/Command.log的中的日志

    二、使用审计工具,splunk或者eak。

    完成步骤一基本就完成了审计功能,如果想要图形化的搜索界面。可以使用步骤二。

    方法1.使用splunk

    (1).下载splunkforwarder

    splunkforwarder类似于zabbix_agent,logstash,filebeat之类的client端。

    splunk类似于zabbix_server之类的server端。

    splunkforwarder不好找,去splunk官网下载时候。注意右下角有一个old release。选择自己有lincense的版本。

     (2)安装splunkforwarder

       rpm -ivh splunkforwarder-版本号.rpm
       cd /opt/splunkforwarder/bin
       ./splunk start
       ./splunk add forward-server 192.168.103.31:9997
       ./splunk set deploy-poll 192.168.103.31:8089
    
       ./splunk add monitor /var/log/lastlog -index secure
       ./splunk add monitor /var/log/lastlog -index secure           #添加索引位置和目录
       ./splunk add monitor /var/log/lastlog -index secure
       ./splunk add monitor /tmp/wtmp -index secure
       ./splunk add monitor /var/log/Command/Command.log -index history
       ./splunk restart
    

    (3)安装splunk

       方法同上,适当变通一下包名。启动web功能。

    (4)查看图形

       命令审计

       

         登录审计(里面的路径和上面写的/var/log/Command/Command.log位置不一致,图片截图比较早。以前的图片)

        

     方法2.使用eak,elasticsearch,auditbeat,kibana套装

      (1)安装过程不想写了,百度能搜一堆。大致过程是搜索elk官网,进去下载,选择rpm包。下载完rpm安装。或者直接yum install auditbeat

      (2)修改配置文件,添加审计目录    

    auditbeat.modules:
    - module: auditd
      audit_rule_files: [ '${path.config}/audit.rules.d/*.conf' ]
      audit_rules: |
        -a always,exit -F arch=b64 -S execve,execveat -k exec
        -w /etc/group -p wa -k identity
        -w /etc/passwd -p wa -k identity
        -w /etc/gshadow -p wa -k identity
        -a always,exit -F arch=b64 -S open,creat,truncate,ftruncate,openat,open_by_handle_at -F exit=-EACCES -k access
        -a always,exit -F arch=b64 -S open,creat,truncate,ftruncate,openat,open_by_handle_at -F exit=-EPERM -k access
    - module: file_integrity
      paths:
      - /bin
      - /usr/bin
      - /sbin
      - /usr/sbin
      - /etc
      exclude_files:
      - '(?i).sw[nop]$'
      - '~$'
      - '/.git($|/)'
      scan_rate_per_sec: 50 MiB
      max_file_size: 100 MiB
      recursive: false
    - module: system
      datasets:
    - module: system
      datasets: 
      period: 30m                  #多久上报一次数据
      state.period: 12h          
      process.hash.scan_rate_per_sec: 50 MiB
      process.hash.max_file_size: 100 MiB
      user.detect_password_changes: true
      login.wtmp_file_pattern: /var/log/wtmp*
      login.btmp_file_pattern: /var/log/btmp*
    setup.template.settings:
      index.number_of_shards: 1
    setup.template.name: "auditbeat-hxtpay"
    setup.template.pattern: "auditbeat-hxtpay-*"
    setup.template.enabled: true
    setup.ilm.rollover_alias: "auditbeat-hxtpay"
    setup.dashboards.directory: /usr/share/auditbeat/kibana/ #导入模板
    setup.dashboards.index: auditbeat-*                #默认索引
    setup.kibana:
    output.elasticsearch:
    hosts: ["你的elasticsearch服务器ip:9200"]
    username: "elastic"
    password: "你的密码,没设置账号密码的直接注释这两行"
    processors:
    - add_host_metadata: ~
    - add_cloud_metadata: ~
    - add_docker_metadata: ~

     (3)添加auditeat审计模板到kibana里

    /usr/share/auditbeat/bin/auditbeat -c /etc/auditbeat/auditbeat.yml setup --dashboards
    

       (4)查看kibana的dashboard

    文件审计

     登录审计

  • 相关阅读:
    git
    浏览器喧嚷过程
    B/S架构与C/S架构
    simpleDateFormat
    oracle中case when的用法
    Java程序利用Jdbc连接数据库
    List 和 Set与Map
    队列和栈
    toString方法分析
    java中的构造器
  • 原文地址:https://www.cnblogs.com/guoyabin/p/13157126.html
Copyright © 2020-2023  润新知