Tomcat服务器之安全设置

tomcat是一个开源Web服务器,基于Tomcat的Web运行效率高,能够在通常的硬件平台上流畅运行,所以,颇受Web站长的青睐。不过,在默认配置下其存在必定的安全隐患,可被恶意攻击。另外,因为其功能比较单纯须要咱们进一步地进行设置。本机将从安全和功能两方面谈谈基于Tomcat的Web服务器的部署,但愿对你们有所帮助。
  环境描述
  OS:Windows Server 2003
  IP:192.168.1.12
  Tomcat:6.0.18
  一、安全测试
  (1).登陆后台
  在Windows Server 2003上部署Tomcat,一切保持默认。而后登陆Tomcat后台,其默认的后台地址为:

  http://192.168.1.12:8080/manager/html。在浏览器中输入该地址,回车后弹出登陆对话框,输入默认的用户名admin,默认的密码为空,成功登陆后台。 
      
  (2).得到Webshell
  在Tomcat的后台有个WAR file to deploy模块,经过其能够上传WAR文件。Tomcat能够解析WAR文件,可以将其解压并生成web文件。咱们将一个jsp格式的webshell用WinRar打包而后将其后缀更名为WAR(本例为gslw.war),这样;一个WAR包就生成了。最后将其上传到服务器,能够看到在Tomcat的后台中多了一个名为/gslw的目录,点击该目录打开该目录jsp木马就运行了,这样就得到了一个Webshell。
      
  (3).测试操做
  建立管理员

  Tomcat服务默认是以system权限运行的,所以该jsp木马就继承了其权限,几乎能够对Web服务器进行全部的操做。好比启动服务、删除/建立/修改文件、建立用户。咱们以建立管理员用户为例进行演示。运行jsp木马的“命令行”模块,分别输入命令net user test test168 /add和net localgroup administrators test /add,这样就建立了一个具备管理员权限的test用户,其密码为test168。
      
  远程登陆
  咱们还能够进一步地渗透,好比经过“远程桌面”登陆Web服务器。输入命令netstat -ano查看该服务器的3389端口是关闭的。咱们能够利用webshell上传一个工具,利用其开启Web服务器的远程桌面。最后,咱们就能够成功登陆系统,至此整个Web沦陷。
      
   html

二、安全防范
  经过上面的测试能够看到,默认配置下的Tomcat服务器的安全性是很是差的。如何来加固Tomcat服务器的安全性呢?咱们从如下几个方面来增强。

  (1).服务降权
  默认安装时Tomcat是以系统服务权限运行的,所以缺省状况下几乎全部的Web服务器的管理员都具备Administrator权限这和IIS不一样,存在极大的安全隐患,因此咱们的安全设置首先从Tomcat服务降权开始。

  首先建立一个普通用户,为其设置密码,将其密码策略设置为“密码永不过时”,好比咱们建立的用户为Tom。 web

一、新建一个tomcat管理用户:







二、给tomcat 用户启动tomcat服务:





shell

而后修改Tomcat安装文件夹的访问权限,为Tomcat_lw赋予Tomcat文件夹的读、写、执行的访问权限,赋予Tomcat_lw对WebApps文件夹的只读访问权限,若是某些Web应用程序须要写访问权限,单独为其授予对那个文件夹的写访问权限。
      
  “开始→运行”,输入services.msc打开服务管理器,找到Apache Tomcat服务,双击打开该服务,在其实属性窗口中点击“登陆”选项卡,在登陆身份下选中“以此账户”,而后在文本框中输入Tomcat_lw和密码,最后“肯定”并重启服务器。这样Tomcat就以Tomcat_lw这个普通用户的权限运行。
      
  有的时候,咱们须要在命令行下运行Tomcat,这时候能够在命令下输入命令runas /user:tomcat_lw cmd.exe回车后并输入密码,这样就开启一个Tomcat_lw权限的命令行。最后定位到Tomcat的bin文件夹下,输入命令tomcat6.exe即以Tomcat_lw在命令行下启动Tomcat。
      
  这样普通用户Tomcat_lw运行的Tomcat其权限就大大地下降了,就算是攻击者得到了Webshell也不能进一步深刻,从而威胁web服务器的安全。
  (2).更改端口
  Tomcat的默认端口是8080,攻击者能够据此运行扫描工具进行端口扫描,从而获取部署了Tomcat的Web服务器而后实施攻击。所以,为了安全期间咱们能够修改此默认端口。在Tomcat的安装路径的conf目录下找到server.xml文件,用记事本打开而后搜索8080找到对应的字段,而后将8080自行修改成另外的数字。另外,须要说明的是connectionTimeout="20000"是链接超时,maxThreads="150"是最大线程相似这样的参数也能够根据须要进行修改。

      
  (3).禁止列表
  咱们知道在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。
      
  (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> 
     
  (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服务器。 浏览器

相关文章
相关标签/搜索