作者 | 阿文

责编 | maozz

出品 | CSDN(ID:CSDNnews)

随着虚拟化技术的蓬勃发展,近几年云计算产业规模不断壮大,各行业的数据量激增,通过云计算挖掘数据价值,以及企业IT基础架构向云迁移已经成为主流趋势。

国务院发展研究中心国际技术经济研究所近日发布的《中国云计算产业发展白皮书》显示,2018年中国云计算产业规模已经达到962.8亿元;预计2023年,中国云计算产业规模将超过3000亿元。

大量的企业将数据迁移到云上,带来的网络安全问题却日益凸显,以云计算行业巨头阿里云为例,每天遭受攻击的次数就高达 50 亿次,这些攻击包括通过系统漏洞进行提权、DDOS攻击、CC 攻击、暴力破解,入侵成功对数据进行加密、植入木马或挖矿程序等手段非法牟利。

那么企业上云后应该做哪些工作,才能避免被入侵而造成的不可估量的损失呢?

作为一名云计算行业的从业者,我见过太多企业的服务器被入侵后遭受严重损失的案例,在这里,我在这里和大家分享以下上云后的安全防护应该如何做。

首先,大家要纠正一个观念,那就是上云并非万事大吉了。云计算提供的弹性伸缩和水平扩容大大缩减了企业运维人员的工作提升了效率,例如不用大老远的跑到机房去升级操作系统、扩容硬件了。

但是对于操作系统自身的安全问题我相信任何一家云计算公司都不敢打包票说你买了我们的服务器就绝对不会遭受任何攻击。一般他们会提供安全防护类的产品或建议,但是实际的安全策略部署还是需要自己去完成。

购买服务器后的当务之急

那么当你在云厂商购买一台服务器之后,你必须要做的事情就是:

第一,修改你的远程连接端口,例如 windows 的 3389,Linux 的 22 端口。应用服务尽量不要对公网开放,尤其是中间件服务,除了 web 服务所提供的 80,443 端口之外都应该尽量不要对公网开放默认端口,例如 MySQL 的 3306 ,Redis 的 6379 等等。

因为互联网上大量的入侵都是首先扫描到开放这些默认端口的机器,然后在探测是否存在已知的漏洞进而发起攻击。

举个例子,假如入侵者想入侵 redis 3.0 以下版本的 redis,攻击者可以通过 nmap 或 masscan 这类扫描攻击扫描某一个 IP 段是否开放以及根据你的服务器特征探测你的服务器是 Linux 还是 Windows来选择以何种方式发起攻击,以 masscan 为例,探测49.111.0.0/16网段内是否有 redis 服务开启默认 6379 端口。

masscan -p6379 49.111.0.0/16 --rate 10000 >> scan.txt

然后获取到该网段开放了 6379 端口的 IP,并进行下一步判断其是否有设置密码,版本是否是 3.0 以下。执行如下命令即可查看这台 redis 的相关信息

./redis-cli -h IP info

然后判断是否设置了密码,如果没有设置密码,通过 redis 的持久化机制将入侵者的公钥写入到/.ssh 目录

>config set dir /root/.ssh/OK> config set dbfilename authorized_keysOK> set xxx "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWuati70x2tsLBJ6FxDgK5NnRhUiIYMHEL9Nt0cwtOvlc8it7Ta9uSzQX6RV3hpF0Txg8/ARZaq75JyzN+1jsNh35mR49YWJloU8FbiI28IjdKAVvCOcAd/WWsPWrRIJPG38Z8Bu2xXBsNCmMwOtPd6VL4k9j6xmeA52PLe4wBJHZbGkPrbTxd7TTtvuWWmbx0dzvXBYCIalhVOJ7u5471tMBoCFGCYh5V8lzS0c4Hm3tf5SuQ8G3vWP8fLE6iUGen9rqBu+QNSxlYJSwz+O5T/ErFTFPZI3USQM7th1r6iY/Z8O7AzZlhXzPCHKcd/+8mzcEJ1JFU8m9gXgF6JwER ubuntu@ubuntu-xenial\n\n\n"OK> save

遭遇攻击后应该怎么办?

如果你恰好 root 权限开放的,那么你这台服务器就成功被入侵者提权了。从上面这个例子中,我们要防止这样的入侵案例发生,除了修改默认端口还是远远不够的。还需要养成定期更新你的系统和应用软件,因为旧版本软件大多都会存在漏洞被攻击者利用。

另外就是尽量不要以管理员权限运行一些应用程序,例如Linux 使用 root 这样的权限去运行程序。要以一个普通用户运行指定程序,防止被提权。

