Là một bản ghi DNS ký tự đại diện xấu?


18

Tôi yêu cầu hoster của tôi thêm ba tên miền phụ tất cả chỉ vào IP của bản ghi A. Có vẻ như anh ta chỉ cần thêm một bản ghi DNS ký tự đại diện bởi vì bất kỳ tên miền phụ ngẫu nhiên nào cũng giải quyết được IP của tôi. Điều này là ổn đối với tôi từ quan điểm kỹ thuật, vì không có tên miền phụ chỉ ra bất cứ nơi nào khác. Sau đó, một lần nữa tôi không thích anh ta không làm những gì tôi yêu cầu. Và vì vậy tôi tự hỏi liệu có những lý do khác để nói với anh ấy để thay đổi điều đó. Có ai không

Điểm trừ duy nhất tôi tìm thấy là ai đó có thể liên kết đến trang web của tôi bằng cách sử dụng http://i.dont.like.your.website.mywebsite.tld.


8
Ai đó có thể liên kết với máy chủ của bạn bằng cách sử dụng " i.dont.like.your.website.mywebsite.tld " nhưng máy chủ của bạn không nên phản hồi trừ khi được định cấu hình để phản hồi (thông qua máy chủ lưu trữ hoặc máy chủ ảo).
joeqwerty

6
Trong một số trường hợp, ký tự đại diện có thể được yêu cầu. Chẳng hạn, các ứng dụng web nhiều người thuê như Wordpress có thể được cấu hình để tự động sinh ra các phiên bản mới bằng cách sử dụng các tên miền phụ - ví dụ: site1.blog.example.com, site2.blog.example.com - với ký tự đại diện thay thế *.blog.example.com, bạn không Không cần phải cấu hình từng cái một.
jscott

Câu trả lời:


16

Nếu bạn từng đặt một máy tính vào miền đó, bạn sẽ gặp phải lỗi DNS kỳ lạ, khi bạn cố gắng truy cập một số trang web ngẫu nhiên trên Internet, thay vào đó bạn sẽ đến máy tính của bạn.

Hãy xem xét: Bạn sở hữu tên miền example.com. Bạn thiết lập máy trạm của bạn và đặt tên cho nó. ... Hãy nói , yukon.example.com. Bây giờ bạn sẽ nhận thấy trong /etc/resolv.confnó có dòng:

search example.com

Điều này thuận tiện vì điều đó có nghĩa là bạn có thể thực hiện tra cứu tên máy chủ, ví dụ như wwwsau đó sẽ www.example.comtự động tìm kiếm cho bạn. Nhưng nó có một mặt tối: Nếu bạn truy cập, giả sử Google, thì nó sẽ tìm kiếm www.google.com.example.comvà nếu bạn có DNS ký tự đại diện, thì điều đó sẽ giải quyết đến trang web của bạn và thay vì truy cập Google, bạn sẽ truy cập trang web của riêng bạn.

Điều này áp dụng như nhau cho máy chủ mà bạn đang chạy trang web của mình! Nếu nó phải gọi các dịch vụ bên ngoài, thì việc tra cứu tên máy chủ có thể thất bại theo cách tương tự. Vì vậy, api.twitter.comví dụ đột nhiên trở thành api.twitter.com.example.com, các tuyến trực tiếp trở lại trang web của bạn và tất nhiên không thành công.

Đây là lý do tại sao tôi không bao giờ sử dụng DNS ký tự đại diện.


3
@ChrisLively Đổ lỗi cho các hệ thống Linux hiện đại là "hữu ích" và thêm nó. BTW, sử dụng ".local" thực sự là một thực tiễn tồi và không chỉ trong môi trường Windows.
Michael Hampton

