DATABASE 해킹

JOO·2021년 12월 30일
0

실전프로젝트

목록 보기
5/12

DATABASE 해킹

오늘 아침에 DB에 접속이 안됐다. 조건을 다시 줘서 접속해보니 DB안에 모든 데이터들이 사라지고, 아래 내용이 적힌 데이터 하나만 남아있었다.

To recover your lost Database send 0.005 Bitcoin (BTC) to our Bitcoin address: bc1qwdv2mky6a5cqcspg4yju2zhtmk3msxrqdwdagh After this, contact us by email with your Server IP or Domain Name and a Proof of Payment (Payment ID). Your Database is downloaded and backed up on our servers. Backups that we have right now: Z_README_TO_RECOVER, voice. Any email without your server IP Address or Domain Name and a Proof of Payment together will be ignored. If we dont receive your payment in the next 10 Days, we will delete or leak your sensitive information.

첫 번째 줄 읽는 순간 '아 이거 랜섬웨어 같은거구나' 라는 생각이 들었다. 프론트의 기능구현을 위한 더미데이터들만 있어서 다행이지 만약 실 사용자들의 정보를 저장해놨을 때 이런 일이 생겼으면 얼마나 끔찍했을지 무섭다.

DATABASE 보안을 위해서 해야 할 것

  1. PUBLIC 형태가 아닌 PRIVATE 형태로 이용. (외부 접근 IP 차단)
  2. 만약 외부로 오픈해야하는 DB라면 3306에서 다른 포트로 변경.
  3. MySQL 디폴트값 사용하지 않기 (ex. username = root, port = 3306)
  4. 쉬운 비밀번호 사용하지 않기 (ex. password = 111111, 1234)
  5. DB의 PASSWORD를 해쉬화해서 사용.

앞으로 해야할 것

이번엔 프론트앤드 분들의 기능구현을 위한 더미데이터만 있는 데이터라서 큰 타격은 없었지만, 보안이 얼마나 중요한건지 제대로 체감할 수 있었던 경험이었다. 위의 DATABASE 보안을 위해서 해야 할 것들에서 2, 3, 4 번을 적용해서 다시 서버를 열어놓았다. 실제 서비스를 위한 배포를 할 때 외부 아이피 차단과 DB 비밀번호 해시화를 적용해서 올릴 예정이다.

profile
개발공부 기록

0개의 댓글