Tư vấn quản trị Linux từ xa - Thực hành tốt nhất [đã đóng]


19

Chúng tôi đang tham gia một nhà tư vấn ở Ấn Độ với tư cách là Quản trị viên Linux của chúng tôi. Chúng tôi không biết rõ về anh ấy và anh ấy yêu cầu quyền truy cập Root vào tất cả các máy chủ của chúng tôi để thực hiện công việc của mình (bao gồm kiểm toán bảo mật).

Thực tiễn tốt nhất để cho phép một nhà tư vấn từ xa cho công việc như vậy là gì để chúng tôi được bảo vệ chống lại bất kỳ hoạt động ác tính nào?

Cảm ơn trước.


66
Nếu bạn không tin tưởng ai đó, đừng cho họ quyền truy cập vào máy chủ của bạn. Giai đoạn. Thuê một ai đó bạn có thể tin tưởng.
EEAA

6
Không thể tự hỏi liệu đây có phải là một hành động được ủy quyền bởi những người cấp cao hơn và bạn đang tìm kiếm đạn dược / lý lẽ tốt để chống lại nó?
Matt

5
LOL ... Đây có phải là một ý tưởng tốt?
ewwhite

5
Nếu bạn cấp cho ai đó quyền truy cập root vào máy chủ của mình, bạn hoàn toàn không có cách nào để tự bảo vệ mình khỏi các hoạt động ác tính trên (các) máy mà cá nhân có quyền truy cập root.
Craig

3
Hy vọng bạn có bản sao lưu ngoại tuyến tốt
CaffeineAddtions

Câu trả lời:


55

Đừng . Ngoài ra, bạn đang gặp nhiều nguy hiểm về sự bất lực như ác ý từ những gì tôi đã thấy về cách các công ty điển hình xử lý việc này.

Tôi muốn nói, có lẽ có những quản trị viên hệ thống tuyệt vời ở Ấn Độ, nhưng cách mà nhiều công ty làm mọi thứ thật tồi tệ.

Nếu bạn đang đi qua một cửa hàng cơ thể, bạn cũng có thể thấy một vết cắt khá lớn sẽ đến với họ, và nhiều người trong số họ dường như không được nhân viên của họ chăm sóc đúng cách. Tôi đã nói chuyện với ba, một trong số đó tôi làm việc và không ai trong số họ thực hiện bất kỳ cuộc phỏng vấn kỹ thuật nào.

Vì vậy, nếu bạn phải thuê ai đó từ xa, vì chúa, hãy tự mình phỏng vấn anh ấy và chắc chắn rằng anh ấy biết công việc của mình. Quản trị hệ thống là quá quan trọng để bàn giao cho ai đó một cách mù quáng

Bây giờ tôi đã xử lý phần "vô năng" của nó,

Quản trị là một cụm từ khá rộng. Và ai đó có quyền truy cập root có thể làm bất cứ điều gì . Bây giờ, cá nhân tôi nghĩ rằng việc tạo một tài khoản cho quản trị viên và cho anh ta khả năng tự nâng cao thông qua sudo là một ý tưởng tốt hơn (mà hệ thống quản lý cấu hình của bạn sẽ xử lý nếu bạn có nhiều máy chủ). Điều đó nói rằng, thậm chí điều đó phụ thuộc vào một lượng tin cậy nhất định. Có rất nhiều câu chuyện ngoài kia về thiệt hại tuyệt đối mà một sysadmin bất mãn có thể làm. Thay đổi tất cả mật khẩu của bạn? Chắc chắn cuối cùng bạn có thể nhận được, nhưng nó không tầm thường, và nó có thể sẽ tốn kém hơn bạn đang tiết kiệm.

Vì vậy, hãy xem xét một địa phương. Nếu không, hãy xem xét một người mà bạn đã hiệu đính chính mình và đã trực tiếp thuê .


35
Tôi có một thời gian đủ khó khăn để trao quyền truy cập đặc quyền cho anh chàng cách tôi một cánh cửa, nói gì đến ai đó cách xa 12 múi giờ. Tâm trí của tôi cho rằng bất cứ ai cũng sẽ coi đây là một lựa chọn.
EEAA

