오프라인 모드 서버의 위험
- 어떤 플레이어든 관리자의 닉네임을 쓸 수 있고, 인증 플러그인이 비밀번호를 요구하기 전까지 서버는 그 플레이어를 믿습니다.
- 봇에게 정품 계정이 필요 없으므로, 공격자가 봇 천 개를 돌리는 비용은 봇 하나와 같습니다.
- 차단된 뒤 새 닉네임을 만드는 데 비용이 들지 않습니다.
- 공백이 들어가거나 다른 문자 체계의 비슷한 글자를 쓴 닉네임으로 다른 사람 행세를 할 수 있습니다.
인증 플러그인은 필수
AuthMe나 nLogin 같은 인증 플러그인은 플레이어가 등록하고 접속할 때마다 비밀번호를 입력하게 합니다. 인증 플러그인이 없으면 크랙 서버는 관리자 닉네임을 아는 누구에게나 열려 있습니다. 이런 플러그인 중 상당수는 정품 계정 소유자를 비밀번호 없이 접속시킬 수 있으며, 플레이어들이 반기는 기능입니다.
Kordon은 인증 플러그인을 대신하지 않습니다. 비밀번호를 보지도, 검사하지도 않습니다. 비밀번호 자체를 보호하는 방법은 비밀번호 무차별 대입 가이드에서 다룹니다.
Kordon이 막는 것
Kordon은 플레이어가 인증 플러그인에 닿기도 전에 프록시 서버에서 접속을 검사합니다.
- VPN, 프록시, 호스팅 네트워크는 통과하지 못하므로, 차단된 플레이어가 새 닉네임으로 돌아오기 어려워집니다.
- Kordon은 봇이 몰려오는 것을 자동으로 감지하고 서버를 공격 모드로 전환합니다.
- 닉네임 규칙은 템플릿으로 만든 봇 닉네임과 키릴 문자나 공백이 들어간 닉네임을 차단합니다. ‘nLogin / AuthMe 방식’ 패턴은 이 플러그인들의 규칙과 같으므로, 맞지 않는 닉네임 때문에 플레이어가 등록 단계에서 막히지 않습니다. 단, 이 패턴은 닉네임이 마침표로 시작하는 Floodgate의 Bedrock 플레이어를 막는다는 점을 기억하세요.
- 블랙리스트에는 닉네임, 주소, 대역을 넣을 수 있습니다. 크랙 플레이어의 UUID는 닉네임의 대소문자를 그대로 반영해 만들어지므로, UUID 차단은
Steve대신steve로 접속하면 우회됩니다. Kordon은 대소문자를 구분하지 않고 닉네임을 비교하므로, 크랙 서버에서는 닉네임 차단이 더 안전합니다.
화이트리스트는 신중하게
Kordon의 화이트리스트는 VPN 검사 없이 플레이어의 접속을 허용합니다. 온라인 모드 서버에서는 Mojang이 닉네임을 확인합니다. 크랙 서버에서는 누구나 그 닉네임을 쓸 수 있으므로, 닉네임으로 된 화이트리스트 항목은 그 이름으로 접속하는 사람을 검사 없이 들여보냅니다.
그래서 크랙 서버에서는 관리자를 IP 주소로 화이트리스트에 넣는 것이 좋습니다. 누군가의 주소가 바뀌더라도 VPN을 쓰지 않는다면 화이트리스트에 넣을 필요가 없을 수도 있습니다. 일반 가정용 주소는 어차피 검사를 통과합니다.
공백과 비슷한 글자가 들어간 닉네임
오프라인 모드에서 Velocity는 거의 모든 문자로 된 최대 16자의 닉네임을 받아들입니다. 서버에서 Steve와 끝에 공백이 붙은 Steve 는 서로 다른 계정이지만, 채팅과 탭 목록에서는 똑같아 보입니다. 라틴 문자 대신 키릴 문자 “а”, “е”, “о”를 쓴 경우도 마찬가지입니다.
기본으로 켜져 있는 ‘Paper 방식’ 규칙은 라틴 문자, 숫자, _와 마침표만 허용하므로 이런 닉네임은 통과하지 못합니다. 이 규칙을 끄지 마세요. 자세한 내용은 닉네임 필터 가이드를 참고하세요.
순서대로 할 일
- 인증 플러그인을 설치하고 비밀번호 최소 길이를 정하세요.
- 프록시 서버에 Kordon을 설치하고 하루나 이틀 동안 관찰 모드로 지켜보세요.
- ‘Paper 방식’ 닉네임 규칙을 유지하거나, Bedrock 플레이어가 없다면 ‘nLogin / AuthMe 방식’을 고르세요.
- ‘균형’ 수준으로 보호를 켜세요.
- 관리자는 닉네임이 아니라 IP로 화이트리스트에 넣으세요.
- 규칙 위반자는 닉네임으로 차단하세요. VPN이 막혀 있으면 빨리 돌아올 수 없습니다.