gcp로 운영 중이던 웹페이지가 db를 읽어오지 못하는 현상이 생겼다. 아래는 웹페이지에서 볼 수 있는 문구.

마지막 따옴표 사이에 읽어와야할 db명이 적혀있다.

java.sql.SQLSyntaxErrorException: Could not connect to address=(host=127.0.0.1)(port=3306)(type=master) : Unknown database 'wifi '

문제를 파악하기 위해 서버로 접근하여 확인해본 결과 db가 없어졌다. 

sql파일을 가지고 있어서 다시 올리면 그만인데 문제는 며칠 간격으로 db가 계속 사라진다는 것.. 

처음 웹페이지를 운영해본터라 서버 문제인 줄 알고 로그는 확인도 안 하고 반복해서 sql만 새로 올렸다.

반복되는 오류에 뒤늦게 로그를 확인해봐야겠다는 생각이 들었다. 문제는 mariaDB만 그런 건지 db를 올리면 기본값이 로그를 남기지 않게끔 되어있었다. 그래서 이번에는 로그를 남기게 설정해놓고 주기적으로 들어가서 확인해 보았다. 

 

결론

 새벽 4시경에 누군가 db에 접속하여 자료를 건드는 로그를 발견.

지워진 당일날 확인하니 db자체는 남아있지만 안에 있는 테이블과 자료들은 없다. readme를 읽어보니 데이터를 복구하고싶으면 토르 브라우저로 접속하여 비트코인을 보내란다.. 즉 랜섬웨어다. 

처음에는 기존 db도 안남겨놓고 readme만 있었는데, 나는 readme가 mariaDB에서 작성된 기본 db로 착각해서 열어볼 생각을 안 했었다.

돈 안 보내고 쭉 지켜봤더니 이번에는 내 데이터는 백업되어 있단다.. 48시간 내로 돈 안 주면 유출할 거라는 문구로 변경되어 있다. 나름 신기한 경험을 해보았고 로그의 중요성을 깨달았다. 로그 볼 생각 안 했으면 계속 반복해서 sql만 올렸을 테니.. 해당 gcp서버는 파기 후 다시 가동하면 그만이다. 다만 걱정되는 건 어떤 경로로 감염이 된 건지를 잘 모르겠다.

'web > errors' 카테고리의 다른 글

서버 재부팅 후 도메인 연결 안되는 문제  (0) 2021.06.10

+ Recent posts