禁止密码登录,改为更安全的密钥登录。密钥采用rsa非对称加密算法,并设置大于 2048 位以上密钥,安全系数更高。因为如果采用密码登录,入侵者只要密码字典足够强大,机器运算能力够强是可以非常轻松的破解的,例如通过 hydra 来暴力破解密码

hydra -s 22 -v -l root -P pass.txt 49.111.95.153 ssh

以 Linux 为例,修改/etc/ssh/sshd_config 中的

PermitRootLogin yes 为 noLoginGraceTime 30PasswordAuthentication yes 为 noMaxAuthTries 3 # 限制最大重试次数Protocol 2

`LoginGraceTime` 允许一次登录花费 30 秒;如果用户花费的时间超过 30 秒,就不允许他访问,必须重新登录。`MaxAuthTries` 把错误尝试的次数限制为 3 次,3 次之后拒绝登录尝试。上面的 `Protocol 2` 行禁止使用比较弱的协议。

最后一行不允许任何人作为根用户登录,这会让黑客攻击更困难。还可以使用 `DenyUsers`、`AllowUsers`、`DenyGroups` 和 `AllowGroups` 选项实现其他限制。这些修改不会显著增强计算机的安全性,但是只尝试强力攻击标准端口 22 的一般脚本会失败,不会造成损害。

第二,除非有必要,最小化对外暴露端口,千万不要将所有端口都设置端口放行为 0.0.0.0/0 这样的规则。这样就像皇帝的新装,完全把自己暴露在外面给人看的一干二净了。

除了 80、443 这样的必须要对外开放访问权限的端口,其他服务都在相对安全的内网环境中运行,这样的优势是除了提升了安全性还防止跨链路带来的带宽损耗,提升访问速度。例如web 服务调用后端 MySQL,如果通过公网访问,速度肯定不及同一个局域网内互相访问的快。

第四,自身程序的安全防护措施要做好,比如在设计系统时就要多考虑一下安全问题,例如防止被注入,可以通过 sqlmap 来扫描下自己的数据库是否存在被入侵的可能。例如如下代码段

uname = request.POST['username']password = request.POST['password']sql = "SELECT all FROM users WHERE username='" + uname + "' AND password='" + password + "'"database.execute(sql)

上面这段程序直接将客户端传过来的数据写入到数据库。试想一下,如果用户传入的 password 值是:"password’ OR 1=1",那么 sql 语句便会变成:

sql = "SELECT all FROM users WHERE username='username' AND password='password' OR 1=1"

那么,这句 sql 无论 username 和 password 是什么都会执行,从而将所有用户的信息取出来。

同时还需要防止针对页面的一些攻击,例如 XSS 攻击、CSRF 跨域攻击等等。对于一些页面DNS 污染攻击,可以采用 HTTPS 来防止页面内容被篡改。在使用 HTTPS 时尽量使用 TLS1.2+版本的协议,并使用加密性非常好的算法。

ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:TLS-AES-128-GCM-SHA256:EECDH+CHACHA20:EECDH+AESGCM:EECDH+AES:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!KRB5:!aECDH:!EDH+3DES;

第五,如果遭受 DDOS 攻击,可以考虑购买一些防护服务来解决,避免业务受损。

要防止被攻击不仅仅是做到如上这些,还应当加强对系统各项指标的监控,例如文件权限、系统利用率、日志采集等等措施,防范于未然。

声明:本文系作者独立观点,不代表CSDN立场。

【End】

学Python有前途吗?学Python能做什么?

https://edu.csdn.net/topic/python115?utm_source=csdn_bw

热 文 推 荐 

☞SQL 已死,NoSQL 才是王道?|原力计划

☞Java 14 中令人期待的五大新特性!

☞ofo 退押金出新招;快手回应“弃拼多多联手阿里”;Julia 1.3 发布 | 极客头条

☞信号问题可根除,苹果新款 iPhone 将搭载高通基带?

☞快速用 Haskell 构建超级简单的 Web 技术栈!

☞拒绝成为比尔·盖茨的“万维网之父”,又要干大事!

☞倪光南:中国 5G 有望成为世界第一

☞微信几亿人在线的点赞、取消点赞系统,用Redis如何实现?

☞量子算命,在线掷筊:一个IBM量子云计算机的应用实践,代码都有了

☞从黑客文化看区块链开源社区的自我组织与成功之道

 点击阅读原文,参加中国开发者现状调查!

你点的每个“在看”,我都认真当成了喜欢

