DB 랜섬웨어 주의보(코린이들 필독)

UICHEOL_HWANG·2024년 5월 21일

Docker

목록 보기
5/5
post-thumbnail

AWS 사용하는데 랜섬웨어 걸리게 한 사람이 있다?!

  • 본론부터 말하자면 그게 바로 나다....(이제 개발 그만할게... 병신이야 나 ...)

바야흐로 3월달... 학원에서 같이 플젝한 동생이 자꾸 DB가 초기화 된다고 다시 재설정 해달라는 부탁을 해왔다

근본적으로 문제를 확인해봤었어야 했는데...

근데 사실 작년 12월부터 지속적으로 DB가 터졌었는데, 어처피 중요한 정보도 없고 포폴 사이트이고 중요성을 크게 못느꼈기에 걍 시간 될 때마다 DB를 새로 갱신해주기로 했다(왜냐면 백업 데이터들을 계속 갖고 있어서 별 큰 타격은 없었다)

그런데... 말입니다

그게 나락행인줄 몰랐던거지ㅋㅋㅋㅋㅋㅋㅋ
오늘도 오랜만에 관리할겸 사이트를 들어가봤는데...


예시 사이트일 뿐입니다 실제 제 사이트가 이랬었음


이런 씨ㅂㅏㄹ
오늘 한 번 삽질해서 널 클리어하겠단 생각으로 DB를 접속해봤음

docker exec -it container mysql -u root -p 
# password 
password : 
....

????
이게 뭐누?

그래서 더 찍어봤다

ㅋㅋㅋㅋ ;;ㅋㅋ 아~ 좀 더 관리 잘 할걸 ....

결론은

  • DB관리를 너무 허술하게 한 부분이 가장 컸다
 db:
    image: mysql:latest
    container_name: my_db
    restart: always
    env_file:
      - ./.env
    ports:
      - "3306:3306"
    volumes:
      - /path/to/your/mysql-data:/var/lib/mysql
    command: --bind-address=0.0.0.0
    # 이 부분 떄문에 그냥 활짝 열린 것 같다 
  • 상기 내용을 보면 알겠지만 compose에서 컨테이너 설계 당시부터 문을 너무 활짝 열어둔 탓이 가장 큰 패착이라고 볼 수 있겠다

진짜 결론

응~ 백업 데이터 다 있어~ 다 폭파시키면 그만이야~~~ ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

기존 MySQL 컨테이너 데이터셋을 모두 초기화 시키고 DB 루트 비밀번호, 권한유저 비밀번호를 모두 고도화시켜서 바꿔놓고 고정 IP를 재설정 시킨 다음 MySQL 포트번호도 변경 시켰다

물론 혹시 모르니 1-2주 간격으로 또 공격 받는지 여부도 체크할 필요가 있겠다

혹시라도 주기적으로 데이터베이스가 초기화되는 경우가 발생했을 때

  1. 랜섬웨어 가능성을 열어둬라
    • 아무리 포폴용이래도 백업 데이터도 따로 보유 하고 있어야하며 비밀번호 잘 설정하시길 ...
    • 깃헙에다가 절대 노출시키지 말고 환경변수 안에다가 저장 시키는 것이 관건! (깃헙 말고 클라우드 서버 내에 저장시키고 난 뒤에 nginx로 방어하시길)
  2. 문을 모두 걸어 잠궈라
    • 인바운드 방화벽은 되도록이면 보수적으로 접근하도록 설정하는 것이 제일 좋다
    • 정 필요하다면 최소한만 열어두고 포트번호도 관리자만 알 수 있게 인식시키길
profile
개발 취미로 하는 세일즈맨

0개의 댓글