it-swarm-vi.com

Thực hành tốt nhất để tăng cường máy chủ Apache?

Một số thực tiễn tốt nhất, các khuyến nghị, yêu cầu đọc để bảo mật Máy chủ Apache là gì?

104
Eric Warriner

Lấy hướng dẫn của Trung tâm Bảo mật Internet (CIS) để bảo mật Apache (nó mô tả chi tiết cách tăng cường bảo mật):

Chỉnh sửa: Liên kết được cập nhật CIS Apache HTTP Server 2.2.x Điểm chuẩn

Nếu bạn có giấy phép Nessus , thì bạn có thể chạy kiểm tra tự động bằng cách lấy mẫu kiểm toán của họ:

alt text

31
Tate Hansen

Câu trả lời ban đầu được bình chọn cao cho câu hỏi này đã được chấp nhận đã bị xóa vì đây là đạo văn trực tiếp của 20 cách để bảo mật cấu hình Apache của bạn . Trang đó là một tài nguyên tuyệt vời.

@RoryMcCune cũng đăng bài này dưới dạng liên kết về câu trả lời đó: Có một dự án OWASP để phát triển Bộ quy tắc cốt lõi ModSecurity tại đây có thể được sử dụng.

7
Jeff Ferland

Có rất nhiều lời khuyên tốt ở đây, vì vậy tôi sẽ không nhắc lại những điều đã được đề cập. Nhưng những gì tôi sẽ nói là:

Đừng quên thay thế các trang lỗi mặc định bằng những thứ không cho phép phát hành Máy chủ Web hoặc sửa đổi kernel. Tôi có xu hướng thay thế mỗi html mặc định bằng 1 lớp lót giống như "Lỗi 400." Nó cung cấp rất ít về hệ thống đi. Hiệu trưởng này áp dụng cho tất cả các máy chủ web có khả năng hiển thị các trang lỗi tùy chỉnh, tất cả chúng đều được mặc định khá nhiều để cung cấp quá nhiều thông tin hơn mức cần thiết. Bạn sẽ nghĩ rằng ServerSignature sẽ che giấu điều này, nhưng trong nhiều trường hợp thì không.

Ngoài ra, đừng quên xóa tất cả nội dung HTML mặc định (ngôn ngữ cụ thể, v.v.) để việc lấy dấu vân tay khó hơn nhiều.

Theo như những bài đọc hay thì đã có một whitepaper từ Apcon 2008 đáng để đọc.

Mod_Security được nhắc đến một vài lần, điều này phù hợp hơn với các ứng dụng web, vì vậy nếu bạn chỉ phục vụ nội dung tĩnh, điều đó sẽ không giúp bạn quá, mặc dù vậy có một số cuộc tấn công mà nó giúp bảo vệ chống lại trong quá trình xử lý yêu cầu có thể ảnh hưởng đến Máy chủ Web tĩnh.

Một điều khác tôi muốn đề cập là quản lý nhật ký tốt, nếu bạn không khai thác nhật ký của mình và theo dõi chặt chẽ hệ thống, bạn sẽ có nguy cơ kẻ tấn công đập mạnh vào nó mà không có bất kỳ nhận thức nào về nó.

6
Ori

Tất cả các nguyên tắc bảo mật chung được áp dụng: chỉ chạy các mô-đun bạn cần, tắt các tính năng bạn không cần, dọn dẹp quyền/quyền sở hữu của bạn (hầu hết các nội dung chỉ được đọc, vậy tại sao các tệp cần bất kỳ thứ gì hơn 400 perm?).

Những thứ đặc biệt dành cho Apache, như các công việc CGI hoặc các vhost khác nhau phục vụ cùng một nội dung hai lần với hai cơ chế bảo mật khác nhau trên chúng khó phát hiện hơn nhiều; không chính xác là kiểm tra tự động, bạn thực sự phải biết Apache, HĐH cơ bản và những ứng dụng đang chạy trong Apache đang làm gì.

Để hoàn thiện vì đây là một Danh sách kiểm tra bảo mật Apache 2.2 từ DISA. CẬP NHẬT: Đây là một liên kết đến toàn bộ bộ sưu tập của các tài liệu làm cứng máy chủ web.

