Database

[Redis] 비밀번호 설정

비번변경 2023. 6. 23. 17:03

개요

인터넷과 연결되어 있는 Ubuntu 서버에 Redis를 설치하고 모든 접속을 허용하게끔 설정해두었더니 기가 막히게도 해킹을 당했다.

저장해두었던 데이터가 사라지고 backup1, backup2…… 이라는 키에 crontab 규칙이 저장되어 있었다. 로그를 보니 타인에 의해 아래와 같은 명령어가 실행된 것 같았다.

# 기본 로그 경로
view /var/log/redis/redis-server.log

일단 redis 포트를 변경해두었는데, 비밀번호까지 설정해두려고 한다. 방법을 적어둔다.

 

 

redis 설정 편집

redis.conf 파일을 열고 SECURITY 항목을 확인하면 친절하게 관련 내용을 주석으로 설명하고 있다.

/etc/redis/redis.conf

requirepass 설정은 명령을 처리하기 전에 AUTH 명령어로 인증을 요구하게끔 설정하는 것으로 보인다. 대부분 인증을 필요로 하지 않고 이전 버전과의 호환성을 위해 활성화하지 않고 사용하지만, redis-server를 실행하는 호스트에 대한 액세스 권한을 신뢰할 수 없을 때 유용하다.

Redis는 인메모리 DB라 처리 속도가 빨라 초당 최대 15만 개의 암호 인증을 시도할 수 있다고 한다. 따라서 비밀번호를 복잡하게 설정하는 것을 권장한다.

적당한 비밀번호를 지정하고 파일을 저장한다.

 

 

서비스 재시작

설정 파일이 변경되었으므로 systemctl 명령으로 redis 서버를 재시작한다.

systemctl restart redis-server.service

 

 

인증 확인

Redis에 접속해서 인증 설정이 정상적으로 적용되었는지 확인한다.

먼저 AUTH 명령을 수행하지 않고 다른 명령을 시도하면 (error) NOAUTH Authentication required. 라는 오류가 발생하는 것을 확인할 수 있다.

틀린 비밀번호를 입력해도 에러 메세지가 발생한다.

올바른 비밀번호를 입력해야 정상적으로 Redis를 사용할 수 있다.

 

참고 문서

[Redis] Redis 비밀번호 설정

728x90