DB/MemoryDB

redis 보안 [rename-command]

Dragonfog.net 2023. 1. 13. 09:38
반응형

Redis에서 보안 목적으로 명령어를 바꿀수 있음

 

아래와 같이  SET 명령어를 XSETX으로 변경 가능
rename-command set xsetx

 

보안 목적이기에 일반 명령어보다는 서버에 영향을 미치는 명령어를 바꾸는 예가 redis.conf에  나열되어 있음

 

첫 번째 예는 CONFIG 명령을 예측하기 어려운 문자열로 변경
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
두 번째 예는 CONFIG 명령을 아예 사용할 수 없도록 한 것
rename-command CONFIG ""

 

 

###주의사항

CONFIG 명령을 바꾸었을 경우: 센티널 또는 클러스터에서 해당 마스터 down이 발생하면 failover를 진행하는 센티널 또는 마스터 노드는 failover 마지막 단계에서 변경 내용을 해당 슬레이브 노드의 redis.conf 파일에 CONFIG REWRITE 명령으로 쓰기를 시도합니다. 이때 CONFIG 명령의 이름이 변경되었씀으로 CONFIG 명령이 실패하고 failover가 성공하지 못합니다.   다운된 마스터의 CONFIG 명령을 변경했다면 이 마스터가 다시 시작할 때 클론으로 변경되어야 하는데 이때도 CONFIG REWRITE 명령이 실패해서 클론으로 변경되지 않고 마스터로 남아있습니다.

  • 센티널 또는 클러스터 환경에서 운용한다면 CONFIG 명령은 변경하지 마십시오.
  • AOF를 운영중이라면 AOF에 기록되는 SET 명령같은 명령을 나중에 변경하지 마십시오. 레디스 서버를 다시 시작했을 때 AOF loading 시 변경한 명령이 실행되지 않습니다.
  • 마스터와 클론의 명령을 다르게 변경했다면 클론에 복제가 제대로 이루어지지 않습니다.

보통 아래와 같이 Redis에 영향을 주는 명령어에 대해서 변경을 고려함

flushall, flushdb, keys

반응형

'DB > MemoryDB' 카테고리의 다른 글

REDIS KEY 체크 하기  (0) 2023.05.11
REDIS TTL 없는키 확인 하기  (0) 2023.05.11
Redis 백업 스크립트  (0) 2022.03.04
Redis 설치 하기 (Replica)  (0) 2021.07.11
Memcached 설치 하기  (0) 2021.07.09