Redis 설치 · 4 min read · Feb 13, 2026

Debian 10에서 Redis 서버 설치 및 보안 설정

Redis는 “원격 사전 서버”로도 알려져 있으며, 데이터베이스, 캐시 및 메시지 브로커로 사용할 수 있는 오픈 소스 인메모리 데이터베이스입니다. Redis는 문자열, 해시, 리스트, 집합 등 다양한 데이터 구조를 지원합니다. Redis는 C 프로그래밍 언어로 작성되었으며 Linux, Free BSD 및 OS X와 같은 대부분의 POSIX 시스템에서 작동합니다. Redis는 초당 수천 개의 명령을 실행할 수 있습니다. Redis는 복제, 자동 장애 조치, Lua 스크립팅, LRU 키 제거, 트랜잭션 등 다양한 기능을 제공합니다.

이 튜토리얼에서는 Debian 10 서버에 Redis를 설치하고 보안 설정하는 방법을 배웁니다.

요구 사항

  • Debian 10을 실행하는 서버.
  • 서버에 루트 비밀번호가 설정되어 있어야 합니다.

시작하기

시작하기 전에 시스템을 최신 버전으로 업데이트해야 합니다. 다음 명령어를 실행하여 업데이트할 수 있습니다:

apt-get update -y  
apt-get upgrade -y

서버가 업데이트되면 변경 사항을 적용하기 위해 서버를 재시작합니다.

Redis 설치

기본적으로 Redis는 Debian 10 저장소에서 사용할 수 있습니다. 다음 명령어를 실행하여 설치할 수 있습니다:

apt-get install redis-server -y

Redis를 설치한 후, Redis 서비스를 시작하고 시스템 재부팅 후 자동으로 시작되도록 설정하려면 다음 명령어를 실행합니다:

systemctl start redis-server  
systemctl enable redis-server

다음 명령어로 Redis 서버의 상태를 확인할 수도 있습니다:

systemctl status redis-server

다음과 같은 출력을 받아야 합니다:

? redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-09-06 05:57:45 EDT; 4s ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
  Process: 2284 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 2285 (redis-server)
    Tasks: 4 (limit: 1138)
   Memory: 6.8M
   CGroup: /system.slice/redis-server.service
           ??2285 /usr/bin/redis-server 127.0.0.1:6379

Sep 06 05:57:45 debian systemd[1]: Starting Advanced key-value store...
Sep 06 05:57:45 debian systemd[1]: redis-server.service: Can't open PID file /run/redis/redis-server.pid (yet?) after start: No such file or di
Sep 06 05:57:45 debian systemd[1]: Started Advanced key-value store.

기본적으로 Redis는 포트 6379에서 로컬호스트에서 수신 대기합니다. 다음 명령어로 확인할 수 있습니다:

ps -ef | grep redis

다음과 같은 출력을 받아야 합니다:

redis     2285     1  0 05:57 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root      2294   706  0 05:59 pts/0    00:00:00 grep redis

다음으로, 다음 명령어로 Redis 연결을 테스트합니다:

redis-cli

다음과 같은 출력을 받아야 합니다:

127.0.0.1:6379> 

이제 ping 명령어로 Redis 연결을 확인합니다:

127.0.0.1:6379> ping

모든 것이 정상이라면 다음과 같은 출력을 받아야 합니다:

PONG

작업을 마쳤으면 다음 단계로 진행할 수 있습니다.

Redis를 캐시로 구성

/etc/redis/redis.conf 파일을 편집하여 Redis를 캐시로 구성할 수 있습니다:

nano /etc/redis/redis.conf

파일 끝에 다음 줄을 추가합니다:

maxmemory 64mb
maxmemory-policy allkeys-lru

64mb의 최대 메모리에 도달하면 Redis는 LRU 알고리즘에 따라 키를 제거합니다. 작업이 끝나면 파일을 저장하고 닫습니다. 그런 다음 다음 명령어로 Redis 서비스를 재시작합니다:

systemctl restart redis-server

작업을 마쳤으면 다음 단계로 진행할 수 있습니다.

Redis 인증 구성

