memcached/redis安全性
最近看到说redis,memcached服务器安全的问题,想想也是,使用这两种服务N年了,由于历史问题吧,工作中基本是以memcached为主,后来才慢慢引入运用redis.
由于memcached是没有安全认证的,不像redis一样,可以配置认证,也就是AUTH,设置密码.
以下说下自己工作中常用的安全方法,
先说memcached,
一般自己这些年,都是单台的memcached,所以,直接用内网访问,这个倒方法设置
第二种,也不复制,就是在防火墙上下功能,只给指定的IP访问
ps:其实,自从用上了memcached,就有点丢不了,先说自己的工作经历吧,项目基本是基于MVC思想,
有一次是项目重构,重构前, VC是用PHP的,Model是用C#,这样的问题来了,C#那边基本能用memcached的地方,都用,
包括产品基本信息,产品详情,产品评论,供应商信息,订单的详情。。。。,PHP每次去取数据时,C#那方面说的,基本先从
memcached中拿的,他们从数据库中拿到数据后,放在memcached,这里,他们把memcached和C#放在同一个服务器,
也即放在内网了,后来转移到PHP时,调试了许久,因为在项目重构时,得与之前的数据对应,所以就得调用memcached中的数据对应,
PHP这里有自己的memcached,所以这样压抑了半天,才想起,原来是那边的memcached的访问限制问题
第二次实现项重构时,这次是运维搞的,又花了半天时间,才知道,是怎么回来,项目重构前全部用PHP,重构后用,PHP连接db,然后给数据java,
java再给客户端(app,ios),这里的问题是,java层的数据是基于PHP的,java作中间层,同时,app,ios有时候得调用PHP中的接口,也就是wap页面,这样问题又来了
java,php,wap,app/ios都是放在不同的服务器,PHP接口也放在内网的memcached,wap中也有memcached,也是内网中,app/ios的token,是保存在php中的memcached的,
wap中的memcached是在wap,运维搞了两台memcached,半天后,问他,才知道,后来只好用防火墙,这样才能顺利调用
利用memcached是项目历史的原因,大家都习惯了,所以不想换,到后来,涉及到新的功能后,和领导商量,之前的历史就历史吧,
现在新功能,利用redis,memcached能做的,redis可以胜任,但是redis的,memcached好多无法做到,比如持久化,多种数据类型.
由于项目后期会大力推广,所以,把之前的session相关信息不放数据库,放内存了,也许是历史原因,没有放在redis,只放memcached,
当自己作产品业务功能时,对商品评论数,浏览数,收藏数,所以此时自己力推redis,这样再作定时入库处理,即用消息队列来实现,方便无压力,又安全.
防火墙使用示例:
vim /etc/sysconfig/iptables
#开放指定的端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 端口号 -j ACCEPT
#禁止端口号
-I INPUT -p tcp --dport 端口号 -j DROP
#给指定的IP开放指定的端口
-I INPUT -s ip地址 -p tcp --dport 端口号 -j ACCEPT
-I INPUT -s ip地址 -p tcp --dport 端口号 -j ACCEPT
#如果是允许指定的IP访问指定的端口,则先禁止此端口,然后再开放给指定的ip,顺序不能乱
memcached/redis安全性的更多相关文章
- Python自动化 【第十一篇】:Python进阶-RabbitMQ队列/Memcached/Redis
本节内容: RabbitMQ队列 Memcached Redis 1. RabbitMQ 安装 http://www.rabbitmq.com/install-standalone-mac.htm ...
- Redis安全性配置
最近Redis刚爆出一个安全性漏洞,我的服务器就“光荣的”中招了.黑客攻击的基本方法是: 扫描Redis端口,直接登录没有访问控制的Redis 修改Redis存盘配置:config set dir / ...
- NOSQL学习之一:Memcached, Redis, MongoDB区别
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理. Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. MongoDB是一个基于分布 ...
- python对缓存(memcached,redis)的操作
1.Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的 ...
- centos7下搭建nginx+php7.1+mariadb+memcached+redis
一.环境准备 1.首先介绍一下环境,以及我们今天的主角们 我用的环境是最小化安装的centos7,mariadb(江湖传言mysql被oracle收购后,人们担心像java一样毁在oracle手上于是 ...
- Memcached & Redis使用
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...
- Memcached, Redis, MongoDB区别
mongodb和memcached不是一个范畴内的东西.mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据.mongodb和memcached不存在谁替换谁的问题. 和 ...
- 17.Python笔记之memcached&redis
作者:刘耀 博客:www.liuyao.me 博客园:www.cnblogs.com/liu-yao 一.Memcached 1.介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动 ...
- Memcached·Redis缓存的基本操作
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
随机推荐
- Redis 分区
分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集. 分区的优势 通过利用多台计算机内存的和值,允许我们构造更大的数据库. 通过多核和多台计算机,允许我们扩展计算能力:通 ...
- 琐碎-关于Windows调试hadoop
http://www.aboutyun.com/thread-7784-1-1.html 今天早上看了这个文章后我有点疑问,所以特地实践了一把. 之前也遇到了调试的时候 org.apache.hado ...
- 手动实现 KVO
来源:伯乐在线 - Jerry4me 链接:http://ios.jobbole.com/88828/ 点击 → 申请加入伯乐在线专栏作者 我的Github地址 : https://github.co ...
- C# 数据的加密解密
/// <summary> /// 加密数据 /// </summary> /// <param name="Text"></param& ...
- OC 和 swift 小结
1 什么是 OC 语言? OC 语言即面向对象语言,它扩展了 ANSI C 语言,将 SmallTalk 式的消息传递机制加入到 ANSI C 中.它是苹果 OS 和 iOS 以及相关的 API,Co ...
- spring mvc 重新定向到一个新的Url
在写项目的时候要求根据请求的参数的不同重新将请求分发,在查阅了spring mvc的一些资料无果后(想使用拦截器去做)就没办法使用重定向的方式去写了 /** * 通过访问API的方式分发请求 * * ...
- jq使用手册
jq 使用手册 翻译整理:Young.J 官方网站:http://jquery.com jQuery是一款同prototype一样优秀js开发库类,特别是对css和XPath的支持,使我们写 ...
- 瀑布流插件(jquery.masonry.js)
什么是瀑布流?去看看Pinterest(这才是鼻祖),Mark之,蘑菇街,点点网,还有腾讯的微博广场吧.随着页面滚动条向下滚动,还会不断加载数据块并附加至当前尾部. Masonry是一款很好用的jqu ...
- php实现二路归并排序
$arr = [9, 43, 12, 0, 87, 1]; function merge_sort(&$arr){ _merge_sort($arr, $arr, 0, count($arr) ...
- [转]如何烧录tizen镜像文件?(图文教程)
http://blog.csdn.net/flydream0/article/details/9179143 上一篇文章我已讲过如何制作镜像文件(http://blog.csdn.net/flydre ...