BÀI 7 : CÀI ĐẶT DỊCH VỤ TRÊN MÁY CHỦ
4. Dịch vụ Web
4.3.5. Điều khiển truy cập
Ngoài việc bảo mật nội dung của website bằng sự chứng thực (username và password), apache còn giới hạn việc truy cập của người dùng dựa trên những thông tin khác được đề cập trong Access Control. Sử dụng directive Al ow/Deny để cho phép/cấm việc truy cập tài nguyên dựa trên tên máy tính hoặc địa chỉ IP.
Allow/Deny Directive:
Cú pháp khai báo Allow/Deny như sau Allow/Deny from [address]
+ Allow: cho phép các host/network/domain truy xuất vào Web server. + Deny: cấm các host/network/domain truy xuất vào Web server. + address: địa chỉ IP/địa chỉ đường mạng hay tên máy tính, tên miền. Ví dụ:
Deny from 11.22.33.44
Deny from host.example.com Deny from 192.101.205
Deny from exampleone.com example
Sử dụng Order để kết hợp giữa Allow và Deny trong việc giới hạn việc truy cập. Nếu thứ tự của Order là Deny, Allow thì Deny được kiểm tra trước tiên và bất kỳ những client nào không phù hợp với Deny hoặc phù hợp với một Allow thì được phép truy cập đến server. Ngược lại, nếu thứ tự của Order là Alow, Deny thì Allow được kiểm tra trước và bất kỳ client nào không phù hợp với một điều kiện Allow hoặc phù hợp với một điều kiện Deny thì bị cấm truy cập đến server.
Ví dụ về một điều khiển truy cập ít giới hạn nhất. <Directory "/usr/web">
Options Indexes FollowSymLinks MultiViews AllowOverride All
Order allow,deny Allow from all
</Directory> Satisfy directive:
- Satisfy directive được dùng để chỉ ra nhiều tiêu chuẩn cần phải được xem xét trong việc bảo mật nội dung website. Satisfy có 2 giá trị là all và any. Mặc định, Satisfy nhận giá trị all, điều này có nghĩa là nếu nhiều tiêu chuẩn được chỉ ra thì tất cả những tiêu chuẩn này phải thoả mãn thì người dùng mới được phép truy cập tài ngun. Cịn giá trị any có nghĩa là một trong những tiêu chuẩn này hợp lệ thì user được phép truy cập đến tài nguyên.
- Một ứng dụng của việc sử dụng access control là giới hạn, những người dùng bên ngoài mạng khi truy cập tài nguyên cần phải có username và password cịn tất cả những máy tính trong mạng thì khơng cần.
<Directory /usr/local/apache/htdocs/sekrit> AuthType Basic
AuthName intranet
AuthUserFile /etc/httpd/conf/users AuthGroupFile /etc/httpd/conf/groups Require group customers
Allow from internal.com Satisfy any
</Directory>