当发现我管理的web项目的目录下多了几个不认识的文件后,意识到系统可能受到攻击了,文件如下图:
红框里的就是可疑文件.
此文仅当工作笔记,如各位网友发现以上的做法有什么不妥的地方,还请多多指点,谢谢
然后查了一下数据库的系统登录记录,发现在SQL注入的记录.
用编辑器打开后,看到了一些类似于webshell的代码
随后,到网上搜索了一些关于TOMCAT的攻击和防御的方法,然后对工时系统的服务器做了如下工作:
1.更改登录的ACTION,防止通过外网使用简单的密码登录:例如123456,对于输入错误6次密码的IP进行延时允许登录,并成阶梯式增长:例如:超过6次错误登录,则延时15分钟,如再错4次则变成延时30分钟,如
再错5次,则延时1小时,依此类
推,另外,对于尝试登录每次间隔如果小于2秒者禁止登录.
2.
过虑用户名和密码中包含:单引号',等号=,星号*,百分号% 等字符,防止SQL注入,当然ibatis已对此做了防范.
3.对登录前和登录成功后做保存,可以方便查询系统是否受到攻击,是否被攻击登录成功
4.修改默认的系统端口:8080改为其它端口号,防止黑客专门扫描8080的网站,
5.
删除tomcat自带的管理工具和代码:tomcat_manager,tomcat_exaples,tomcat_docs,tomcat_manager,以及其它无用的项目
6.立即删除多余的WINDOWS服务器的帐号
.增加专用于启动TOMCAT的专用帐号:admin11,删除此帐号在其他组的权限,dos命令如下:
net user admin11 "mypassword" /add
net localgroup users admin11 /del
以tomcat_admin用户运行startup.bat,方法如下:
runas /user:admin11 cmd.exe
看到提示输入密码时,输入密码,回车后经验证成功后就进入了以admin11用户运行的cmd
这时用cd命令使用当前登录移到tomcat的bin目录下,然后运行startup.bat.这样就搞定了.
如果是以服务形式启动的则在服务的属性里更改登录用户为admin11,然后重启tomcat服务.
7.设置TOMCAT的根目录为admin11完全控制,webapps的项目使用移到另外新建的目录tomcatWebapps中.对server.xml进行相关配置
8.把默认的logs的日志目录移到其它单独的目录中,指定只有管理员和admin11有读写权限
9.把web项目的目录中的文件彻底删除,重新部属.
10.搜索与病毒相同修改日间的文件,对于不认识的或有可能是病毒的删除
11.查看启动项和计划任务,服务中是否有未知的或有可能是病毒的进行删除或禁止运行.
12.查对正运行的进程是否是病毒,若有可疑程序则停止或删除
13.修改server.xml中的8005的关闭tomcat的'shutdown'为其它命令字符串
14.在server.xml中关闭没有用到的8009端口
15.在系统的拦截器里增加对登录的JSESSIONID的来源进行判断,如果是来自URL的则是非法用户使用模拟JSESSIONID进行模拟登录,用到的判断语句为:
request.isRequestedSessionIdFromUrl()
正常的用户访问的值是false,否则是true
此文仅当工作笔记,如各位网友发现以上的做法有什么不妥的地方,还请多多指点,谢谢