写点什么

Linux 系统安全(十):NoSQL 数据库与公有云安全

  • 2019 年 8 月 26 日
  • 本文字数:1884 字

    阅读完需:约 6 分钟

Linux系统安全(十):NoSQL数据库与公有云安全

保障 Linux 应用安全是构建纵深防御体系不可或缺的重要部分,而提到与网站相关的应用安全保障,就不得不提数据库和公有云安全,本文聚焦在缓存服务器、Key-Value 数据库和 MySQL 这一关系型数据库的安全设置。


Memcached 安全

Memcached 是流行的 NoSQL 缓存软件,广泛用于网站系统中,作为后端数据库的缓存和存储 Session 会话信息等。在实践中,我们一般从以下几个方面来保障 Memcached 的安全:


  • 将 Memcached 部署在仅有内网 IP 的服务器上,避免对公网开放。

  • 为 Memcached 服务器配置精细化的防火墙 iptables 设置,仅允许前端 Web 服务器和应用服务器来调用,避免对整个局域网网段开放。

  • 服务降权。专门设置一个独立的普通用户,例如 memcached 来启动 Memcached。


Redis 安全

Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存也可持久化的 Key-Value 数据库,并提供多种语言的 API。它被广泛用于缓存、消息中间件,也经常作为持久化的数据库使用。


根据知名安全公司Incapsula研究表明,75%在公网上开放的 Redis 服务器都受到了 RedisWannaMine 攻击。为了预防类似的攻击,在实践中,我们一般从以下几个方面来保障 Redis 的安全:


  • 将 Redis 部署在仅有内网 IP 的服务器上,避免对公网开放。

  • 为 Redis 服务器配置精细化的防火墙 iptables 设置,仅允许前端 Web 服务器和应用服务器来调用,避免对整个局域网网段开放。

  • 服务降权。专门设置一个独立的普通用户,例如 redis 来启动 Redis。

  • 禁用危险命令。在配置文件中加入如下的内容以禁用危险命令:


rename-command FLUSHALL "" rename-command FLUSHDB "" rename-command CONFIG "" rename-command KEYS ""
复制代码


  • 启用 Redis auth。修改 redis.conf 配置文件增加如下内容:


requirepass QUeFbmudgkNn
复制代码


  • 保存后重启 Redis 即可。


MySQL 安全

数据库服务器上存储了应用程序记录的核心数据,保障数据库安全,我们一般可以从以下方面进行:


  • 将 MySQL 部署在仅有内网 IP 的服务器上,避免对公网开放。这将极大的缩减攻击面。

  • 为 MySQL 服务器配置精细化的防火墙 iptables 设置,仅允许前端 Web 服务器和应用服务器来调用,避免对整个局域网网段开放。CVE-2012-2122中指出,在某些特定版本 MySQL 的 sql/password.c 中存在漏洞,在某些特定运行环境中会导致远程攻击者可以通过多次重复尝试同一个错误密码而有概率性的绕过认证机制。如果没有网络层的防护,这将是造成非常严重的信息泄露;而通过精细化的访问控制则可以有效的解决这个问题。

  • 服务降权。专门设置一个独立的普通用户,例如使用 mysql 这一用户来启动数据库进程。

  • 删除安装后的测试数据库。在 MySQL 中,数据库初始安装完成后,会生成一个 test 库。直接删除即可。

  • 检查数据库的密码。通过如下的语句,我们可以检查出没有配置密码的帐号:


select User,Host,Pasword from mysql.user where Password='';
复制代码


  • 数据库授权。

  • 1)采用权限最小化原则,对应用程序使用分级授权。对于只需要读的帐号,仅仅授予“SELECT”权限。

  • 2)对数据库来说,我们希望客户端过来的连接都是安全的,因此,就很有必要在创建用户的时候同时指定可以进行连接的服务器 IP,只有符合授权的 IP 才可以进行数据库的访问。数据库授权时,精确到主机,不允许在 grant 命令中对所有主机授权。


通过定期备份来避免数据库误操作或者黑客入侵导致的数据丢失。常用的备份工具包括 Oracle MySQL mysqldump 和 Percona XtraBackup for MySQL 等。


使用公有云上的 WAF 服务

随着越来越多的企业把业务迁移到公有云上,这些云上业务对 WAF 的需求也越来越大。因此,公有云服务商也逐步推出了云 WAF 的服务。如图 8-7 所示为国内某公有云厂商提供的针对中小规模网站的云 WAF 解决方案所具备的规格能力:



图 8-7 国内某云 WAF 服务能力规格图


