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应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
随机推荐
- C++对象内存模型1(堆栈模型)
对象内存模型 一. 栈(Stack) VS. 堆(heap) 栈 由系统自动管理,以执行函数为单位 空间大小编译时确定(参数+局部变量) 函数执行时,系统自动分配一个stack 函数执行结束时,系统立 ...
- LeetCode12 Integer to Roman
题意: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from ...
- 解决python3 不能引入setuptools
1,原理分析: python中的setuptools因为其安全考虑需要ssl模块的支持.如果编译时没有通过ssl测试,就不能安装setuptools. 所以才会出现 Python3/dist-pack ...
- CSS 之 嵌套 margin-top 处理
如下代码: <div style=" width:1000px; height:700px; margin:auto;"> <div style=" w ...
- IOS开发之--异常处理--使用try 和 catch 来捕获错误。
一个搞java的老板问我会不会try catch 我说不会 学这么久也没听周围朋友用这个 因为苹果控制台本来就可以打印异常 特此研究一下. 1.try catch: 是捕获异常代码段 特点:对 ...
- iOS 如何判断当前网络连接状态 网络是否正常 网络是否可用
网络资源:出处http://blog.csdn.net/mad1989/article/details/8987368 众所周知,我们在开发APP时,涉及网络连接的时候,都会想着提前判断一下当前的 ...
- Nodejs新建博客练习(二)添加flash支持
安装必须模块 npm install connect-flash npm install express-session 然后在app.js里面添加一些代码 var flash = require(' ...
- Java基础知识强化之IO流笔记72:NIO之 NIO核心组件(NIO使用代码示例)
1.Java NIO 由以下几个核心部分组成: Channels(通道) Buffers(缓冲区) Selectors(选择器) 虽然Java NIO 中除此之外还有很多类和组件,Channel,Bu ...
- 【Android 界面效果27】利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
本文主要介绍如何利用ViewPager.Fragment.PagerTabStrip实现多页面滑动效果.即google play首页.新浪微博消息(at.评论.私信.广播)页面的效果.ViewPage ...
- 使用 mina 传输大字节数组
转载自:http://seara520.blog.163.com/blog/static/16812769820103214817781/ 使用mina传输超过2k以上的数据时(采用tcp方式,如果是 ...