Skip to main content
skill CX Codex

redis-security — Claude Code skill: Redis security

Guides Redis hardening with authentication, TLS, ACLs and network restrictions. Use it when deploying or auditing a production Redis instance.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add redis/agent-skills --skill redis-security -a claude-code
Open on GitHub

What redis-security does

This skill gives an agent a Redis security checklist covering passwords or ACL users, TLS connections, interface binding, protected-mode and firewall rules. It also covers disabling FLUSHALL, DEBUG and CONFIG.

It recommends dedicated ACL accounts for each application, with only the key patterns and commands that account needs. The included examples cover a cache reader, a writer without dangerous operations, and an administrator. A shared requirepass is treated as a shortcut for the default user.

The skill includes redis.conf settings, ACL SETUSER commands, a Python redis.Redis connection and iptables rules. Using bind 0.0.0.0 with protected-mode no exposes Redis across the network, so check for that combination first.

What it helps with

  • configure Redis passwords and TLS
  • create least-privilege ACL users
  • restrict Redis access with bind and firewall rules
  • disable destructive Redis commands
  • audit Redis for public network exposure

Example prompts for the agent

  • Review my redis.conf for production Redis security.
  • Create an ACL user that can read cache:* but cannot run dangerous commands.
  • Configure a TLS Redis connection in Python with redis.Redis.

How to install redis-security

1Skills CLI (Vercel)

npx skills add redis/agent-skills --skill redis-security -a claude-code

2Manually: put the files in place

~/.claude/skills/redis-security/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/redis-security/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about redis-security

How do I install redis-security in Claude Code?

Run npx skills add redis/agent-skills --skill redis-security -a claude-code, then run npx skills add redis/agent-skills --skill redis-security -a claude-code again. The skill file is at ~/.claude/skills/redis-security/SKILL.md.

What does redis-security do?

It guides Redis authentication, TLS, ACL permissions and network access restrictions. It includes examples for redis.conf, ACL commands, iptables and Python connections.

Why use ACL users instead of requirepass?

ACL users let each application receive only the commands and key patterns it needs. requirepass uses a shared password for the default user.

Source text

SKILL.md · MIT
---
name: redis-security
description: Redis security guidance covering authentication (requirepass and ACL users), TLS, ACL-based least-privilege access control, restricting network exposure via bind and protected-mode, firewall rules, and disabling dangerous commands. Use when deploying Redis to production, defining ACL users for an application, configuring TLS connections, locking down a Redis instance behind a firewall, or auditing a Redis deployment for security hardening.
license: MIT
metadata:
  author: Redis, Inc.
  version: "0.1.0"
---

# Redis Security

Production hardening for Redis: authentication, ACL-based access control, and network exposure. Cover all three together — any one of them on its own leaves an exploitable gap.

## When to apply

- Deploying or reviewing a Redis instance destined for production.
- Setting up application credentials beyond a shared password.
- Auditing a Redis deployment against a security checklist.
- Receiving "Redis exposed to the internet" findings from a scanner.

## 1. Always authenticate (and use TLS)

Never run a production Redis without a password. Pair authentication with TLS so credentials and data aren't sent in clear text.

```
# redis.conf
requirepass your-strong-password
tls-port 6380
tls-cert-file /path/to/redis.crt
tls-key-file  /path/to/redis.key
```

```python
r = redis.Redis(
    host="localhost",
    port=6380,
    password="your-strong-password",
    ssl=True,
    ssl_cert_reqs="required",
)
```

If you can use ACL users (next section) instead of the single `requirepass`, do — `requirepass` is effectively the legacy "default user" shortcut.

See [references/auth.md](references/auth.md).

## 2. ACLs for least-privilege access

The `default` user with a shared password is fine for development. For production, give each application a dedicated ACL user with only the commands and key patterns it actually needs.

```
# Cache-only reader
ACL SETUSER app_readonly on >password ~cache:* +get +mget +scan

# Writer that can't run dangerous ops
ACL SETUSER app_writer   on >password ~*        +@all -@dangerous

# Admin (use sparingly, never for application traffic)
ACL SETUSER admin        on >strong-password ~* +@all
```

Useful command categories:

| Category | What it covers |
|---|---|
| `@read` | Read commands (`GET`, `MGET`, `HGET`, ...) |
| `@write` | Write commands (`SET`, `DEL`, `XADD`, ...) |
| `@dangerous` | `FLUSHALL`, `DEBUG`, `KEYS`, etc. |
| `@admin` | Administrative commands |

If app credentials leak, a tight ACL bounds the blast radius — the attacker can't `FLUSHALL` your DB just because they grabbed a cache reader's password.

See [references/acls.md](references/acls.md).

## 3. Restrict network access

The most common Redis breach is a public-internet Redis with no auth. Avoid that with three layers:

```
# redis.conf — bind to specific interfaces, keep protected-mode on
bind 127.0.0.1 192.168.1.100
protected-mode yes
```

```bash
# Firewall — allow only application subnets
iptables -A INPUT -p tcp --dport 6379 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 6379 -j DROP
```

Anti-pattern: `bind 0.0.0.0` + `protected-mode no` — exposes Redis to the whole network without protection.

Optional but recommended: rename or disable destructive commands so a compromised client can't trash the DB:

```
rename-command FLUSHALL ""
rename-command DEBUG ""
rename-command CONFIG ""
```

See [references/network.md](references/network.md).

## References

- [Redis: Security](https://redis.io/docs/latest/operate/oss_and_stack/management/security/)
- [Redis: ACL](https://redis.io/docs/latest/operate/oss_and_stack/management/security/acl/)

© Redis, Inc. · MIT · redis/agent-skills

Similar skills

Everything for Security →

From the same set7

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor