Bảo mật hệ thống file

Một phần của tài liệu Bài giảng An toàn ứng dụng web và cơ sở dữ liệu: Phần 1 (Trang 85 - 86)

Do mỗi trang web thƣờng tƣơng ứng với một file trong hệ thống file trên máy chủ, bảo mật hệ thống file cũng góp phần đảm bảo an toàn cho các ứng dụng web. Các vấn đề liên quan đến bảo mật hệ thống file bao gồm: thiết lập quyền truy nhập phù hợp, giữ bí mật mã nguồn, sử dụng phƣơng pháp ẩn thông tin và vấn đề liệt kê và duyệt các thƣ mục.

Thiết lập quyền truy nhập phù hợp

Cần kết hợp sử dụng công cụ quản trị quyền truy nhập vào hệ thống file cục bộ của hệ điều hành để thiết lập quyền truy nhập phù hợp cho các nhóm ngƣời dùng. Chẳng hạn, có thể thiết lập quyền truy nhập vào các file/các trang nhƣ sau:

- Với các trang công cộng, cho phép tất cả ngƣời dùng truy nhập.

- Với các trang nội bộ, yêu cầu xác thực bằng tên ngƣời dùng và mật khẩu, hoặc

quản lý quyền truy nhập theo phiên làm việc.

- Với các trang quản trị, bổ sung giới hạn các máy, hoặc mạng đƣợc phép truy nhập thông qua địa chỉ IP.

- Với các trang chứa dữ liệu nhạy cảm của hệ điều hành, hoặc máy chủ web, cần

hạn chế truy nhập.

Giữ bí mật mã nguồn

Mã nguồn của các trang web, trừ mã HTML, hoặc CSS cần đƣợc giữ bí mật, tránh để tin tặc có thể truy nhập. Cần lƣu ý là các mã script diễn dịch nhƣ PHP, ASP, Perl… đƣợc dịch và chạy theo từng dòng lệnh ở dạng nguyên bản nên nguy cơ bị rò rỉ mã nguồn cao hơn. Các loại mã biên dịch nhƣ C++, JSP/Java, hoặc ASP.NET đƣợc biện dịch thành mã thực hiện, hoặc mã trung gian nên nguy cơ bị rò rỉ mã nguồn thấp hơn.

85 Mã nguồn của các trang web có thể bị rò rỉ do cơ chế sao lƣu tự động của các trình soạn thảo mã nguồn. Theo đó, nhiều trình soạn thảo tự động lƣu các nội dung cũ của file mã sang file backup, trƣớc khi lƣu nội dung cập nhật vào file đó. Tên các file backup có thể ở dạng *.bak, *.backup, *.1, *.2,… Nếu khi triển khai các file mã nguồn ra máy chủ dịch vụ, ngƣời quản trị không xóa các file backup thì có thể bị tin tặc khai thác để xem mã nguồn do máy chủ web không coi các file backup là các file script nên không thực hiện, mà trả thẳng mã nguồn cho trình duyệt.

Một dạng rò rĩ mã nguồn, hoặc các thông tin nhạy cảm khác là rò rỉ thông tin từ phần chú thích trong mã. Trong đoạn mã HTML sau, việc chú thích (comment) trong mã chƣơng trình làm rò rỉ thông tin username và password.

Sử dụng phương pháp ẩn thông tin

Phƣơng pháp ẩn thông tin truy nhập (obscurity) có thể đƣợc sử dụng nhƣ một phƣơng pháp bổ sung để tăng cƣờng an ninh. Tuy nhiên, nó không nên đƣợc sử dụng là biện pháp duy nhất, mà nên đƣợc sử dụng kết hợp với các biện pháp đảm bảo an toàn khác. Ví dụ nhƣ sử dụng cổng không chuẩn cho trang nội bộ, trang quản trị (cổng 8000, 8080,... thay cho các cổng chuẩn 80 hoặc 443); hoặc sử dụng URL riêng, không thông dụng cho trang nội bộ, trang quản trị, nhƣ https://admin4963.mysite.com, hoặc https://mysite.com/admin4963/.

Vấn đề liệt kê và duyệt các thư mục

Cần kiểm soát chặt chẽ các thƣ mục cho phép liệt kê nội dung để hạn chế việc tin tặc duyệt nội dung các thƣ mục để đánh cắp các thông tin nhạy cảm trong các thƣ mục. Với các thƣ mục không cho phép liệt kê nội dung, có thể sử dụng trang ngầm định và biện pháp cấm liệt kê nội dung thƣ mục. Để ngăn chặn các hành động duyệt thƣ mục thông qua các chuỗi duyệt, cần sử dụng các bộ lọc và hạn chế việc đọc ghi hệ thống file dựa trên dữ liệu, hoặc tên file cung cấp trực tiếp từ ngƣời dùng. Ngoài ra, cần định kỳ (hàng ngày, hàng tuần) rà quét web log để tìm các lỗi truy nhập và có giải pháp khắc phục. Các lỗi truy nhập web cần rà quét bao gồm 404 (lỗi không tìm thấy trang), lỗi 403 (lỗi cấm truy nhập) và lỗi 500 (lỗi thực hiện mã máy chủ).

Một phần của tài liệu Bài giảng An toàn ứng dụng web và cơ sở dữ liệu: Phần 1 (Trang 85 - 86)