Skip to content

互联网公司-阿里云主机安全加固方案

互联网公司-阿里云主机安全加固方案

阿里云运维方案

1.1现有环境介绍

XX公司现有10人以上开发团队(开发+测试),现有Nginx服务器1台,Web服务器1台,Mongodb服务器2台(主从)+Mysql 5.6版本1台,Elasticsearch+2台(主从)+MQ(1台)+任务调度服务器1台,域名用的新网解析;已跟技术负责人做了详细沟通,现有资源已无法满足当前业务,现有架构缺点表现如下:

1.(开发+测试环境)不在本地,开发人员上传数据慢;

2.网站经常受攻击,数据经常被人爬虫;(没有防范);

3.缺乏有效的监控手段,出现问题无法及时报警,及时处理问题;

4.所有服务都是单点,一台服务器故障,所有服务都中断;

5.网络特别慢(只能等待)+tomcat访问丢失,日志无法分析;

6.数据安全无法保证;权限无法分类;

XX公司架构设计解决方案

1.2系统架构:

分析目前的情况,需要专业的运维团队来服务,需要7*24小时不间断的给客户提供服务,在这样的基础上,需要对现有架构进行升级优化,用阿里云的整体解决方案,此方案优势:阿里云结合云计算弹性计算的特点以及自己在互联网上的成功经验,规划了一整套完善的软件负载均衡解决方案,能更好的满足弹性计算平台负载均衡的需求,成功的解决了硬件负载均衡在达到性能上限后扩展性受限的问题。只需要订购软件的负载均衡设备,就可以轻松应对网络流量和数据量不断增长的场景。而且可以同时享受阿里云的安全解决方案,提供防DDOS攻击能力,不需要再购买入侵检测以及防火墙产品。系统架构图设计如下:

更新的后架构,此方案的好处低成本,高性能,具体体现在如下几个方面:

低成本:使用弹性负载均衡,成本很低,与传统硬件负载均衡设备的高投入相比成本能下降60%,

高可扩展:不论是ECS主机还是SLB负载均衡,企业均可以根据负载进行弹性扩展,在不中断业务系统,随时扩展新的资源。

安全性高:购买SLB就可以享受阿里云的安全解决方案,提供防DDOS攻击能力,不需要再购买入侵检测以及防火墙产品。

稳定性高:SLB采用的是全冗余设计,无单点,可用性高达99.99%,

展昭网络技术有限的数据库系统使用MySQL,版本5.7,目前使用的架构为MySQL单点,需要改成主从复制(Master-Slave),即Master-Slave架构;

优化监控,目前的监控报警机制,按照人员划分为二部分:

第一部分是运维人员,内部的运维人员根据所负责的系统划分,接收相应的应用及系统报警信息

第二部分是项目及应用的负责人及相关责任人,仅仅接收所在项目组的应用报警信息

按照告警事件划分为二级:

第一级是普通报警,主要是各个应用和项目组的应用报警,影响范围限制在该项目组内部

第二级是系统报警,主要是服务器系统报警信息,以及内部虚拟机的报警信息,影响范围不限于一个项目组

报警方式主要有短信,邮件,微信方式。

报警的处理方式,根据事件等级划分:

第一级的事件报警信息,相关责任人接收信息之后,10分钟内必须做出处理,根据技术难度,在30-60分钟内必须处理完毕

第二级的事件报警,运维人员在收到范围内的报警信息后,5分钟必须做出响应,根据处理的技术复杂度,在10-60分钟内处理完毕

告警记录的保存:

目前系统中的报警信息主要是通过zabbix监控平台发布,根据平台的设置,对应的监控项和服务器的报警信息会发送给对应的人员,监控的日志记录在该软件平台内部可查询,可分析。

建议优化开发环境,采购一台塔式dell服务器做虚拟化,

T430(4盘位3.5寸)冷电冷盘E5-2603v4 64G 1T SAS*2 DVD H330单电450W

建议系统安全加固,对CentOS 6.7跟Centos7.3安全加固及性能优化

