YOMEDIA
Cài đặt mod_security/mod_security2 trên SuSE Linux Enterprise Server 10 (SLES10)
Chia sẻ: Abcdef_43 Abcdef_43
| Ngày:
| Loại File: PDF
| Số trang:7
90
lượt xem
5
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Module mod_security là một module mạnh mẽ. Kết hợp với các luật được định nghĩa, bạn có thể chặn nhiều lỗ hổng của máy chủ được mở ra do việc viết mã php hay perl không tốt.Không may mắn là mod_security không phải là một phần của bản SLES10. Để cài đặt mod_security cần cài đặt một vài module của hãng thứ 3. Bài viết này hướng dẫn cách cài đặt mod_security trên SLES10. Cũng như các gỡ bỏ module, bằng cách xây dựng từ gói RPM bạn có thể gỡ bỏ một cách dễ dàng. Cài đặt Apache2
...
AMBIENT/
Chủ đề:
Nội dung Text: Cài đặt mod_security/mod_security2 trên SuSE Linux Enterprise Server 10 (SLES10)
- Cài đặt mod_security/mod_security2 trên SuSE Linux
Enterprise Server 10 (SLES10)
Module mod_security là một module mạnh mẽ. Kết hợp với các luật đ ược định
nghĩa, bạn có thể chặn nhiều lỗ hổng của máy chủ đ ược mở ra do việc viết mã
php hay perl không tốt.
Không may m ắn là mod_security không phải là một phần của bản SLES10. Để
cài đặt mod_security cần cài đặt một vài module c ủa hãng thứ 3. Bài viết này
hướng dẫn cách cài đặt mod_security trên SLES10. Cũng như các gỡ bỏ
module, bằng cách xây dựng từ gói RPM bạn có thể gỡ bỏ một cách dễ d àng.
Cài đặt Apache2
Đầu tiên bạn cần cài đặt apache2. Rất đơn giản bằng cách sử dụng câu lệnh
sau:
$ yast2 -i apache2
Cài đặt các gói yêu cầu
Một vài module cần thiết phải được cài đặt để chuẩn bị cho việc cài đặt
mod_security. Hãy cài những gói sau:
$ yast2 -i libxml2-devel pcre-devel apache2-devel curl-devel gcc gcc-c++
Apache2-devel là bắt buộc cho apxs2. curl là tùy chọn.
- Cài đặt và checkinstall (để đóng gói)
Để theo dõi được các phần mềm đ ược cài đặt và cho phép người dùng có thể
gỡ bỏ và cập nhật phần mềm, checkinstall có thể đ ược xây dựng RPM,
DEBIAN (DEB) và các gói Slackware. Thay vì thực thi "make install" chỉ cần
chạy "checkinstall" và checkinstall sẽ lấy tất cả các tập tin mà có thể được cài
đặt bằng "make install".
Tải checkinstall tại : http://www.asic-
linux.com.mx/~izto/checkinstall/download.php.
$ wget http://www.asic-
linux.com.mx/~izto/checkinstall/files/source/checkinstall -1.6.1.tgz
$ make
$ make install
$ checkinstall
$ cp /usr/src/packages/RPMS/i386/checkinstall-1.6.1-1.i386.rpm .
$ rpm -ivh checkinstall -1.6.1-1.i386.rpm
Tải về và cài đặt liblua
Ngôn ngữ LUA được sử dụng bởi mod_security để cấu hình. Bạn cần compile
LUA như là một module chia sẻ (shared module).
Tải LUA tại: http://www.lua.org/ftp/lua -5.1.3.tar.gz .
$ wget http://www.lua.org/ftp/lua-5.1.3.tar.gz
- $ tar -zxvf lua-5.1.3.tar.gz
$ cd lua-5.1.3
$ make linux
$ checkinstall
[...]
1 - Summary: [ The LUA programming language ]
2 - Name: [ lua ]
3 - Version: [ 5.1.3 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Development/Languages/Lua ]
7 - Architecture: [ i386 ]
8 - Source location: [ http://www.lua.org/ftp/lua -5.1.3.tar.gz ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ lua ]
[...]
$ cp /usr/src/packages/RPMS/i386/lua-5.1.3-1.i386.rpm ..
$ rpm -ivh ../lua-5.1.3-1.i386.rpm
Bây giờ bạn cần build một thư viện chia sẻ (shared library) từ gói nén liblua.
$ cd /usr/local/lib
$ gcc -shared -o liblua.5.1.3.so /usr/local/lib/liblua.a
$ ln -s liblua.5.1.3.so liblua.so
- Tải về và cài đặt mod_security
Tải mod_security tại : http://www.modsecurity.org/download/direct.html .
Tài liệu về cách cài đặt có thể xem tại đây:
http://www.modsecurity.org/documentation/index.html .
$ cd modsecurity-apache_2.5.2
$ cd apache2
$ ./configure
$ make
$ checkinstall
...
1 - Summary: [ mod_security application level firewall ]
2 - Name: [ apache2-mod_security ]
3 - Version: [ 2.5.2 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Productivity/Networking/Web/Servers ]
7 - Architecture: [ i386 ]
8 - Source location: [ http://www.modsecurity.org/download/ ]
9 - Alternate source location: [ ]
10 - Requires: [ apache2 libxml2 ]
11 - Provides: [ mod_security ]
- $ cp /usr/src/packages/RPMS/i386/apache2-mod_security-2.5.2-1.i386.rpm
../../
$ rpm -ivh ../../apache2-mod_security-2.5.2-1.i386.rpm
Cấu hình Apache2 cho mod_security
# /etc/apache2/conf.d/mod_security.conf
LoadFile /usr/lib/libxml2.so
LoadFile /usr/local/lib/liblua.so
LoadModule security2_module /usr/lib/apache2/mod_security2.so
Include modsecurity/*.conf
LoadModule unique_id_module /usr/lib/apache2/mod_unique_id.so
Xả nén và cấu hình Core Rules
Tải core rules tại : http://www.modsecurity.org/download/modsecurity-core-
rules_2.5-1.6.0.tar.gz.
$ cd /etc/apache2
$ mkdir modsecurity
$ cd modsecurity
$ tar -zxvf ../modsecurity-core-rules_2.5-1.6.0.tar.gz
Hiệu chỉnh modsecurity_crs_10_config.conf cho đúng với đích của tập tin cấu
hình:
vi modsecurity_crs_10_config.conf
- SecAuditLog=...
SecDebugLog=...
Khởi động lại Apache và thử trang web của bạn
Đầu tiên khởi động lại apache để các cấu hình hiện tại có hiệu lực:
$ rcapache restart
Để thử quá trình cài đặt, viết một đoạn m ã PHP đơn giản như sau:
# /srv/www/htdoc/index.php
file $text=$_GET['file'];
echo "Content of File $text";
echo `cat $text`;
?>
Sau đó truy cập tới nó:
http://ip.of.your.server.de/index.php?file=/etc/passwd
Bạn sẽ nhận được lỗi ERROR 501 trên trình duyệt và tập tin SecAuditLog sẽ
hiển thị:
[...]
GET /index.php?file=/etc/passwd HTTP/1.1 ...
[...]
- Message: Access denied with code 501 ( phase 2). Pattern match
"(?:\b(?:\.(?:ht(?:access|passwd|group
)|www_?acl)|global\.asa|httpd\.conf|boot\.ini)\b|\/etc\/)" at ARGS:file. [file
"/etc/apache2/modsecu
rity/modsecurity_crs_40_generic_attacks.conf"] [line "114"] [id "950005"]
[msg "Remote File Access A
ttempt"] [data "/etc/"] [severity "CRITICAL"] [tag
"WEB_ATTACK/FILE_INJECTION"]
Khi truy cập tới máy chủ của bạn bằng địa chỉ IP, một quy tắc của
modsecurity_crs_21_protocol_anomalies.conf sẽ loại bỏ nó. Chỉnh sửa tập tin
và tìm "Check that the host header is not an IP address".
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...