7
Nếu bạn đang đi qua một cửa hàng cơ thể, bạn thậm chí sẽ không biết ai thực sự sở hữu những thông tin gốc đó, bạn không có gì đảm bảo rằng người làm việc trên hệ thống của bạn hôm nay là cùng một người sẽ làm việc với họ vào ngày mai, bạn không có gì đảm bảo rằng những kẻ này sẽ không gửi email (các) mật khẩu cấp gốc của bạn cho nhau rõ ràng (tôi đã thấy nó quá nhiều lần), v.v.
Craig

2
Không ai nên đăng nhập vào bản phân phối Linux hiện đại với quyền root. Tài khoản root thậm chí không nên có mật khẩu. Thay vào đó, nên có những người dùng có suthẩm quyền nâng chính họ lên root. Khi ai đó nói rằng họ cần "quyền truy cập root", đây là điều họ nên yêu cầu. Nếu người này nói rằng anh ta cần "mật khẩu gốc", thì dù sao anh ta cũng không đủ khả năng để thực hiện công việc.
Monty Harder

@MontyHarder có nghĩa là người dùng (nhất định) nên có sudoquyền nâng chính họ lên root? Nếu không, bạn có thể phác thảo các thực tiễn tốt nhất của bạn để sử dụng suđể nâng cao bản thân lên root mà không cần và phân phối mật khẩu gốc không?
MadHatter hỗ trợ Monica

2
@MontyHarder rất có ý nghĩa, đó không phải là những gì bạn nói lần đầu tiên; sudosulà hai điều hoàn toàn khác nhau. Cảm ơn đã làm rõ.
MadHatter hỗ trợ Monica

33

Như đã đề cập, đừng làm điều này.

Cách duy nhất bạn có thể tự bảo vệ mình là làm điều gì đó như thế này:

  1. Khẳng định rằng nhà tư vấn sử dụng một hệ thống quản lý cấu hình mà bạn chọn.
  2. Chuyên gia tư vấn sẽ viết các bảng kê quản lý cấu hình cho các hành động bạn cần hoàn thành.
  3. Tư vấn sẽ kiểm tra các biểu hiện trên một hệ thống kiểm tra.
  4. Khi sẵn sàng, chuyên gia tư vấn sẽ cam kết cấu hình vào kho lưu trữ mã.
  5. Tất cả các thay đổi được xem xét bởi một thành viên trong đội ngũ nhân viên của bạn hoặc một nhà tư vấn khác hoàn toàn không liên quan đến người đầu tiên và không có cách nào liên hệ với họ.
  6. Khi các thay đổi được ký tắt, chúng được áp dụng cho máy chủ bởi bạn hoặc một thành viên trong đội ngũ nhân viên của bạn. Nhà tư vấn ban đầu không nên có quyền truy cập vào bất kỳ hệ thống nào của bạn.

Cần phải rõ ràng, đây là một quá trình rất vụng về và không hiệu quả, nhưng nếu bạn khăng khăng chấp nhận công việc từ một cá nhân không đáng tin cậy, đây là một cách để xử lý mọi việc.

Tuy nhiên, như tôi đã đề nghị, tốt hơn hết là bạn nên thuê một cá nhân được biết đến, đáng tin cậy.


Tại sao không? Tôi đang làm việc từ xa, quản lý khoảng hơn 300 máy chủ chuyên dụng, trong vòng một giờ tôi có thể phá hủy mọi thứ nếu muốn. Nhưng tất nhiên tôi sẽ không làm điều đó, ngay cả khi tôi bị sa thải. Tôi chịu trách nhiệm tạo các bản sao lưu, có đặc quyền cao nhất (không chỉ riêng tôi, vài người trong số chúng tôi) và chúng tôi có thể bị nhiễm độc bất cứ lúc nào. Lý do tại sao chúng ta không - là đạo đức và đạo đức. Chúng tôi yêu công ty và nhân viên và công việc của chúng tôi nói chung. Điều chính ở đây là tin tưởng một ai đó, và tìm người có đạo đức cho công việc này.
chạy trốn

@fugitive Bạn đang nói về một tình huống khác. Tôi cho rằng bạn được công ty tin tưởng, nếu không họ sẽ không cấp cho bạn quyền mà bạn có. Trong trường hợp của OP, rõ ràng là họ không tin tưởng nhà tư vấn này, đó là lý do tại sao tôi khuyên bạn không nên cấp quyền cho người này trên bất kỳ hệ thống nào quan trọng.
EEAA

Vâng, niềm tin phải được kiếm được. :)
chạy trốn

10