企业上云,如何做好服务器的安全?相关推荐

  1. 企业上云很简单,细数华为云弹性云服务器ECS的多项优势

    企业上云很简单,细数华为云弹性云服务器ECS的多项优势 随着社会的飞速发展,云计算.物联网等新兴技术正切实的改变着我们的生产方式及生活场景.由于云技术本身在工作效率.存储容量.安全性能等方面的优势,越 ...

  2. 华为服务器磁盘IO性能查看,企业上云的极速存储挑战,华为云全新极速IO云硬盘性能评测...

    原标题:企业上云的极速存储挑战,华为云全新极速IO云硬盘性能评测 借助华为云全新一代极速IO云硬盘开启邀测的时机,至顶网评测实验室展开了一次华为云极速IO云硬盘与超高IO云硬盘的性能对比测试活动,并且 ...

  3. 企业上云需跨越哪些“雷区”?

    企业上云四步走 云计算,作为企业向互联网+转型的核心基础服务,正以前所未有的速度扩张.事实上,就RightScale近期公布的云报告显示,93%的企业组织中采用了一些云计算的能力.那么,如果您是一家业 ...

  4. 对话富通科技CEO赵伟:企业上云潮下 MSP正步入『黄金时代』...

    诸侯混战,百家争鸣. 这本是形容春秋战国时期特殊历史现象的词汇,在富通科技CEO赵伟看来,形容今天的云计算市场一点也不为过.他认为,现在云市场还远没有达到"互异"."互补 ...

  5. 推动企业上云实施经验总结

    当下,一场以IT技术为主角的科技革命浪潮正风起云涌.云计算.大数据.人工智能.物联网.区块链等新技术正加速应用落地.在这些新技术当中,云计算作为基础设施,它是这场科技革命的承载平台,全面支撑着各类新技 ...

  6. 我的一点企业上云经验

    作者按:日前,工信部印发<推动企业上云实施指南(2018-2020年)>,其中指出:到2020年,力争实现企业上云环境进一步优化,行业企业上云意识和积极性明显提高,上云比例和应用深度显著提 ...

  7. 聚焦东风汽车,解锁企业上云的正确姿势

    近年来,企业上云已经逐渐成为一种趋势,这不仅仅是企业业务发展的自身需求,也是国家政策层面的要求,早在2017年年底,信息化和软件服务业司司长谢少锋在介绍<深化"互联网+先进制造业&qu ...

  8. 企业上云业务系统上云是怎么回事儿?

    近年来各政企事业单位陆陆续续在准备业务系统上云,那么业务系统上云是怎么回事呢?这对各单位又有什么好处呢?上云成本正常来说有多少呢?接下来为您解答. 盘点历史业务系统 大多数传统企业业务数据都保存在本地 ...

  9. 企业上云,打造数字经济新动能|中机智库

    云计算在1.0时代,已经给企业带来不小的震动,所谓云计算2.0时代又意味着什么?如果说1.0时代是初创企业上云,用价格低廉.资源共享的公有云,2.0就是传统企业被互联网公司"唤醒" ...

最新文章

  1. 知识点讲解五:处理js异步加载问题
  2. ofstream写不进txt文件的奇怪问题
  3. 【C++】const讲解
  4. windows rt c语言,有arm架构的windows平板吗??与x86的win有什么不同?arm写c语言怎样?
  5. 数据结构java版 大学_数据结构(Java版)
  6. css中绝对定位和浮动的异同
  7. WIN8下安装USB转串口驱动出现“文件的哈希值不在指定的目录”的解决办法
  8. ----发现一款可以代替双手的软件 “按键精灵”
  9. Visio画图删去四周白边
  10. 系统自动校时后发广播android,校园定时播放软件
  11. MATLAB图像变换四
  12. win7 安装ox oracle,windows 2012 R2 core安装0x800f0906 -mgmt-infra出现0x800f0906
  13. Benchmarking Lane-changing Decision-making for Deep Reinforcement Learning
  14. 点滴:python数据集的文本标签转换成数值
  15. 2021-04-24
  16. layout_gravity 和 gravity以及对应值的详解
  17. 使用 http://tempuri.org/ 作为默认命名空间
  18. 自动驾驶常用定位方案
  19. Swing第二刀:枝间新绿一重重
  20. 教你50招 XP用户不看是你的损失

热门文章

  1. jQuery.noConflict() 解决冲突 原理深入
  2. 转SQL中判断是否存在..........
  3. Pytorch torch.manual_seed()的简单用法
  4. 【金融】【pytorch】使用深度学习预测期货收盘价涨跌——LSTM模型构建与训练
  5. 用Rainbond快速实现企业云原生
  6. 中国水密门市场趋势报告、技术动态创新及市场预测
  7. mysql foundrows 并发_MySQL 中的 FOUND_ROWS() 函数
  8. java中使用tika_Tika基本使用
  9. libz mysql_Docker和Mysql:libz.so.1:无法打开共享对象文件:权限被拒绝
  10. puml绘制思维导图_思维导图的使用方法和技巧