Trong phần này tôi sẽ thực hiện một số cấu hình cho máy chủ Apache để đảm bảo an toàn.
- Thực hiện gỡ bỏ những thành phần sau mod_userid, mod_info, mod_status, mod_include ra khỏi Apache do những thành phần này không cần thiết.
- Điều khiển truy cập: Sử dụng các chỉ mục (Directory) để điều khiển quá trình truy cập đến các thư mục hệ thống, hạn chế quyền thâm nhập các thư mục (ví dụ như các thư mục: root, admin, administrator). Không cho phép duyệt qua thư mục root. Cấu hình được thiết lập trong tập tin cấu hình httpd.conf như sau:
vi /etc/httpd/conf/httpd.conf <Directory/>
68
order deny, allow deny from all </Directory>
<Directory /www/htdocs> order allow, deny allow from all </Directory>
Không cho hiển thị danh sách trong các thư mục
<Directory /var/www/html> Options -Indexes
</Directory>
- Hạn chế việc sử dụng: MultiViews, ExecCGI, FollowSymLinks, SymLinksIfOwnerMatch bằng cách chỉnh trong tập tin httpd.conf (ví dụ: Directory /> Options -FollowSymLinks </Directory>) khi nào cần sử dụng sẽ điều chỉnh trong tập tin .htaccess (ví dụ: options +FollowSymLinks). Bảo vệ các tập tin cấu hình .htaccess bằng cách chỉnh chmod là 644.
- Ghi nhật ký: nhật ký Error Log được ghi trong mục /var/log/httpd/error_log, cấu hình nhật ký Access Log /var/log/httpd/access_log
LogLevel notice
LogFormat “%a %l %u %t \’’%r\’’ %>s %O \”%{Referer}i\” \”%{User- Agent}i\””
combined
CustomLog log/access_log combined - Hạn chế các thông tin về Web Server:
ServerTokens Prod ServerSignature Off
- Điều chỉnh các thông số như dưới đây để tối ưu để bảo vệ tấn công từ chối dịch vụ. Timeout 100 KeepAlive On MaxKeepAliveRequests 500 KeepAliveTimeout 15 LimitRequestline 512 LimitRequestFields 100 LimitRequestFieldsize 1024
69
LimitRequestBody 102400
TimeOut: thời gian máy chủ chờ một kết nối, mặc định 300 giây
MaxKeepAliveRequests: số lượng yêu cầu tối đa được sử dụng cho mỗi kết nối KeepAliveTimeout: thời gian đợi đóng một kết nối
LitmitRequestFields: giới hạn số lượng HTTP Request header được chấp nhận bởi client. LimitRequestFieldsize: giới hạn kích thước HTTP request header
LimitRequestBody: giới hạn kích thước yêu cầu