我们可以通过调整系统参数来提高系统内存、CPU、内核资源的占用,通过禁用不必要的服务、端口,来提高系统的安全性,更好的发挥系统的可用性。通过自己对Linux了解,对系统调优做了如下小结。

经常玩Linux系统的朋友多多少少也知道些系统参数优化和怎样增强系统安全性,系统默认的一些参数都是比较保守的,所以我们可以通过调整系统参数来提高系统内存、CPU、内核资源的占用,通过禁用不必要的服务、端口,来提高系统的安全性,更好的发挥系统的可用性。通过自己对Linux了解,对系统调优做了如下小结:

操作系统:CentOS 6.8_x64最小化安装

1、主机名设置

[root localhost~]#vi/etc/sysconfig/network

HOSTNAME=test.com

[root localhost~]#hostname test.com#临时生效

2、关闭SELinux

[root localhost~]#vi/etc/selinux/config

SELINUX=disabled

[root localhost~]#setenforce#临时生效

[root localhost~]#getenforce#查看selinux状态

3、清空防火墙并设置规则

[root localhost~]#iptables-F#清楚防火墙规则

[root localhost~]#iptables-L#查看防火墙规则

[root localhost~]#iptables-A INPUT-p tcp–dport 80-j ACCEPT

[root localhost~]#iptables-A INPUT-p tcp–dport 22-j ACCEPT

[root localhost~]#iptables-A INPUT-p tcp–dport 53-j ACCEPT

[root localhost~]#iptables-A INPUT-p udp–dport 53-j ACCEPT

[root localhost~]#iptables-A INPUT-p udp–dport 123-j ACCEPT

[root localhost~]#iptables-A INPUT-p icmp-j ACCEPT

[root localhost~]#iptables-P INPUT DROP

[root localhost~]#/etc/init.d/iptables save

#根据需求开启相应端口

4、添加普通用户并进行sudo授权管理

[root localhost~]#useradd user

[root localhost~]#echo”123456″|passwd–stdin user#设置密码

[root localhost~]#vi/etc/sudoers#或visudo打开,添加user用户所有权限

root ALL=(ALL)ALL

user ALL=(ALL)ALL

5、禁用root远程登录

[root localhost~]#vi/etc/ssh/sshd_config

PermitRootLoginno

PermitEmptyPasswords no#禁止空密码登录

UseDNSno#关闭DNS查询

6、关闭不必要开机自启动服务

7、删除不必要的系统用户

8、关闭重启ctl-alt-delete组合键

[root localhost~]#vi/etc/init/control-alt-delete.conf

#exec/sbin/shutdown-r now”Control-Alt-Deletepressed”#注释掉

9、调整文件描述符大小

[root localhost~]#ulimit–n#默认是1024

1024

[root localhost~]#echo”ulimit-SHn 102400″>>/etc/rc.local#设置开机自动生效

10、去除系统相关信息

[root localhost~]#echo”Welcome to Server”>/etc/issue

[root localhost~]#echo”Welcome to Server”>/etc/redhat-release

11、修改history记录

[root localhost~]#vi/etc/profile#修改记录10个

HISTSIZE=10

12、同步系统时间

[root localhost~]#cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime#设置Shanghai时区

[root localhost~]#ntpdate cn.pool.ntp.org;hwclock–w#同步时间并写入blos硬件时间

[root localhost~]#crontab–e#设置任务计划每天零点同步一次

0****/usr/sbin/ntpdate cn.pool.ntp.org;hwclock-w

13、内核参数优化

[root localhost~]#vi/etc/sysctl.conf#末尾添加如下参数

net.ipv4.tcp_syncookies=1#1是开启SYN Cookies,当出现SYN等待队列溢出时,启用Cookies来处,理,可防范少量SYN攻击,默认是0关闭

net.ipv4.tcp_tw_reuse=1#1是开启重用,允许讲TIME_AIT sockets重新用于新的TCP连接,默认是0关闭

net.ipv4.tcp_tw_recycle=1#TCP失败重传次数,默认是15,减少次数可释放内核资源

net.ipv4.ip_local_port_range=4096 65000#应用程序可使用的端口范围