6
Tôi thực sự viết blog về điều này liên quan đến môi trường Windows . Chưa kể rằng ít nhất ba nhóm đã đặt giá thầu trên .local TLD ngay bây giờ rằng ICANN đang bán chúng cho bất kỳ ai có một ví đủ lớn. .localkhông dành riêng và không nên được sử dụng. Làm như vậy vi phạm RFC và hoàn toàn không cần thiết. Thực tiễn tốt nhất là sử dụng tên miền phụ cấp ba được ủy quyền cho các tài nguyên nội bộ như thế nào internal.company.com. Chỉ vì bạn thấy một cái gì đó rất nhiều không làm cho nó đúng.
MDMarra

2
Bạn có thể vui lòng chỉ cho tôi phần RFC 2606 dự trữ .localkhông? Tôi đã đọc RFC này ít nhất một chục lần với những người sử dụng nó trong cuộc tranh luận này và tôi có thể chắc chắn với bạn rằng nó không có ở đó.
MDMarra

2
@Zypher Nó thực sự không bao giờ được Microsoft khuyến nghị (điều đó đã được gỡ lỗi trong bài đăng trên blog của tôi. Hãy đọc nó, đó là một điều tốt), nhưng thực tế là SBS vận chuyển sử dụng .localtheo mặc định thực sự khiến MS trông như một mớ hỗn độn về vấn đề đó. SBS vận chuyển với cấu hình đó vì nó dành cho khách hàng không có kỹ thuật có kiến ​​thức kỹ thuật thấp. Đó là con đường ít kháng cự nhất, nhưng các tài liệu AD thực tế đề xuất một tên miền phụ cấp ba trong suốt thời kỳ W2K.
MDMarra

3
Ồ, và trong một vài năm, sẽ rất khó để có được chứng chỉ cho .local , điều đó có nghĩa là các chứng chỉ UCC / SAN cho Lync / Exchange sẽ phải được ký bởi một CA nội bộ, gây khó khăn nếu bạn không tham gia bên ngoài người dùng.
MDMarra

14

Là một bản ghi DNS ký tự đại diện xấu?

Cá nhân, tôi không thích nó. Đặc biệt là khi có máy trong miền đó. Typose không được kiểm tra, lỗi ít rõ ràng hơn ... nhưng về cơ bản không có gì sai.

Điểm trừ duy nhất tôi tìm thấy là ai đó có thể liên kết đến trang web của tôi bằng http: //i.dont.like.your.website.mywebsite.tld .

Có máy chủ http của bạn chuyển hướng tất cả các yêu cầu như vậy đến các địa chỉ chính xác, hợp lệ hoặc không phản hồi gì cả. Đối với nginx đó sẽ là một cái gì đó như :

server {
    listen 80;
    server_name *.mywebsite.tld;
    return 301 $scheme://mywebsite.tld$request_uri;
    }

và sau đó là thường xuyên

server {
    listen  80;
    server_name mywebsite.tld;
    [...]
    }

7

Tất cả chỉ là vấn đề quan điểm. Đối với tôi đó không phải là thực hành xấu.

Tôi đang tạo một ứng dụng nhiều người thuê sử dụng cơ sở dữ liệu cho mỗi người thuê. Sau đó, nó chọn cơ sở dữ liệu sẽ được sử dụng dựa trên tên miền phụ.

Ví dụ milkman.example.comsẽ sử dụng tenant_milkmancơ sở dữ liệu.

Như thế này tôi đã tách ra bảng cho mỗi người thuê nhà, như, tenant_milkman.users, tenant_fisherman.users, tenant_bobs_garage.users, mà theo ý kiến của tôi là dễ dàng hơn nhiều khổng lồ để duy trì cho các ứng dụng cụ thể này, thay vì phải tất cả người dùng từ tất cả các công ty trong cùng một bảng.

[edit - Michael Hampton has a good point]

Điều đó đang được nói, nếu bạn không có lý do cụ thể để chấp nhận bất kỳ tên miền phụ (biến) nào, như tôi làm, thì bạn không nên chấp nhận chúng.


4
Bạn có một lý do kỹ thuật tốt để sử dụng DNS ký tự đại diện. Hầu hết mọi người không.
Michael Hampton

