Dịch vụ đại lý msdeploy có thể mở ra một vectơ tấn công trên các máy chủ của chúng tôi không?


13

chúng tôi đang đánh giá việc sử dụng Dịch vụ đại lý triển khai web msdeploy để triển khai tự động cho các máy chủ sản xuất của chúng tôi.

Một điều chúng ta không thể tìm ra là những tác động an ninh tiềm tàng.

Đối với một điều, các máy chủ web của chúng tôi tất nhiên được bảo mật (đằng sau tường lửa và cân bằng tải) vì vậy chỉ cho phép lưu lượng truy cập http (s) từ bên ngoài.

Tuy nhiên, tác nhân triển khai web chạy tích hợp với IIS (điều duy nhất phải đối mặt bên ngoài), vì nó có thể truy cập qua http (s). Vì vậy, chúng tôi sợ rằng có khả năng có thể có quyền truy cập vào đại lý thông qua các trang web được lưu trữ trên IIS đó - và từ đó có được quyền truy cập đọc và ghi vào tất cả các trang web của chúng tôi.

Làm thế nào an toàn là msdeploy để sử dụng trong môi trường sản xuất?

Cập nhật: Máy chủ web sản xuất đang chạy IIS7.


Bạn đang sử dụng IIS 6 hay 7 với msdeploy?
tháng

Đây sẽ là IIS7 là chủ yếu. Thông tin cũng được cập nhật. trong câu hỏi.
Sebastian PR Gingter

Câu trả lời:


10

Đã được một lúc kể từ khi tôi sử dụng nó và tôi chỉ sử dụng nó với IIS 6 không bao gồm phần quản lý web. Bạn có thể sửa đổi URL và cổng quản lý từ xa và chặn nó tại tường lửa bên ngoài. Xem điều này: Tùy chỉnh và bảo mật dịch vụ từ xa . Cơ chế bảo mật chính của nó dường như là bảo mật tài khoản người dùng, nhưng như bạn đã nói, tất cả nằm trong IIS, do đó lỗ hổng IIS có thể khiến các biện pháp bảo mật trở nên vô dụng cho đến khi được vá. Vì lý do đó, tôi sẽ do dự khi cho phép cập nhật nội dung web từ internet, nhưng điều này phụ thuộc vào yêu cầu bảo mật của bạn so với nhu cầu của nhà phát triển web.

Để tránh phơi bày dịch vụ triển khai web lên internet, bạn có thể làm như sau:

  • có trang web mặc định nghe trên một IP chỉ nội bộ không phải là NAT hoặc một phần của dải IP cân bằng tải
  • bạn chỉ có thể có trang web quản lý mặc định chỉ nghe trên localhost, sau đó viết một tập lệnh gọi msdeploy thực thi trên mỗi máy chủ để chạy cục bộ (thay vì sử dụng msdeploy để kết nối từ xa đến tất cả các máy chủ từ một điểm)
  • có các yêu cầu bên ngoài bộ lọc cân bằng tải của bạn cố gắng truy cập URL triển khai web (ví dụ : https: // server: 8081 / MSDeploy )
  • có một máy chủ triển khai (nội bộ) được chỉ định rằng tất cả các triển khai web của bạn đến từ và chỉ cho phép IP đó kết nối với máy chủ web của bạn trên URL triển khai (chặn mọi thứ không phải từ máy chủ triển khai duy nhất)

Nếu vẫn cần phải có chức năng triển khai web trực tiếp từ internet, nếu tất cả các nhà phát triển web của bạn làm việc từ xa, (tôi không thể tưởng tượng được tại sao điều này lại cần thiết trực tiếpvới việc sử dụng rộng rãi VPN), bạn có thể có quy trình triển khai 2 giai đoạn trong đó bạn thiết lập DMZ bị cô lập với hộp IIS 7 hỗ trợ Triển khai Web trong đó (tách biệt với DMZ của trang trại web của bạn) và cho phép các nhà phát triển web của bạn chỉ kết nối với DMZ đó từ internet để triển khai các thay đổi từ xa. Sau đó, bạn có thể kết nối nội bộ với máy chủ đó và triển khai với các máy chủ web còn lại sau khi xem xét các thay đổi, thử nghiệm, v.v. Ngay cả phương pháp này cũng không có rủi ro - một người dùng độc hại có thể sẽ làm tổn hại chức năng triển khai web, giới thiệu một số mã độc mà không có kiến ​​thức của bạn và bạn có thể vô tình đưa nó vào môi trường sản xuất của bạn.


Các cập nhật sẽ chỉ được thực hiện từ quyền truy cập VPN được bảo mật đến các máy chủ sản xuất, do đó không cần truy cập từ internet. Tôi vẫn có cảm giác xấu về việc cài đặt một cái gì đó có thể thay đổi cấu hình máy chủ web. Ngay bây giờ, những người có 'quyền triển khai' chỉ có quyền truy cập SFTP vào các thư mục web cụ thể của họ, các máy chủ web không nằm trong một miền và hoàn toàn bị cô lập theo bất kỳ cách nào khác.
Sebastian PR Gingter

1
thông thường tôi sẽ đồng ý với "Tôi vẫn có cảm giác xấu về việc cài đặt thứ gì đó có thể thay đổi cấu hình máy chủ web.", nhưng trong trường hợp này, khi bạn có một trang trại web, cơ hội cấu hình sai một cái gì đó trên một trong các máy chủ và mở ra một lỗ hổng ngoài ý muốn thông qua quá trình cập nhật thủ công có nhiều khả năng và rủi ro hơn nhiều so với việc cho phép một dịch vụ đảm bảo cấu hình nhất quán trên tất cả các máy chủ web của bạn.
tháng

Được rồi, tôi sẽ coi đó là "nó có thể đủ an toàn để chấp nhận rủi ro để đổi lấy cơ hội triển khai tự động dễ dàng hơn". Cảm ơn.
Sebastian PR Gingter

0

Câu trả lời đơn giản. CÓ, Bất cứ điều gì chạy trên bất kỳ máy tính nào đều mở các vectơ tấn công. Cần phải luôn luôn giả định rằng có những lỗ hổng trong phần mềm. Giảm thiểu là một yếu tố quan trọng, giới hạn quyền truy cập vào mạng, người dùng, máy tính, IP, vv Ngoài ra, hãy kiểm tra quyền truy cập vật lý.

Bạn cũng có thể hạn chế các cập nhật thời gian được phép xảy ra, nếu tường lửa của bạn có thể xử lý các quy tắc từ các thời điểm cụ thể trong ngày.

Tôi khuyên bạn nên hạn chế người dùng trên (các) máy chủ web của mình, tức là ai có thể thực hiện cập nhật. (Có lẽ bạn đã thực hiện việc này) Sau đó, tôi sẽ sử dụng tường lửa để hạn chế những mạng (IP) nào có quyền truy cập vào giao diện quản lý. Sau đó, nếu được hỗ trợ, tôi chỉ cho phép các cập nhật được xử lý trong giờ làm việc (thông qua quy tắc tường lửa). Lưu ý bạn luôn có thể yêu cầu quản trị tường lửa chỉnh sửa quy tắc cho bản cập nhật khẩn cấp. Cuối cùng, tôi sẽ xem các lỗ hổng đã biết trong Tác nhân Triển khai Web và giảm thiểu hơn nữa hoặc vô hiệu hóa nó cho đến khi có thể khắc phục.

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.