net.ipv4.tcp_max_tw_buckets=5000#系统同时保持TIME_WAIT套接字的最大数量,如果超出这个数字,TIME_WATI套接字将立刻被清除并打印警告信息,默认180000

net.ipv4.tcp_max_syn_backlog=4096#进入SYN宝的最大请求队列,默认是1024

net.core.netdev_max_backlog=10240#允许送到队列的数据包最大设备队列,默认300

net.core.somaxconn=2048#listen挂起请求的最大数量,默认128

net.core.wmem_default=8388608#发送缓存区大小的缺省值

net.core.rmem_default=8388608#接受套接字缓冲区大小的缺省值(以字节为单位)

net.core.rmem_max=16777216#最大接收缓冲区大小的最大值

net.core.wmem_max=16777216#发送缓冲区大小的最大值

net.ipv4.tcp_synack_retries=2#SYN-ACK握手状态重试次数,默认5

net.ipv4.tcp_syn_retries=2#向外SYN握手重试次数,默认4

net.ipv4.tcp_tw_recycle=1#开启TCP连接中TIME_WAIT sockets的快速回收,默认是0关闭

net.ipv4.tcp_max_orphans=3276800#系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上,如果超出这个数字,孤儿连接将立即复位并打印警告信息

net.ipv4.tcp_mem=94500000 915000000 927000000

net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力;

net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段;

net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket。内存单位是页,可根据物理内存大小进行

14./etc/ssh/sshd_config通过编辑文件可以修改sshd服务的相关配置,以下新增端口22223,

1.3高可用设计跟补丁修补-备份策略

1.业务系统采用双服务器进行冗余设计,数据库服务器采用双服务器进行冗余设计,防止单点故障造成网络服务中断。

2.根据,Centos官方社区和Linux社区出现的漏洞进行及时手动补丁修复。

3.建立主机系统软件版本维护机制,随时根据系统厂商发布的最新系统补丁进行对照,检查当前使用的系统版本,并对补丁进行升级。

4.建立主机系统软件备份和恢复机制,对主机系统的软件和数据进行了定时备份任务。当出现灾难性时,可以对系统软件和数据进行快速恢复。

业务系统中的应用服务器采用负载均衡技术对外提供访问,数据库服务器也实现负载均衡,对应用提供数据访问,避免了所有的单点故障问题,而且可以随时扩容服务器。

(1)目前系统中的数据备份分为两级

第一级是每天的本地服务器备份,保留一周的数据

第二级是集中备份,有大容量存储空间的文件服务器负责存储所有的数据备份,保留周期一年。

系统中的系统数据备份,包括程序目录备份,有单独的目录存放,以区别于数据库备份。

(2)业务系统的异地备份机制,以及灾难恢复计划。

异地备份容灾的考虑:系统中的所有数据备份,和程序及日志备份,均有异地存储。

目前的系统运维中有灾难恢复的计划。系统中目前有脚本结合人工实现,脚本部分负责恢复数据及程序,人工修复部分负责搭建环境,每季度进行一次灾难恢复演练,确保数据及程序的恢复完整性。

(3)建立日常数据备份管理制度,和灾备演练制度。

系统中的数据备份,备份介质的保管有专人负责。

介质的安全性在整个保密体系规划中。

(4)根据目前建立的灾难恢复计划,系统中目前的灾难恢复演练为每季度进行一次,系统运维主要负责人定期每个季度对运维人员进行培训。

相关推荐: 随着Instagram隐藏用户点赞数,年轻用户群体或面临暴露个人隐私威胁

随着Instagram出台隐藏用户点赞数规则以减少平台竞争,日前外媒指出这可能对年轻用户群体有害。研究显示,为了访问有关其后期绩效的更深入的受众群体数据,越来越多的年轻用户正在将他们的个人资料转化为商业帐户。 这一点尤其令人担忧,为了在平台上把自己列为商业账户…

    码刀科技(www.lekshop.cn)是国内知名企业级电商平台提供商,为企业级商家提供最佳的电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售/跨境等)、平台管理系统开发及互联网采购解决方案服务, 联系客服了解更多.

    电子商务网站建设的重要性和好处