zoukankan      html  css  js  c++  java
  • 阿里云Tomcat服务安全加固

    更新时间: 2017-10-17

    Tomcat服务默认启用了管理后台功能,使用该后台可直接上传 war 文件包对站点进行部署和管理。由于运维人员的疏忽,可能导致管理后台存在空口令或者弱口令的漏洞,使得黑客或者不法分子可以利用该漏洞直接上传 Webshell 脚本导致服务器沦陷。

    通常 Tomcat 后台管理的 URL 地址为 http://iP:8080/manager/html/, 如下图所示:

    tomcat

    黑客通过猜解到的口令登录 Tomcat 管理后台后,可以上传 Webshell 脚本导致服务器被入侵。

    安全加固方案

    由于此类型漏洞可能对业务系统造成比较严重的危害,建议您针对 Tomcat 管理后台进行以下安全加固配置。

    1. 网络访问控制

    • 如果您的业务不需要使用 Tomcat 管理后台管理业务代码,建议您使用安全组防火墙功能对管理后台 URL 地址进行拦截,或直接将 Tomcat 部署目录中 webapps 文件夹中的 manager、host-manager 文件夹全部删除,并注释 Tomcat 目录中 conf 文件夹中的 tomcat-users.xml 文件中的所有代码。

    • 如果您的业务系统确实需要使用 Tomcat 管理后台进行业务代码的发布和管理,建议为 Tomcat 管理后台配置强口令,并修改默认 admin 用户,且密码长度不低于10位,必须包含大写字母、特殊符号、数字组合。

    2. 开启 Tomcat 的访问日志

    修改 conf/server.xml 文件,将下列代码取消注释:

    1. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
    2. prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>

    启用访问日志功能,重启 Tomcat 服务后,在 tomcat_home/logs 文件夹中就可以看到访问日志。

    3. Tomcat 默认帐号安全

    修改 Tomcat 安装目录 conf 下的 tomcat-user.xml 文件,重新设置复杂口令并保存文件。重启 Tomcat 服务后,新口令即生效。

    4. 修改默认访问端口

    修改 conf/server.xml 文件把默认的 8080 访问端口改成其它端口。

    5. 重定向错误页面

    修改访问 Tomcat 错误页面的返回信息,在 webappsmanger 目录中创建相应的401.html、404.htm、500.htm 文件,然后在 conf/web.xml 文件的最后一行之前添加下列代码:

    1. <error-page>
    2. <error-code>401</error-code>
    3. <location>/401.htm</location>
    4. </error-page>
    5. <error-page>
    6. <error-code>404</error-code>
    7. <location>/404.htm</location>
    8. </error-page>
    9. <error-page>
    10. <error-code>500</error-code>
    11. <location>/500.htm</location>
    12. </error-page>

    6. 禁止列出目录

    防止直接访问目录时由于找不到默认页面,而列出目录下的文件的情况。

    在 web.xml 文件中,将<param-name>listings</param-name>改成<param-name>false</param-name>

    7. 删除文档和示例程序

    删除 webapps 目录下的 docs、examples、manager、ROOT、host-manager 文件夹。

    转自:https://www.alibabacloud.com/help/zh/faq-detail/37421.htm?spm=a2c63.q38357.a3.2.2ee452eayqSICw

  • 相关阅读:
    JavaScript对原始数据类型的拆装箱操作
    Javascript继承(原始写法,非es6 class)
    动态作用域与词法作用域
    自行车的保养
    探索JS引擎工作原理 (转)
    C语言提高 (7) 第七天 回调函数 预处理函数DEBUG 动态链接库
    C语言提高 (6) 第六天 文件(续) 链表的操作
    C语言提高 (5) 第五天 结构体,结构体对齐 文件
    C语言提高 (4) 第四天 数组与数组作为参数时的数组指针
    C语言提高 (3) 第三天 二级指针的三种模型 栈上指针数组、栈上二维数组、堆上开辟空间
  • 原文地址:https://www.cnblogs.com/gs008/p/12401338.html
Copyright © 2011-2022 走看看