我运行了下面两个命令。我发现一些帐户攻击如下。我的主目录中没有帐户 test、teste、oracle 和 admin。由于存在系统帐户。如何知道哪些是有效帐户,哪些是无效帐户。
lastb | awk '{print $1}' | sort | uniq -c | sort -rn | head -5
5898 root
196 test
164 oracle
154 teste
86 admin
[root@localhost ~]# awk 'gsub(".*sshd.*Failed password for (invalid user )?", "") {print $1}' /var/log/secure* | sort | uniq -c | sort -rn | head -5
13835 root
386 test
185 oracle
146 admin
131 nagios
答案1
这些只是自动机器人攻击,对于任何暴露在互联网上的系统来说并不罕见。要获取可以在 CentOS 中使用的用户列表getent
:
getent passwd | awk -F':' '{ print $1 }'
将其与您已有的放在一起:
while read -r count user; do
printf '%s %s ' "$user" "$count"
if getent passwd | grep -q "^$user:"; then
printf 'valid\n'
else
printf 'invalid\n'
fi
done < <(awk 'gsub(".*sshd.*Failed password for (invalid user )?", "") {print $1}' /var/log/secure* | sort | uniq -c | sort -rn | head -5)