Cài đặt mod_security Apache?

Tác giả admin+, T.Ba 13, 2011, 01:58:29 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 6 Khách đang xem chủ đề.

Cài đặt mod_security Apache?
1. Mod_security là gì?

ModSecurity là một mã nguồn mở phát hiện xâm nhập và công cụ phòng ngừa cho các ứng dụng web. Nó hoạt động nhúng vào máy chủ web, thực hiện mạnh mẽ như một chiếc ô che chắn các ứng dụng từ các cuộc tấn công. ModSecurity hỗ trợ cả hai nhánh của máy chủ web Apache.
Mod_security là rất tốt và tôi khuyến khích được sử dụng bởi tất cả mọi người, nó không có khả năng phá vỡ một số ứng dụng web nhưng cho đến nay nó cho thấy có rất ít các vấn đề. Tương tự như vậy, nó rất dễ dàng để sửa chữa bất kỳ ứng dụng có thể phá vỡ với các quy tắc lọc có thể được thiết lập hoặc từ chối hoặc cho phép nội dung nhất định.

Nói chung mod_security là một bổ sung cần thiết để Apache cung cấp một lớp bảo mật nhưng vô hình cho apache, tôi rất khuyến khích bạn đọc các tài liệu tham khảo trên các trang web   Đăng nhập để xem liên kết (theo tài liệu hướng dẫn) để hiểu rõ hơn về mỗi hướng dẫn và vai trò của nó đóng vai trò trong việc bảo vệ máy chủ và các trang web của bạn. "

2. Làm thế nào để cài đặt?

Yêu cầu:

Apache Web Server 1.3x hoặc 2.x

Lưu ý: Chúng tôi đã xác nhận công trình này bảo mật với máy chủ dựa trên cPanel.

Đăng nhập vào máy chủ thông qua kết nối SSH and su đến root user.

Dung weget để tải phiên bản mới nhất của mod_security

Mã nguồn [Chọn]
wget https://www.modsecurity.org/download/mod_security-1.7.4.tar.gz
Giải nén tập tin vừa tải xuống và chuyển vào thư mục đó.

Mã nguồn [Chọn]
tar zxvf mod_security-1.7.4.tar.gz
cd mod_security-1.7.4/

Bây giờ chúng ta xác định phiên bản Apache nào đang sử dụng:

APACHE 1.3.x users

Mã nguồn [Chọn]
cd apache1/
APACHE 2.x users
cd apache2/

Sử dụng lệnh sau để biên dịch module như bên dưới:

Mã nguồn [Chọn]
/usr/local/apache/bin/apxs -cia mod_security.c
Bây giờ chúng ta chỉnh sửa tập tin cấu hình của Apache httpsd conf. Đầu tiên chúng ta cần tạo một bản sao của nó chỉ đề phòng trường hợp chúng ta chỉnh sửa sai cấu hình:

Mã nguồn [Chọn]
cp /usr/local/apache/conf/httpsd.conf /usr/local/apache/conf/httpsd.conf.backup
Bây giờ chúng ta đã backup nó httpsd.conf. Sử dụng pico hoặc nano tùy vào bạn muốn dùng

Mã nguồn [Chọn]
pico /usr/local/apache/conf/httpsd.conf
Nhấn phím w để tìm kiếm đoạn cấu hình sau

Mã nguồn [Chọn]
<IfModule mod_dir.c> (altho any of the IfModules would work fine)
Thêm vào đoạn cấu hình sau

Mã nguồn [Chọn]
<IfModule mod_security.c>
SecFilterEngine On

SecServerSignature "Apache"
SecFilterCheckUnicodeEncoding Off
SecAuditEngine RelevantOnly
SecAuditLog logs/audit_log
SecFilterScanPOST On

SecFilterDefaultAction "deny,log,status:403"

SecFilterSelective REQUEST_METHOD "^POST$" chain
SecFilterSelective HTTP_Content-Length "^$"

SecFilterSelective HTTP_Transfer-Encoding "!^$"

SecFilterSelective ARG_PHPSESSID "!^[0-9a-z]*$"
SecFilterSelective COOKIE_PHPSESSID "!^[0-9a-z]*$"
SecFilter "../"

SecFilter "viewtopic\.php\?" chain
SecFilter "chr\(([0-9]{1,3})\)" "deny,log"

SecFilterSelective THE_REQUEST "wget "
SecFilterSelective THE_REQUEST "lynx "
SecFilterSelective THE_REQUEST "scp "
SecFilterSelective THE_REQUEST "ftp "
SecFilterSelective THE_REQUEST "cvs "
SecFilterSelective THE_REQUEST "rcp "
SecFilterSelective THE_REQUEST "curl "
SecFilterSelective THE_REQUEST "telnet "
SecFilterSelective THE_REQUEST "ssh "
SecFilterSelective THE_REQUEST "echo "
SecFilterSelective THE_REQUEST "links -dump "
SecFilterSelective THE_REQUEST "links -dump-charset "
SecFilterSelective THE_REQUEST "links -dump-width "
SecFilterSelective THE_REQUEST "links https:// "
SecFilterSelective THE_REQUEST "links ftp:// "
SecFilterSelective THE_REQUEST "links -source "
SecFilterSelective THE_REQUEST "mkdir "
SecFilterSelective THE_REQUEST "cd /tmp "
SecFilterSelective THE_REQUEST "cd /var/tmp "
SecFilterSelective THE_REQUEST "cd /etc/httpsd/proxy "
SecFilterSelective THE_REQUEST "/config.php?v=1&DIR "
SecFilterSelective THE_REQUEST "/../../ "
SecFilterSelective THE_REQUEST "&highlight=%2527%252E "
SecFilterSelective THE_REQUEST "changedir=%2Ftmp%2F.php "

# Very crude filters to prevent SQL injection attacks
SecFilter "delete[[:space:]]+from"
SecFilter "insert[[:space:]]+into"
SecFilter "select.+from"

# Weaker XSS protection but allows common HTML tags
SecFilter "<[[:space:]]*script"

# Prevent XSS atacks (HTML/Javascript injection)
SecFilter "<(.|n)+>"
</IfModule>

Lưu lại tập tin bằng cách nhấn tổ hợp phím Ctrl + X và chọn Y

Khởi động lại Apache

Mã nguồn [Chọn]
/etc/rc.d/init.d/httpsd stop
/etc/rc.d/init.d/httpsd start