1
Thực tế, điều này có vẻ rất nguy hiểm đối với tôi - nó cho phép bạn truy cập cơ sở dữ liệu tùy ý bằng cách thay đổi tên miền. Tôi cho rằng đây là một loại lỗ hổng tiêm. Phải thừa nhận rằng nó không nhất thiết phải khai thác - nhưng tại sao lại có cơ hội?
sleske

1
@sleske Không phải vậy, vì người dùng phải xác thực với tên miền phụ đó (đối với cơ sở dữ liệu đó). Nếu anh ta chuyển đổi, anh ta sẽ cần phải xác thực lại, vì nó được xem như là một "trang web" hoàn toàn khác.
Pedro Moreira

@PedroMoreira: Vâng, điều đó làm giảm bề mặt tấn công. Tuy nhiên, việc cung cấp quyền truy cập vào cơ sở dữ liệu tùy ý có vẻ nguy hiểm. Ví dụ, nếu có một cơ sở dữ liệu sao lưu có thông tin giống hệt nhau, nhưng dữ liệu được xóa từ db chính - điều này sẽ cho phép bất kỳ ai truy cập biết tên. Tuy nhiên, tôi nhận ra an ninh luôn là một sự đánh đổi - chỉ muốn chỉ ra mối nguy hiểm vốn có.
sleske

1
@sleske Đó là lý do tại sao tất cả các cơ sở dữ liệu có thể truy cập được tiền tố tenant_. Tôi chắc chắn rằng ứng dụng thậm chí không thể kết nối với họ.
Pedro Moreira

2