Thực tiễn tốt nhất để cho phép một nhà tư vấn từ xa cho công việc như vậy là gì để chúng tôi được bảo vệ chống lại bất kỳ hoạt động ác tính nào?

Từ góc độ pháp lý: do siêng năng trước và hình phạt nghiêm khắc cho vi phạm hợp đồng.

Bạn bắt đầu với các cách thức tuyển dụng tốt thông thường cũng áp dụng khi thuê nhân viên tại chỗ (và / hoặc nhà cung cấp dịch vụ) bao gồm kiểm tra thực tế hồ sơ được cung cấp, yêu cầu bảng điểm giáo dục và số chứng nhận, kiểm tra và gọi tham khảo, phỏng vấn, thậm chí có thể kiểm tra lý lịch hoặc kiểm tra an ninh, vv

Sau đó, áp dụng cà rốt : trả giá trị hợp lý, cung cấp công việc hấp dẫn, đồng nghiệp tuyệt vời, điều kiện làm việc tốt và lợi ích vv ( nếu bạn trả tiền đậu phộng, bạn sẽ nhận được khỉ. )

điều quan trọng : vi phạm các điều khoản trong hợp đồng lao động / dịch vụ của bạn và chúng tôi sẽ làm phiền luật sư của chúng tôi và khiến bạn phá sản!

Thật không may, cả hai điều trên trở nên ngày càng khó khăn hơn khi vượt qua biên giới và múi giờ.

Một khi bạn quyết định thuê ai đó:

  • chỉ thị và chính sách rõ ràng, mọi người nên nhận thức được những gì họ nên và có thể không làm.
  • nguyên tắc truy cập tối thiểu được áp dụng, gây khó khăn cho mọi người (vô tình hoặc cố ý) làm những việc họ không nên làm. Đối với quản trị viên hệ thống điển hình thường vẫn có nghĩa là truy cập đầy đủ, nhưng ví dụ, kiểm toán viên bảo mật không cần truy cập quản trị viên đầy đủ mà chỉ có thể yêu cầu quản trị viên hiện tại chạy tập lệnh thay mặt anh ta thu thập các chi tiết anh ta cần để báo cáo. Một kịch bản như vậy có thể dễ dàng được kiểm tra trước.
  • tin tưởng, nhưng xác minh. Đơn giản chỉ cần nhân viên hiện có kiểm tra công việc của một người mới tham gia và như luôn thu thập thông tin kiểm toán.
  • Vân vân.

Câu hỏi này nêu chi tiết những gì tôi thường yêu cầu khách hàng của mình làm để thiết lập quyền truy cập từ xa cho tôi, đây cũng có thể là điểm khởi đầu cho bạn.


3
"Nếu bạn trả đậu phộng, bạn sẽ nhận được khỉ" Hoặc voi. Mặc dù nghĩ về nó, tôi không chắc điều đó tốt hơn hay tệ hơn khỉ.
một CVn

Chỉ cần thêm, phần "dính" vào câu trả lời của bạn có thể khó thực thi hơn nếu bên kia ở một quốc gia khác. Trước tiên, bạn nên tham khảo ý kiến ​​một luật sư am hiểu / có kinh nghiệm để xem bạn có khả năng gì trong trường hợp xảy ra sự cố.
121391

Ngoài ra, việc thực thi sau một sự cố có thể còn tệ hơn là làm việc với một bên mà bạn có thể tin tưởng ngay từ đầu. Cùng một mã thông báo, có những người bạn hoàn toàn có thể tin tưởng người mà bạn có thể không tự động nghiêng về, và những người mà bạn theo bản năng bị hút về phía người mà bạn có lẽ không nên tin tưởng.
Craig

7

Có một phương pháp hệ thống để bảo vệ chính bạn mà tôi nghĩ đến, mà tôi chưa thấy đề cập đến.

Lưu trữ các phiên bản Linux của bạn dưới dạng VM trên một trình ảo hóa ảo hóa (VMware, Xenserver, Hyper-V, v.v.).

KHÔNG cung cấp quyền truy cập quản trị viên quản trị từ xa cho trình ảo hóa. Quản trị viên từ xa sẽ chỉ có quyền truy cập root vào chính VM.

DO Thực hiện một hệ thống sao lưu dựa trên nền tảng ảo hóa (Unitrends, Veeam, vSphere Data Protection, v.v.)

