Và nếu cài đặt từ nguồn, cần đảm bảo rằng quá trình cập nhật sẽ không làm thay đổi module hay những thành phần phụ của website.. Để thực hiện điều này, bạn chỉ cần mở file httpd.conf và
Trang 110 biện pháp bảo mật Apache
Trang 21 Cập nhật liên tục
Việc Apache chạy trên hệ điều hành
Linux không có nghĩa là bạn không cần
cập nhật Những lỗ hổng mới và những
nguy cơ bảo mật luôn thường trực Bạn nên thường xuyên cập nhật để vá những lỗ hổng và sửa những lỗi bảo mật đó Nếu đã cài đặt Apache cùng với
trình quản lý gói của bản phân phối, bạn có thể thực hiện cập nhật rất dễ
dàng Và nếu cài đặt từ nguồn, cần đảm bảo rằng quá trình cập nhật sẽ không
làm thay đổi module hay những thành phần phụ của website Ngoài ra nếu sử dụng PHP thì trong quá trình cập nhật Apache bạn phải đồng thời cập nhật cả
hai
2 Vận hành Apache theo từng đối tượng
Apache thường được cài đặt cho nhiều nhóm hay nhiều người dùng Một
trong những người hay mắc lỗi nhất là root user (có quyền như admin) mà
hậu quả là tạo ra một số lỗi rất nghiêm trọng Hay nói theo cách khác cả
Apache và MySQL đều do cùng một đối tượng người dùng hay nhóm người
Trang 3dùng vận hành Nếu một người gây ra lỗ hổng, thì người khác có thể phải
hứng chịu hậu quả Biện pháp tốt nhất để tránh tình trạng này đó là đảm bảo
Apache được vận hành như một Apache dành cho một người dùng hay một nhóm nhất định Để thực hiện điều này, bạn chỉ cần mở file httpd.conf và
kiểm tra những dòng có dạng:
User Group
Sau đó thay đổi các mục này thành:
User apache Group apache
Nếu gặp lỗi xảy ra trong khi thay đổi có nghĩa là nhóm hay người dùng khai
báo không tồn tại và bạn cần phải tạo mới
3 Tắt bỏ những dịch vụ không cần thiết
Có một vài dịch vụ hay tính năng bạn sẽ muốn tắt bỏ hoặc chặn Tất cả
những dịch vụ này có thể được hủy bỏ trong file httpd.conf Những dịch
vụ/tính năng này có thể gây ra một số lỗi sau:
Trang 4 Directory browsing: Dịch vụ này được hủy bỏ trong một thẻ Directory
(thường được khởi chạy trong gốc tài liệu) bằng cách sử dụng Options Directive và cài đặt nó với “-Indexing”
Directory bằng cách sử dụng Options Directive và cài đặt nó với
“-Includes”
dịch vụ này bằng cách sử dụng Options Directive và cài đặt nó với
“-ExecCGI” trong tag thư mục
“-FollowSymLinks”
cách sử dụng “None” với Option Directive
4 Hủy bỏ những module không sử dụng
Apache gồm có rất nhiều module Để xem có bao nhiêu module đang chạy,
dùng lệnh grep –n LoadModule httpd.conf từ trong thư mục cấu hình Apache
Trang 5Lệnh này sẽ hiển thị cho bạn mọi module mà Apache đang tải cùng với vị trí
dòng của những module này Để hủy bỏ những module không cần thiết, bạn
chỉ cần bổ sung kí tự “#” vào đầu dòng của module cần tắt bỏ
5 Giới hạn truy cập
Giả sử bạn có một mạng intranet chứa nhiều thông tin quan trong của công ty
và bạn không muốn cho người ngoài mạng riêng của mình truy cập vào nhóm
thông tin này Để làm được điều đó, bạn chỉ cần giới hạn truy cập vào mạng nội bộ của bạn bằng cách bổ sung đoạn mã dưới đây vào file httpd.conf trong
thẻ Directory của bạn:
Order Deny, Allow Deny from all Allow from 192.168.1.0/16
Trong đó 192.168.1.0/16 là địa chỉ mạng nội bộ của bạn Sau khi thực hiện
thay đổi trong file httpd.conf, bạn cần khởi động lại Apache để áp dụng các thay đổi này
6 Hạn chế yêu cầu
Tấn công từ chối duchj vụ (DoS) luôn có thể xay ra khi bạn cho phép khối
Trang 6lượng yêu cầu lớn trên Apache Apache có một lệnh điều hướng là
LimitRequestBody được đặt trong thẻ thư mục Số lượng giới hạn phụ thuộc
vào nhu cầu của website Theo mặc định thì LimitRequestBody được đặt giá
trị vô hạn
7 Sử dụng module mod_security
Một trong những module quan trọng nhất của Apache là mod_security
Module này xử lý nhiều tác vụ, gồm lọc, lọc biểu thức thông thường, mã hóa
URL và ẩn địa chỉ server Việc cài đặt mod_security cũng khá phức tạp
Trước tiên bạn phải bổ sung hai lệnh điều hướng unique_id và security2 vào
vùng module của Apache Sau đó chạy lệnh:
service apache2 configtest
Khi nhận được thông báo Syntax OK là bạn đã cài đặt thành công
8 Không cho phép duyệt tìm bên ngoài tài liệu gốc
Việc cho phép duyệt bên ngoài tài liệu gốc có thể gây ra nhiều vấn đề Nếu
Trang 7không cần thiết phải bật dịch vụ này, tốt nhất bạn nên tắt bỏ nó Trước tiên,
bạn sẽ phải hiệu thẻ Directory của thư mục gốc như sau:
<Directory />
Order Deny, Allow Deny from all Options None AllowOverride None
</Directory>
Sau đó, nếu cần bổ sung tùy chọn cho bất kì thư mục nào trong tài liệu gốc, bạn sẽ phải bổ sung một thẻ Directory mới cho mỗi thư mục
9 Ẩn số phiên bản của Apache
Một trong những biện pháp phòng ngừa tốt nhất đó là giấu những thông tin
về dịch vụ của bạn đến mức có thể Một trong những thông tin cần ẩn đi đó là
số phiên bản của Apache Làm như vậy bạn sẽ ngăn những người dùng không
mong muốn có thể xâm nhập một cách nhanh chóng vào máy chủ web của
bạn Bạn chỉ cần bổ sung đoạn mã sau vào trong thẻ Directory của tài liệu
gốc:
Trang 8ServerSignature Off ServerTokens Prod
10 Ẩn file cấu hình httpd.conf
Một trong những biên pháp bảo mật tốt nhất đó là làm ẩn đi file httpd.conf
Bởi vì file này chứa nhiều thông tin cấu hình cũng như những cài đặt Nếu
mọi người không thấy nó, nghĩa là họ không thể thay đổi nội dung bên trong,
và tất nhiên những cài đặt của bạn vẫn được giữ nguyên Để ẩn đi file
httpd.conf bạn chỉ cần sử dụng lệnh sau:
chattr +i /path/to/httpd.conf
Trong đó /path/to/httpd.conf là đường dẫn tới file cấu hình Apache