waterghost_2046 0bd8967038f5483ca751fd125b4c3556
플랫폼 | 모든 플랫폼, 자바 에디션 (JE), 베드락 에디션 (BE), 던전스, 에듀케이션, 레전드 |
---|---|
출처 | https://discord.forgeban.xyz |
https://www.koreaminecraft.net/update/3895839
이 게시물과 이어집니다.
자 저희는 도메인과 A, SRV레코드에 대해 알아봤습니다. 이제 SRV는 보안도메인이 아니다...라는것을 알아봤는데 만약 같은 도메인에 A레코드과 SRV레코드가 동시에 있으면 클라이언트는 어느 레코드를 사용해 접속할까요?
정답은 SRV레코드를 통해 접속한다... 입니다.
정확히는 SRV레코드가 존재하지않으면 A레코드를 조회하고 A레코드가 없다면 자주보이는 '알수없는 호스트' 에러가 발생하는것이죠
여기서 디도스,봇테러를 낚을수 있는 방법이 있습니다. 보통 디도스는 nslookup 서버주소
를 이용해 아이피를 얻고, A레코드가 존재하지않고(NXDOMAIN에러) SRV레코드의 존재를 안다면 SRV레코드를 조회하겠죠
A레코드를 조회한후 SRV를 조회한다? 클라이언트와 정반대의 접속과정을 거치는것입니다. 따라서 우리는 A레코드를 없애는것이 아닌, 레코드가 가르키는 주소를 변경해 A레코드가 '존재한다'라는것을 알려줌으로써 A레코드의 주소로 디도스가 유입되게 만들어야합니다.
저의 서버를 예로 들었습니다.
다음과 같이 구글을 가리키는 A레코드 minecraft.forgeban.xyz,
서버주소를 가리키는 SRV레코드 _minecraft._tcp.minecraft.forgeban.xyz를 만들었습니다.
이상태에서 nslookup minecraft.forgeban.xyz
를 사용한다면 저의 경우에는 클라우드플레어의 아이피(프록싱됨), 여러분들은 8.8.8.8이 나올것입니다. 하지만 걱정하지마세요 클라이언트로는 정상적으로 접속 가능합니다. 왜냐하면 A레코드를 조회하기전 , 클라이언트는 서버를 가르키는 A레코드를 가리키는 SRV레코드를 먼저 조회해 접속하기 때문입니다. 따라서 다음과 같은 시나리오에서 유효합니다.
1. nslookup만 아는 툴키드
nslookup minecraft.forgeban.xyz > 8.8.8.8 노출 > 구글에 디도스를 날리거나, 구글이라는것을 눈치채고 포기
2. SRV레코드 조회를 할수있는 디도스범
nslookup minecraft.forgeban.xyz > 8.8.8.8 노출 > 포기, 서버주소 재확인등등 보통 A레코드가 존재할때 SRV레코드를 조회하려는 시도를 하지않음
알파냥
2024.10.063. 머가리에 뭐가 들어있는 디도스범
nslookup minecraft.forgeban.xyz > 8.8.8.8 노출 > 낚시임을 알아챔, SRV레코드 조회시도.
진짜 제대로 서버 테러 하려는 사람들은 이정도 노력을 합니다..
물론 이 글도 굉장히 좋은 글입니다. 추천 누르고 갑니다.
아이피는 8.8.8.8말고 Bogon IP를 넣어주세요. 100.64.0.0–100.127.255.255 사이 아이피는 사설망으로 쓰이는데 보통 192.168.0.0-255.255만 알고 있으니 이로 하세용
(아마90%의 무지성 디도스범을 차단할겁니다)
세찐찐
2024.10.06원래 디도스는 100% 막을수 없는거죠
물귀신
2024.10.06그렇죠. 웹 디도스 방어에서 압도적인 1위인 클라우드 플레어도 '완화'라고 표현하니깐요
대기행렬
2024.10.12감사합니다!