1. 程式人生 > >redis配置文件與未授權訪問

redis配置文件與未授權訪問

req bin ger only 文件 RF BSD協議 into 登錄

redis配置文件與未授權訪問

0x00 redis簡述

REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。
Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。它通常被稱為數據結構服務器,因為值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。

0x01 redis配置文件

配置文件名稱:redis.conf
默認路徑:/etc/redis.conf

默認端口:6379
redis配置文件中與權限和密碼有關的字段:

# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
# internet, binding to all the interfaces is dangerous and will expose the
# following bind directive, that will force Redis to listen only into
bind 0.0.0.0

# If the master is password protected (using the "requirepass" configuration
# requirepass foobared

bind代表允許訪問的ip
requirepass 代碼訪問redis的密碼

0x02 那種情況下,redis存在未授權訪問

啟動方式 對應進程 配置文件 是否存在未授權訪問
./redis-server 00:00:00 redis-server 0.0.0.0:6379 沒有配置文件 不存在
./redis-server redis.conf redis-server 0.0.0.0:6379 bind 0.0.0.0 存在
./redis-server redis.conf redis-server 0.0.0.0:6379 默認配置 不存在
./redis-server redis.conf redis-server 0.0.0.0:6379 requirepass foobared; bind 0.0.0.0 不存在

綜上表名redis未授權訪問的條件是:

  • 加載了配置文件(./redis-server redis.conf)
  • 允許任何ip登錄,或者自己的ip在允許範圍內(bind 0.0.0.0)
  • 未設置密碼(#requirepass foobared)

redis配置文件與未授權訪問