Một trong những nguyên tắc cơ bản của bảo mật máy tính là không bao giờ chạy bất cứ thứ gì bạn không cần.
Tôi đã pgrep
ping cho một quá trình ngày hôm nay khi tôi nhận thấy rằng máy Ubuntu 9.04 (máy tính để bàn) của tôi đang chạy một trình nền máy chủ git. Sau khi thề nhanh chóng, tôi phát hiện ra rằng git-daemon-run
gói đã được cài đặt (có thể vô tình) và loại bỏ nó đã thoát khỏi quá trình đó (và đảm bảo rằng nó sẽ không được khởi động lại sau).
Nhưng trong các trường hợp khác, tôi muốn gói máy chủ được cài đặt, nhưng không muốn trình nền máy chủ chạy. Ví dụ: tôi sử dụng lighttpd
để kiểm tra nội bộ (được bắt đầu bằng các tập lệnh kiểm tra cụ thể cho một số ứng dụng và chỉ nghe trên localhost trong các cấu hình đó) nhưng tôi không muốn nó nghe các kết nối bên ngoài với một số tệp cấu hình ngẫu nhiên. (Nếu tôi muốn chạy một nghe cho các kết nối bên ngoài, tôi sẽ tự cấu hình và tự chạy nó.)
Tôi thực sự không thích chạy tất cả các loại máy chủ ngẫu nhiên mà tôi không cần trên các máy tiếp xúc với Internet, vì ai biết được lỗ hổng bảo mật nào mà chúng mở ra. Và tôi không muốn phải loay hoay với tường lửa, vì đó là một nguồn tiềm năng khác của lỗi và cấu hình sai có thể mở ra các lỗ hổng bảo mật. Không quá khó để các máy Unix được cấu hình để không khởi động bất kỳ máy chủ nào trừ khi được quản trị viên yêu cầu cụ thể; NetBSD (và OpenBSD cũng vậy, tôi nghĩ vậy) theo cách này theo mặc định.
Làm cách nào để định cấu hình hệ thống Ubuntu của tôi không bao giờ khởi động bất kỳ loại trình nền máy chủ nào trừ khi tôi nói cụ thể là tôi muốn nó khởi động?
. quá dễ dàng để vô tình khởi động một máy chủ mà không nhận ra bạn đã làm như vậy.)
EDIT: Để làm cho nó rõ ràng, vấn đề không phải là tôi muốn có thể dừng các máy chủ hiện có. Vấn đề là tôi không muốn máy chủ mới bắt đầu mà không có yêu cầu rõ ràng. Điều này có nghĩa là tôi sẽ có thể thực hiện bất kỳ tác vụ sysadmin nào, chẳng hạn như cài đặt gói và tự tin rằng không có máy chủ nào bắt đầu. Hầu hết các câu trả lời không giải quyết điểm này.