주어진 도메인의 유효성을 검사하는 방법은 사용자가 소유합니까?


10

주로 회사에서 사용할 소프트웨어를 작성하고 있습니다.

그런 다음 회사에 전자 메일 도메인을 등록 할 수있는 방법을 제공하여 주어진 도메인의 전자 메일에 등록하는 모든 사용자가 자동으로 회사 그룹에 배치되도록했습니다.

슬랙이 이런 식으로 작동한다는 것을 알고 있지만 문제가 있습니다. 예를 들어 "live.it"(Microsoft의 live.com 이탈리아어 버전)을 등록했습니다.

사용자가 특정 도메인의 이메일을 확인한 경우 동일한 domain_mail을 가진 모든 사용자를 동일한 그룹에 넣는 것이 안전하다고 가정 할 수는 없습니다.

예를 들어, me@gmail.com에 등록하면 "gmail.com"에 자체 도메인이있는 사용자 등록을 허용하지 않습니다.

"도메인의 루트에 html 파일을 넣거나"TXT 레코드를 설정하는 등의 방법을 사용하지 않기 위해 어떻게해야하는지 궁금했습니다.


11
도메인의 루트에 파일을 넣도록 요청하는 것이 왜 문제가됩니까? Google 웹 마스터 도구는 바로 그렇게합니다. 또한 영구 파일을 요청할 필요가 없습니다. 사용자가 서버에 파일을 넣고 확인하면 파일을 제거 할 수 있습니다.
Arseni Mourzenko

9
설정이 잘못되어 외부 사용자가 기본 웹 사이트에 접속할 수없는 경우 사이트를 Google 웹 마스터 도구에 추가하는 대신 Google 웹 마스터 도구에 사이트를 추가하는 것이 아니라 시스템 관리자가 시스템 관리자를 비난해야합니다.
Arseni Mourzenko

1
그들에게 효과적이고 이전에 이미 여러 번 사용한 방식을 제공하는 대신?
Arseni Mourzenko

6
@FezVrasta : 승인 된 사용자에 대한 액세스 허용 및 권한이없는 사용자에 대한 액세스 거부 라는 두 가지 목표가 있습니다. 인증 된 사용자가 더 쉽게 만들면 일반적으로 권한이없는 사용자도 더 쉬워집니다.
MSalters

4
DNS 레코드 경로를 사용하는 경우 MX가 아닌 TXT 레코드를 사용해야합니다.
Aaron Dufour

답변:


20

루트 디렉토리의 파일

회사 웹 사이트의 루트 디렉토리에 파일을 넣을 가능성을 버리지 마십시오. Google 웹 마스터 도구는 이러한 기술 중 하나입니다. 이것은 대부분의 사용자가 이미 알고 있기 때문에 길을 잃지 않을 것입니다. 또한 MX 레코드를 수정하는 것과 달리 기술 지식이 필요하지 않습니다 (대부분의 소규모 회사에서는 MX 레코드가 무엇인지조차 알지 못합니다).

루트 디렉토리를 오염시키지 않으려면 점검 할 때만 파일을 넣어야합니다. 파일을 찾으면 사용자가 해당 파일을 제거 할 수 있습니다.

회사 웹 사이트가없는 사용자는 서비스에 액세스 할 수 없지만이 경우에는 많은 고객이 있다고 생각하지 않습니다.

참고 :

  • 일부 웹 사이트는 http://example.com/ 양식을 지원하지 않는 방식으로 구성되므로 http://example.com/filehttp://www.example.com/file 을 모두 확인해야합니다 .

  • HTTP에서 HTTPS 로의 리디렉션이없는 많은 회사가 있다고 생각하지 않는다면 HTTPS도 지원할 수 있습니다.

  • http://mysite.example.com/ 과 같은 다른 3 차 도메인을 허용해서는 안됩니다. 3 차 도메인 을 구입 한 사람이 자신이 2 차 도메인의 소유자라고 주장 할 수 있기 때문입니다. example.com .

