Web中间件之Apache Tomcat

中间件定义

中间件定义:中间件是一类连接软件组件和应用的计算机技软件,包括一组服务,以便运行在一台或多台机器上的多个软件进行交互。所提供互操作性,推动了分布式体系架构,该架构常用于支持并简化复杂的分布式应用程序,包括web服务器,事务监控器,消息队列软件

常见WEB中间件

开源web中间件

Apache httpd        JBOSS         Jetty        JTomcat         Nginx

商业web中间件

Websphere            Weblogic              IIS

Apache

Apache httpd常用命令

service httpd start 开启服务

service httpd stop 停止服务

service httpd trestart 重启服务

http -v 查看应用服务版本

service httpd status 查看服务运行状态

ps -ef | grep httpd查看w服务对应的进程

httpd -s 查看服务信息

Apache httpd服务相关文件

/etc/httpd/conf/httpd.conf    Apache的主配置文件

/usr/lib64/httpd/modules/      Apache模块存放路径

/var/www/html                        网站默认根目录

/var/www/cgi-bin/                   可执行的CGI程序存放目录

/var/log/httpd/                         Apache日志目录

Apache httpd 常用安全配置

--合理控制Apache运行账户的权限

新建Apache用户组及Apache用户来运行Apache httpd服务

--严格控制主目录、配置文件及日志文件的访问权限

设置文件上传目录为不可执行

设置主目录权限为非属主不可执行

设置配置文件为仅属主可读写,如chmod 600 /etc/httpd/conf/httpd.conf

设置日志文件为仅属主可写, 如chmod 644 /var/ log/httpd/*.log

--在httpd.conf中配置相关日志

错误日志

访问日志

--禁止目录列出

修改Options Indexe FollowSymlinks 为 Options FollowSymlinks

--错误页面重定向

设置400的错误页面ErrorDocument 400 /custom400.html

--设置合理session时间

修改Timeout、KeepAlive、KeepAliveTimeout的值

--隐藏Apache httpd版本号

ServerSignature Off Server Tokens Prod

--关闭TRECE功能

TraceEnable Off

--禁用CGI

注释CGI相关模块

--绑定监听地址

listen x.x.x.x:80

--禁用非法的HTTP方法

添加配置

<Location />

<LimitExcept GET POST CONNECT OPTIONS>

    Order Allow,Deny

    Deny from all

</LimitExcept>

<Location>

Apache http常见漏洞

换行解析漏洞

漏洞编号:CVE-2017-15715

漏洞影响版本Apache httpd  v2.4.0-v2.4.29

漏洞描述:在解析PHP时,xx.php\x0A将被按照php后缀进行解析,可绕过一些安全策略

多后缀解析漏洞

漏洞编号:CVE-2017-15715

漏洞描述:Apache httpd支持一个文件有多个后缀,像xxx.php.jpg。如果Apache配置文件(Apache/conf/httpd.conf)中国存在如下代码:AddHAndler application/x-httpd-php.php。当文件中存在.php时该文件就会被解析为php文件。

目录遍历漏洞

漏洞编号:CVE-2021-41773

漏洞影响版本Apache httpd v2.4.29

漏洞描述:在Apache httpd v2.4.9中引入了ap_normalize_path 函数对路径进行规范时先进性URL解码,判断是否存在.../的路径穿越符,若检测到路径中存在%时,后面2个字符是16进制字符,便会进行URL解码。可以构造curl -v --path-as-is http://像.x.x.x.x:8080/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd进行利用。

还有很多其他漏洞,不再描述。

Tomcat

Tomcat常用命令

service tomcat start 开启服务

service tomcat stop 停止服务

service tomcat restart 重启服务

service tomcat status 查看服务运行状态

ps -ef | grep tomcat  查看服务对应的进程

Tomcat相关服务文件

/bin   tomcat  执行脚本的目录

/conf   tomcat 配置文件目录

/lib   tomcat 运行需要的库文件

/logs   tomcat 执行文件的log文件

/temp   tomcat 临时文件存放目录

/webapps   tomcat的主要web发布目录

/work   tomcat的工作目录,存放.java,.class等文件

--bin目录下的相关文件

cataline.sh   用于启动和关闭tomcat服务器

configtest.sh 用于检查配置文件

startup.sh 启动tomcat脚本

shutdown.sh  关闭tomcat脚本

--conf目录下的重要文件

server.xml   tomcat全局配置文件

web.xml   为不同tomcat配置的web应用设置缺省值的文件

tomcat-user.xml   tomcat用户认证的配置文件

Tomcat常用安全配置

--开启tomcat的访问日志

在conf/server.xml开启日志记录

--tomcat默认账户的安全性

在conf/tomcat-user.xml注释默认用户或修改默认用户的密码为强密码

--重定向错误页面

在conf/web.xml中加入下面代码可定义404的错误页面,错误页面放置于工程根目录下,其他页面也可以。

<error-page>

         <error-code>404</error-code>

         <location>error.html</location>

</error-page>

--禁止列出目录

修改conf/web.xml文件(把listings的参数改为false)

<init-param>

         <param-name>listings</param-name>

         <param-value>false</param-value>

</init-param>

--删除文档和示例程序

将webapps目录下的docs、examples等不需要的初始文件删除。

Tomcat常见漏洞

远程代码执行

漏洞编号:CVE-2020-1938

漏洞影响版本:

apache tomcat 6

apache tomcat 7    <7.0.100

apache tomcat 8    <8.5.51

Apache tomcat 9    <9.0.31

漏洞描述:tomcat默认开启AJP服务(8009端口),存在一处文件包含缺陷,攻击者可构造恶意请求包进行文件包含,进而读取受影响tomcat服务器上web目录文件,攻击者可以读取任意webapps文件(配置文件,源代码等)或包括一个文件来执行代码。

弱口令+war包后门部署

漏洞影响版本:全版本

漏洞介绍:tomcat可通过web界面进行war包部署,若部署界面存在弱口令,攻击者便可通过此功能上传带有webshell功能的war包。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凉城木槿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值