NÊN giữ ít nhất một ảnh chụp nhanh mỗi ngày cho mỗi máy ảo Linux, quay ngược thời gian mà bạn cảm thấy cần thiết.

KHÔNG cấp cho người quản trị từ xa quyền truy cập ghi vào kho lưu trữ sao lưu.

Nếu bạn làm những việc này, bạn sẽ có các ảnh chụp sao lưu của từng phiên bản Linux mà quản trị viên từ xa không có quyền kiểm soát. Nếu quản trị viên từ xa làm điều gì đó khó khăn, dù cố ý hay vô tình, bạn luôn có thể gắn một bản sao lưu từ trước khi xảy ra sự cố để đánh giá những gì đã xảy ra và có thể khôi phục lại trạng thái sạch.

Đây sẽ không phải là bằng chứng chống lại cuộc tấn công kênh bên của trình ảo hóa, có khả năng có thể được gắn kết từ bên trong máy ảo mà kẻ tấn công có quyền truy cập root.

Nếu các bản sao lưu của bạn không quay ngược thời gian, điều này sẽ không bảo vệ bạn.

Bạn cần hoàn toàn tin tưởng bất cứ ai kiểm soát được trình ảo hóa của bạn và cơ sở hạ tầng dự phòng.

Nếu bạn đang thực hiện việc này trên đám mây (AWS, Azure, v.v.), các chi tiết triển khai sẽ khác nhau, nhưng khái niệm chung sẽ giống nhau.

Về bản chất, phân chia trách nhiệm giữa các bên không phải là đối tác kinh doanh với nhau, ngoài ra chỉ thuê những người bạn tin tưởng.


1
Vào thời điểm bạn đã làm tất cả những điều đó, bạn đã là quản trị viên hệ thống và bạn đang thuê một lackey từ xa hoặc PFY.
Criggie

3
Không hoàn toàn. Bạn đang quản trị chỉ là trình ảo hóa và sao lưu. Mà, thừa nhận, không có gì. Nhưng nó cũng không hẳn là cùng một kỹ năng hoặc gánh nặng hành chính. Rất có thể là nếu bạn đang thực hiện ảo hóa (chúng tôi), rằng bạn có một người khác hoặc những người chịu trách nhiệm về bất cứ điều gì đang xảy ra trên từng VM.
Craig

1
Mặc dù ý tưởng chung là tốt, nhưng nó chỉ giúp chống lại sự bất tài / lỗi (đã xóa cơ sở dữ liệu sản xuất, v.v.), không chống lại ác ý (trừ khi bạn kiểm tra mọi thay đổi mỗi ngày và so sánh nội dung của các thay đổi, về cơ bản là kiểm toán toàn bộ hàng ngày). Ngoài ra, thiệt hại có thể không liên quan đến các công cụ kỹ thuật, ví dụ như dữ liệu khách hàng hoặc bí mật thương mại được rút ra theo cách này, vì nó chỉ có tác dụng.
121391

@ user121391: Tôi thực sự không thể không đồng ý, đặc biệt là với vấn đề exfiltratiion dữ liệu. Khi dữ liệu được lấy, nó hoàn toàn nằm ngoài tầm kiểm soát của bạn.
Craig

-1

Cung cấp cho anh ta tài khoản người dùng của mình. Sau đó tìm ra chính xác những gì anh ta cần truy cập và cấp quyền truy cập đó nhưng không có gì khác. Ví dụ: nếu anh ta cần cấu hình lại máy chủ web Apache, hãy sử dụng ACL để cấp cho anh ta quyền truy cập ghi vào các tệp cấu hình Apache và định cấu hình sudođể cho phép anh ta khởi động lại dịch vụ Apache nhưng không thực hiện bất kỳ lệnh nào khác dưới dạng root. Như mọi khi, hãy sao lưu mọi thứ mà bạn cấp cho anh ta quyền truy cập (trong trường hợp này là các tệp cấu hình Apache của bạn).


3
Có quyền cấu hình và khởi động lại một Apache đang chạy như root về cơ bản là đưa ra các đặc quyền gốc. Thật dễ dàng để có một nhị phân tùy ý được thực thi bởi quá trình apache, ví dụ như ghi nhật ký đường ống vào đó. Thiết lập tốt hơn Apache để nó có thể chạy dưới dạng không root và vẫn liên kết với các cổng đặc quyền. Đó là những gì tôi đã làm trong tình huống này trong quá khứ.
MvG
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.