【问题标题】:Protect Tomcat node in Jelastic environment在 Jelastic 环境中保护 Tomcat 节点
【发布时间】:2016-07-17 03:31:17
【问题描述】:

我在 Jelastic 环境中有一个 Tomcat 7.0.68 节点(启用了公共 IPv4)。这个 env 还包含一个 CentOS VPS 节点(也启用了公共 IPv4)。

我想保护这两个节点免受暴力攻击,因为例如Tomcat 的日志包含很多警告,例如:

WARNING: An attempt was made to authenticate the locked user "admin1"

对于 CentOS,它可以通过 fail2ban 完成(我已经做过)。但是我不能对 Tomcat 节点做同样的事情——jelastic 没有为 root 用户提供密码,也没有办法重置/更改这个密码。

之前我为Tomcat的用户配置了非常安全的密码并配置了

<Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
         resources under the key "UserDatabase".  Any edits
         that are performed against this UserDatabase are immediately
         available for use by the Realm.  -->
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
           resourceName="UserDatabase"/>
  </Realm>

但它只保护 Tomcat 内的应用程序。

所以我的问题是:

  1. 配置 LockOutRealm 是否足以保护 Tomcat 免受暴力破解?
  2. 无论如何 LockOutRealm 不保护 SSH 端口。如何保护 Tomcat 节点上的 SSH?
  3. Jelastic 是否提供“开箱即用”的反暴力破解保护?

【问题讨论】:

    标签: java security tomcat ssh jelastic


    【解决方案1】:

    最好的选择是在您的 Tomcat 节点上安装 fail2ban,并根据我们的official documentation 配置防火墙规则。 但要执行此操作,您应该具有 root 权限。请联系您的托管服务提供商的支持人员,以便他们为您提供容器的 SSH 根访问权限。

    【讨论】:

    • 感谢您的回答 - 实际上我期待类似的解决方案 :) 将联系支持!
    【解决方案2】:

    无论如何,LockOutRealm 不保护 SSH 端口。如何保护 Tomcat 节点上的 SSH?

    根据您的托管服务提供商,SSH 通常应默认设置防火墙。如果没有,您可以按照https://docs.jelastic.com/setting-custom-firewall 中的说明自行设置防火墙

    (基本上在/etc/sysconfig/iptables-custom中设置自定义防火墙规则,然后运行sudo /usr/bin/jem firewall fwstart)。

    【讨论】:

    • Tomcat 节点可通过 SSH 访问,但它不受 fail2ban 保护(不确定 iptables)。同时,Jelastic 没有像 VPS 那样提供 root 密码。并且没有重置此密码的功能(正如我在主题中描述的那样)。我虽然有一些解决方法可以获得 root 访问权限,但根据 Jelastic(上图)的回答 - 只需要寻求支持。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多