Câu trả lời:
Tôi không thể nghĩ ra bất kỳ tinh chỉnh cụ thể nào của Ubuntu, nhưng đây là một số điều chỉnh áp dụng cho tất cả các bản phân phối:
Tất nhiên danh sách này không đầy đủ, và bạn sẽ không bao giờ hoàn toàn an toàn, nhưng nó bao gồm tất cả các khai thác tôi đã thấy trong cuộc sống thực.
Ngoài ra, các khai thác mà tôi đã thấy hầu như luôn luôn liên quan đến mã người dùng không an toàn, không phải cấu hình không an toàn. Các cấu hình mặc định trong các bản phân phối máy chủ tối thiểu có xu hướng khá an toàn.
Một điều nhanh chóng mà tôi làm sớm là cài đặt Denyhost . Nó sẽ thường xuyên xem qua / var / log / safe, tìm kiếm thông tin đăng nhập thất bại và sau một vài lần thất bại, hãy chặn IP. Tôi đã đặt nó để chặn sau người dùng không có người dùng đầu tiên, trong lần thử thứ hai tại root và sau một vài lần thử cho người dùng thực (trong trường hợp bạn gây rối, nhưng bạn nên sử dụng khóa công khai SSH để đăng nhập).
Ubuntu dựa trên Debian và tôi đã thấy Hướng dẫn bảo mật Debian rất hữu ích trong các bản phân phối dựa trên Debian trong việc đưa bạn hoàn toàn qua hệ thống của bạn và kiểm tra từng bộ phận. Về cơ bản, đây là một câu trả lời thực sự, thực sự toàn diện cho câu hỏi của bạn.
Tôi thường cài đặt RKHunter, quét các rootkit và kiểm tra tính toàn vẹn của các nhị phân hệ thống quan trọng khác nhau. Đó là trong repo tiêu chuẩn, và sẽ chạy hàng ngày từ cron. Nó không hoàn hảo, bảo mật, nhưng nó là một mục nỗ lực thấp để thêm, và nó cung cấp một biện pháp bảo vệ.
Cài đặt logcheck, nhưng điều chỉnh để bạn không bao giờ nhận được tin nhắn từ các sự kiện thông thường, nếu không bạn sẽ có thói quen bỏ qua các email.
Kiểm tra xem các quy trình đang lắng nghe bằng netstat và đảm bảo không có gì đang chạy mà không cần chạy. Nhiều trình nền chỉ có thể được cấu hình để nghe trên IP bên trong (hoặc localhost) thay vì tất cả các giao diện.
Làm những gì có thể gợi ý ...
Nmap máy chủ và vô hiệu hóa tất cả các dịch vụ không cần thiết. Sử dụng iptables nếu cần thiết.
Nếu bạn đang đi bất cứ nơi nào gần Internet với máy chủ, hãy cài đặt một hệ thống phát hiện xâm nhập như khịt mũi.
Sử dụng các phân vùng riêng cho các thư mục khác nhau như /tmp
hoặc /var
gắn kết chúng với nosuid
, nodev
và noexec
nếu có thể.
Tìm hiểu để sử dụng tường lửa và các khái niệm về việc khóa hộp đúng cách. Thay đổi cổng mặc định phần lớn là một điều vô ích; ứng dụng thích hợp và cấu hình tường lửa là quan trọng hơn nhiều.
Cả hai đều có trong repos Ubuntu:
có tài liệu tuyệt vời và rất dễ học cú pháp. Tôi đã có thể thiết lập một cổng / tường lửa trong hai mươi phút. Lý do duy nhất tôi chuyển đi từ đây là nó dường như không được duy trì (bản phát hành cuối cùng 2 năm trước). Không có nghĩa là nó không hoạt động, nhưng ...
là một cái khác Cú pháp giống iptables hơn, nhưng cùng một khái niệm. Nhiều cộng đồng được duy trì hơn FireHOL, nhưng mất nhiều thời gian hơn để nhận.
là những gì tôi hiện đang sử dụng. Tài liệu của nó rất rộng, và định dạng cấu hình của nó là dạng bảng. Tôi mất khoảng một tiếng rưỡi để hiểu tất cả các tệp cần thiết (6) để chạy cấu hình tường lửa / cổng hoạt động. Nó khá mạnh mẽ. MIPO: Các trang man cho các tệp cấu hình khác nhau thật sự hữu ích!
Tất cả các cấu hình tường lửa tải từ một tập tin cấu hình. Rất hiệu quả, dễ sử dụng hơn iptables ngay lập tức và (theo ý kiến của tôi) dễ sử dụng và quản lý hơn ufw.
Tôi thứ hai các khuyến nghị cho việc sử dụng khóa SSH.
Thiết lập IDS.
Tìm hiểu về AppArmor. Nó giới hạn quyền truy cập tệp của các tệp thực thi chỉ vào các thư mục được chỉ định và các tệp mà nó cần. Tương tự như SELinux trong thế giới RHEL. Nó được cài đặt và kích hoạt với 'cấu hình' được cấu hình sẵn cho nhiều chương trình được sử dụng tốt.
Cũng như các đề xuất khác ở đây tôi sẽ đề cập đến ba điều hiển nhiên nhưng có lẽ đáng nói đến cho sự hoàn chỉnh: