Skip to content

luks/redisproxy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Redis Proxy

This program is a proxy for redis that adds access controls and TLS client authentication.

You configure this program with a YAML file, which defines groups and rules.

groups:
  + name: frontend
    ou: ["frontend"]
  + name: web
    ou: ["web"]
rules:
  + groups: ["frontend"]
    commands: [["^PING$"], ["^SADD$", "^sessions/(.*)$"]]

Invoking it:

redisproxy \
    -config config.yaml \
    -cert cert.pem -key key.pem -client-ca ca.pem \
    -listen 6380 \
    -server localhost:6379

You can use a TLS client such as ghostunnel or openssl s_client to connect.

Note #1: This program implements the Redis protocol as described http://redis.io/topics/protocol. It does not implement Inline Commands (PRs welcome).

Note #2: when a client issues a command that is not allowed, the connection is immediately closed. If the client is pipelining, sending multiple commands without waiting for responses, it may interrupt pending responses. (Again, PRs welcome)

About

Access control for Redis

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%