我在 AIX 服务器上有一个永不过期的服务帐户。我使用该帐户连接到我的数据库。
每隔几周,就会有用户或任务尝试使用错误密码连接该帐户,然后帐户就会被锁定。这导致我花了几天时间才再次解锁帐户。
我询问了所有可能连接的人,但他们都说不是他们。AIX 系统管理员告诉我,他们无法跟踪谁在尝试连接。是我们内部网络中的某个人。
在 AIX 上是否有任何方法可以跟踪谁在尝试连接?也许是尝试连接的 IP 地址日志?
答案1
默认情况下就在 /var/adm/syslog 中,如下所示
Dec 13 18:43:33 moscow auth|security:info sshd[14483679]: Failed password for myservacct from 192.168.0.12 port 59148 ssh2
Dec 13 18:43:38 moscow auth|security:info syslog: ssh: failed login attempt for myservacct from 192.168.0.12
一个简单的 grep 将收集失败的尝试,例如
> tail -1000 /var/adm/syslog | grep -i failed.*myservacct
如果没有这样的信息,请检查您的 /etc/syslog.conf 是否已设置为将 auth.info 写入您的日志文件。
答案2
基本上,从管理角度来看,所有应用程序和数据库团队都应该有自己的监控脚本,该脚本应该可以监控个人运行的命令和登录时间。
我自己就是一名 AIX 管理员。当任何拥有通用应用程序帐户的应用程序团队遇到同样的情况时,他们会来找我们并询问是谁锁定了它?答案:对于这个问题,我没有直接的答案,但这是一种预测性的答案。(这可能是为什么这个问题仍然没有答案的原因)。我曾经检查过对该帐户进行的所有不成功/失败的登录尝试,因为用户首先会使用自己的帐户登录到该主机,然后使用 sudo 登录到该应用程序帐户。然后,我会检查当时登录到该服务器的该应用程序帐户的所有成员是谁。我会将这些用户的用户 ID 提供给提出此要求的人。
注意:AIX 管理员通常检查 /var/adm/wtmp 和 /etc/security/failedlogin 的条目以了解谁在什么时间登录了服务器以及谁记录了登录失败。
希望这个对你有帮助。
答案3
如果你找不到以下信息系统日志,另一个选项是查询用户帐户中上次不成功的登录尝试:
sudo lsuser -f -a time_last_unsuccessful_login tty_last_unsuccessful_login host_last_unsuccessful_login unsuccessful_login_count service-account-name-here
示例输出将是:
service-account-name-here:
time_last_unsuccessful_login=1607709599
tty_last_unsuccessful_login=ssh
host_last_unsuccessful_login=10.1.2.3
unsuccessful_login_count=1
您可以使用 GNU date 或 perl 转换时间戳:
date -d @1607709599
perl -e 'print scalar localtime 1607709599, "\n"'
答案4
在服务器上,您可以显示文件“/etc/security/lastlog”并使用所需的用户名帐户进行搜索。
在那里,您可以使用变量“host_last_unsuccessful_login”找到阻止您帐户的 IP 主机。同时显示日期。
使用此值,您可以研究谁使用该 IP 并最终阻止您的网络环境。
埃杜