警惕Redis未授权漏洞执行扫描工具检测(redis未授权扫描工具)

警惕Redis未授权漏洞:执行扫描工具检测!

Redis是一种高性能的Key-Value数据库系统,可用于缓存、消息队列等多种应用场景。但是,由于其默认配置存在严重的安全漏洞,即未授权访问漏洞,使得攻击者可以轻松入侵系统,对环境和数据造成巨大威胁。在这篇文章中,我们将探讨Redis未授权漏洞的原因和危害,并提供一种常用的扫描工具帮助检测和修复Redis未授权访问漏洞。

Redis未授权访问漏洞的原因

Redis默认配置中允许任何人通过开放的6379端口直接连接到服务器,并获取或修改所有的Redis数据,这意味着攻击者只需在互联网上发现一个开放的Redis实例,就能够不受限制地执行攻击操作。通过这种方式可以轻松入侵财务系统、电商平台等重要系统,并且不会留下任何痕迹。

危害

– 通过获得Redis命令执行权限,攻击者可以删除、更改、窃取敏感信息,也可以在Redis服务器上执行任意命令和程序,从而向其他服务器和内网发动攻击。

– 大量占用Redis内存空间,导致系统崩溃等故障。

如何检测并修复Redis未授权漏洞?

为检测Redis的未授权访问漏洞,我们可以使用一些流行的扫描工具,例如:nmap、redis-cli等。

1. 使用nmap进行端口扫描如下所示:

“`bash

nmap -sS -p 6379 -vv -n -Pn


如果Redis未授权访问漏洞存在,您将看到以下输出:

PORT STATE SERVICE

6379/tcp open redis

|_redis-stat: NOAUTH authentication required.


2. 使用redis-cli进行检测如下所示:

```bash
redis-cli -h -p 6379 info

如果您看到以下输出,请注意:

# Server
redis_version:5.0.5
redis_git_sha1:db5b5aef
redis_git_dirty:0
redis_build_id:9c2a96d30289c6d8
redis_mode:standalone
os:Linux 3.10.0-957.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:4.8.5
process_id:60
run_id:b34034d088b7cd17881f534a9a3ba0cfced73cd5
tcp_port:6379
uptime_in_seconds:35830
uptime_in_days:0
hz:10
lru_clock:3785281
executable:/usr/bin/redis-server
config_file:/etc/redis/6379.conf

# Clients
connected_clients:1
client_recent_max_input_buffer:2
client_recent_max_output_buffer:0
blocked_clients:0

# Memory
used_memory:2157240
used_memory_human:2.06M
used_memory_rss:3246592
used_memory_rss_human:3.10M
used_memory_peak:2386656
used_memory_peak_human:2.28M
used_memory_peak_perc:90.51%
used_memory_overhead:941288
used_memory_startup:787352
used_memory_dataset:1215952
used_memory_dataset_perc:81.32%
total_system_memory:16695502848
total_system_memory_human:15.54G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:949782272
maxmemory_human:905.53M
maxmemory_policy:noeviction
mem_fragmentation_ratio:1.51
mem_allocator:jemalloc-4.0.3

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1578463041
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:0
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_current_size:0
aof_rewrite_buffer_length:0
aof_pending_rewrite:0
aof_buffer_length:0
aof_rewrite_buffer_size:0
aof_pending_bio_fsync:0
aof_delayed_fsync:0

# Stats
total_connections_received:3
total_commands_processed:3
instantaneous_ops_per_sec:0
total_net_input_bytes:77
total_net_output_bytes:3207
instantaneous_input_kbps:0.00
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:2839
migrate_cached_sockets:0
# Replication
role:master
connected_slaves:0
master_replid:3b3e3469c42ad4ada4e8247d1b1194d4c2b84c43
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:7.969995
used_cpu_user:5.220002
used_cpu_sys_children:0.000000
used_cpu_user_children:0.000000

# Cluster
cluster_enabled:0
# Keyspace

如果没有看到 NOAUTH 错误,此时Redis存在未授权访问漏洞,需要进行修复操作。

修复Redis未授权漏洞

解决Redis未授权漏洞的方法是使用Redis访问控制,通常有以下两种方法:

方法一:修改Redis配置文件

# vim redis.conf
bind 127.0.0.1
requirepass

修改Redis配置文件完毕后请重启Redis服务,`/etc/rc.d/init.d/redis restart`。

方法二:使用redis-cli命令

进入redis-cli控制台,然后运行以下命令:

“`bash

auth


如果认证成功,Redis将返回 OK 消息。此时Redis的未授权访问已经得到了限制。

结论

通过上述方法,我们可以简单地检测和修复Redis的未授权访问漏洞,加强对Redis安全的防范。建议定期对本地和云端的Redis服务进行扫描,及时了解数据库的安全状况,以保证数据的安全性和完整性。

数据运维技术 » 警惕Redis未授权漏洞执行扫描工具检测(redis未授权扫描工具)