文章目录
  1. 1. linux实训-系统日志
    1. 1.1. 创建远程用户组和远程用户
    2. 1.2. 将ssh端口号改成2222
    3. 1.3. 不允许root登陆ssh服务
    4. 1.4. 不允许空密码的用户登陆
    5. 1.5. 使用口令认证方式
    6. 1.6. 配置centos7日志级别
      1. 1.6.1. 操作1到操作4
      2. 1.6.2. 日志保留6个月
    7. 1.7. 提取nginx服务器日志
      1. 1.7.1. 提取nginx所有访问日志到/root/access.log
      2. 1.7.2. 查找并提取User-agent中包含”MSJ/1.0”的异常日志到/root/danger.log
    8. 1.8. web服务日志分析
      1. 1.8.1. 查找包含远程指令的web访问日志,并导出到/root/dangerous.log
      2. 1.8.2. 对日志进行审批并定位事件,将涉及的文件复制到/root目录下
    9. 1.9. 提取mysql数据库日志并存档备份

linux实训-系统日志

创建远程用户组和远程用户

创建远程用户组:

groupadd remoteGroup

创建用户,并加入到远程用户组中:

useradd -G remoteGroup remoteUser01

将ssh端口号改成2222

vim /etc/ssh/sshd_config

修改:

port: 2222

不允许root登陆ssh服务

修改:

PermitRootLogin no

不允许空密码的用户登陆

修改:

PermitEmptyPasswords no

使用口令认证方式

修改:

PasswordAuthention yes

重启ssd服务使之生效:

systemctl restart sshd

验证2222端口:

ssh 127.0.0.1

连接不上,说明22不能用了

使用2222:

ssh 127.0.0.1 -p 2222

成功,但是提示输入密码,ctr+c退出

测试root登陆:

ssh root@127.0.0.1 -p 2222

输入密码,提示无法登陆

测试空密码登陆:

ssh remoteUser01@127.0.0.1 -p 2222

不输入密码无法登陆,但remoteUser01还没设置密码,需要设置个密码:

echo remoteUser01:hello123 | chpasswd

再次登陆,输入密码:hello123,登陆成功

参考命令:

centos7 创建用户和组
groupadd RemoteGroup (创建组)
useradd -G RemoteGroup RemoteUser01 (创建用户并加入组)
id RemoteUser01 (查看用户信息)

参考操作:

centos7 ssh
vi /etc/ssh/sshd_config
编辑修改
Port 2222
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication yes(默认有了)
保存退出
systemctl restart sshd
测试
ssh -p 2222 127.0.0.1

配置centos7日志级别

  • 系统登陆产生的日志级别为info
  • 内核产生的日志级别为idebug
  • 用户程序产生的日志为err
  • 将日志同步到:192.168.1.2的日志服务器上,使用默认UDP缺省端口
  • 日志保留6个月

centos7 rsyslog

vi /etc/rsyslog.conf
添加
auth.=info /var/log/auth.log
kern.=debug /var/log/kern.log
user.=err /var/log/user.log
. @192.168.1.2:514
保存退出
systemctl restart rsyslog

centos7 logrotate
vi /etc/logrotate.conf
编辑修改
#weekly(注释或者删除)
monthly
rotate 6 (修改为6)
保存退出

操作1到操作4

vim /etc/rsyslog.conf

auth.nfo /var/log/auth.log
kern.debug /var/log/kern.log
user.err /var/log/user.log
. @192.168.1.2:514
保存退出

日志保留6个月

主要修改:vi /etc/logrotate.conf
文件里的monthly和rotate两个参数

centos7 logrotate
vi /etc/logrotate.conf
编辑修改
#weekly(注释或者删除)
monthly
rotate 6 (修改为6)
保存退出

提取nginx服务器日志

提取nginx所有访问日志到/root/access.log

centos nignx日志

gzip -d /var/log/nginx/access.log-20220930.gz
gzip -d /var/log/nginx/access.log-20221001.gz
cat /var/log/nginx/access* > /root/access.log

查找并提取User-agent中包含”MSJ/1.0”的异常日志到/root/danger.log

> grep "MSJ/1.0"    /root/access.log    >    /root/danger.log

web服务日志分析

查找包含远程指令的web访问日志,并导出到/root/dangerous.log

centos:
查询ps或whoami命令在访问日志中的出现频率,定位到是通过1.php文件实现远程登陆攻击,故只要将1.php的访问记录导出就是所有远程指令日志

grep ps | whoami /root/access.log
grep “1.php” /root/access.log > /root/dangerous.txt

对日志进行审批并定位事件,将涉及的文件复制到/root目录下

通过日志,可以知道,1.php的相对路径是:/hackable/uploads/1.php

image.png

找到nginx的服务器根目录:

whereis nginx

返回:
image.png

其中有个目录是:/usr/share/nginx
这个目录是nginx默认安装时的web根目录,但千万不要觉得它就是web根目录,具体是不是根目录,我们需要看nginx的配置文件:

vim /etc/nginx/conf.d/default.conf

image.png

发现配置的web的root目录是:/var/www/html

这个目录就是服务器根目录了,进入,找到hackable目录,再找到uploads目录

image.png
发现这个目录里和dangerous.log文件里出现的远程命令文件一致,所以没毛病,开始copy:

cp /usr/www/html/hackable/uploads/1.php    /root
cp /var/www/html/hackable/uploads/svchost    /root

提取mysql数据库日志并存档备份

  • 提取binlog,并重命名为:mysql_server_log.sql,备份到 “/root“目录下

登陆数据库:

mysql -uroot -proot

查看下binlog最新名称:

show master status

其实考试的时候不需要这一步,直接到:”/var/lib/msql”目录下找到binlog后缀编号最大的就行了,直接copy

cp /var/lib/mysql/binlog.00004 /root/mysql_server_log.sql

正常的话,导出binlog备份 命令使用:

mysqlbinlog --no-defaults -u /var/lib/mysql/binlog.00004 > /root/mysql_server_log.sql
  • 提取错误日志并重命名为:mysql_server_error.log,备份至”/root”目录

错误日志的默认路径:/var/log/mariadb

cat /var/log/mariadb/*.log > mysql_server_error.log
文章目录
  1. 1. linux实训-系统日志
    1. 1.1. 创建远程用户组和远程用户
    2. 1.2. 将ssh端口号改成2222
    3. 1.3. 不允许root登陆ssh服务
    4. 1.4. 不允许空密码的用户登陆
    5. 1.5. 使用口令认证方式
    6. 1.6. 配置centos7日志级别
      1. 1.6.1. 操作1到操作4
      2. 1.6.2. 日志保留6个月
    7. 1.7. 提取nginx服务器日志
      1. 1.7.1. 提取nginx所有访问日志到/root/access.log
      2. 1.7.2. 查找并提取User-agent中包含”MSJ/1.0”的异常日志到/root/danger.log
    8. 1.8. web服务日志分析
      1. 1.8.1. 查找包含远程指令的web访问日志,并导出到/root/dangerous.log
      2. 1.8.2. 对日志进行审批并定位事件,将涉及的文件复制到/root目录下
    9. 1.9. 提取mysql数据库日志并存档备份