Điều gì xảy ra khi TTL của bạn bị vặn trong bản ghi DNS của bạn?


13

Điều gì xảy ra khi ai đó có quyền truy cập vào kiểm soát DNS của bạn và đặt TTL 100 năm trên miền của bạn, trong khi trỏ IP của nó tới một trang web tối nghĩa?

(và bạn phát hiện ra nó quá muộn)


10
Anh chàng phụ trách bị đuổi việc.
Xavier Lucas

5
Chỉ cần một lưu ý ngắn: Giá trị TTL tối đa là 2 ^ 31-1, tức là chỉ hơn 68 năm một chút :) Xem RFC 2181 .
Sven

Câu trả lời:


21

Ryan đã cung cấp một câu trả lời tuyệt vời cho một cách giải thích câu hỏi của bạn. Tuy nhiên, với đối tượng mục tiêu của chúng tôi và tình huống của những người rất có thể sẽ vấp phải câu hỏi, tôi sẽ trả lời một câu hỏi khác.

Một công ty sẽ làm gì khi một TTL xấu khiến nó trở nên hoang dã?

Bạn có một vài lựa chọn ở đây. Trước hết, bạn cần xác định vectơ vấn đề và loại bỏ nó. Cố gắng để ngăn chặn thiệt hại là vô nghĩa khi bạn không kiểm soát được vấn đề lặp lại.

  1. Chờ đợi.Nếu nó không phải là một hồ sơ quan trọng, có lẽ bạn có thể chờ đợi nó. Như Ryan đã bảo hiểm, "thiệt hại tối đa" không phải là 68 năm, nhưng trên thực tế nhiều khả năng là 7 ngày. Đây là mặc định phổ biến nhất cho tuổi thọ tối đa của mục nhập bộ đệm tích cực (BIND, JunOS, v.v.). Ngay cả trong trường hợp điều này không chính xác, người ta vẫn hy vọng máy chủ sẽ nhận được các cập nhật bảo mật thông thường buộc phải khởi động lại quy trình. Nói với tư cách là nhà điều hành của một số cụm lớn, tôi không thấy rằng MSO sẽ đặt mục tiêu này thành giá trị lớn hơn trên mục đích: nó chỉ phục vụ để tạo ra nhiều yêu cầu bên ngoài hơn (mà chúng tôi ghét). Bạn có thể phải chuyển sang các bước tiếp theo cho các công ty sử dụng phần mềm ít phổ biến hơn hoặc các nhà khai thác ghét chính họ.
  2. Làm phiền các nhà khai thác bộ đệm DNS. Nếu bạn cần xóa bản ghi khỏi bộ nhớ cache càng sớm càng tốt, lựa chọn thực sự duy nhất của bạn là bắt đầu tiếp cận với các nhà cung cấp DNS đệ quy lớn nhất mà bạn có thể nghĩ ra và tìm cách giải quyết. Một số công ty có thể sẽ phớt lờ bạn: họ nghĩ rằng công ty của bạn quá nhỏ để khách hàng quan tâm hoặc họ đưa ra các chính sách thanh lọc bộ nhớ cache của riêng họ để giảm thiểu số lượng cuộc gọi hỗ trợ mà họ phải giải quyết. Trong trường hợp sau, họ có thể sẽ nhún vai và để vấn đề tự giải quyết vào thời gian đã định. Công ty của bạn đã tạo ra vấn đề này cho chính nó, sau khi tất cả.
  3. Nhận khách hàng ISP làm phiền ISP của họ cho bạn. Nếu đó là một vài ngày và một ISP lớn đang bỏ qua bản ghi lưu trong bộ nhớ cache, hãy thử để một trong những khách hàng của họ khiếu nại và tạo một vé nội bộ cho công ty đó. Điều này khó hơn cho họ để bỏ qua, nhưng nó sẽ không giành được bất kỳ ưu ái nào với nhóm ops của họ vì theo quan điểm của họ, bạn đã làm điều này với chính mình. Nếu điều này xảy ra lặp lại, họ có thể sẽ bắt đầu hủy những vé này chỉ để chọc tức bạn.
  4. Tư vấn cho các đối tác của bạn bỏ qua bản ghi DNS. Nếu đó là bản ghi DNS quan trọng được sử dụng bởi các đối tác của bạn và không có tùy chọn nào ở trên có thể chấp nhận được (tức là bạn đang làm giảm doanh thu từng phút), công ty của bạn không có lựa chọn nào khác ngoài làm việc với các đối tác để vượt qua vấn đề. Nếu họ không kiểm soát bộ đệm cục bộ của mình, điều này thường được thực hiện bằng cách chèn các mục vào bảng máy chủ của các hệ thống bị ảnh hưởng vì nó tránh được yêu cầu sửa đổi các chương trình đang sử dụng bản ghi DNS. Điều này chỉ khả thi nếu tổn thất doanh thu được gắn với một số công ty chọn dữ liệu. Trong tất cả các trường hợp khác, bạn bị mắc kẹt với ba tùy chọn đầu tiên.

