마인팜 서버에서의 개인정보 이슈

마인팜 서버에서 개인정보 유출을 조심하는 지침서

안녕하세요. 이 글은 도원경 유저분들 뿐만 아니라, 마인팜 유저 여러분께 올리는 글입니다!

여러분. 도원경을 제외한 대부분의 마인팜 서버에서 관리진이 유저분들의 섬 채팅과 지역채팅 기록을 실시간으로 확인할 수 있다는 사실을 아시나요?

섬 플러그인의 진실

대부분의 마인팜 서버에서는 SuperiorSkyblock2 이라는 섬 플러그인을 사용하고 있습니다.

해당 플러그인에서는 '/island admin spy' 라는 명령어를 제공하는데요.

이 명령어를 사용하면, 스파이 모드가 켜지게 되며, 이는 여러분의 섬 채팅이 관리진에게 실시간 전송되는 기능입니다. 하단 코드를 참고해 주세요.

/island admin spy 명령어 사용 시 실행되는 코드
스파이 모드 on/off 코드
섬 채팅 실행 코드 (spy 모드가 켜져있는 사람에게 채팅을 전송하는 코드 포함)

놀랍게도, 이는 해당 플러그인 제작사 홈페이지에도 공식적으로 명시된 내용입니다. [링크 참고]arrow-up-right

정말 끔찍합니다. 그래서 도원경은 SuperiorSkyblock2 플러그인에 내장된 섬 채팅 기능을 아예 사용하지 않고, 자체적으로 구현한 섬 채팅 기능을 사용하고 있습니다.

도원경의 섬 채팅 실행 코드 (보시면 알겠지만, 오로지 섬원 목록만 가져와 섬원에게만 메세지를 전송합니다.)

섬 채팅만 안전하면 괜찮을까?

섬 채팅만 확인하지 않는다면 괜찮을까요? 아닙니다.

대부분의 서버에서는 CoreProtect 라는 테러 방지 시스템을 사용하고 있는데요.

이 CoreProtect 에서는 유저 여러분의 모든 채팅 기록을 로그하여, 어드민이 명령어로 채팅 기록을 확인할 수 있는 기능이 포함되어 있습니다.

도원경 외부 테스트 서버에서의 테스트 내용 공유

다행히 해당 플러그인에서는 설정으로 해당 기능을 끌 수 있는 시스템이 있어, 도원경은 해당 설정을 꺼 놓고 서버를 운용중입니다.

도원경 설정 공유
도원경에서 채팅 내역이 기록되지 않아 확인할 수 없는 사진

여기서 끝이 아니다.

글이 길어져서 죄송합니다. 하지만 여러분, 대부분의 서버는 Bukkit 기반의 (spigot/paper 포함) 서버 구현체로 서버를 운용하고 있는데요.

무서운 점은, 이 Bukkit 기반의 서버에서는 모든 채팅 내용이 콘솔에 로그 된다는 점입니다.

이런 식으로 말이죠. (도원경 외부 콘솔입니다.)

위에 설명드린 SuperiorSkyblock2 도 스파이 모드 온오프와 관계없이 콘솔에 무조건 섬 채팅 메세지를 전송합니다.

또, 서버마다 다르겠지만 지역채팅 등의 민감한 채팅 내용도 시스템에 따라 콘솔에 메세지를 보내기도 합니다.

도원경의 채팅 시스템

다행히 도원경은 기획 단계에서부터 유저분들의 개인정보 침해에 문제 의식을 갖고 제작되었기 때문에 콘솔이나 관리진이 유저분들의 민감채팅을 확인할 수 있는 기능을 아예 제거하고, 원천 차단하고 있습니다.

Bukkit 서버의 경우 플레이어 채팅 발생 시 AsyncPlayerChatEvent 라는 이벤트가 호출되어 코드를 실행하는데요. [링크 참고]arrow-up-right

위 코드를 보시면 아시겠지만, 도원경에서는 민감 채팅의 경우 플레이어 채팅 이벤트 발생 시 아예 이벤트 호출을 취소하고, 위 페이지에 보여드렸던 자체 제작 코드만을 실행해 콘솔에 섬 채팅이나 지역채팅 등이 로그되는 현상도 원천 차단하고 있습니다.

마치는 글

이 글을 공유하면 문제의식조차 느끼지 못하는 일부 어드민 분들께 비난받을 수 있다는 사실을 알고 있습니다. 하지만, 마인팜을 사랑해주시는 유저분들 덕분에 마인팜 서버가 존재한다는 것을 생각하면, 마인팜 유저분들의 권리를 챙기는 건 누구보다도 어드민이 먼저여야 한다고 생각합니다. 코드가 검증되지 않은 서버에서는 가급적이면 지역채팅이나 섬 채팅을 이용하지 않으시길 바라겠습니다. 읽어주셔서 감사합니다.

Last updated