警惕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进行检测如下所示:
```bashredis-cli -h -p 6379 info
如果您看到以下输出,请注意:
# Server
redis_version:5.0.5redis_git_sha1:db5b5aef
redis_git_dirty:0redis_build_id:9c2a96d30289c6d8
redis_mode:standaloneos:Linux 3.10.0-957.el7.x86_64 x86_64
arch_bits:64multiplexing_api:epoll
atomicvar_api:atomic-builtingcc_version:4.8.5
process_id:60run_id:b34034d088b7cd17881f534a9a3ba0cfced73cd5
tcp_port:6379uptime_in_seconds:35830
uptime_in_days:0hz:10
lru_clock:3785281executable:/usr/bin/redis-server
config_file:/etc/redis/6379.conf
# Clientsconnected_clients:1
client_recent_max_input_buffer:2client_recent_max_output_buffer:0
blocked_clients:0
# Memoryused_memory:2157240
used_memory_human:2.06Mused_memory_rss:3246592
used_memory_rss_human:3.10Mused_memory_peak:2386656
used_memory_peak_human:2.28Mused_memory_peak_perc:90.51%
used_memory_overhead:941288used_memory_startup:787352
used_memory_dataset:1215952used_memory_dataset_perc:81.32%
total_system_memory:16695502848total_system_memory_human:15.54G
used_memory_lua:37888used_memory_lua_human:37.00K
maxmemory:949782272maxmemory_human:905.53M
maxmemory_policy:noevictionmem_fragmentation_ratio:1.51
mem_allocator:jemalloc-4.0.3
# Persistenceloading:0
rdb_changes_since_last_save:0rdb_bgsave_in_progress:0
rdb_last_save_time:1578463041rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:0aof_enabled:0
aof_rewrite_in_progress:0aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:okaof_last_write_status:ok
aof_current_size:0aof_rewrite_buffer_length:0
aof_pending_rewrite:0aof_buffer_length:0
aof_rewrite_buffer_size:0aof_pending_bio_fsync:0
aof_delayed_fsync:0
# Statstotal_connections_received:3
total_commands_processed:3instantaneous_ops_per_sec:0
total_net_input_bytes:77total_net_output_bytes:3207
instantaneous_input_kbps:0.00instantaneous_output_kbps:0.00
rejected_connections:0sync_full:0
sync_partial_ok:0sync_partial_err:0
expired_keys:0evicted_keys:0
keyspace_hits:0keyspace_misses:0
pubsub_channels:0pubsub_patterns:0
latest_fork_usec:2839migrate_cached_sockets:0
# Replicationrole:master
connected_slaves:0master_replid:3b3e3469c42ad4ada4e8247d1b1194d4c2b84c43
master_replid2:0000000000000000000000000000000000000000master_repl_offset:0
second_repl_offset:-1repl_backlog_active:0
repl_backlog_size:1048576repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
# CPUused_cpu_sys:7.969995
used_cpu_user:5.220002used_cpu_sys_children:0.000000
used_cpu_user_children:0.000000
# Clustercluster_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服务进行扫描,及时了解数据库的安全状况,以保证数据的安全性和完整性。