linux系统的登陆日志在/var/log/wtmp文件里,登陆失败日志在/var/log/btmp里,但是直接查看,而 last、lastb命令就是用来查看这些文件的

SSH登录的用户

who /var/log/wtmp

如下:

root@MRtancp:~# who /var/log/wtmp
root     tty1         2018-10-07 13:00
root     pts/0        2018-10-29 17:12 (117.136.32.98)
root     pts/1        2018-10-29 17:16 (117.136.32.98)
root     pts/2        2018-10-29 17:16 (117.136.32.98)
root     pts/3        2018-10-29 17:17 (117.136.32.98)
root     pts/4        2018-10-29 17:17 (117.136.32.98)
root     pts/5        2018-10-29 17:17 (117.136.32.98)
root     pts/6        2018-10-29 17:17 (117.136.32.98)
root     pts/7        2018-10-29 17:17 (117.136.32.98)
root     pts/8        2018-10-29 17:21 (117.136.32.98)
root     pts/9        2018-10-29 17:21 (117.136.32.98)
root     pts/10       2018-10-29 17:21 (117.136.32.98)
root     pts/11       2018-10-29 17:21 (117.136.32.98)
root     pts/12       2018-10-29 17:22 (117.136.32.98)
root     pts/13       2018-10-29 17:27 (117.136.32.98)

last命令

last

系统显示类似如下,可查看客户端名称和客户端地址,及事件记录时间等信息,通过该信息分析服务器是否存在安全隐患。

说明:下列内容为last命令输出结果的注解:
第一列:用户名。
第二列:登录终端,若为pts/0表示伪终端指 ssh命令或telnet命令远程连接用户,tty指本地连接用户。
第三列:登录IP地址或者内核 。若为0.0或无内容,表示用户从本地终端连接。除重启操作,内核版本会显示在状态中。
第四列:开始时间。
第五列:结束时间(still logged in状态:用户未退出,down状态:直到正常关机,crash状态:直到强制关机)。
第六列:持续时间。

检查说明:攻击者或者恶意软件往往会往系统中注入隐藏的系统帐户实施提权或其他破坏性的攻击。
解决方法: 使用命令usermod -L 用户名禁用用户或者使用命令userdel -r 用户名删除用户。
风险性:高。


通过less /var/log/secure|grep 'Accepted'命令,查看是否有可疑 IP 成功登录机器:

[root@iZj6c4icyjttqo3yuds4hdZ ~]# less /var/log/secure|grep 'Accepted'
Mar 15 16:25:18 iZj6c4icyjttqo3yuds4hdZ sshd[11949]: Accepted password for root from 127.0.0.1 port 58818 ssh2
Mar 16 14:09:49 iZj6c4icyjttqo3yuds4hdZ sshd[26720]: Accepted password for root from 127.0.0.1 port 35978 ssh2
Mar 16 14:26:58 iZj6c4icyjttqo3yuds4hdZ sshd[27845]: Accepted password for root from 127.0.0.1 port 36054 ssh2

检查说明:攻击者或者恶意软件往往会往系统中注入隐藏的系统帐户实施提权或其他破坏性的攻击。
解决方法: 使用命令usermod -L 用户名禁用用户或者使用命令userdel -r 用户名删除用户。
风险性:高。

怎样检测暴力破解攻击?

远程服务器一般需要启用 ssh 远程登录功能。对于 ssh 协议的常见攻击是进行暴力破解。通过查看 log 日志检测服务器是否被暴力破解。
Debian 和 Ubuntu 存储在 /var/log/auth.log
RedHat 和 CentOS 存储在 /var/log/secure

以 CentOS 为例

查看登录日志

tail /var/log/secure

执行 du -h /var/log/secure  是否被暴力攻击 超过1M基本说明被攻击

du -h /var/log/secure

查看尝试暴力破解大于20次的Ip地址

find /var/log -name 'secure*' -type f | while read line;do awk '/Failed/{print $(NF-3)}' $line;done | awk '{a[$0]++}END{for (j in a) if(a[j] > 20) print j"="a[j]}' | sort -n -t'=' -k 2