Bài viết này là một phần của loạt hướng dẫn máy chủ Apache:

  • Bảo mật Apache trên Ubuntu - Phần 1
  • Bảo mật Apache trên Ubuntu - Phần 2
  • Tối ưu hóa hiệu suất Apache - Phần 1
  • Tối ưu hóa hiệu suất Apache - Phần 2
  • Thiết lập Virtualhost dựa trên tên Apache
  • Thiết lập IP và Virtualhost dựa trên cổng trong Apache
  • Làm thế nào để thiết lập mật khẩu bảo vệ thư mục Web trong Apache
  • Thiết lập máy chủ Apache với hỗ trợ SSL trên Ubuntu
  • Thiết lập Fail2ban để bảo vệ Apache khỏi tấn công DDOS
  • Làm thế nào để thiết lập Webdav với Apache trên Ubuntu
  • Giám sát máy chủ web Apache bằng Mod_status
  • Làm thế nào để bảo vệ chống lại DDoS với Mod_evasive trên máy chủ Apache

Bài viết trước của tôi tập trung vào các mẹo và thủ thuật bảo mật cơ bản để bảo mật máy chủ web Apache trong Ubuntu.

Ở đây tôi sẽ chỉ cho bạn một số mẹo và thủ thuật bảo mật nâng cao để bảo vệ máy chủ web Apache.

Bảo mật Apache từ tấn công Clickjacking

Clickjacking là một lỗ hổng máy chủ web nổi tiếng. Nó được gọi là "tấn công giao diện người dùng". Đây là một kỹ thuật độc hại được kẻ tấn công sử dụng để thu thập các nhấp chuột của người dùng bị nhiễm. Clickjacking được tạo thành từ hai từ - Nhấp và Hijacking. Nhấp chuột có nghĩa là “nhấp chuột” và Hijacking có nghĩa là “buộc người dùng nhấp vào”. Nhấp chuột có nghĩa là buộc người dùng nhấp vào trang web mà hacker muốn anh nhấp để thực hiện hoạt động độc hại mong muốn.

Để bảo vệ máy chủ web Apache của bạn khỏi một cuộc tấn công Clickjacking, bạn cần sử dụng "X-KHUNG-TÙY CHỌN" để ngăn chặn nó.

Bạn có thể thực hiện việc này bằng cách chỉnh sửa tệp “apache2.conf”.

 sudo nano /etc/apache2/apache2.conf 

Thêm dòng sau vào trong thư Directory /var/www/html/ :

 Tiêu đề luôn nối thêm SAMEORIGIN X-Frame-Options 

Lưu tệp và khởi động lại Apache.

 sudo /etc/init.d/apache2 khởi động lại 

Bây giờ, hãy thử mở trình duyệt web để truy cập máy chủ web của bạn. Kiểm tra tiêu đề phản hồi HTTP trong firebug; bạn sẽ thấy X-Frame-Options như thể hiện trong hình dưới đây.

Tắt Etag

Etags, còn được gọi là "Thẻ thực thể", là một lỗ hổng trong Apache. Chúng cho phép người dùng từ xa có được thông tin nhạy cảm như số inode, ID tiến trình con và ranh giới MIME nhiều phần bằng cách sử dụng tiêu đề Etag. Bạn nên tắt Etag.

Bạn có thể thực hiện việc này bằng cách chỉnh sửa tệp “apache2.conf”.

 sudo nano /etc/apache2/apache2.conf 

Thêm dòng sau vào trong thư Directory /var/www/html/ :

 FileETag Không có 

Lưu tệp và khởi động lại Apache.

Bây giờ, hãy thử mở trình duyệt web để truy cập máy chủ web của bạn. Kiểm tra tiêu đề phản hồi HTTP trong firebug; bạn không nên nhìn thấy Etag.

Tắt giao thức cũ

Giao thức HTTP cũ (HTTP 1.0) có lỗ hổng bảo mật liên quan đến tấn công phiên và tấn công Clickjacking. Bạn nên tắt giao thức cũ.

Bạn có thể tắt nó bằng cách sử dụng quy tắc “mod_rewrite” bằng cách chỉ cho phép giao thức HTTP 1.1.

Đối với điều này, chỉnh sửa "apache2.conf" tập tin.

 sudo nano /etc/apache2/apache2.conf 

Thêm dòng sau vào trong thư Directory /var/www/html/ :

 RewriteEngine Trên RewriteCond% {THE_REQUEST}! HTTP / 1 \ .1 $ RewriteRule. * - [F] 

Lưu tệp và khởi động lại Apache.

Phương thức yêu cầu HTTP

Trong Ubuntu, giao thức HTTP 1.1 hỗ trợ nhiều phương thức yêu cầu như "OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT" có thể không cần thiết. Chúng tôi khuyên bạn chỉ nên kích hoạt phương thức yêu cầu HEAD, POST và GET.

Để khắc phục điều này, hãy chỉnh sửa tệp cấu hình Apache.

 sudo nano /etc/apache2/apache2.conf 

Thêm dòng sau vào trong thư Directory /var/www/html/ :

 tư chôi tât cả 

Lưu tệp và khởi động lại Apache.

Bảo mật Apache khỏi Tấn công XSS

XSS (còn được gọi là Cross-site Scripting) là một trong những lỗ hổng lớp ứng dụng phổ biến nhất. Nó cho phép kẻ tấn công thực thi mã trên máy chủ web mục tiêu từ trình duyệt web của người dùng. Những kẻ tấn công có thể tấn công vào máy chủ web dễ bị tấn công của XSS bằng cách sử dụng kịch bản lệnh trình duyệt (JavaScript), vì vậy bạn nên bật tính năng bảo vệ XSS trên Apache.

Bạn có thể thực hiện việc này bằng cách chỉnh sửa tệp cấu hình Apache.

 sudo nano /etc/apache2/apache2.conf 

Thêm dòng sau vào trong thư Directory /var/www/html/ :

 Bộ tiêu đề được đặt X-XSS-Protection "1; mode = block" 

Lưu tệp và khởi động lại Apache.

Bây giờ, hãy thử mở trình duyệt web để truy cập máy chủ web của bạn. Kiểm tra tiêu đề phản hồi HTTP trong firebug; bạn sẽ thấy các tùy chọn bảo vệ X-XSS như thể hiện trong hình dưới đây.

Bảo vệ cookie bằng cờ HTTPOnly

Cookie HTTPOnly còn được gọi là cookie an toàn được sử dụng để truyền http hoặc https qua Internet. Bạn nên sử dụng “HttpOnly” và “Secure flag” trong một cookie. Điều này sẽ bảo vệ máy chủ web Apache của bạn khỏi các cuộc tấn công phổ biến nhất như CSS, tấn công cookie và tiêm cookie.

Để khắc phục điều này, hãy chỉnh sửa tệp cấu hình Apache.

 sudo nano /etc/apache2/apache2.conf 

Thêm dòng sau vào trong thư Directory /var/www/html/ :

 Chỉnh sửa tiêu đề Set-Cookie ^ (. *) $ $ 1; HttpOnly; 

Lưu tệp và khởi động lại Apache.

Phần kết luận

Tôi hy vọng rằng bạn có đủ kiến ​​thức ngay bây giờ để bảo vệ máy chủ web Apache của bạn khỏi các loại tấn công khác nhau. Nếu bạn có bất kỳ câu hỏi nào cảm thấy tự do để bình luận dưới đây.