·
Thư
mục đường dẫn nơi lưu trữ trang web :
/var/www/html hoặc /var/www
·
Cấu
hình chính apache tại /etc/httpd/conf/httpd.conf (RHEL/CentOS/Fedora) and/etc/apache/apache2.conf (Debian/Ubuntu).
- Default HTTP Port: 80 TCP
- Default HTTPS
Port: 443 TCP
·
Xem file log của apache tại 2 file
1.
Xem
file log truy cập tại /var/log/httpd/access_log
2. Xem
file log lỗi tại /var/log/httpd/error_log
Tiếp theo ngoài việc xây dựng hệ thống web với
apache chạy tốt, một điều kiện cũng khá bắt buộc đó là bảo mật hệ thống web
server apache.Dưới đây là một trong những bước giúp hoàn thiện cho hệ thống web
apache.
1.
Không hiển thị các lỗi show version của apache
và hệ điều hành khi truy cập bị lỗi.
-
Theo đường
dẫn /etc/httpd/conf/httpd.conf ta sửa
lại các default như sau
“ServerSignature“(line
536) mặc đinh nó là On chúng ta sữa lại Off và chỉnh
sửa “ServerTokens Prod” (line 44)nó
dấu version cho chúng ta
2.
Disable chức năng hiển thị danh sách trong các
thư mục
Mặc định apache hiển
thị hết tất cả các file có trông thư mục root như bên dưới.
Chúng ta có thể disable
chức năng này bằng cách cấu hình trong
đường dẫn đặc biệt mà không muốn show các file trong đó bằng cách:
<Directory /var/www/html>
Options -Indexes
</Directory>
3. Dữ apache luôn được update bản mới nhất
Muốn xem version
hiện tại của apache chúng ta đánh lệnh như sau:
Httpd –v
# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Aug 13 2013 17:29:28
Muốn update apache
chúng ta đánh lệnh sau
Yum update apache
4. Disable những module không cần thiết
Để
hạn chế rủi ro cho web server chúng ta nên loại bỏ bớt một số module không cần
thiết.
Lệnh
sau giúp chúng ta xem các module ta đang có:
grep LoadModule /etc/httpd/conf/httpd.conf
chúng
ta có thể loại bớt một phần module, hầu
như chúng ta không dùng đến, trong đó chúng ta chú ý tới các module thường
chúng ta không cần đến. mod_imap,mod_include, mod_info, mod_userdir, mod_autoindex
chỉ
việc thêm dấu # trước mỗi module chúng
ta cần bỏ
5.
Disable tính năng Symboliclinks
Mặc định apache
cho phép tính năng symbolic chúng ta có thể tắc tính nắng FollowSymLinks với Options
directive. Chúng ta cấu hình chúng trong file httpd.conf
Options -FollowSymLinks
Nếu có User hay website
nào cần sử dụng chức năng FollowSymLinks . chúng ta đơn giản viết 1 rule trong file
.htaccess từ web site đó
# Enable symbolic links
Options +FollowSymLinks
Chú ý: ta enable
chứng năng Rewrite thì chúng ta cấu hình trong file httpd.conf là “AllowOverride All”
6. Tắt chức năng server side include và CGI execution
Chúng ta cũng tắt
các chức năng server side include (mod_include) and CGI execution
trong thư mục gốc
Options -Includes
Options -ExecCGI
Trong
các trang web con chúng ta cũng cấu hính
tương tự
<Directory "/var/www/html/web1">
Options -Includes -ExecCGI
</Directory>
7. Giới hạn kích thước REQUEST
Mặc định apache không giới hạn kích
thướt request HTTP , khi chúng ta không giới hạn có thẻ trở thành nạn nhân của
tấn công DDOS. Chúng ta cần giới hạn kích
thước thư mục “LimitRequestBody”
.
Chúng ta có thể giới hạn gia trị từ 0 (
không giới hạn) tới 2147483647 (2GB) cho
phép request body . Bạn có thể thiết lập giới hạn này theo nhu cầu trang web của bạn, Giả sử bạn có một trang
web mà bạn cho phép cập nhật
và bạn muốn giới hạn kích thước tải lên một thư mục cụ
thể.
Đây trong ví dụ này,
user_uploads là một thư mục có chứa các tập tin tải
lên bởi người sử dụng. Chúng tôi
đang đặt một giới hạn của 500K cho việc này.
<Directory
"/var/www/myweb1/user_uploads">
LimitRequestBody 512000
</Directory>
8. Bảo vệ tấn công DDOS
Chúng ta không thể bảo vệ chống lại
tấn công DDOS hoàn toàn mà chỉ hạn chế 1 phần nào đó thôi,
·
TimeOut : thời gian máy chủ chờ một kết nối, mặc định
300 giây, tốt hơn nên để giá trị này nhỏ
để hạn chế tấn công DDOS
·
MaxClients : giới
hạn số lượng kết nối phục vụ cùng lúc,
quá số lượng này sẽ phải sếp hàng đợi
·
KeepAliveTimeout: thời gian đợi đóng một kết nối, mặc định là 5 giây
·
LimitRequestFields: giới hạn số
lượng HTTP Request header đượ chấp nhận bởi client, mặc định là 100 , chúng ta nên để giá
tri thấp hơn
·
LimitRequestFieldSize: giới hạn kích thước của HTTP request header
9.
Enable
log web server .
Apache cho phép
chúng ta xem 2 file log như trên, nhưng nếu host có nhiều site thì chúng ta phải
có file log riêng cho từng site để tránh nhầm lẫn.
<VirtualHost
*:80>
DocumentRoot
/var/www/html/example.com/
ServerName
www.example.com
DirectoryIndex
index.htm index.html index.php
ServerAlias
example.com
ErrorDocument
404 /story.php
ErrorLog
/var/log/httpd/example.com_error_log
CustomLog
/var/log/httpd/example.com_access_log combined
</VirtualHost>
10.
Cài đặt thêm mod.
Cài thêm các mod để
gia tăng sự bảo mật, Mod không thể thiếu là mod_security. Bài tiếp theo có TUT về mod này
No comments:
Post a Comment