6
Marcin

Có thể đáng để cho Apache mod_security một cái nhìn.

Gần đây tôi đã thử nghiệm một số máy chủ của mình, nó không chỉ thực hiện một số chỉnh sửa cấu hình cho chính Apache như thay đổi số phiên bản, v.v. mà nó còn hoạt động như một tường lửa ứng dụng web giúp bảo vệ chống lại nhiều cuộc tấn công như SQL v.v.

4
Mark Davidson

Làm cách nào để bảo mật máy chủ web Apache

Câu trả lời nào bạn mong đợi nếu bạn hỏi "Làm thế nào để tôi lái một chiếc máy bay phản lực" hoặc "Làm thế nào để tôi phẫu thuật não" - áp dụng tương tự để làm cho một máy chủ web an toàn - bạn cần thực hiện 1000 giờ đào tạo, thực hành và nghiên cứu . Nhưng vì mọi người phải bắt đầu từ đâu đó ...

Có rất nhiều danh sách kiểm tra cơ bản trên internet về cách làm cứng máy chủ - nhưng theo nhận xét của tôi ở nơi khác, chúng rất khác nhau về chất lượng về chất lượng.

Tôi muốn giới thiệu sans one là một nguồn tốt.

Khi bạn đã theo dõi danh sách kiểm tra, bạn cần thiết lập phương tiện để bạn có thể

  • xác minh tính toàn vẹn của máy chủ của bạn (bạn chắc chắn cần IDS dựa trên máy chủ như tripwire cùng với trình phát hiện rootkit)
  • cảnh giác và áp dụng các bản vá
  • phục hồi hệ thống của bạn về trạng thái tốt

Đừng lên kế hoạch cho cách bạn xử lý sự cố bảo mật nếu xảy ra. Lập kế hoạch cho những việc cần làm khi xảy ra.

Sau khi bạn đã thiết lập và cấu hình hệ thống, sau đó trao đổi đĩa cứng và xem bạn mất bao lâu để có được dịch vụ và chạy lại mà không cần sử dụng đĩa gốc.

2
symcbean

đây không chỉ liên quan đến Apache (và cũng được tính cho nginx + php-fpm), nhưng thường bị lãng quên: php-winterereggs, có thể được chuyển qua php.ini

  expose_php = off

nó không khủng khiếp bằng việc để lại một phpinfo.php, nhưng thường là một gợi ý cho việc quản trị hệ thống rất lười biếng.

xem trứng Phục sinh

1

Tốt chủ đề quay. Nhiều người nói thật.

Họ đã quên một, OpenBSD theo cách của:

Trong OpenBSD, máy chủ Apache httpd (8) đã được chroot (2) ed theo mặc định

httpd (v.1 của Apache) được bao gồm trong OpenBSD theo mặc định và được phân loại theo mặc định.

Bạn có thể lặp lại dễ dàng với Apache2 hoặc nginx trên bất kỳ HĐH nào giống Unix khác.

0
user29424

Sử dụng phiên bản mới nhất của Apache, vá hệ điều hành của bạn và của các bên thứ ba như openssl hoặc bất kỳ bên nào khác.

Chặn các cổng không mong muốn.

Điều này sẽ bảo vệ bạn khỏi một số lỗ hổng đã biết, nhưng bạn sẽ luôn dễ bị 0 ngày, tất nhiên.

0
Novice User

Dưới đây là 6 bước chính:

  1. Bảo mật mã ứng dụng của bạn
  2. vô hiệu hóa tất cả các mô-đun không được sử dụng. Cố gắng vô hiệu hóa tất cả, và sau đó, từng cái một, thêm các mô-đun.
  3. xóa tất cả các tập lệnh và tập tin sao lưu trong thư mục web.
  4. vô hiệu hóa danh sách thư mục
  5. sử dụng modsecurity để bảo vệ ứng dụng của bạn khỏi các cuộc tấn công ở cấp ứng dụng.
  6. Sử dụng Fail2ban để kích hoạt lỗi HTTP (403, 404).

Đừng dựa vào tường lửa mạng của bạn, thật vô ích khi nói về bảo mật web.

0
Mike