Làm thế nào để thực hiện mô hình máy chủ bất biến mà không mất khả năng thực hiện hậu kỳ?


12

Mẫu máy chủ bất biến là một môn học triển khai thiên về khả năng tái tạo của các triển khai. Nó được đặc trưng bởi thực tế là một máy chủ đã được triển khai một lần, không bao giờ được sửa đổi, chỉ được thay thế bằng một phiên bản cập nhật mới và thực hiện kỷ luật này đòi hỏi phải tự động hóa việc triển khai máy chủ. Tự động hóa này có nhiều lợi thế hoạt động, một trong những điều quan trọng nhất là cho phép thay thế nhanh chóng và đáng tin cậy các trường hợp hỏng hóc trong cơ sở hạ tầng. Tự động hóa này cũng ngụ ý rằng việc triển khai máy chủ được mô tả bằng các tạo phẩm phần mềm được phiên bản và có thể được cải tiến lặp lại.

Một khía cạnh phổ biến của việc triển khai kỷ luật này là loại bỏ các phương thức truy cập từ xa đến máy chủ sau khi nó được khởi chạy (đặc biệt là loại bỏ quyền truy cập SSH). Xóa quyền truy cập từ xa là một cách dễ dàng để đảm bảo rằng cấu hình của máy chủ khớp với cấu hình được chuẩn bị bởi tự động hóa triển khai.

Tuy nhiên, khi điều tra các nguyên nhân gây ra lỗi phần mềm trong , việc dựa vào giám sát có cấu trúc không phải lúc nào cũng đủ và việc truy cập từ xa vào máy có thể là cần thiết. Một tình huống thực tế phổ biến là giám sát máy chủ không bao gồm tất cả các nguồn lỗi hoặc việc giám sát có thể bị suy yếu do chính lỗi máy chủ, điều này có thể xảy ra nếu máy chủ hết bộ nhớ hoặc đạt đến giới hạn xử lý.

Làm thế nào để thực hiện mô hình máy chủ bất biến mà không mất khả năng thực hiện hậu kỳ?

Câu trả lời:


9

Trước hết, xóa ssh trên một máy chủ không thay đổi sẽ không đảm bảo sẽ không có thay đổi, hơn nữa là không cần phải thay đổi thứ gì đó làm giảm bề mặt tấn công bằng cách xóa kênh truy cập từ xa.

Một cách để giữ một loại hậu kỳ là tập trung vào nhật ký. Có vô số phương pháp để đạt được nó, ngăn xếp ELK, Splunk, syslog ...

Một cách khác thô sơ hơn để giữ một xác chết bài cho một máy chủ bất biến là có một kịch bản về quá trình tắt máy (một máy chủ không thể thay đổi sẽ bị tắt và một máy chủ mới quay lên để thay thế nó) để thu thập kết xuất lõi của chương trình, một kết xuất bộ nhớ và gửi chúng đến một hệ thống từ xa để phân tích cùng với hầu hết các bản ghi.

Ưu điểm chính của giải pháp này là bạn chỉ lấy lại được thông tin hệ thống bị lỗi tại thời điểm xảy ra sự cố, cho phép thu thập thông tin lớn hơn so với nhận chúng theo định kỳ.

Thật khó để cụ thể hơn về cách đạt được điều này, mỗi bản phân phối có một số cách để có được mọi thứ và tôi không có ví dụ chung chung.


7

Việc bạn không có quyền truy cập SSH không có nghĩa là không có cách nào để truy cập vào máy. Nhiều khả năng bạn sẽ chạy nó trên một số nhà khai thác đám mây, nơi bạn cũng có thể làm như sau:

  • chụp ảnh nhanh của máy. Bạn chỉ có thể chụp ảnh hộp trước khi phá hủy nó, để phân tích sau.
  • truy cập vào máy thông qua bàn điều khiển. Có thể bạn sẽ cần phải có mật khẩu gốc cho việc này, nhưng một số nhà cung cấp đám mây có thể tiêm mật khẩu gốc ngẫu nhiên để truy cập bảng điều khiển bất cứ lúc nào.

Đây thực chất là quyền truy cập "vật lý" vào máy của bạn và sẽ khả dụng ngay cả khi bạn xóa các loại quyền truy cập khác. Bạn cũng có thể giới hạn các giao diện này.

Ngoài ra, như @Tensibai cho biết, điều tốt hơn để làm là thiết lập ghi nhật ký và giám sát phù hợp, vì vậy bất cứ khi nào bạn sẽ phải thực hiện một bài đăng, có đủ dữ liệu để thực hiện.


4
Chà, để chống lại quyền truy cập bàn điều khiển, AWS EC2 không cung cấp bất kỳ quyền truy cập bàn điều khiển nào, nếu bạn không định cấu hình SSH, bạn không có quyền truy cập vào máy. Chụp ảnh nhanh về âm lượng máy có thể giúp ích, gắn nó dưới dạng đĩa mới trong trường hợp "pháp y" để phân tích dữ liệu.
Tensibai
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.