1 背景
本文档是针对明珠商城在测试环境下,为了只让信任的IP访问指定的服务,减少系统的运行风险,为此引入了iptables服务进行防护。Jboss本身的安全问题也要做些处理,比如对外屏蔽jboss其他(除8080)众多端口,把控制台等模块服务给移除等方式,把安全漏洞降到最低。
2 应用服务器的安全配置
2.1 Linux防火墙配置
设置环境:
服务器 |
IP地址 |
描述 |
服务端 |
192.168.145.128 |
被保护的应用服务器 |
客户端A |
192.168.145.129 |
不被信任的客户端 |
客户端B |
192.168.145.1 |
信任的客户端 |
示意图:
设置防火墙步骤:
#清除现有规则
iptables –F
#设置默认策略,默认关闭进入应用服务器的所有数据包链路
iptables-P INPUT DROP
iptables-P OUTPUT ACCEPT
iptables-P FORWARD ACCEPT
#设置可信任IP或端口
iptables -AINPUT -p tcp --dport 22 -j ACCEPT
iptables-A INPUT -s 192.168.145.1 -p tcp --dport8080 -j ACCEPT
#把设置保持至/etc/sysconfig/iptables,以后防火墙重启也不会失效
/etc/rc.d/init.d/iptablessave
2.2 JBoss中间件的安全配置
Jboss默认安装时,为了管理配置方便,很多服务都给默认安装上了,比如Tomcatstatus (full) (XML)、JMX Console 、JBoss Web Console 等管理服务,这些服务给人带来调试、配置方便的同时,也给系统带来了严重的安全隐患。为了减少jboss服务被恶意攻击,除了做好iptables安全防护外,jboss本身的很多服务也要减少被攻击机会,通常有两种做法,一是引入apache服务,让所有请求通过apache转发,把jboss服务隐藏在后端,减少直接被攻击的风险;二是不用apache,而是直接把jboss的相关服务给卸载掉,把这些安全漏洞直接堵死。
2.2.1 方法一:通过Apache进行服务转发
要实现apache转发jboss服务,需集成mod_jk或是mod_proxy其中一个模块,这两个模块都可以做负载均衡和代理服务。mod_jk性能好些但相对而言配置量大些,而mod_proxy配置简单但性能稍差,其版本不断更新,正在不断完善中。另外需注意的是如果要通过apache转发服务,隐藏jboss细节的话,前提条件是apache服务与jboss应用不能部署在同一台服务器上,这里以mod_jk集成为例进行配置介绍。
2.2.1.1 安装apache服务
安装linux是自带,这里就不介绍
2.2.1.2 安装mod_jk模块
1).源码安装