J-한솔넷

개발환경 보안 본문

웹 개발관련/개발환경

개발환경 보안

jhansol 2023. 12. 1. 16:06

오늘 정말 황당한 일이 있어 글을 남김니다.
최근 집에서 작업하는 경우가 많았는데, 어재까지만 하더라도 문제가 개발환경 데이터베이스 문제가 생겼습니다.

개발환경의 데이터는 대부분 더미 데이터라 데이터에 대한 위험성은 크지 않으나 로컬 개발환경의 보안을 어떻게 해야 할 것인가에 대해 깊은 고민을 하게 되었습니다. 앞으로도 고민을 더 해야겠지만 급한데로 개발환경에서 사용하는 서비스 포트를 차단하는 것으로 마무리했습니다. 이 글은 그 기억을 남겨두는 목적으로 기록해둡니다.

 

데이터베이스 상태

위 그림과 같이 MySQL 시스템 데이터베이스를 제외한 모든 데이터베이스의 테이블이 삭제되고 "README" 테이블이 생성되어 있고 해당 테이블을 클릭해서 내용을 확인해보니 아래 그림과 같은 메시지가 적혀 있습니다.

내용을 보면 "내가 당신의 모든 데이터베이스의 백업 데이터를 가지고 있다. 복구하려면 .... 비트코인을 .... 지갑으로 배내고 개@개 주소로 서버 IP와 거래 ID와 함께 보내라 거래 ID가 없는 메일은 무시할 것이다"라는 메시지가 적혀 있습니다.

 

개발환경 상태

집에 구성된 개발환경은 Windows 11에 Docker를 이용하여 개발환경을 구성해두었습니다. 그리고 유료 백신 소프트웨어를 구독하여 실시간 검사로 악성코드를 걸러 내도록 해두었습니다. 하지만 별도의 방화벽 설정을 해두지는 않았습니다. 개발환경이야 제가 사용할 때만 실행하고, 그렇지 않을 때는 내려 버리기 때문에 이런 일이 발생할 것이라고는 생각치도 못했기 때문입니다.

 

원격 서버에서 개발환경으로 문제 없이 접근된다. (헐~~~)

위 그림은 클라우드 서버에서 저의 PC의 MySQL 서버로 접속한 화면입니다. 어의없게도 문제없이 접근됩니다. 아니 이게 당연할 것입니다. 보안에 신경도 쓰지 않았는데 접속되는게 당연합니다.

 

조치사항

백신의 실시간 검색으로 왠만한 악성코드는 차단할 것으로 생각됩니다만 외부로부터의 접속은 문제가 있어 보입니다. 그래서 백신의 방화벽 설정에 아래와 같이 개발환경에서 사용하는 포트들을 외부로부터 차단하였습니다.

 

마무리하며...

전혀 생각치도 않았던 일이 발생하고 보니 매우 당황스럽습니다. 저의 경우 운영서버의 데이터를 가져와 테스트하는 경우도 있어서 데이터가 유출되면 심각한 문제가 발생할 수도 있기 때문에 로컬 개발환경이라도 신경을 많이 쓰야 할 듯 합니다.