기본적으로 Redis 셸에서 모든 명령을 실행할 수 있습니다. 따라서 클라이언트가 명령을 실행하기 전에 비밀번호를 요구하도록 Redis 인증을 구성하는 것이 좋습니다. Redis의 구성 파일에서 비밀번호 인증을 직접 구성할 수 있습니다. 그렇게 하려면 선호하는 편집기로 /etc/redis/redis.conf 파일을 엽니다:

nano /etc/redis/redis.conf

SECURITY 섹션에서 다음 줄을 찾습니다:

# requirepass foobared

주석을 제거하고 원하는 비밀번호로 교체합니다:

requirepass AlsW34%#df

작업이 끝나면 파일을 저장하고 닫습니다. 그런 다음 Redis 서비스를 재시작하여 구성 변경 사항을 적용합니다:

systemctl restart redis-server

이제 다음 명령어로 Redis 셸에 접근합니다:

redis-cli

이제 인증 없이 다음 명령어를 실행합니다:

127.0.0.1:6379> INFO server

이것은 인증이 없기 때문에 작동하지 않습니다. 다음과 같은 오류가 발생해야 합니다:

NOAUTH Authentication required.

다음으로, Redis 구성 파일에 지정된 비밀번호로 인증하기 위해 다음 명령어를 실행합니다:

127.0.0.1:6379> AUTH AlsW34%#df

다음과 같은 출력을 받아야 합니다:

OK

이제 이전 명령어를 다시 실행합니다:

127.0.0.1:6379> INFO server

이것은 성공적으로 실행되며 다음과 같은 출력을 받아야 합니다:

# Server
redis_version:5.0.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:afa0decbb6de285f
redis_mode:standalone
os:Linux 4.19.0-5-amd64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:8.3.0
process_id:2308
run_id:2cf0470a9492deddf98bcc72fa9ec94e941edf6c
tcp_port:6379
uptime_in_seconds:50
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:7483371
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf

작업을 마쳤으면 다음 단계로 진행할 수 있습니다.

특정 명령 이름 변경

보안상의 이유로 위험한 것으로 간주되는 특정 명령의 이름을 변경하는 것이 좋습니다.

여기서는 “config” 명령의 이름을 변경합니다. config 명령은 Redis 비밀번호를 검색하는 데 사용됩니다. 예를 들어 보겠습니다:

먼저 다음 명령어로 Redis 셸에 연결하고 인증합니다:

redis-cli
127.0.0.1:6379> AUTH AlsW34%#df

다음으로, 다음 명령어로 Redis 비밀번호를 검색합니다:

127.0.0.1:6379> config get requirepass

다음과 같은 출력을 받아야 합니다:

1) "requirepass"
2) "AlsW34%#df"
127.0.0.1:6379> 

/etc/redis/redis.conf 파일을 편집하여 config 명령의 이름을 변경할 수 있습니다:

nano /etc/redis/redis.conf

다음 줄을 찾습니다:

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

주석을 제거하고 원하는 문자열로 교체합니다:

rename-command CONFIG H2sW_Config        

파일을 저장하고 닫습니다. 그런 다음 다음 명령어로 Redis 서비스를 재시작합니다:

systemctl restart redis-server

다음으로, 다음 명령어로 Redis 셸에 연결하고 인증합니다:

redis-cli  
127.0.0.1:6379> AUTH AlsW34%#df

다음으로, config 명령으로 Redis 비밀번호를 검색합니다:

127.0.0.1:6379> config get requirepass

이 명령의 이름을 변경했으므로 다음과 같은 오류가 발생해야 합니다:

(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`, 

이제 다음과 같이 이름이 변경된 명령을 실행합니다:

127.0.0.1:6379> H2sW_Config get requirepass

다음과 같은 출력을 받아야 합니다:

1) "requirepass"
2) "AlsW34%#df"

마지막으로, 다음 명령어로 Redis 셸에서 나갑니다:

127.0.0.1:6379> exit

결론

축하합니다! Debian 10에서 Redis 서버를 성공적으로 설치하고 보안 설정했습니다. 이제 비밀번호 인증으로 Redis 서버를 보호하는 데 필요한 지식을 충분히 갖추었기를 바랍니다. 질문이 있으면 언제든지 문의해 주세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.