云 WAF 的优点有:


  • 部署简单,维护成本低:这也是云 WAF 最有价值和受用户喜爱的一点,无需安装任何软件或者部署任何硬件设备,只需修改 DNS 即可将网站部署到云 WAF 的防护范围之内。

  • 用户无需更新:云 WAF 的防护规则都处于云端,新漏洞爆发时,由云端负责规则的更新和维护,用户无需担心因为疏忽导致受到新型的漏洞攻击。

  • 可充当 CDN:云 WAF 在提供防护功能的同时,还同时具有 CDN 的功能,在进行防护的同时还可以提高网站访问的速率,CDN 通过跨运营商的多线智能解析调度将静态资源动态负载到全国的云节点,用户访问某个资源时会被引导至最近的云端节点从而提高访问速度。


基于以上的分析,我们建议,对于已经使用了公有云部署服务的企业来说,可以考虑使用云 WAF 作为应用防护方案。


本文内容来自作者图书作品《Linux 系统安全:纵深防御、安全扫描与入侵检测》,点击购买


2019 年 8 月 26 日 09:009606

评论

发布
暂无评论
发现更多内容

EZYTRX波场智能合约APP系统软件开发

系统开发

智慧警务可视化平台开发,重点人员管控系统搭建

t13823115967

智慧公安 智慧警务系统开发

面试被问高并发一脸懵?那是你没看过我整理得高并发回答模板

小Q

Java 学习 面试 高并发 性能调优

通过Postman和coding.net发布API

太极程序员

Postman API

【经验分享】RTC技术系列之音频编解码

Hanson

Prometheus TSDB(Part 2):预写日志(WAL)和检查点

Grafana 爱好者

云原生 Prometheus tsdb 可观察性

盘点2020 | 疫情下的思考和学习

soolaugust

盘点2020

《大数据算法》.pdf

田维常

算法

码了2000多行代码就是为了讲清楚TLS握手流程(续)

Gopher指北

https Go 语言

腾讯高工强烈推荐的“Netty速成手册”原理+应用+调优,带你将知识点一网打尽

比伯

Java 编程 程序员 架构 Netty

好久不见!这份Spring全家桶、Docker、Redis架构大礼包免费赠送

Java架构之路

Java 程序员 架构 面试 编程语言

Canvas入门实战之用javascript面向对象实现一个图形验证码

徐小夕

Java 大前端 canvas

盘点2020 | 30岁了,我终于入门编程了

...more

盘点2020

dubbogo 3.0:牵手 gRPC 走向云原生时代

阿里巴巴云原生

gRPC 云原生 中间件 dubbo-go Go 语言

产品策略闭环是个什么环?

万事ONES

项目管理 团队协作 需求管理 需求分析 产品策略

解析字节算法面试真题,深入探究ArrayList应用原理

小Q

Java 学习 编程 架构 面试

一文带你彻底了解大数据处理引擎Flink内存管理

华为云开发者联盟

大数据 数据 处理

将原则纳入到架构的生命中

soolaugust

架构 思考 设计

我和阿里P7差的不是薪资?而是Redis+微服务+Nginx+MySQL+Tomcat

Java架构之路

Java 程序员 架构 面试 编程语言

从 JMM 透析 volatile 与 synchronized 原理

码哥字节

volatile JVM JMM Java 25 周年 synchronized

硬核编程:30天=一个网站+一份周刊

老魚

程序员 建站 web全栈

DeFi(去)中心化DAPP系统软件开发

系统开发

答了Mybatis这个问题后,面试官叫我回去等通知……

田维常

mybatis

智慧城市建设,社区智能化系统搭建解决方案

t13823115967

智慧城市 平安小区

硬肝到秃头!Alibaba强推并发编程笔记我跪了,真的学到好多东西!

Java架构追梦

Java 学习 架构 面试 并发编程

从源码的角度搞懂 Java 动态代理!

Java架构师迁哥

SPI 在 Dubbo中 的应用

vivo互联网技术

Java jdk dubbo spi

LeetCode题解:127. 单词接龙,BFS+统计单词变化次数,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

IDEA 文档插件 DocView 版本更新:修改 UI 并支持 IDEA 2020.3 !

程序员小航

idea插件 IntelliJ IDEA 文档生成

什么是全场景AI计算框架MindSpore?

华为云开发者联盟

人工智能 AI mindspore

为了SpringBoot提交Tomcat执行,我总结了这么多

小Q

tomcat 学习 面试 微服务 springboot

Linux系统安全(十):NoSQL数据库与公有云安全_安全_胥峰_InfoQ精选文章