阿里远程linux服务器 redis搭建,安全配置与使用

本文分享了作者在阿里云服务器上部署Redis过程中遇到的安全问题及解决方案,包括如何正确配置Redis以防止外部恶意访问,以及如何利用内网IP提高安全性。

阿里远程linux服务器 redis安全配置与使用

前提: redis在不安全的使用上是存在漏洞的,个人也是在这个上面吃了很大的亏,真的这个问题也是弄了半天,所以打算好好的记录一下。

阿里远程服务器的redis安装

这里其实我就不过多的介绍了,网络上有很多的安装,大致都是一样的,总结下来总共就是几步

  1. 去官网下载redis的安装包
  2. 解压
  3. 进入解压目录下 make。编译
  4. 进入src 目录下 make install 安装

接下来我们就可以启动redis了,在src目录下 启动redis服务

./redis-server

启动redis服务之后,我们发现是前台启动的,修改起配置 让其后台启动

  1. 进入redis的解压目录下 vi编辑器打开 redis.conf 文件
  2. 将daemonize的值改为yes
  3. wq 保存
  4. 进入src 目录 通过配置文件启动
 ./redis-server  ../redis.conf

Ok 到这为止就安装好了,我们可以通过命令查看redis的服务是否启动

ps -ef | grep redis

总结: 其实到目前为止,我们的redis就可以使用了。但是问题往往开始出现了。

外部访问redis失败

其实整个问题的出现源起一个异常:

redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

我也百度过会出现这个问题的原因:

  1. 连接池里面的线程不够用了,要对redis进行配置一下
  2. 外部根本就访问不到redis

其实大多数情况下,我们的各种配置都是拷贝好的,稍微改改参数而已,所以问题就出现在了外部无法访问redis,对于这个东西我们可以使用工具测试

  1. 使用redis远程连接客户端(Redis Desktop Manager )连接一下看看是否能连接上
  2. telnet 测试一下 (自行百度吧,因为我也没用过 我是直接用客户端连接测试的)

当你测试后发现,哎呀 确实连不上哈,直接就去百度,redis如何外部访问,百度会给你一堆结果,不过都是一样的:

  1. 修改redis安装目录下的redis.conf文件,把 # bind 127.0.0.1 这个前面的注视去掉,并改为0.0.0.1
  2. 重启redis服务器
  3. 好了 你再试试。邪魅的?

这个时候你再去连接的时候你发现,确实连接上了,并且程序中使用的redis也没问题了。

到此为止 :我们可能以为万事大吉了,可是没多久你就会发现你错了,而我的错误也从此开始。

redis 安全配置

redis 遇到的坑

上面的一系列操作都是我的真实操作,当然中间其实有一些我操作上的失误,一会下面我详细说一下。

  • redis的这个坑其实遇到的人还是蛮多的,废话少说,直接给大家上图:

图片描述

简单列举一下:

这几个解释了为什么会出现这样的问题,以及该如何解决。

其实这里的重点并不是如何结局,而是我们为什么就碰到了redis的这个坑呢?

为什么会进入redis 的坑?

其实这个是我们新手比较容易搞乱套的一些东西,还有一些我们需要搞清楚的知识点

  • 阿里云的外网与私网 IP

外网IP:给外部人访问,也称为公网,对于外网的流量,阿里云是收费的。

内网IP:就是局网IP,如果你有几台以上的云主机,可以局网传输数据,局网传输数据不占用外部带宽限制,传输大文件速度会快很多很多。

准确说内网IP地址的地址段是专门给私有网络用的,大多数用于内部网络的通信,或者外网IP缺少时,替代外网IP进行网络设备IP的分配。
外网IP其实就是合法的互联网地址,所有在互联网中的网络设备,服务器,计算机之间的通信都是通过外网IP进行通信的。
另外对于局域网这个概念,其实不仅仅局限于内网,比如同一个网段的公网IP的网络也属于局域网的范畴!

  • 我的理解

我的理解其实就是很简单

  1. 公网不安全
  2. 内网外部不能访问,安全

哈哈 当然了我说的是否准确,希望有大佬们帮忙指导。

  • 我所犯的错误

前提:我们接的别人的1期项目,拿到手之后修改放在自己的服务器上运行。

  1. 很直接的直接把程序中的配置文件中访问人家服务器的地址全部直接修改为我们服务器的地址(公网)
  2. 运行出问题。。。

找了半天,找到了问题,公网访问不通,直接百度,把服务器的防火墙关了,开放了端口,设置了redis的外部访问。。

最后问题就出现了。 服务器被攻击了。

避免redis再次出现问题 解决方案

这个时候其实我们应该已经意识到不要通过公网访问的问题了

  1. 把redis 的配置文件 也就是redis.conf 中的bing 0.0.0.1 注释掉,禁止外部去访问。
  2. 修改程序中的配置文件,将redis访问的地址改为内网ip。

再次打包上传,这样其实就没有问题了,当然还有一些安全的解决方案,可以看一下上面给出的解决问题的连接。

解决后续的配置问题

  • 其实一开始我知道要这样配置,但是如果把配置文件的请求地址都改为内网ip 的话,你的本地程序是起不来的,因为我们无法直接连接到内网。
  • 那么如果想要本地测试,并且保证起安全性的话,我们需要配置openvpn,参看配置文档: https://help.aliyun.com/knowl...

ok,到此为止我的问题解决了。

后记

最后我想说几点

  • 千万别拿配置本地服务器(自己的机器上)的操作操作云服务器

因为很多情况下,我们在设置本机的服务器的时候,查询百度的结果动不动就是开启哪个端口,关闭防火墙。如果是在云端的服务器的话,就很容易被这样的挖矿程序攻击。

  • 修改端口与防火墙的操作一定要慎重

目前我这个技术有限,希望大佬们看到了多多指教。

挖矿程序瓦的比特币到底是啥:https://www.zhihu.com/questio...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值