이메일 보내기

비밀 링크로 이메일을 보내는 것은 다소 문제가 있습니다. 주어진 사람은 회사 이메일 주소를 가지고 있지 않을 수 있기 때문에 firstname.lastname@example.com으로 할 수 없습니다 (사람들이 개인 주소를 선호하는 신생 기업의 경우가 종종 있습니다).

경우에 따라 admin@example.com과 같은 이메일을 사용하지 못할 수 있습니다.

  • 먼저 postmaster@example.com, admin@example.com 등은 없지만 허용 된 목록에없는 특정 "시스템"전자 메일 주소를 가진 회사가 항상 있습니다. 특히 외국 회사를 고려하십시오. 예를 들어, 프랑스에서, "Administrat 사용하는 것이 드문 일이 아니다 유럽 연합 (EU)의 전자 메일 주소 및 계정 이름을 포함, 대신에"관리자 "의 연구를".

  • 둘째, 많은 소규모 회사가 시스템 전자 메일에 액세스하지 못하고 액세스하는 방법을 모릅니다. 그들은 자신의 답변을 기다리는 수백 가지의 긴급한 이메일로 abuse@example.com을 가지고 있다는 사실조차 알지 못합니다.

    같은 이유로 이메일 주소에 대한 WHOIS 레코드를 기반으로 할 수 없습니다.


"info @", "administrator @" "postmaster @"와 같은 확인 이메일을 사용자에게 보내려면 어떻게해야합니까?
Fez Vrasta

@FezVrasta-이메일 주소는 스푸핑하기 매우 쉽습니다.
Oded

나는 "나는 정보를 원하시면 이메일을 보내 @ 그 안에 확인 링크"를 의미
페즈 Vrasta에게

6
@FezVrasta-도메인에 연결된 이메일 서버가 없을 수 있으며,있는 경우 도메인에 대한 보증이 없습니다 info@ (또는 모든 로컬 주소)가 정의되거나 모니터 된 포괄 주소를 가질 것이라는 .
Oded

3
"주어진 도메인의 이메일에 등록하는 모든 사용자가 회사 그룹에 자동으로 들어가도록 이메일 도메인을 등록하십시오." 죄송하지만 질문에 따르면 전자 메일 서버 를 사용할 수 있습니다 . 이 대안은 웹 서버가 아닌 것으로 가정합니다 .
MSalters

17

" 이메일 도메인 을 소유 한다는 것은 무엇을 의미 합니까?"

웹 사이트를 소유하는 것은 파일 을 루트에 넣는 기능에 의해 정의됩니다 . 일반 사용자는 파일을 넣을 수 있지만 켤 수는 http://example.com/~user42/validation.txt없습니다 http://example.com/validation.txt.

이메일의 경우 그러한 계층이 없습니다. 그러나 postmaster주소는 특별합니다. (당 예약 RFC2142에 ) 생성 할 수 없습니다 postmaster@gmail.com. 따라서 생성 및 / 또는 액세스 기능 postmaster@은 이메일 도메인 소유권에 필요한 증거입니다.


1
이 특수성은 사양, 전자 메일 서버의 기본 제공 구성 요소 또는 규칙의 일부입니까?
DougM

8
@DougM : RFC 2142에 따라 예약
MSalters

추가 옵션은 전자 메일 관리자를 사용하는 것, 그래서 주셔서 감사합니다 @, 감사
페즈 Vrasta

5
@MSalters : RFC를 답에 넣어야합니다
Bergi

1
많은 postmaster @ domain의 경우 단순히 올바른 사람이나 다른 사람에게 가지 않습니다. 기술적으로 도메인 소유권을 결정하는 방법 일 수 있지만 실제로는이를 사용할 수 없습니다.
JamesRyan

10

귀하의 의견에서 루트 웹 사이트 파일 방법을 선호하지 않을 수도 있습니다.

WHOIS를 사용하여 소유권 확인

