Squid có các cơ chế kiểm soát truy cập phong phú và là một giải pháp tăng tốc độ cho máy chủ.Một số điểm nổi bật của Squid Proxy:- Caching: Squid lưu trữ nội dung web được truy cập thườn
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC VÀ KĨ THUẬT THÔNG TIN
NHẬP MÔN BẢO ĐẢM VÀ AN NINH THÔNG TIN
BÁO CÁO THỰC HÀNH LAB 6
GVHD: TS Nguyễn Tấn Cầm
Nguyễn Ngọc Quí
Lớp: IE105.O21 Sinh viên thực hiện:
Đỗ Nguyên Phương MSSV: 22521159
Tp Hồ Chí Minh, 02/2024
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……., ngày…… tháng……năm 2024
Người nhận xét
(Ký tên và ghi rõ họ tên)
Trang 3MỤC LỤC
Trang 5NỘI DUNG BÀI LÀM I: GIỚI THIỀU VỀ SQUID PROXY
Squid proxy là một giải pháp proxy mã nguồn mở Squid có đầy đủ các tính năng của một giải pháp proxy chuyên dụng, ngoài ra còn hỗ trợ thêm tính năng ICP ( Internet Cache Protocol) cho phép cập nhật những thay đổi về nội dung những
URL sẵn có trong bộ nhớ đệm đồng thời lại được cung cấp miễn phí Chính vì
những lý do đó Squid đã trở thành một trong những giải pháp web caching proxy được nhiều người sử dụng nhất Chúng ta có thể xem thêm một số thông tin tại
trang chủ http://www.squid-cache.org
Squid Proxy là một máy chủ proxy mã nguồn mở được sử dụng rộng rãi, hỗ trợ HTTP, HTTPS, FTP và nhiều giao thức khác Nó giúp giảm băng thông và cải thiện thời gian phản hồi bằng cách lưu trữ và tái sử dụng các trang web được yêu cầu
thường xuyên1 Squid có các cơ chế kiểm soát truy cập phong phú và là một giải pháp tăng tốc độ cho máy chủ
Một số điểm nổi bật của Squid Proxy:
- Caching: Squid lưu trữ nội dung web được truy cập thường xuyên, giúp tăngtốc độ duyệt web và giảm sử dụng băng thông
- Kiểm soát truy cập: Squid cho phép tạo danh sách kiểm soát truy cập
(ACLs) để quản lý quyền truy cập vào các nguồn web
- Bảo mật: Squid có thể được cấu hình để sử dụng SSL/TLS, tăng cường bảo mật cho các kết nối
- Hiệu suất cao và khả năng mở rộng: Squid hỗ trợ cân bằng tải và có thể được cấu hình cho các môi trường phân tán để đạt được hiệu suất cao và khảnăng mở rộng
Trong bài lab này, chúng ta sẽ triển khai Squid Proxy trên hệ điều hành
CentOS7 – i386
II: TRIỂN KHAI SQUID PROXY
II.1 Mô tả bài lab
Trong bài lab này, chúng ta sẽ triển khai squid proxy ở hai chế độ: Squid
non-transparent proxy và Squid transparent proxy (kết hợp iptables) Sau khi triển khai xong chúng ta sẽ viết chính sách kiểm soát truy cập tương ứng
Trang 6II.2 Mô hình triển khai
Bảng II.1 Thông tin địa chỉ IP
IP Address SubnetMask Default Gateway DNS
ens33: 192.168.1.2 255.255.255.0
II.3 Cài đặt
Hình II.1 Khởi tạo máy ảo
Trong giao diện terminal, gõ lệnh sau để cài đặt tự động các gói của Squid Proxy:
Trang 7Hình II.2 Lệnh install squid
Chọn y để bắt đầu quá trình cài đặt
Sau đó dùng lệnh:
Để kiểm tra quá trình cài đặt đã thành công hay chưa Nếu như thấy thông tin gói này thì quá trình cài đặt đã thành công
Hình II.3 Lệnh rpm -qi squid
Xem thông tin file cấu hình của Squid:
yum install squid
rpm -qi squid
rpm -qc squid
Trang 8Hình II.4 Lệnh -qc squid
Chúng ta chỉ lưu ý đến file /etc/squid/squid.conf chứa những thông tin cấu hình của gói squid này
II.4 Cấu hình Squid Proxy
II.4.1 Cấu hình squid ở chế độ non-transparent proxy
Ta truy cập file squid.conf để thiết lập cấu hình
Dưới trường “Apdapt to list your IP internal network from where browsing should be allowed thêm vào dòng sau Trường này sẽ định nghĩa ra dải địa chỉ IP mà cho phép sử dụng squid proxy Chúng ta thêm vào dòng sau:
Dưới trường “INSERT YOUR OWN RULE HERE TO ALLOWED ACCESS FROM YOUR CLIENT”, chúng ta thêm vào dòng sau:
vi /etc/squid/squid.conf
acl local_net src 192.168.1.0/24
http_access allow local_net
Trang 9Định nghĩa port mà Squid Proxy sẽ lắng nghe Chúng ta để mặc định là 3128
Uncomment ( xóa dấu #) trước dòng cache_dir ufs /var/spool/squid 1000 16 256
Các thông số này có ý nghĩa như sau:
- Dung lượng lưu trữ dành cho squid cache trên ổ cứng là 1000 MB
- Bao gồm 16 thư mục
- Mỗi thư mục bao gồm 256 thư mục con
Các thông số này chúng ta có thể tùy chỉnh theo nhu cầu riêng sao cho thích hợp
Khởi tạo thư mục cache:
Khởi động lại squid:
Cấu hình trên iptables:
squid -z
service squid restart
Trang 10Bật tính năng ip_forwarding:
Chỉnh sửa file
Cấu hình NAT cho dải IP nội bộ ra internet:
Chỉnh sửa các CHAIN của iptables mặc định là ACCEPT
Tắt Selinux:
Trên Client, chúng ta vào Control Pane và cấu hình mạng IPv4
vi /etc/sysctl.conf
iptables -t nat -A POSTROUTING -o ens36 -j MASQUERADE
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
vi /etc/sysconfig/selinux
Trang 11Lưu ý trong trường hợp này mục Default gateway chúng ta bỏ trống
Trên Client, chúng ta vào Control Panel | Internet Option | Connection | LAN Settings Điền các thông số sau
- Address: Địa chỉ IP của Squid Proxy
- Port : Địa chỉ Port mà squid proxy đang thực hiện lắng nghe
Trang 12Sau đó chọn OK
Trên client, thực hiện truy cập thử vào internet, nếu ta thấy client truy cập bình thường thì quá trình cấu hình thành công
Xem thông tin về access.log của Squid:
Kết luận: Chúng ta đã triển khai thành công Squid ở chế độ non-transparent
II.4.2 Cấu hình squid ở chế độ transparent proxy
Tắt Selinux:
Tiếp theo ta truy cập file ifcfg-ens33 để cấu hình lại mạng:
Truy cập vào file squid.conf để thiết lập cấu hình squid:
Trong trường này ta thêm visible_hostname [hostname] với hostname là tên host name của máy
tail -f /var/log/squid/access.log
vi /etc/sysconfig/selinux
vi /etc/sysconfig/network-scripts/ifcfg-ens33
vi /etc/squid/squid.conf
Trang 13Ta tạo acl cho phép dải IP hoạt động trong Squid Proxy và thêm rule cho acl vừa tạo:
Định nghĩa port mà Squid Proxy sẽ lắng nghe Chúng ta để mặc định là 3128
Uncomment ( xóa dấu #) trước dòng cache_dir ufs /var/spool/squid 1000 16 256
Sau đó khởi động lại squid và tắt tường lửa:
Trên client ta thiết lập Proxy với địa chỉ và port đã thiết lập:
acl local_net src 192.168.26.0/24
http_access allow local_net
Trang 14Xem thông tin về access.log của Squid:
Kết luận: Chúng ta đã triển khai thành công Squid ở chế độ transparent
III: TRIỂN KHAI MỘT SỐ CHÍNH SÁCH QUẢN LÍ TRUY CẬP TRÊN SQUID
III.1 Viết chính sách quản lí truy cập internet theo thời gian
Truy cập vào file squid.conf để viết chính sách quản lí truy cập internet theo thời gian
Thêm dòng acl sau vào trên cùng danh sách quản lí truy cập squid:
Trong đó, M T W H F là viết tắt của các ngày trong tuần bao gồm (M: thứ 2, T: thứ ba, W: thứ tư, H: thứ năm, F: thứ sáu)
Sau đó thêm dòng http_access deny [tên acl vừa tạo]
III.2 Viết chính sách quản lí truy cập theo tên miền trang web
vào đường dẫn /etc/squid/ chứa các destination domain cần cấm
Định nghĩa một acl chứa nội dung file vừa tạo:
Viết rule tương ứng với acl đó:
III.3 Viết chính sách quản lí truy cập theo địa chỉ IP
Định nghĩa một acl chứa địa chỉ IP cần cấm:
tail -f /var/log/squid/access.log
vi /etc/squid/squid.conf
vi /etc/squid/restricted-site.squid
Trang 15Viết rule tương ứng với acl đó:
IV: KIỂM TRA CÁC CHÍNH SÁCH VỪA TẠO
IV.1 Kiểm tra chính sách truy cập theo thời gian
Trang 16IV.2 Kiểm tra chính sách kiểm soát truy cập theo IP
Trang 17IV.3 Kiểm tra chính sách kiểm soát truy cập theo tên miền
- Viết bằng ngôn ngữ Perl, có hỗ trợ khái niệm module
- Được dùng cho mục đích thương mai hoặc phi thương mại
Trang 18- Hỗ trợ tạo, chỉnh sửa và xoá các tài khoản Unix trên hệ thống.
- Xuất các tập tin và thư mục cho các hệ thống khác nhờ vào giao thức NFS
- Tùy chỉnh server BIND DNS
- Hỗ trợ tạo và cấu hình máy chủ web ảo cho Apache Webserver
- Biến và version của PHP có thể được cấu hình
- Quản lý các file đồ họa
- Email servers
- Quản lý dữ liệu của MySQL và PostgreSQL
- Nhiều tính năng để bảo vệ server gốc
- Giao diện đồ họa: Thay vì sử dụng dòng lệnh (CLI), bạn có thể quản lý hệ thống thông qua giao diện đồ họa trực quan và dễ sử dụng
- Hỗ trợ tài liệu: Webmin đi kèm với nhiều tài liệu hướng dẫn và hỗ trợ từ cộng đồng, giúp bạn nắm vững cách sử dụng
- Cộng đồng hỗ trợ: Nếu bạn gặp vấn đề, có thể tìm kiếm giải pháp hoặc hỏi đáp trong cộng đồng Webmin
V.2 Tìm hiểu và triển khai công cụ quản trị và kết xuất các báo cáo truy cập web của người dùng: The Squid Analyzer
Trang 19+ Các báo cáo thống kê này hướng đến việc kiểm soát người dùng và băng thông.
- Tìm kiếm dữ liệu log thời gian thực và phân tích nguyên nhân gốc:
+ Sử dụng các tùy chọn tìm kiếm thông minh của SolarWinds SEM, bạn
có thể khám phá và phân tích dữ liệu để dễ dàng thực hiện phân tích nguyên nhân gốc từ dữ liệu log Squid Điều này giúp bạn xác định chính xác những gì đã xảy ra trước, trong và sau sự kiện
+ Bạn cũng có thể theo dõi các log của máy chủ proxy Squid để theo dõi kiểm soát truy cập trang web, xác thực và môi trường ghi log để phát triển ứng dụng proxy web và phục vụ nội dung1
- Thu thập dữ liệu log từ SquidGuard Access Block Log:
+ SolarWinds SEM được thiết kế để dễ dàng thu thập dữ liệu log từ
SquidGuard, một công cụ chuyển hướng URL miễn phí cho phép sử dụng danh sách đen với phần mềm proxy Squid
+ Bạn cũng có thể cấu hình luật trong SEM để nhận cảnh báo trong trường hợp có các yêu cầu URL đáng ngờ, bên cạnh hơn 700 luật tương thích khác sẵn có
V.2.3 Giải quyết vấn đề: Hỗ trợ thống kê và tổng hợp log từ Squid proxy
V.3 Tìm hiểu và triển khai một proxy hoàn chỉnh: bao gồm HTTP + HTTPS proxy, tích hợp chống virus, lọc theo content trang web, tích hợp chứng thực người dùng khi sử dụng proxy,…
V.3.1 Định nghĩa:
- Đóng hai vai trò trong việc phục vụ máy khách HTTP lẫn máy chủ HTTP cho
chức năng bảo mật, quản lý và lưu trữ Định tuyến cho các yêu cầu từ máy khách HTTP, đồng thời hỗ trợ lưu trữ dữ liệu từ internet vào cache
V.3.2 Ưu điểm
- Bảo mật nâng cao: Proxy Server có thể hoạt động giống như một tường lửa giữa
hệ thống của người dùng và Internet Nếu không có chúng, tin tặc có thể dễ dàng truy cập vào địa chỉ người dùng và gây hại Sử dụng proxy giúp tăng cường bảo mật hệ thống
- Vượt qua tường lửa và các biện pháp ngăn chặn website: Một proxy có thể giúp
bạn truy cập vào các trang web bị chặn hoặc bị hạn chế bởi tường lửa hoặc các
Trang 20biện pháp kiểm duyệt Bằng cách sử dụng proxy, bạn có thể truy cập vào các nội dung mà bạn không thể truy cập trực tiếp.
- Lọc nội dung trang web: Proxy có thể được cấu hình để lọc nội dung trang web.
Điều này cho phép bạn kiểm soát truy cập vào các loại nội dung cụ thể, chẳng hạn như chặn trang web độc hại hoặc không phù hợp
- Tích hợp chứng thực người dùng khi sử dụng proxy: Một số proxy server cho
phép tích hợp chứng thực người dùng, đảm bảo rằng chỉ người dùng được ủy quyền mới có thể sử dụng proxy
V.3.3 Đặc tính:
- Cho phép hoạt động trên Net với giao thức HTTP, đôi khi có thể sử dụng giao
thức FTP (File Transfer Protocol)
- Là một máy chủ gián tiếp Thay vì chúng ta kết nối tới một trang web thì có thể
kết nối thông qua Proxy
KẾT LUẬN
Trang 21TÀI LIỆU THAM KHẢO