打造安详的Tomcat处事器
副标题#e#
tomcat是一个开源Web处事器,基于Tomcat的Web运行效率高,可以在一般的硬件平台上流通运行,因此,颇受Web站长的青睐。不外,在默认设置下其存在必然的安详隐患,可被恶意进攻。别的,由于其成果较量纯真需要我们进一步地举办配置。
情况描写
OS:Windows Server 2003
IP:192.168.1.12
Tomcat:6.0.18
1、安详测试
(1).登录靠山
在Windows Server 2003上陈设Tomcat,一切保持默认。然后登录Tomcat靠山,其默认的靠山地点为:
http://192.168.1.12:8080/manager/html。在欣赏器中输入该地点,回车后弹出登录对话框,输入默认的用户名admin,默认的暗码为空,乐成登录靠山。(图1)
(2).得到Webshell
在Tomcat的靠山有个WAR file to deploy模块,通过其可以上传WAR文件。Tomcat可以理会WAR文件,可以或许将其解压并生成web文件。我们将一个jsp名目标webshell 用WinRar打包然后将其后缀更名为WAR(本例为gslw.war),这样;一个WAR包就生成了。最后将其上传随处事器,可以看到在Tomcat的靠山中多了一个名为/gslw的目次,点击该目次打开该目次jsp木马就运行了,这样就得到了一个Webshell。(图2)
#p#副标题#e#
(3).测试操纵
建设<打点员
Tomcat处事默认是以system权限运行的,因此该jsp木马就担任了其权限,险些可以对Web处事器举办所有的操纵。好比启动处事、删除/建设 /修改文件、建设用户。我们以建设打点员用户为例举办演示。运行jsp木马的“呼吁行”模块,别离输入呼吁net user test test168 /add和net localgroup administrators test /add,这样就建设了一个具有打点员权限的test用户,其暗码为test168。(图3)
长途登录
我们还可以进一步地渗透,好比通过“长途桌面”登录Web处事器。输入呼吁netstat -ano查察该处事器的3389端口是封锁的。我们可以操作webshell上传一个东西,操作其开启Web处事器的长途桌面。最后,我们就可以乐成登录系统,至此整个Web沦亡。(图4)
2、安详防御
通过上面的测试可以看到,默认设置下的Tomcat处事器的安详性长短常差的。如何来加固Tomcat处事器的安详性呢?我们从以下几个方面来增强。
(1).处事降权
默认安装时Tomcat是以系统处事权限运行的,因此缺省环境下险些所有的Web处事器的打点员都具有Administrator权限这和IIS差异,存在极大的安详隐患,所以我们的安详配置首先从Tomcat处事降权开始。
首先建设一个普通用户,为其配置暗码,将其暗码计策配置为“暗码永不外期”,好比我们建设的用户为Tomcat_lw。然后修改Tomcat安装文件夹的会见权限,为Tomcat_lw赋予Tomcat文件夹的读、写、执行的会见权限,赋予Tomcat_lw对WebApps文件夹的只读会见权限,假如某些Web应用措施需要写会见权限,单独为其授予对谁人文件夹的写会见权限。(图5)
“开始→运行”,输入services.msc打开处事打点器,找到Apache Tomcat处事,双击打开该处事,在其实属性窗口中点击“登录”选项卡,在登录身份下选中“以此帐户”,然后在文本框中输入Tomcat_lw和暗码,最后“确定”并重启处事器。这样Tomcat就以Tomcat_lw这个普通用户的权限运行。(图6)
有的时候,我们需要在呼吁行下运行Tomcat,这时候可以在呼吁下输入呼吁runas /user:tomcat_lw cmd.exe回车后并输入暗码,这样就开启一个Tomcat_lw权限的呼吁行。最后定位到Tomcat的bin文件夹下,输入呼吁 tomcat6.exe即以Tomcat_lw在呼吁行下启动Tomcat。(图7)
这样普通用户Tomcat_lw运行的Tomcat其权限就大大地低落了,就算是进攻者得到了Webshell也不能进一步深入,从而威胁web处事器的安详。
(2).变动端口
Tomcat的默认端口是8080,进攻者可以据此运行扫描东西举办端口扫描,从而获取陈设了Tomcat的Web处事器然后实施进攻。因此,为了安详期间我们可以修改此默认端口。在Tomcat的安装路径的conf目次下找到server.xml文件,用记事本打开然后搜索8080找到对应的字段,然后将8080自行修改为别的的数字。别的,需要说明的是connectionTimeout="20000"是毗连超时,maxThreads="150"是最大线程雷同这样的参数也可以按照需要举办修改。(图8)
(3).克制列表
#p#分页标题#e#
我们知道在IIS中假如配置不妥,就会列出Web当前目次中的所有文件,在Tomcat也不破例。假如欣赏者可以在客户端欣赏Web目次,那将会存在较大的安详隐患,因此我们要确认Tomcat的配置中克制列目次。配置文件是web.xml,也在conf目次下。用记事本打开该文件,搜索init-param在其四周找到雷同如下字段:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
确认是false而不是true。(图9)
(4).用户打点
Tomcat的靠山打点员为admin而且默认为空暗码,安详期间我们需要修改该默认的用户名并为其配置结实的暗码。其设置文件为tomcat- users.xml,用记事本打开该文件然后举办修改。个中role标签暗示其权限,manager说明是打点员权限;user标签暗示靠山打点用户,可以看到用户名为admin,我们可以将其修改为一个生疏的用户;可以看到password后头为空暗码,我们可觉得其配置一个巨大的暗码。最后修改设置完成的tomcat-users.xml文件为:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="gslw" password="test168" roles="admin,manager"/>
</tomcat-users>
(图10)
(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中指定其路径,最后的结果如图11所示。(图11)
总结:Tomcat差异于IIS,其设置没有图形界面,而是通过修改设置文件来完成的。不外,正因为如此用户有更多的自主性,可以按照本身的需要举办扩展。并且其与Apache可以无缝团结,打造安详、强大的Web处事器。