요청 된 도메인 (예 :)과 해당 도메인stackexchange.comWHOIS 출력에 나열된 이메일 중 하나를 가져와야합니다 . (비밀 / 비공개 등록에는 적용되지 않지만 대상이 회사 인 경우 일반적으로 문제가되지 않습니다.)

예를 들면 다음과 같습니다.

WHOIS information for stackexchange.com:**
...
Domain Name: STACKEXCHANGE.COM 
Registrar WHOIS Server: whois.name.com 
Registrar URL: http://www.name.com 
Updated Date: 2014-05-14T16:49:02-06:00 

Registrant Name: Sysadmin Team 
...
Registrant Email: sysadmin-team@stackoverflow.com 
Admin Name: Sysadmin Team 
Admin Organization: Stack Exchange, Inc. 
...
Admin Email: sysadmin-team@stackoverflow.com 
Tech Name: Sysadmin Team 
...
Tech Email: sysadmin-team@stackoverflow.com 
Name Server: cf-dns02.stackexchange.com 
Name Server: cf-dns01.stackexchange.com 
DNSSEC: NotApplicable 

whois대화식으로 조회를 수행하고 유효한 이메일의 드롭 다운 목록 (이 경우에는 sysadmin-team@stackoverflow.com)을 제공 할 수도 있습니다. 그런 다음 선택한 이메일에 확인 코드 / 링크를 보냅니다.


이것은 특정 SSL 인증서의 유효성을 검사 할 때 수행됩니다. 자동 접근 방식이 아닐 수도 있습니다. 그러나 좋은 보조 옵션을 만들 것입니다.
GrandmasterB

@GrandmasterB 왜 자동화 할 수 없는지 모르겠습니다. 후이즈 조회, 이메일 grep, 사용자가 하나 선택, 이메일로 유효성 검사 코드 보내기.
Digital Chris