Một vấn đề khác ở đây là SEO: nếu tất cả *.example.comhiển thị cùng một nội dung, trang web của bạn sẽ bị Google tham chiếu xấu, ít nhất là bởi Google ( https://support.google.com/webmasters(/66359 ).


Cả hai điểm đều trực giao. Ngay cả khi tất cả các tên trỏ đến cùng một IP, máy chủ web sẽ nhận được tên được yêu cầu và có thể cung cấp nội dung hoàn toàn khác nhau.
Patrick Mevzek

Đó là lý do tại sao tôi đã đặt trước "nếu tất cả * .example.com hiển thị cùng một nội dung" ... Rủi ro SEO có vẻ như là một điều thú vị để đề cập đến.
Clément Moulin - SimpleRezo

"Rủi ro SEO nghe có vẻ thú vị đối với tôi." Có thể nhưng họ hoàn toàn không liên quan đến việc sử dụng ký tự đại diện hay không. Bạn có thể có nhiều tên riêng biệt phân giải thành một địa chỉ IP duy nhất mà không có bất kỳ loại ký tự đại diện nào và do đó có (hoặc không) các rủi ro SEO mà bạn nói đến. Việc sử dụng ký tự đại diện không thay đổi bất cứ điều gì theo bất kỳ hướng nào ở đây.
Patrick Mevzek

0

Đây thực sự là một ý tưởng tồi, giả sử nếu bạn muốn lưu trữ một tên miền phụ a.company.com trong một máy chủ web và b.company.com trong một máy chủ web khác, có thể là một ISP khác. Bạn sẽ làm gì ?. Vì vậy, DNS ký tự đại diện không phải là một tùy chọn, cần chính xác, tạo bản ghi A cho mỗi tên miền phụ và trỏ đến IP có liên quan. Có thể chuyển máy chủ web của bạn từ ISP này sang ISP khác, trong trường hợp này bạn sẽ làm gì?


0

Tôi biết đây là một câu hỏi cũ, tuy nhiên tôi muốn chia sẻ một ví dụ thực tế về việc sử dụng tên miền ký tự đại diện có thể gây ra vấn đề gì. Tuy nhiên tôi sẽ thay đổi tên miền và cũng ẩn bản ghi SPF đầy đủ để tránh bối rối.

Tôi đã giúp đỡ ai đó đang gặp vấn đề với DMARC, như một phần của kiểm tra tôi luôn tra cứu hồ sơ DMARC với DIG

;; ANSWER SECTION:
_dmarc.somedomain.com. 21599 IN      CNAME   somedomain.com.
somedomain.com.      21599   IN      TXT     "v=spf1 <rest of spf record> -all"

Tôi cũng nhận được kết quả tương tự khi tìm kiếm hồ sơ DKIM của họ.

Do đó, các email được gửi từ miền này sẽ bị DKIM thất bại vì mô-đun DKIM sẽ thử phân tích bản ghi SPF cho khóa DKIM và thất bại, và cũng sẽ nhận được Permerror cho DMARC vì lý do tương tự.

Các tên miền ký tự đại diện có vẻ như là một ý tưởng tốt nhưng thiết lập sai chúng có thể gây ra tất cả các loại vấn đề.


-2

Là một bản ghi DNS ký tự đại diện xấu?

Không, và trái với những người khác tôi tin rằng đó là một thực hành tốt.

Hầu hết người dùng internet đều chọn một tên DNS tại một số điểm. Họ sẽ gõ ww.mycompany.comhoặcwwe.mycompany.com Điều gì bạn muốn xảy ra là "rất tiếc chúng tôi không thể tìm thấy trang web đó" hoặc để họ kéo trang chủ chính của bạn lên? Thường xuyên hơn là không có chúng kéo lên trang chủ chính của bạn là tốt hơn. Đó là những gì rất nhiều người làm.

Ngay cả khi ai đó đặt một liên kết đến i.dont.like.your.website.whatever.comnó vẫn sẽ kéo lên trang chủ của bạn , đó thực sự là những gì bạn muốn. Rốt cuộc, họ không thể làm cho i.dont....trang web đó đến máy chủ của họ, bạn vẫn kiểm soát định tuyến DNS để nó đi đến trang của bạn.


5
Vấn đề tôi gặp phải với lý do này là 1. nó phá vỡ việc xử lý lỗi, 2. nó hoàn toàn là trung tâm www trong khi các bản ghi ký tự đại diện của bạn cũng sẽ ảnh hưởng đến các giao thức khác. Kết quả là bạn đã hỏng xử lý lỗi cho những thứ khác mà bạn đã không nỗ lực để khắc phục mọi thứ.
Håkan Lindqvist

-2

Tôi nghĩ rằng lý do tốt nhất để không có bản ghi DNS ký tự đại diện ở nơi đầu tiên là để tránh trao địa chỉ IP máy chủ của bạn cho kẻ tấn công tiềm năng và giảm sự phơi bày trước các cuộc tấn công DDOS. Đây cũng là đề xuất thiết lập bởi Cloudflare: https://blog.cloudflare.com/ddos-prevent-protecting-the-origin/


2
Sử dụng tên miền ký tự đại diện không thay đổi tiếp xúc với các cuộc tấn công như vậy. Và liên kết không hỗ trợ khiếu nại không chính xác của bạn. Tất cả các liên kết nói rằng Cloudflare tình cờ sẽ tính giá cao hơn cho các tên miền ký tự đại diện. Điều đó chỉ nói lên điều gì đó về các mô hình kinh doanh của Cloudflare và không có gì về việc sử dụng các tên miền ký tự đại diện.
kasperd

Nếu bạn sử dụng dns ký tự đại diện với cloudflare vì nó không đi qua cloudflare (trừ khi bạn trả tiền cho doanh nghiệp, hầu hết mọi người đều không) có thể ping bất kỳ tên miền phụ đã tạo nào và tìm IP thực của bạn. Không có ký tự đại diện, họ không thể. Thats tất cả để có nó.
Michael Rogers

Có trong trường hợp dịch vụ đó, họ có thể tính phí bạn nhiều hơn cho việc bảo vệ ký tự đại diện. Mặc dù câu hỏi này không phải là về các loại dịch vụ đó là về các ký tự đại diện và liệu nó có nên được thực hiện hay không trong các tình huống thông thường.
Chris
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.