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应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
随机推荐
- java对象创建过程
1.jvm找到class文件路径. 2.jvm载入class文件,静态初始化,创建一个class对象. 3.为即将创建的对象分配内存空间. 4.对分配的空间进行清零,例如:int清除为0,boolea ...
- OC 实现的几个排序算法
和在VC++6.0里相比 在OC里面实现 不算困难 可是我用惯了C/C++呢 快速排序,冒泡排序,直接插入排序和折半插入排序,希尔排序,堆排序,直接选择排序 /******************** ...
- UISegmentedControl 分段器加载不同的viewcontroller
#import <UIKit/UIKit.h> @interface MJSegmentViewController : UIViewController /** * @brief 设置切 ...
- 如何使上层的div遮住的链接可以点击
pointer-events属性 http://www.css88.com/book/css/properties/user-interface/pointer-events.htm 在上层的div中 ...
- Oracle 常用命令大全
一.如何有效地利用数据字典 ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图.数据字典名称是大写的英文字符. 数 ...
- SQL Server表的数据量大小查询
今天想在服务器上还原一个DB,发现磁盘空间不够,查看发现,其中一个DB竟然有56G了.因此想收缩一下这个DB,发现大小没多大变化.然后在网上找了找SQL脚本,看能不能查看下哪个表的数据量那么大. 网上 ...
- C++构造/析构/赋值函数
在编写C++程序的时候,我们会为特定某一类对象申明类类型,几乎我们申明的每一个class都会有一个或多个构造函数.一个析构函数.一个赋值运算符重载=.以及拷贝构造函数.这些函数控制着类对象的基础操作, ...
- Simofox 2.7 - 基于 pcxFirefox 定制(停更)
••• 现已停止更新,无良作者转战 Google Chrome ••• 项目名称:Simofox (Simple + Cool + Firefox) 项目介绍:Simofox 中译名西蒙狐,目前项目版 ...
- 转: android app进程保活的文章列表
1. Android 后台任务型App多进程架构演化 http://www.jianshu.com/p/4ac1f373e8cd 2. 关于 Android 进程保活,你所需要知道的一切 http:/ ...
- freeCodeCamp:Where art thou
写一个 function,它遍历一个对象数组(第一个参数)并返回一个包含相匹配的属性-值对(第二个参数)的所有对象的数组.如果返回的数组中包含 source 对象的属性-值对,那么此对象的每一个属性- ...