나는 나의 가장 큰 고객 중 두 사람과 함께이 길을 테스트 한 모두는 다른 ... 도메인 등록자의 기술 지원의 이메일을 가지고, 하나가되지 이메일을 가지고 (후이즈에서 유효한 이메일을하지 않은
페즈 Vrasta

1
그건 그렇고 이것은 대안으로 추가 될 수 있습니다.
Fez Vrasta

6

사용자에게 사이트의 사용자 계정 (사용자 이름, ID 또는 도메인 확인을 요청할 때 생성 된 임의의 토큰)을 참조하여 TXT 레코드를 도메인에 추가하도록 요청하십시오.

adn_verification=<my user name>도메인을 확인 된 것으로 표시하기 위해 소셜 네트워크에서 호출 된 레코드를 추가하는 것을 기억 합니다. 이는 매우 깔끔하며 도메인이 웹 서버를 가리킬 필요가 없다고 생각했습니다.


사용자의 대부분은 TXT 레코드가 무엇인지 알지 못하며 알고있는 사람들이이를 설정하기에 충분히 지식이있는 것은 아닙니다.
Arseni Mourzenko

1
@MainMa 여전히 구현하기에 좋은 기능입니다.

1
+1. 도메인이 있다고해서 웹 서버가 실행되고있는 것은 아닙니다 (이 특정한 경우 회사에 웹 사이트가 항상있을 수 있음).
Matt

FWIW, 이것은 Office 365 용 사용자 지정 도메인을 원하는 경우 Microsoft에서 사용하는 방법입니다.
Casey

2

이미 페이지에있는 제안에 추가하려면 : 사용자에게 도메인을 확인하는 방법에 대한 옵션을 제공하는 것이 좋습니다. 페이지의 다른 제안은 모두 완벽하게 사용할 수 있지만 때로는 도메인을 확인하려는 사람이 자신의 서버 또는 웹 사이트에 대한 액세스 권한을 제한 한 상황에 처할 수 있습니다. 예를 들어, 사용자는 도메인 루트에 도메인 레코드 또는 파일을 추가하지 못할 수 있습니다.

예를 들어 Troy Hunt를 사용하면 사용자는 자신의 손상된 계정 데이터베이스에서 전체 도메인을 검색 할 수 있지만 먼저 확인해야합니다. 사용자에게 4 가지 방법 중 하나를 선택할 수 있습니다.

  1. 이메일을 통해;
  2. 메타 태그를 통해;
  3. 파일 업로드;
  4. TXT 레코드.

이 4 가지 경우 모두에 대해 사용자는 자신이 검증 할 특정 값을 입력해야합니다.

설명은 http://www.troyhunt.com/2014/01/im-pwned-youre-pwned-were-all-pwned.html에 있습니다.


감사하지만 이메일 확인은 어떻게 작동합니까? "gmail.com"또는 "hotmail.com"도메인의 유효성을 검사하지 못하게하려면 어떻게해야합니까? (또는 더 나은, 일부 알 수없는 무료 웹 메일 서비스).
Fez Vrasta

"주소를 확인할 수 없다"고 명시 적으로 언급하지 않는 한 웹 메일 제공 업체가 자신의 도메인을 등록 할 가능성은 항상 존재하며 실제로 할 수있는 일은 많지 않습니다. 수행 할 수있는 유일한 방법은 일부 도메인이 완전히 검증되지 않도록하는 것입니다. mailprovider.com의 유효성 검증을 막을 필요는 없으며 joe.shmuck@mailprovider.com이 자신의 이름으로 전체 mailprovider.com 도메인의 유효성을 검증하는 것을 막기 만하면됩니다.
Nzall

그래도 이메일이 회사의 일부인지 무료 웹 메일 서비스인지는 알 수 없습니다.
Fez Vrasta

1
이를 위해 화이트리스트를 유지해야합니다. 다른 옵션은 모든 도메인이 인간의 승인을 받아야한다는 것입니다. 나는 이것이 새로운 신청자들에게 더 번거 롭다는 것을 알고 있지만 승인은 한 번만 발생하면됩니다. 그 후에는 해당 도메인이 무료 웹 메일 서비스가 아니라 승인되었음을 알게됩니다.
Nzall

0

등록시 무료 웹 메일 사용을 피할 수 있습니까?

그게 무슨 Brium는 않습니다 : 당신이 로그인 할 수없는과 @gmail.com,@live.com , 등의 전자 메일 - 당신은 당신의 자신을 사용해야합니다.

그리고 이것으로 당신을 모 읍니다.

비즈니스를 타겟팅하는 경우 좋은 방법입니다.

여전히 보스 가 누구인지 아는 문제가있을 수 있지만 (예 : 해당 그룹의 관리자) 중요하지 않을 수 있습니다. 보스는 직원에게 소유권을 이전하도록 지시하는 도구를 가지고 있어야합니다. 보스 전에 등록했습니다.


3
도메인이 무료 웹 메일인지 어떻게 확인 하시겠습니까? 그들 중 적어도 수백이 있습니다.
svick

나는 같은 것을 쓰고 있었다 :)
Fez Vrasta

github.com/tarr11/Webmail-Domains 을 나열하는 활동적이지 않은 프로젝트가 있습니다 . 그것이 중요한 그 중 슬립 가지는? 대다수의 사용자 (Gmail, Live, Yahoo 등)를 포함하기에 충분하지 않습니까? 나는 당신의 소프트웨어가 무엇을하는지 모르지만, 누군가가이 제한을 피하려고 시도하는 것이 유용할까요? 그가 그룹 내에서 또는 동료없이 소프트웨어가 유용한가요?
mgarciaisaia

내 소프트웨어에 업로드 된 정보에 대한 기본 액세스를 허용하므로 잘못된 그룹에 원치 않는 사용자가 있으면 문제가 발생할 수 있습니다. 그가없는 자신의 도메인을 등록하는 경우 데이터의 소유자의 문제 때문에 그런데이 해결책이 될 수 있습니다 ... 제 생각에는
페즈 Vrasta
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.