IRC 네트워크에서 호스트 이름 스푸핑 / 사용자 정의는 어떻게 작동합니까?


10

나는 오랫동안 IRC를 사용해 왔으며 정말 독특한 호스트 이름을 가진 사람들을 보았습니다. 그들이 어떻게 가질 수 있는지 궁금합니다.

내 이론은 하나는 서버를 efnet / freenode 네트워크의 일부로 설정하고 어떻게 든 사용자 정의 서버 뒤에 자신의 실제 정체성을 숨기는다는 것입니다.

누군가 평신도의 용어를 어떻게 설명 할 수 있습니까?

관련 참고 사항에 따르면 도메인에서 irc 클라이언트를 실행하고 내부 vps 주소 대신 도메인 이름을 사용하고 싶다면 호스트 이름을 쉽게 사용자 정의 할 수 있습니까?

예 : linode를 사용하는 경우 member_whatever@members.linode.com을 호스트 이름으로 사용합니다. 여러 사이트를 호스팅하여 서버에 몇 개의 A 레코드를 가리키고 있습니다. 예를 들어 호스트 이름이 기본 linode 대신 'meder@medero.org'와 같은 것이기를 원합니다.

답변:


13

"호스트"에는 두 가지 유형이 있습니다 : 실제와 가짜.


실제 가상 호스트는 일반적으로 불린다 "역 DNS" (또한 RDNS) - 그것은이 일부 도메인 이름을 가리키는 기본적으로 사용자의 IP 주소에 대한 DNS 레코드의 PTR연결시 서버가 조회됩니다 기록 (이라고해도 ircd, httpd또는 아무것도 그밖에). 이것은 "호스트 이름을 찾는 중 ..."입니다. IRC에 연결 한 직후에 나타납니다.

2001:db8::42예를 들어, 사용자가에서 연결하면 에 대한 DNS 조회가 수행됩니다 2.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.. 사용자가에서 연결 한 192.0.2.123경우 해당 DNS 이름은입니다 123.2.0.192.in-addr.arpa.. IP 주소 블록을 제어하는 ​​사람은 리버스 DNS를 변경할 수 있습니다. 홈 네트워크에 단일 IPv4 주소가있는 경우 일반적으로 rDNS를 변경하려면 ISP를 성가 시게해야합니다.

스푸핑을 피하기 위해 ircd(IRC 서버 프로그램)은 역방향 및 정방향 DNS를 비교합니다. 즉, 다른 사용자에게 표시하기 전에 rDNS 호스트 이름이 IP 주소를 가리키는 지 확인합니다.


실제 rDNS를 변경할 수없는 사람들을 위해 대부분의 IRC 네트워크는 "가상 호스트"또는 "클로킹"을 제공합니다.

거의 모든 IRC 데몬은 언제든지 사용자의 표시된 호스트 이름을 변경할 수 있습니다. 일반적으로 이것은 운영자 또는 서비스로 제한됩니다. 예를 들어, IRC 명령 사용 /chghost joeuser joes-fake-hostname.net(충분한 권한이 있다고 가정).

대부분의 네트워크에서이 프로세스는 서비스에 의해 자동화됩니다. 운영자가 vhost (클로킹)를 할당하면 서비스 계정을 식별 할 때마다 설정됩니다.

( "NickServ"또는 "HostServ"가 아닌 "services"라고합니다. 대부분의 경우 자체가 모든 * Servs로 표시되는 단일 프로그램이기 때문입니다.)


/ chghost 명령은 모든 IRC 클라이언트 또는 서버 (FYI)에서 작동하지는 않지만 공통적으로 사용해야합니다.
Mistiry

@Mistiry : 이것이 "가장 많이"(RFC 정의 명령이 아님) 이유입니다. 클라이언트 측에 관해서는, 일부 클라이언트 대신 서버에 직접 전달 인식되지 않는 명령 거부 - 이러한 경우를 /raw chghost하거나 /quote chghost확실히 작동합니다.
user1686

좋은 설명입니다.
meder omuraliev

5

서버가 IRC 서비스 (Anope, Atheme 등)를 사용하는 경우 일반적으로 'HostServ'또는 그 변형 된 V-Host 서비스가 있습니다.

이 유형의 서비스를 실행하는 대부분의 서버에서는 사용자가 자신의 v- 호스트 (가상 호스트)를 지정할 수 있습니다.

일반적인 IRC 네트워크는 여러 소프트웨어가 함께 작동하도록 구성되어 있습니다. 첫째, 연결을 제어하고 특정 포트에 바인딩하는 데몬이 있습니다. 대부분의 네트워크는 '서비스'라고하는 특정 유형의 소프트웨어를 실행하여 채널 등록, 닉네임 등록 등을 처리합니다.

가장 일반적인 서비스 소프트웨어의 일부는 (보통) HostServ라는 서비스입니다. IRC 서버에서 '/ whois HostServ'를 수행하고 해당 이름의 사용자가 있는지 확인하십시오. 또한 IRC 운영자 (일반적으로 도움을받을 수있는 채널)를 찾아서 물어볼 수 있습니다.


3

고정 된 호스트 이름 대신 사용자 정의 호스트 이름을 사용하려고합니다. 이것은 일부 네트워크에서 가능하며 많은 사람들이 일부 경비원 서비스와 계약을 맺습니다.

얼마 전부터 IRC 네트워크는 두 가지 주요 지점이있는 "숨겨진 호스트 이름"또는 "사용자 정의 vhost"를 구현하고 있습니다.-모든 호스트에서 DoS / DDoS를 방지하기 위해 실제 호스트 이름 숨기기

네트워크에 해당 정책이 있으면 아무것도 할 수 없습니다. 내부 데이터 구조에 "실제 호스트 이름"과 "가짜 호스트 이름 / vhost"를 저장하고 위조 된 것만 전파합니다. 실제는 금지, k- 라인 등을 확인할 때 사용됩니다.

오! 또 다른 방어선은 역방향 DNS를 확인하는 것입니다. 호스트 이름으로 "test.example.tld"를 사용하여 10.1.1.1을 가리키는 A 레코드가있는 경우 "test.example.tld"는 PTR 레코드를 사용하여 "10.0.0.1"로 분석되어야합니다. 검사가 만족되지 않으면 일부 서버는 연결을 거부하거나 종료시킬 수 있습니다.


2

따라서 호스트 이름을 무엇이든보고 할 수 있습니다. 그러나 그것이 사실이기 때문에 아무도 그것에주의를 기울이지 않고 대신 IP 주소를 호스트 이름으로 역 해석하여 사용합니다.

이러한 시스템의 호스트 이름에 영향을 주려면 IP 주소를 역으로 확인하는 대상을 제어해야합니다. 일반적으로 매우 친숙한 ISP와 고정 IP 주소가 필요하거나, 큰 IP 주소 블록을 제어하거나, ...?

역 해상도는 DNS 시스템을 사용하여 IP 주소를 먼저 되돌리고 (DNS 시스템처럼 가장 중요한 부분을 마지막에 배치) IP 주소를 확인하기 전에 in-addr.arpa를 끝까지 촉구합니다. 따라서 198.82.183.54는 in-addr.arpa가 54.183.82.198이됩니다. 그런 다음 "올바른"호스트 이름을 가리키는 PTR 레코드로 정상적으로 분석됩니다.

물론 vhost / etc. 옵션을 사용할 수 있으면 훨씬 쉽습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.