作者China-Linux

Tomcat是一个开源的Web服务器,基于tomcat的web运行效率高,因为,颇受web站长的青睐,

不过,在默认的配置下,其存在一定的安全隐患,.可被恶意攻击,.另外,其功能比较单纯,需要我们进一步的进行配置,本次将从安全和功能两方面谈谈基于Tomcat的Web服务器的部署.,

希望对大家有帮助.

OS: Windows Server 2003

IP : 125.42.207.94

Tomcat :apache-tomcat-6.0.18

1.安全测试

(1)登陆后台

(2)在Windows Server 2003 上部署Tomcat,一切保持默认。部署Tomcat的时候要记得安装JDK以及配置JDK环境。JDK的安装配置不在本节赘述。然后登陆Tomcat后台。其缺省的后台是:

http://125.42.207.94:8080/manager/html

在浏览器输入该地址,回车后弹出登录框,输入缺省的用户名admin 缺省密码为空,成功登陆后台 如图(1)

clip_image001

(2).获得Webshell

(3)在Tomcat的后台有个WAR file to deploy模块,

通过此模块我们可以上传war文件(不是rar),Tomcat可以解析WAR文件,能够将其解压成

Web文件,我们将一个jsp的shell用rar打包,该后缀为(本例为shell.war),将其上传到服务器,可以看到在Tomcat后台多了个shell的目录. 如图2

clip_image002

这样一个shell就成功获取了. 如图

clip_image003

(3).测试操作

(4)创建管理员

(5)Tomcat服务缺省是以System权限运行的,因为改jsp木马就继承了

该权限,几乎可以对Web服务器进行所有的操作。比如启动服务、删除/创建 /修改文件、创建用户。我们以创建管理员用户为例进行演示。运行jsp木马的“命令行”模块,

分别输入net user xiaomei 12345 /add   net localgroup administrators xiaomei /add

这样就创建一个管理员权限的xiaomei用户,如图 4 如图5

clip_image004

clip_image005

远程登陆

我们还可以进一步的渗透,比如通过3389.

我们可以上传一个vbs的脚本,运行.然后帮对方打开3389.其霸占服务器.

如图 6

clip_image006

2.

安全防范

通过上面的测试我们可以看到,缺省情况下的Tomcat服务器安全性是非常差的.

如何来加固Tomcat服务器的安全性呢?我们从一下几个方面来加强.

(1)服务降权

缺省安装时Tomcat是以系统服务权限运行的,因此缺省情况下几乎所有的Web服务器的管理员都具有administrator权限.这和iis不同. 存在极大的安全隐患,所以我们的安全设置首先要从Tomcat服务降权开始.

首先创建一个普通用户,为其设置密码.将密码策略设置为"密码永不过期",比如我创建的是

Tomcat_xm. Ranhou xiugai Tomcat安装文件夹的访问权限,为Tomcat_xm赋予Tomcat文件夹的读。写。执行的访问权限,赋予Tomcat_xm对webapps文件夹的只读访问权限,如果某些web应用程序需要写访问权限,单独为其授予那个文件夹的写访问权限。

如图7

clip_image007

开始----运行,输入services.msc打开服务管理器,找到apache tomcat服务,

在其属性窗口点击“登陆”选项卡,在登陆身份下选中“以此帐户”,然后在文本框

输入tomcat_xm和密码,最后确定,并重启服务器。这样Tomcat就已Tomcat_xm这个普通用户的权限运行了。

如图8

clip_image008

(1) 更改端口

Tomcat默认端口是8080,攻击者可以运行扫描工具进行端口扫描,

从而获取部署了Tomcat的web服务器然后实施攻击。因为,为了安全期间我们可以修改此缺省端口。在Tomcat的安装路径的conf找到server.xml文件,用记事本打开,搜索8080的字段进行修改.

如图9

clip_image009

另外,需要说明的是connectionTimeout=”20000″是连接超 时,maxThreads=”150″是最大线程类似这样的参数也可以根据需要进行修改。

(2) 禁止列目录

我们知道在iis中如果设置不当,就会列出web当前目录的所有文件,在Tomcat也不例外,

如果浏览者可以在客户端浏览web目录,那将会有较大的安全隐患,因为我们要确认Tomcat的设置禁止列目录,设置文件是web.xml  搜索init-param在其附近找到类似的字段:

<init-param>

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

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

</init-param>

确认是false而不是true.

如图10

clip_image010

(3) 用户管理

(4) Tomcat的后台为admin并且缺省为空密码,安全起见我们需要修改缺省的用户名,并为其设置强壮的密码.其配置文件为 tomcat-users.xml ,用记事本打开文件进行修改。其中role标签表示权限,manager说明是管理员权限。 User 标签表示后台管理用户,可以看到用户名为admin 我们可以修改一个陌生的用户,可以看到password后面为空密码,我们可以设置可以强大的密码。最后修改完成的配置文件为:

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>

  <role rolename="manager"/>

  <role rolename="admin"/>

  <user username="hacker" password="hacker520" roles="admin,manager"/>

</tomcat-users>

如图11

clip_image011

(4)错误页面

(5)Tomcat不像iis提供了各种了各种类型的错误页,如果Tomcat发生错误就会显示千篇一律的错误页面。其实我们可以修改其配置文件,从而自定义设置其错误页面的显示。打开web.xml,在最后一行的之前添加如下的语句:

<error-page>

<error-code>401</error-code>

<location>/401.htm</location>

</error-page>

<error-page>

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

<location>/404.htm</location>

</error-page>

<error-page>

<error-code>500</error-code>

<location>/500.htm</location>

</error-page>

当然,仅仅设置这样的语句还不行,需要创建相应的401.htm、404.htm、500.htm这样的文件才行。另外,要把错误页面文件放到webapps  manager目录中,否则需要在web.xml中指定其路径。

总结:

总结:Tomcat不同于IIS,其配置没有图形界面,而是通过修改配置文件来完成的。不过,正因为如此用户有更多的自主性,可以根据自己的需要进行扩展。而且其与Apache可以无缝结合,打造安全、强大的Web服务器。

源链接

Hacking more

...