每隔几天,我的 tomcat 应用程序就会崩溃。我可以发出请求,但任何需要访问 mysql 数据库的操作都会返回错误。我检查了 catalina.out,发现有很多这样的错误:
Jan 26, 2016 4:25:15 AM org.apache.catalina.realm.LockOutRealm authenticate
WARNING: An attempt was made to authenticate the locked user "admin"
Jan 26, 2016 4:25:15 AM org.apache.catalina.realm.LockOutRealm authenticate
WARNING: An attempt was made to authenticate the locked user "root"
Jan 26, 2016 4:25:15 AM org.apache.catalina.realm.LockOutRealm authenticate
WARNING: An attempt was made to authenticate the locked user "tomcat"
总是按这个顺序,有时一遍又一遍。如果我重新启动 tomcat 服务器,我就可以正常工作,但它不可避免地会再次发生,这很烦人,因为谁知道在我发现它之前事情已经失控了多久。
那么我该如何诊断发生了什么,以及如何在将来防止这种情况发生?我在谷歌上找到的所有内容都会导致对 tomcat 管理器的暴力攻击。我该如何验证这是我的情况?如果是这样,完全禁用管理器是否可以防止这种情况发生?
答案1
听起来你的 tomcat 实例是向公众开放的,并且一个脚本小子正在尝试强制登录。
您应该在日志中看到访问尝试,假设您正在记录它们。
您可以通过 IP 地址限制对管理器的访问。您还可以将 URL 更改为脚本不会搜索的内容。我最喜欢的方法是使用 VPN 或 ssh 隧道来访问管理器。