3
Ví dụ cho tùy chọn 2, Google Public DNS có trang này để xóa bộ nhớ cache.
Bardi Harborow 12/2/2015

16

Chà, trước hết là hướng dẫn cấu hình Bind tôi đang xem các trạng thái rằng TTL là số nguyên 32 bit đã ký, được biểu thị bằng giây, mang lại cho nó tối đa lý thuyết là 2 ^ 31. Nó nói rằng

Các TTL hợp lệ nằm trong khoảng 0-2147483647 giây.

Hoặc khoảng 68 năm. Vì vậy, có lẽ bạn không thể đặt nó thành 100 năm ở nơi đầu tiên.

Vì vậy, giả sử bạn đặt nó tới 68 năm. Nó khá rõ ràng những gì sẽ xảy ra. Các trình phân giải DNS tôn trọng TTL cực kỳ dài trên các bản ghi DNS của bạn sẽ lưu trữ chúng trong thời gian lâu nhất có thể. Một số trình phân giải DNS hoàn toàn không tôn trọng các TTL và chỉ thực hiện chính sách bộ nhớ đệm của riêng chúng theo cách chúng muốn.

Lý do chúng tôi không thể đặt một số cứng duy nhất lên mức tối đa là vì có nhiều cách triển khai DNS khác nhau được tạo bởi nhiều nhà cung cấp khác nhau và tất cả đều sử dụng các biến hơi khác nhau. Chẳng hạn, một máy chủ DNS chạy trên Juniper JunOS sẽ chỉ hoạt động tối đa 604800 giây hoặc 7 ngày trên TTL.


Vì vậy, điều đó thực sự có nghĩa là khi ai đó hack quyền kiểm soát DNS của công ty X đặt nó trong 68 năm và chuyển IP thành porlahoma, anh ta thực sự đã phá hủy tên miền 'mãi mãi' ?? : X
Dirk Boer

11
Giả sử rằng bạn đã khắc phục sự cố, chẳng hạn như các máy chủ DNS xuôi dòng sẽ hoạt động được 68 năm mà không bị xóa bộ nhớ cache, bằng cách khởi động lại, chẳng hạn. Cũng có khả năng các trình phân giải DNS xuôi dòng thực hiện ý tưởng "MAXTTL" của riêng họ, đặt giới hạn hợp lý hơn cho các TTL nhận được như 3 ngày thay vì 68 năm. Đọc RFC 2308 như một ví dụ về những gì tôi đang nói.
Ryan Ries

4
Về BIND cụ thể, nó có giới hạn mặc định là 7 ngày. max-cache-ttl: "Đặt thời gian tối đa mà máy chủ sẽ lưu trữ các câu trả lời thông thường (tích cực). Mặc định là một tuần (7 ngày)."
Håkan Lindqvist
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.