一、前言
java项目在开发环境开发完成,在测试环境测试没有问题后,就需要发布到生产环境,如果系统是对公众的,那就需要很多工作了。比如服务器申请,域名申请,渗透测试,漏洞扫描,公网IP,负载均衡slb,CDN等等。本文介绍java项目上线到生产环境的一些准备工作。
二、相关概念介绍
1、云服务器:
现在部署一般都使用云服务部署,云服务器(Elastic Compute Service, ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。
云服务器帮助您快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本,使您能够更专注于核心业务的创新。
2、域名申请:
a、准备申请资料:com域名无需提供身份证、营业执照等资料,cn域名已开放个人申请注册,所以申请则需要提供身份证或企业营业执照。
b、寻找域名注册网站,由于.com、.cn域名等不同后缀均属于不同注册管理机构所管理,如要注册不同后缀域名则需要从注册管理机构寻找经过其授权的顶级域名注册服务机构。如com域名的管理机构为ICANN,cn域名的管理机构为CNNIC(中国互联网络信息中心)。若注册商已经通过ICANN、CNNIC双重认证,则无需分别到其他注册服务机构申请域名。
c、查询域名:在注册商网站注册用户名成功后并查询域名,例如:到纵横数据官网www.zoneidc.com注册会员,选择您要注册的域名,并点击注册。
d、正式申请:查到想要注册的域名,并且确认域名为可申请的状态后,提交注册,并缴纳年费。
e、申请成功:正式申请成功后,即可开始进入DNS解析管理、设置解析记录等操作。
3、渗透测试:
渗透测试,是一项在计算机系统上进行的授权模拟攻击,旨在对其安全性进行评估,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。
4、漏洞扫描:
漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测的行为。
漏洞扫描器包括网络漏扫、主机漏扫、数据库漏扫等不同种类。
5、公网IP
广域网IP是指以公网连接Internet上的非保留地址。广域网、局域网是两种Internet的接入方式,广域网的计算机和Internet上的其他计算机可随意互相访问。
ip地址分类:
A类:1.0.0.0 到 127.255.255.255主要分配 给大量主机而局域网网络数量较少的大型网络
B类:128.0.0.0 到191.255.255.255 一般用于国际性大公司和政府机构
C类:192.0.0.0 到223.255.255.255 用于一般小公司校园网研究机构等
D类:224.0.0.0 到 239.255.255.255 用于特殊用途,又称做组播地址
E类:240.0.0.0 到255.255.255.255 暂时保留
6、负载均衡slb:
服务器负载均衡(Server Load Balancing),可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡。
虚拟服务器代表的是多个真实服务器的群集,
客户端向虚拟服务器发起连接时,通过某种负载均衡算法,转发到某真实服务器。
负载均衡算法有两种:
Weighted round robin(WRR)和Weighted least connections(WLC),
WRR使用加权轮询算法分配连接,WLC通过一定的权值,将下一个连接分配给活动连接数少的服务器。
配置分为两部分,
第一部分是使用slb serverfarm serverfarm_name命令定义SLB选项,包括指定真实服务器地址;
第二部分是使用ip slb vserver virtual_server-name来指定虚拟服务器地址。
7、CDN(内容分发):
CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
三、具体实施步骤
1、云服务环境安装
2、应用安装
3、申请渗透测试和漏洞扫描
4、配置域名和负载均衡,配置防火墙策略
5、配置CDN
四、常见漏洞
1、XSS(跨站脚本攻击)
XSS攻击是指攻击者向网页注入恶意代码,使用户在访问该网页时,恶意代码会执行,从而盗取用户信息。Java应用中的XSS漏洞主要出现在用户输入的内容缺少过滤或编码的情况下,例如在页面显示用户提交的评论、文章等内容。
2、SQL注入:
SQL注入是指攻击者通过向应用程序的输入字段注入特殊字符(如引号、分号等),从而被用于SQL语句中,从而达到破坏数据库的目的。
3、文件上传漏洞
文件上传漏洞是指攻击者利用应用程序开放的文件上传功能,上传恶意文件并在服务器上执行,从而破坏服务器的安全。为防止文件上传漏洞,应执行以下措施
- 限制文件上传类型和大小;
- 对上传的文件进行安全检查;
- 将上传的文件保存在安全、不可访问的目录中;
- 使用随机文件名而不是原文件名;
- 限制上传文件的权限