Tải bản đầy đủ (.doc) (75 trang)

Nghiên cứu, triển khai dịch vụ squid proxy server trên centos

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.74 MB, 75 trang )

Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
HỌC VIỆN KỸ THUẬT MẬT MÃ

ĐỒ ÁN TỐT NGHIỆP

Đề tài
Nghiên cứu, triển khai dịch vụ Squid Proxy Server trên CentOS

Ngành:

Tin học (mã số 01.02.10)

Chuyên ngành:

An toàn thông tin

Khóa:

03 (2006 – 2011)

Cán bộ hướng dẫn khoa học :

Th.S. Phạm Văn Hưởng

Sinh viên thực hiện

Bùi Huy Đức

:

Hà Nội 2011


HỌC VIỆN KỸ THUẬT MẬT MÃ

-1-

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos

MỤC LỤC
Trang
MỤC LỤC.................................................................................................................................................2
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT..................................................................................................5
DANH MỤC CÁC HÌNH.............................................................................................................................5
LỜI MỞ ĐẦU............................................................................................................................................8
Chương I: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH CENTOS..............................................................................10
1.1. Lịch sử phát triển Linux...............................................................................................................10
1.2. Giới thiệu về hệ điều hành Linux CentOS 5.x..............................................................................11
1.3. Cấu trúc tập tin trên Linux CentOS.............................................................................................12
1.3.1. Cấu trúc tập tin....................................................................................................................12
1.3.2. Loại tập tin...........................................................................................................................12
1.3.3. Cấu trúc cây thư mục...........................................................................................................13
1.4. Quyền hạn của người dùng với tập tin.......................................................................................14
1.5. Một số câu lệnh cơ bản trên Linux CentOS ................................................................................15
Chương II: PROXY SERVER.....................................................................................................................17
2.1. Tổng quan về Proxy Server.........................................................................................................17
2.1.1. Định nghĩa Proxy..................................................................................................................17
2.1.2. Proxy Server ........................................................................................................................17
2.1.3. Sự cần thiết của Proxy Server..............................................................................................18
2.1.4. Hoạt động của Proxy Server.................................................................................................19

2.1.5. Khuyết điểm của Proxy Server.............................................................................................21
2.2. Tìm hiểu về dịch vụ Squid Proxy.................................................................................................21
2.2.1. Giới thiệu về Squid Proxy.....................................................................................................21
2.2.2. Cài đặt Squid Proxy..............................................................................................................22
2.3. Cấu hình Squid Proxy .................................................................................................................23
2.3.1. Tập tin cấu hình ..................................................................................................................23
2.3.2. Một số tùy chọn cơ bản ......................................................................................................24
2.3.2.1. http_port......................................................................................................................24
2.3.2.2. ACL (Danh sách điều khiển truy cập).............................................................................24
2.3.2.3. Kiểm soát truy nhập tới Proxy Server ..........................................................................25

HỌC VIỆN KỸ THUẬT MẬT MÃ

-2-

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
2.3.2.4. cache_peer...................................................................................................................27
2.3.2.5. Bộ nhớ Cache................................................................................................................27
2.4.1. Danh sách các tùy chọn.......................................................................................................28
2.4.2. Một số tùy chọn quan trọng ...............................................................................................29
2.4.2.1. Tìm phiên bản của Squid...............................................................................................29
2.4.2.2. Tạo thư mục swap .......................................................................................................29
2.4.2.3. Kiểm tra lỗi của tập tin cấu hình...................................................................................30
2.4.2.4. Tải lại tập tin cấu hình...................................................................................................30
2.4.2.5. Kiểm tra trạng thái của một quá trình chạy Squid........................................................31
2.5. Tập tin log và định dạng log........................................................................................................31
2.5.1. Tập tin log ...........................................................................................................................31

2.5.1.2. access.log......................................................................................................................33
2.5.1.3. referer.log.....................................................................................................................34
2.5.2. Định dạng log ......................................................................................................................35
Mã định dạng.............................................................................................................................35
2.6. Quản lý Squid và giám sát lưu lượng..........................................................................................37
2.6.1. Cache Manager....................................................................................................................37
2.6.1.1. Cài đặt Apache Web server...........................................................................................38
2.6.1.2. Cấu hình Apache...........................................................................................................38
2.6.1.3. Truy cập giao diện web cache manager .......................................................................39
2.6.1.4. Một số liên kết quan trọng...........................................................................................40
2.6.2. Phân tích log........................................................................................................................46
2.6.2.1. Cài đặt Calamaris..........................................................................................................46
2.6.2.2. Sử dụng Calamaris tạo số liệu thống kê .......................................................................46
2.7. Xác thực bảo vệ Proxy Server.....................................................................................................48
2.7.1. Xác thực Bacsic....................................................................................................................48
2.7.2. Xác thực Digest....................................................................................................................50

HỌC VIỆN KỸ THUẬT MẬT MÃ

-3-

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
2.7.3. Xác thực NTLM....................................................................................................................52
2.7.4. Xác thực Negotiate..............................................................................................................53
2.8. Kết hợp Squid với Firewall..........................................................................................................54
Chương III: CÀI ĐẶT VÀ CẤU HÌNH DỊCH VỤ SQUID PROXY CHO HỆ THỐNG MẠNG NỘI BỘ..............55
3.1. Mô hình ứng dụng..........................................................................................................................55

3.2. Cài đặt Squid...............................................................................................................................56
3.3. Cấu hình Squid ...........................................................................................................................57
3.3. Cấu hình Client truy cập Internet thông qua Proxy Server..........................................................59
3.4. Access List Control điều khiển truy cập Internet người dùng.....................................................60
3.4.1. Cấm các máy client truy cập một số trang website không cho phép..................................60
3.4.2. Cho phép truy cập internet ngoài giờ hành chính................................................................61
3.5. Dùng NCSA kiểm định Password cho quá trình truy cập Internet...............................................61
3.6. Giới hạn nội dung Download......................................................................................................63
3.7. Một số giới hạn cấu hình trên Squid Proxy.................................................................................64
3.7.1. Giới hạn truy cập theo IP.....................................................................................................64
3.7.2. Giới hạn truy cập theo giao thức.........................................................................................64
3.7.3. Giới hạn truy cập theo cổng.................................................................................................65
3.8. Dùng Sarg theo dõi log ...............................................................................................................65
3.9. Kết hợp Squid và Firewall ..........................................................................................................69
3.9.1. Cài đặt gói iptables..............................................................................................................69
3.9.2 Cấu hình NAT OUT trên Firewall...........................................................................................71
3.9.3. Sự quản lý của Squid sau khi đã cấu hình Firewall...............................................................72
KẾT LUẬN..............................................................................................................................................73
TÀI LIỆU THAM KHẢO............................................................................................................................74

HỌC VIỆN KỸ THUẬT MẬT MÃ

-4-

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT

HTTP

Hyper Text Transfer Protocol

URL
FTP

Uniform Resource Locator
File Transfer Protocol

ICP

Internet Content Provider

RAM
LAN
IP
DNS
CPU
FAT

ACL

Random Access Memory
Local Area Network
Internet Protocol
Domain Name System
Central Processing Unit
File Allocation Table
Small Computer System

Interface
Access Control Lists

SSL

Secure Socket Layer

SCSI

GNU
NTML
MD5
FQDN

GNU's Not Unix
NT LAN Manager
Message Digest algorithm 5
Fully Qualified Domain Name
Transmission Control
TCP/IP
Protocol/Internet Protocol

Giao thức truyền tải File siêu
văn bản
Đích của một liên kết
Giao thức truyền tải File
Nhà cung cấp thông tin trên
Internet
Bộ nhớ truy cập ngẫu nhiên
Mạng máy tính cục bộ

Giao thức Internet
Hệ thống phân giải tên miền
Đơn vị xử lý trung tâm
Bảng định vi File trên đĩa
Giao diện hệ thống máy tính
nhỏ
Danh sách điều khiển truy cập
Giao thức truyền file an toàn
trên mạng
Dự án GNU
Giao thức kết nối xác thực
Giải thuật hàm băm MD5
Tên miền chất lượng đầy đủ
Giao thức tầng mạng và tầng
giao vận

DANH MỤC CÁC HÌNH
Hình 1.1: Cấu trúc cây thư mục.............................................................................................................13
Hình 1.2: Cấu trúc logic hệ thống tập tin...............................................................................................13
Hình 1.3: Mô tả quyền và ký tự trên tập tin..........................................................................................14
Hình 2.1: Kết nối giữa Clien với Server qua Proxy Server......................................................................18
Hình 2.2: Danh sách tùy chọn của Squid...............................................................................................29
Hình 2.3: Phiên bản của squid...............................................................................................................29

HỌC VIỆN KỸ THUẬT MẬT MÃ

-5-

Bùi Huy Đức – Lớp AT3C



Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
Hình 2.4: Kết quả câu lệnh tạo swap.....................................................................................................30
Hình 2.5: Hiển thị lỗi cấu hình trước khi chạy squid..............................................................................30
Hình 2.6: Hiển thị của câu lệnh kiểm tra trạng thái...............................................................................31
Hình 2.7: Phiên bản, một số thông tin về nền tảng, tiến trình của squid..............................................31
Hình 2.8: Số lượng tập tin mô tả để squid hoạt động...........................................................................32
Hình 2.9: Thông tin về hệ thống DNS squid sẽ khởi tạo........................................................................32
Hình 2.10: Trạng thái modules được kích hoạt khi biên dịch squid.......................................................32
Hình 2.11: Hiển thị thông tin về logfile, unlink, local cache digest, store log........................................32
Hình 2.12: Hiển thị thông báo lỗi và cách sửa chữa..............................................................................33
Hình 2.13: Thông điệp access.log..........................................................................................................33
Hình 2.14: Thông điệp access.log sau khi chuyển đổi............................................................................34
Hình 2.15: Thông điệp referrer.log........................................................................................................35
Hình 2.16: Thông số cần chỉnh trong tập tin conf.d của Apache...........................................................38
Hình 2.17: Giao diện đăng nhập của Cache manager............................................................................40
Hình 2.18: Danh sách menu của cache manager...................................................................................40
Hình 2.19: Nội dung thông tin của General Runtime information.........................................................41
Hình 2.20: Nội dung thông tin của IP cache stats and Content.............................................................42
Hình 2.21: Nội dung thông tin của FQDN Cache Statistics.....................................................................43
Hình 2.22: Nội dung thông tin của HTTP Header Statistics....................................................................43
Hình 2.23: Nội dung thông tin của Traffic and Resource Counters........................................................44
Hình 2.24: Nội dung thông tin của Cache Client List..............................................................................45
Hình 2.22: Nội dung thông tin của Memory Utilization.........................................................................46
Hình 2.26: Số liệu thống kê theo định dang văn bản.............................................................................47
Hình 2.27: Số liệu thống kê theo dạng đồ thị........................................................................................48
Hình 3.1: Mô hình triển khai Squid Proxy Server cho mạng nội bộ.......................................................56
Hình 3.2: Kiểm tra Squid đã cài đặt hay chưa........................................................................................56
Hình 3.3: Mount ổ đĩa...........................................................................................................................56
Hình 3.4: Cài đặt Squid..........................................................................................................................57

Hình 3.5: File cấu hình squid.conf.........................................................................................................57
Hình 3.6: Chỉnh sửa thông số Port.........................................................................................................58
Hình 3.7: Chỉnh sửa thông số cache_mem............................................................................................58
Hình 3.8: Chỉnh sửa thông số cache_dir................................................................................................58
Hình 3.9: Kiểm tra tên máy....................................................................................................................58
Hình 3.10: Chỉnh sửa thông số visible_hostname.................................................................................59
Hình 3.11: Khai báo thông số ra Internet..............................................................................................59
Hình 3.12: Restart lại dịch vụ Squid.......................................................................................................59
Hình 3.13: Khởi tạo thư mục Swat........................................................................................................59
Hình 3.14: Cấu hình Client ra ngoài Internet.........................................................................................60
Hình 3.15: Kết quả kiểm tra sau khi cấu hình Client ra Internet............................................................60
Hình 3.16: Tạo danh sách trang web.....................................................................................................60
Hình 3.17: Khai báo thông số chặn truy cấp tới một số trang web........................................................60

HỌC VIỆN KỸ THUẬT MẬT MÃ

-6-

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
Hình 3.18: Kết quả kiểm tra sau khi thực hiện chặn một số trang web.................................................61
Hình 3.19: Khai báo thông số cho phép truy cập vào giờ quy định.......................................................61
Hình 3.20: Tạo người dùng huyduc.......................................................................................................61
Hình 3.21: Tạo người dùng bằng câu lệnh htpasswd.............................................................................62
Hình 3.22: Khai báo thông số xác thực auth_param basic program......................................................62
Hình 3.23: Khai báo thông số chứng thực.............................................................................................62
Hình 3.24: kết quả kiểm tra sau khi cấu hình chứng thực.....................................................................62
Hình 3.25: Tạo giới hạn các file.............................................................................................................63

Hình 3.26: Khai báo thông số giới hạn nội dung download...................................................................63
Hình 3.27: Kết quả kiểm tra sau khi giới hạn nội dung download.........................................................64
Hình 3.28: Khai báo thống số giới hạn theo IP.......................................................................................64
Hình 3.29: Khai báo thống số giới hạn theo giao thức...........................................................................65
Hình 3.30: Khai báo thống số giới hạn theo Port...................................................................................65
Hình 3.31: Cài đặt gói gd-devel.............................................................................................................65
Hình 3.32: Cài đặt gói Sarg....................................................................................................................65
Hình 3.33: Cài đặt gói webmin..............................................................................................................65
Hình 3.34: Đăng nhập vào webmin.......................................................................................................66
Hình 3.35: Giao diện chính của webmin................................................................................................66
Hình 3.36: Giao diện quản lý log squid bằng Sarg khi chưa cấu hình.....................................................66
Hình 3.37: Cấu hình log squid................................................................................................................67
Hình 3.38: Giao diện quản lý log squid bằng Sarg sau khi cấu hình.......................................................67
Hình 3.39: Cập nhật log của Squid.........................................................................................................67
Hình 3.40: Quá trình cập nhật log của Squid.........................................................................................68
Hình 3.41: log của Squid sau khi cập nhật thành công..........................................................................68
Hình 3.42: Chi tiết log của Squid............................................................................................................69
Hình 3.43: Chi tiết log của Squid............................................................................................................69
Hình 3.44: Khởi động dịch vụ Iptables...................................................................................................69
Hình 3.45: Giao diện cấu hình xác thực.................................................................................................70
Hình 3.46: Cấu hình Firewall..................................................................................................................70
Hình 3.47: Tùy chọn cấu hình Firewall...................................................................................................71
Hình 3.48: Cấu hình chuyển giao thông tin giữa 2 card mạng...............................................................71
Hình 3.49: Cấu hình cho Client ra bên ngoài mạng................................................................................71
Hình 3.50: Khởi động lại dịch vụ Iptables..............................................................................................72
Hình 3.51: Khai báo thống số chức năng transparent...........................................................................72
Hình 3.52: Cấu hình kết hợp Firewall Iptables với Squid Proxy.............................................................72

HỌC VIỆN KỸ THUẬT MẬT MÃ


-7-

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos

LỜI MỞ ĐẦU
Chúng ta đang được sống trong một thời đại tri thức, thời đại của sự biến đổi
và phát triển không ngừng của công nghệ. Công nghệ đã làm thay đổi về tất cả
mọi mặt của đời sống như quản lý, điều khiển công việc, phục vụ công việc, giải
trí, viễn thông, trao đổi… Và hơn nữa nền công nghệ đó đang ngày càng phát
triển và hoàn thiện hơn. Nhưng bên cạnh những lợi ích mà công nghệ mang lại
thì cũng có những khó khăn được đặt ra đó chính là an toàn và bảo mật thông tin.
Trong thực tế hiện nay an toàn và bảo mật thông tin đang đóng một vai trò thiết
yếu chứ không còn là “thứ yếu” trong mọi hoạt động liên quan đến việc ứng
dụng công nghệ thông tin.
Internet cho phép truy cập tới mọi nơi trên thế giới thông qua một số dịch vụ.
Ngồi trước máy tính ta có thể biết được thông tin trên toàn cầu, nhưng cũng
chính vì thế mà hệ thống máy tính có thể bị xâm nhập vào bất kỳ lúc nào mà
không hề được biết trước. Do vậy việc bảo vệ hệ thống là một vấn đề đáng phải
quan tâm.
Chính vì vậy mà em đã lựa chọn đề tài “Nghiên cứu, triển khai dịnh vụ
Squid Proxy Server trên CentOS ”. Nội dung chính của đề tài bao gồm:
Chương I: Tổng quan về hệ điều hành CentOS.
Chương II: Tổng quan về dịch vụ Proxy Server và đi vào nghiên cứu gói
phần mềm Squid Proxy.
Chương III: Triển khai cài đặt và cấu hình cơ bản Squid Proxy Server
cho hệ thống mạng nội bộ.
Do thời gian nghiên cứu chưa được nhiều và trình độ bản thân còn hạn chế,

nên đồ án không tránh khỏi những khiếm khuyết. Em rất mong nhận được sự

HỌC VIỆN KỸ THUẬT MẬT MÃ

-8-

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
hướng dẫn, chỉ bảo của các thầy, cô giáo và sự đóng góp nhiệt tình của các bạn
để giúp em bổ sung vốn kiến thức và có thể tiếp tục nghiên cứu đề tài nêu trên
một cách tốt hơn, hoàn chỉnh hơn.
Cuối cùng, em xin chân thành cảm ơn thầy Phạm Văn Hưởng đã hướng dẫn,
chỉ bảo tận tình em hoàn thành đồ án của mình.
Em xin chân thành cảm ơn !

Hà Nội, Tháng 6 năm 2011
Sinh viên thực hiện
Bùi Huy Đức

HỌC VIỆN KỸ THUẬT MẬT MÃ

-9-

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos


Chương I: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH CENTOS
1.1. Lịch sử phát triển Linux
Năm 1991 Linus Torvalds, sinh viên của đại học tổng hợp Helsinki, Phần
Lan, bắt đầu xem xét Minix, một phiên bản của Unix, làm ra với mục đích
nghiên cứu cách tạo ra một hệ điều hành Unix chạy trên PC với bộ xử lý Intel
80386.
Ngày 25/8/1991, Linus cho ra đời Verision 0.01 và thông báo trên
comp.os.minix về chương trình của mình.
Tháng 1/1992, Linus cho ra đời phiên bản version 0.02 với Shell và trình
biên dịch C. Linux không cần Minix nữa để biên dịch lại hệ điều hành của mình.
Linus đặt tên hệ điều hành của mình là Linux.
Năm 1994 phiên bản chính thức 1.0 được phát hành.
Linux là một hệ điều hành dạng UNIX (Unix-like Operating System) chạy
trên máy PC với bộ điều khiển trung tâm CPU Intel 80386 trở lên, hay các bộ xử
lý trung tâm tương thích AMD, Cyrix. Linux ngày nay còn có thể chạy trên các
máy Macintosh hoặc SUN Space.
Linux được viết lại từ đầu, tức là không sử dụng một lệnh nào của Unix để
tránh về vấn đề bản quyền. Tuy nhiên hoạt động của Linux lại hoàn toàn dựa trên
nguyên tắc hoạt động của Unix. Vì vậy nếu một người nắm vững được Linux thì
sẽ nắm vững được Unix.
Linux là một hệ điều hành mã nguồn mở được nhiều người sử dụng và phát
triển nhanh chóng, phổ biến trong một thời gian ngắn bởi tính miễn phí, hỗ trợ
nhiều chức năng cũng như công cụ do được cộng đồng IT phát triển rộng rãi trên
mạng Internet.
Linux là một hệ điều hành có hiệu năng cao, chạy được trên cả máy cấu hình
cao và cấu hình thấp. Hệ điều hành này hỗ trợ các máy tính tính sử dụng 32 cũng
như 64 bits và rất nhiều phần mềm khác nhau. Quá trình phát triển của Linux
được tăng tốc bởi sự trợ giúp của GNU là chương trình hỗ trợ phát triển Unix

HỌC VIỆN KỸ THUẬT MẬT MÃ


- 10 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
chạy trên nhiều nền tảng khác nhau. Phiên bản mới nhất của Linux Kernel là
2.6.11.3 ra đời vào năm 2001 có khả năng điều khiển các máy đa bộ xử lý và
nhiều tính năng khác nhau.
1.2. Giới thiệu về hệ điều hành Linux CentOS 5.x
Khi Linux ra đời và phát triển thì có nhiều phiên bản phát triển khác nhau
nhưng đều dựa trên hạt nhân (Kernel) của Linux. Hiện nay trên thị trường và trên
Internet có rất nhiều bản cho người dùng như bản thương mại, bản miễn phí. Có
một số bản như Ubuntu, Fedora, Redhat Enterpri, CentOS… Mỗi bản đều có một
số tính năng riêng phù hợp với người dùng. Trong quá trình phát triển Linux
cũng tách ra làm hai dòng chính là bản phục vụ cho cá nhân với nhiều ứng dụng
cá nhân và hỗ trợ người dùng. Xu hướng phát triển thứ hai của Linux đó chính là
phục vụ cho máy chủ với nhiều tính năng ứng dụng mang tầm rộng hơn và hỗ trợ
người dùng không lớn như các bản cá nhân khác.
CentOS (Community ENTerprise Operating System) là một bản phân phối
Linux tập trung vào lớp doanh nghiệp xây dựng máy chủ, được xây dựng từ
nhiều nguồn miễn phí (theo GPL và một số bản quyền tương tự) của Red Hat.
Hiện tại CentOS có phiên bản mới nhất là 5.5 dựa trên nền tảng Red Hat
Enterprise Linux 5, hỗ trợ dòng x86 (i386 và i686), dòng x86_64(AMD64 và
Intel EMT64) các cấu trúc IA64, Alpha, S390 và S390x. Và có Kernel 2.6 của
Linux. CentOS là bản miễn phí và được phát triển mạnh mẽ của cộng đồng IT
trên mạng Internet.
CentOS 5.5 hỗ trợ và được cài đặt trên cả Client và Server đồng thời sử dụng
các phiên bản phần mềm mới nhất. Ngoài những chức năng của một máy chủ

chuyên biệt, CentOS còn hỗ trợ rất nhiều tính năng và ứng dụng cho người dùng
cá nhân.
CentOS có hai bộ cài, có thể download từ Internet tại trang web
. Bộ cài thứ nhất gồm một đĩa CD, bộ cài này chỉ hỗ trợ các
tính năng cơ bản của máy chủ ngoại trừ GUI (giao diện đồ họa người dùng) phù
hợp với những ai muốn cài đặt nhanh chóng. Bộ cài thứ hai đó chính là bộ cài

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 11 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
đầy đủ với dung lượng 3.8GB, bộ cài này hỗ trợ tất cả các tính năng và ứng dụng
của một Server cũng như người dùng cá nhân.
1.3. Cấu trúc tập tin trên Linux CentOS
1.3.1. Cấu trúc tập tin
Mỗi hệ điều hành có cách tổ chức lưu trữ dữ liệu riêng. Ở mức vật lý, đĩa
được định dạng từ các thành phần sector, track, cylinder. Ở mức logic, mỗi hệ
thống sử dụng cấu trúc riêng, có thể dùng chỉ mục hay phân cấp có thể xác định
được dữ liệu từ mức logic tới mức vật lý. Cách tổ chức đó gọi là tổ chức hệ
thống tập tin.
Giống như các phiên bản Linux khác, CentOS hỗ trợ nhiều loại hệ thống tập
tin như ext2, ext3, MS-DOS, proc. Hệ thống tập tin cơ bản của CentOS là ext2
và ext3. Hệ thống tập tin này cho phép đặt tên tập tin tối đa 256 ký tự và kích
thước tối đa là 4 terabytes. Bên cạnh đó CentOS còn hỗ trợ vfat cho phép đặt tên
tập tin dài đối với tập tin MS-DOS và những partition FAT32. Proc là hệ thống
tập tin ảo nghĩa là không dùng dung lượng đĩa cứng phân phối cho nó.

1.3.2. Loại tập tin
Trong CentOS tập tin dùng cho việc lưu trữ dữ liệu. Tập tin bao gồm cả thư
mục và thiết bị lưu trữ. Ngay cả bộ nhớ chính cũng được coi là một tập tin, trong
CentOS các tập tin được chia làm ba loại chính như sau:
- Tập tin dữ liệu: Đây là tập tin theo định nghĩa truyền thống. Có thể lưu trữ
bất cứ loại dữ liệu nào lên đây.
- Tập tin thư mục: Thư mục không chứa dữ liệu mà chỉ chứa các thông tin
về các tập tin lưu trong nó. Thư mục chứa hai trường của một tập tin là tên tập
tin và inode number.
- Tập tin thiết bị: Hệ thống Linux xem các thiết bị như các tập tin. Ra vào
dữ liệu cho các tập tin trên tập tin này chính là ra vào dữ liệu cho thiết bị.

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 12 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
1.3.3. Cấu trúc cây thư mục

Hình 1.1: Cấu trúc cây thư mục
Hệ thống tập tin CentOS có cấu trúc như hình 1.11. Trong CentOS cũng như
trong các phiên bản của Linux không có khái niệm ổ đĩa như trong Windows, tất
cả các tập tin và thư mục được bắt đầu từ thư mục gốc (/). CentOS sử dụng dấu
“.” Để chỉ thư mục hiện hành và sử dụng dấu “..” để chỉ định thư mục cha hiện
hành.

Hình 1.2: Cấu trúc logic hệ thống tập tin


HỌC VIỆN KỸ THUẬT MẬT MÃ

- 13 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
Như hình vẽ 1.12, thư mục gốc được mount vào partition thứ nhất, /usr được
mount vào partition thứ 2. Những dữ liệu ghi vào thư mục /home sẽ ghi vào
partition thứ 3. Tương tự, dữ liệu của thư mục /usr/local ghi vào partition 4, dữ
liệu của thư mục /usr không phải thư mục con /usr/local thì ghi vào partion 2.
1.4. Quyền hạn của người dùng với tập tin
Giống như hệ thống các phiên bản của Linux, CentOS là một hệ điều hành đa
người dùng vì vậy quá trình quy định quyền hạn trên các tập tin đòi hỏi phải chặt
chẽ và linh hoạt.
CentOS xác định ba quyền trên các tập tin là read (đọc), write (viết), execute
(thực thi) đối với ba đối tượng là người sở hữu (the owner), nhóm sở hữu (the
group owner), người dùng khác (other users).
CentOS quy định quyền read cho phép đọc nội dung tập tin với thư mục cho
ta xem các tập tin con trong đó. Quyền write bao gồm các quyền viết lên tập tin,
tạo tập tin trong thư mục, xóa hay thay đổi tập tin. Quyền excute cho phép gọi
chương trình lên bộ nhớ để thực thi và chạy chương trình.

Hình 1.3: Mô tả quyền và ký tự trên tập tin
Hình 1.13 mô tả quyền và ký hiệu trên tập tin:
- Ký tự: Cho phép xác định loại tập tin. Nếu “-“ là tập tin bình thường. Nếu
“c” là tập tin bàn phím, “b” là tập tin block, ”d” là thư mục.
- Owner: Cho phép xác định chủ sở hữu của tập tin. Thường là người tạo ra

tập tin cũng bao gồm ba quyền.
- Group owner: Là quyền cho phép nhóm nào được quản lý tập tin với 3
quyền đọc, ghi, thực thi.
- Other users: Là quyền cho phép những người dùng khác với tập tin.

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 14 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
1.5. Một số câu lệnh cơ bản trên Linux CentOS
a, Lệnh cat
Lệnh cat sẽ hiển thị nội dung của một file ra thiết bị ra chuẩn. Lệnh cat
thường hữu ích để kiểm tra nội dung của một file.
Cú pháp: Cat file[>|>][destination file]
b, Lệnh chmod
Lệnh này dùng để cấp phép quyền hạn truy cập của tập tin hay thư mục.
Cú pháp: chmod <nhóm-người-dùng><thao-tác><quyền-hạn>
<tên-tập-tin>
Ta có: - Nhóm người dùng : u-user, g-group, o-other, a-all
- Thao tác: + :thêm quyền, - :bớt quyền, = :gán ngang quyền
- Quyền hạn: r- read, w- write, x- excute
c, Lệnh chown
Dùng để xác định người sở hữu của tập tin.
Cú pháp: chown <tên-user/tên-nhóm><tên-tập-tin/tênthư-mục>
d, Lệnh chgrp
Dùng để thay đổi nhóm sở hữu.

e, Lệnh cp (copy)
Lệnh cp sẽ sao chép một file từ thư mục nguồn đến thư mục đích được đưa
vào. Để sao chép toàn bộ các file và các thư mục con bên trong thư mục mong
muốn sử dụng câu lệnh cp với tuỳ chọn –r.
Cú pháp: cp[-r]file_hoặc_thư_mục file_hoặc_thư_mục
f, Lệnh file
Câu lệnh xác định kiểu của file. Nếu file không phải là file thông thường,
kiểu của file được xác định.
Cú pháp: file filename
g, Lệnh du (disk use)

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 15 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
Lệnh này tổng kết việc sử dụng đĩa. Nếu xác định một thư mục, lệnh du sẽ
báo cáo việc sử dụng đĩa cho chính các thư mục đó.
Cú pháp: du[-ask]tên_file
Tuỳ chọn: -a sẽ đưa ra màn hình kích thước của mỗi thư mục và file.
-s sẽ chỉ in ra tổng cộng.
-k sẽ in ra tất cả các kích thước file theo kilobytes.
h, Lệnh locate
Câu lệnh locate tìm đường dẫn đến một file đặc biệt hay một câu lệnh. Lệnh
locate sẽ tìm kiếm chính xác hay một phần của chuỗi phù hợp.
Cú pháp: locate từ_khoá
i, Lệnh mkdir

Để tạo một thư mục, sử dụng câu lệnh mkdir.
Cú pháp: mkdir [/]thư_mục
j, Lệnh mv
Sử dụng lệnh mv để dịch chuyển hay đổi tên các file hay các thư mục. Câu
lệnh thực hiện việc dịch chuyển hay đổi tên phụ thuộc vào file_đích có là một
thư mục hay không.
Cú pháp: mv[-if]file_nguồn file_đích
k, Lệnh pwd
Câu lệnh này hiển thị tên thư mục hiện tại bao gồm cả đường dẫn tuyệt đối.
Cú pháp:pwd
l, Lệnh rm
Để xoá thư mục hoặc file, sử dụng câu lệnh rm. Có thể xoá nhiều file sử dụng
ký tự đại diện hoặc gõ vào tên các file.
Cú pháp: rm [-rif] thư_mục/file

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 16 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos

Chương II: PROXY SERVER
2.1. Tổng quan về Proxy Server
2.1.1. Định nghĩa Proxy
Proxy là chỉ một hệ thống computer hoặc một router tách biệt kết nối, giữa
người gửi và người nhận. Proxy đóng vai trò là một hệ thống chuyển tiếp giữa 2
đối tượng là Client (muốn truy cập tài nguyên) và Server (cung cấp tài nguyên

mà client cần).
Nhờ chức năng chuyển tiếp (trung chuyển có kiểm soát) này, các hệ thống
được sử dụng để giúp ngăn chặn attacker xâm nhập vào mạng nội bộ và các
Proxy cũng là một trong những công cụ được sử dụng để xây dựng Firewall
trong mạng của các tổ chức có nhu cầu truy cập Internet.
Tất cả các yêu cầu từ Client ra Internet trước hết phải đến Proxy, Proxy kiểm
tra xem yêu cầu nếu được cho phép, sẽ chuyển tiếp có kiểm soát yêu cầu ra
Internet đến Server cung cấp dịch vụ. Và cũng tương tự sẽ phản hồi hoặc khởi
hoạt các yêu cầu đã được kiểm tra từ Internet và chuyển yêu cầu này đến Client.
Cả Client và Server nghĩ rằng chúng kết nối trực tiếp với nhau nhưng thực sự chỉ
kết nối trực tiếp với Proxy.
2.1.2. Proxy Server
Proxy Server là một Server đóng vai trò cài đặt Proxy làm trung gian giữa
người dùng trạm và Internet [4]. Với Proxy Server, các máy Client tạo ra các kết
nối đến các địa chỉ mạng một cách gián tiếp. Những chương trình Client của
người sử dụng sẽ qua trung gian Proxy Server thay thế cho Server thật sự mà
người sử dụng cần giao tiếp.
Proxy Server xác định những yêu cầu từ Client và quyết định đáp ứng hay
không đáp ứng, nếu yêu cầu được đáp ứng, Proxy Server sẽ kết nối với Server
thật thay cho Client và tiếp tục chuyển tiếp đến những yêu cầu từ Client đến
Server, cũng như đáp ứng những yêu cầu của Server đến Client. Vì vậy Proxy
Server giống cầu nối trung gian giữa Server và Client.

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 17 -

Bùi Huy Đức – Lớp AT3C



Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos

Hình 2.1: Kết nối giữa Clien với Server qua Proxy Server
2.1.3. Sự cần thiết của Proxy Server
Do mọi thông tin truy xuất phải thông qua Proxy nên ta có thể quản lý được
mọi thông tin ra và vào. Ví dụ mọi yêu cầu của Client phải qua Proxy Server,
nếu địa chỉ IP có trên Proxy, nghĩa là website này được lưu trữ cục bộ, trang này
sẽ được truy cập mà không cần phải kết nối Internet, nếu không có trên Proxy
Server và trang này không bị cấm, yêu cầu sẽ được chuyển đến Server thật, DNS
server... và ra Internet.
Các dịch vụ Proxy đều có lợi trong việc logging. Vì các Proxy Server hiểu
các giao thức cơ bản và cho phép logging đạt hiệu quả. Ví dụ thay vì logging tất
cả những dữ liệu đã truyền, một FTP Proxy Server chỉ ghi lại những lệnh đã tạo
và những đáp ứng của Remote Server, điều này giúp việc logging ít và hữu dụng
hơn.
Đáp ứng được nhu cầu truy xuất của cá nhân và vừa đảm bảo an toàn cho hệ
thống cục bộ do sử dụng địa chỉ ẩn danh, và mọi truy xuất đều thông qua Proxy
nên thông tin cục bộ không trực tiếp tương tác với bên ngoài.
Các dịch vụ Proxy cho phép người dùng truy cập các dịch vụ Internet "trực
tiếp". Với các dịch vụ Proxy, các người dùng luôn nghĩ rằng họ đang tương tác
trực tiếp với các dịch vụ Internet. Ví dụ các người dùng chỉ cần gõ vào địa chỉ

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 18 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos

của một trang web nào đó thì trang web được trình duyệt hiển thị lên cho người
dùng. Dĩ nhiên là có nhiều công việc phải làm ở bên trong nhưng nó là trong suốt
đối với người dùng. Người dùng truy cập các dịch vụ Internet từ chính những hệ
thống riêng của họ, mà không cần cho phép các gói tin truyền trực tiếp giữa hệ
thống của người dùng và Internet đảm bảo an toàn cho hệ thống.
Proxy Server tích lũy và cứu file, những file mà thường được yêu cầu bởi
ngàn người dùng. Do đó, Proxy server có thể tăng tốc độ truy nhập Internet.
Cache của Proxy Server có thể đã sẵn chứa thông tin cần trong thời gian yêu cầu,
làm cho Proxy Server có thể phân phối thông tin ngay lập tức mà không cần phải
truy tìm thông tin ngoài Internet.
Một Proxy Server thường nằm bên trong tường lửa, giữa trình duyệt web và
Server thật, làm chức năng tạm giữ những yêu cầu Internet của các máy khách để
chúng không giao tiếp trực tiếp Internet. Người dùng sẽ không truy cập được
những trang web không cho phép (bị công ty cấm). Ví dụ admin không muốn
nhân viên của mình đọc báo hay chơi game online trong giờ làm việc, bằng cách
dùng Proxy Server admin có thể khóa một số site được chỉ định.
Proxy Server làm cho việc sử dụng băng thông có hiệu quả do chúng ta quản
lý được các hoạt động của người dùng. Nên có thể giới hạn thông tin nào được
dùng và không dùng tránh được việc nghẽn băng thông.
2.1.4. Hoạt động của Proxy Server
Nguyên tắc hoạt động cơ bản của Proxy Server là xác định những yêu cầu từ
phía Client và quyết định đáp ứng hay không đáp ứng, nếu yêu cầu được đáp
ứng, Proxy Server sẽ kết nối tới Server thật thay cho Client và tiếp tục chuyển
tiếp đến những yêu cầu từ Client đến Server, cũng như đáp ứng những yêu cầu
của Server đến Client.
Để hiểu rõ hơn cơ chế hoạt động của Proxy Server cần tìm hiểu về phân loại
các hệ thống proxy.
a, Dạng kết nối trực tiếp
Phương pháp đầu tiên được sử dụng trong kỹ thuật Proxy là cho người sử
dụng kết nối trực tiếp đến Firewall Proxy, sử dụng địa chỉ của Firewall và số


HỌC VIỆN KỸ THUẬT MẬT MÃ

- 19 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
cổng của Proxy (ví dụ Proxy 221.7.197.130:3128 cổng của Proxy là 3128), sau
đó Proxy hỏi người sử dụng cho địa chỉ của host hướng đến, đó là một phương
pháp brute force (vét cạn) sử dụng bởi Firewall một cách dễ dàng.Và đó cũng là
một vài nguyên nhân tại sao nó là phương pháp ít thích hợp.
Trước tiên, yêu cầu người sử dụng biết địa chỉ của Firewall, kế tiếp Proxy
yêu cầu người sử dụng nhập vào hai địa chỉ cho mỗi sự kết nối là địa chỉ của
Firewall và địa chỉ của đích hướng đến. Cuối cùng Proxy ngăn cản những ứng
dụng hoặc những nguyên bản trên máy tính của người sử dụng điều đó tạo ra sự
kết nối cho người sử dụng, bởi vì chúng sẽ không biết như thế nào điều khiển
những yêu cầu đặc biệt cho sự truyền thông với Proxy.
b, Dạng thay đổi client
Phương pháp kế tiếp sử dụng Proxy setup phải thêm vào những ứng dụng tại
máy tính của người sử dụng. Người sử dụng thực thi những ứng dụng đặc biệt đó
với việc tạo ra sự kết nối thông qua Firewall. Người sử dụng với ứng dụng đó
hành động chỉ như những ứng dụng không sửa đổi. Người sử dụng cho địa chỉ
của host đích hướng tới. Những ứng dụng thêm vào biết được địa chỉ Firewall từ
file config (file thiết lập) cục bộ, cài đặt sự kết nối đến ứng dụng Proxy trên
Firewall, và truyền cho Proxy địa chỉ cung cấp bởi người sử dụng. Phương pháp
này rất có hiệu quả và có khả năng che dấu người sử dụng, tuy nhiên, cần có một
ứng dụng Client thêm vào cho mỗi dịch vụ mạng là một đặc tính trở ngại.
c, Proxy vô hình

Một số phương pháp phát triển gần đây cho phép truy xuất đến Proxy, trong
vài hệ thống Firewall được biết như Proxy vô hình. Trong mô hình này, không
cần phải có những ứng dụng thêm vào với người sử dụng và không phải kết nối
trực tiếp đến Firewall hoặc biết rằng Firewall có tồn tại. Sử dụng sự điều khiển
đường đi cơ bản, tất cả sự kết nối đến mạng bên ngoài được chỉ đường thông qua
Firewall. Như những Packet nhập vào Firewall, tự động chúng được đổi hướng
đến ứng dụng Proxy đang chờ. Theo hướng này, Firewall thực hiện rất tốt trong
việc giả như host đích. Khi kết nối được tạo ra Firewall Proxy, Client
Application nghĩ rằng được kết nối với Server thật nếu được phép, Proxy

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 20 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
Application sau đó thực hiện hàm Proxy chuẩn trong việc tạo kết nối thứ hai đến
Server thật.
2.1.5. Khuyết điểm của Proxy Server
Khuyết điểm đầu tiên là không truy xuất trực tiếp ra bên ngoài mà phải
không qua một Proxy Server nên tốc độ truy xuất chậm hơn so với thực tế.
Đôi khi cần một Proxy khác nhau cho mỗi nghi thức, bởi vì Proxy Server
phải hiểu nghi thức đó để xác định những gì được phép và không được phép. Để
thực hiện nhiệm vụ như là Client đến Server thật và Server thật đến Proxy
Client, sự kết hợp, install và config tất cả những Server khác nhau đó có thể rất
khó khăn.
Mặc dù phần mềm Proxy có hiệu quả rộng rãi những dịch vụ lâu đời và đơn
giản như FTP và Telnet, những phần mềm mới và ít được sử dụng rộng rãi thì

hiếm khi thấy. Thường đó chính là sự chậm trễ giữa thời gian xuất hiện một dịch
vụ mới và Proxy cho dịch vụ đó, khoảng thời gian phụ thuộc vào phương pháp
thiết kế Proxy cho dịch vụ đó, điều này cho thấy khá khó khăn khi đưa dịch vụ
mới vào hệ thống khi chưa có Proxy cho nó thì nên đặt bên ngoài Firewall, bởi vì
nếu đặt bên trong hệ thống thì đó chính là yếu điểm.
Nếu bỏ qua những khuyết điểm của Proxy Server thì những hiệu quả của
Proxy Server mang lại sẽ là một lá chắn tốt cho hệ thống.
2.2. Tìm hiểu về dịch vụ Squid Proxy
2.2.1. Giới thiệu về Squid Proxy
Squid là một chương trình Internet Proxy Caching chạy trên nền tảng Unix và
Linux, có vai trò tiếp nhận các yêu cầu từ các Client và chuyển cho Internet
Server thích hợp và đồng thời Squid cũng sẽ lưu lên đĩa những dữ liệu được trả
về từ Internet Server gọi là Caching [2]. Chương trình này dùng để cấu hình
Proxy Server. Vì vậy ưu điểm của Squid là khi một dữ liệu mà được yêu cầu
nhiều lần thì Proxy Server sẽ lấy thông tin từ Cache trả về cho Client. Điều này
làm cho tốc độ truy xuất Internet nhanh hơn và tiết kiệm băng thông.
Cùng với Caching, Squid còn có các đặc tính như chia tải bằng cách liên kết

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 21 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
các Proxy Server, định nghĩa chặt chẽ các danh sách điều khiển truy cập cho
các Client truy cập Proxy, cho phép hay từ chối truy cập tới các trang web đặc
biệt. Squid dựa trên những đặc tả của giao thức HTTP nên nó chỉ là một HTTP
Proxy. Do đó Squid chỉ có thể là một Proxy cho những chương trình mà chúng

dùng giao thức này để truy cập Internet. Squid cũng hỗ trợ các giao thức FTP,
Gopher , SSL và WAIS nhưng lại không hỗ trợ các giao thức Internet khác như
Real Auidio… hoặc hội thảo trực tuyến bởi vì Squid chỉ hỗ trợ giao thức UDP để
liên kết giữa các Cache. Nhiều chương trình multimedia khác cũng không được hỗ
trợ.
2.2.2. Cài đặt Squid Proxy
Một số khái niệm về phần cứng của một Proxy Server.
- Tốc độ truy cập đĩa cứng: rất quan trọng vì Squid thường xuyên phải đọc
và ghi dữ liệu trên ổ cứng. Một ổ đĩa SCSI với tốc độ truyền dữ liệu lớn là một
lựa chọn tốt cho nhiệm vụ này.
- Dung lượng đĩa dành cho Cache phụ thuộc vào kích cỡ của mạng mà
Squid phục vụ. Từ 1 đến 2 Gb cho một mạng trung bình khoảng 100 máy. Tuy
nhiên đây chỉ là một con số có tính chất tham khảo vì nhu cầu truy cập Internet
mới là yếu tố quyết định sự cần thiết độ lớn của đĩa cứng.
- RAM: rất quan trọng, ít RAM thì Squid cũng chậm hơn một cách rõ ràng.
- CPU: không cần mạnh lắm, khoảng 133 MHz là cũng có thể chạy tốt với
tải là 7 requests/second.
Squid có thể được cài đặt bằng souce hoặc rpm từ đĩa nguồn cài đặt. Ta có
thể vào trang www.squid-cache.org để load souce squid về máy.
Sử dụng lệnh sau đây để cài đặt squid:
rpm -i squid-version.i386.rpm
Sau khi cài đặt sẽ có các thư mục liên quan:
/usr/bin: Lưu những thư viện của Squid.
/ect/squid: Lưu trữ file cấu hình Squid.
/var/log/squid: Lưu trữ các tập tin log của Squid.

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 22 -


Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
2.3. Cấu hình Squid Proxy
2.3.1. Tập tin cấu hình
Tất cả tập tin cấu hình chính của Squid được lưu trữ trong thư mục /etc/squid.
Một tập tin cấu hình quan trọng quyết định sự hoạt động của Squid là squid.conf.
Để chạy Squid lần đầu tiên thì không cần phải thay đổi nội dung của tập tin này
nhưng tất cả các yêu cầu của Client bên ngoài sẽ bị từ chối theo mặc định. Trong
tập tin cấu hình này có khoảng 125 Tag tùy chọn, nhưng chỉ có một số tùy chọn
được cấu hình, và những dòng chú thích bắt đầu bằng dấu “ # ”. Ví dụ một số
dòng cấu hình:
#define the localhost ACL
acl Localhost src 127.0.0.1/32
connect_timeout 2 minutes
log_fqdn on
Dòng lệnh có một giá trị duy nhất. Đối với những dòng lệnh lặp lại nhưng có
giá trị khác nhau thì dòng lệnh phía dưới sẽ ghi đè giá trị lên dòng lệnh phía
trước. Ví dụ dòng lệnh connect_timeout đầu tiên dưới đây sẽ không có hiệu lực
vì dòng lệnh thứ hai ghi đè lên.
connect_timeout 2 minutes
connect_timeout 1 hour
Có thể đặt nhiều giá trị trên cùng một dòng lệnh.
extension_methods UNGET UNPUT UNPOST
Một số dòng lệnh đề cập đến kích thước của một số tập tin hoặc bộ nhớ. Với
điều này, có thể viết kích thước tập tin như bytes, Kb, Mb, Gb. Ví dụ:
minimum_object_size 12 bytes
request_header_max_size 10 KB
maximum_object_size 187 MB

Nhìn chung, các dòng lệnh trong tập tin cấu hình không sắp xếp theo thứ tự.
Tuy nhiên, đối với dòng lệnh tham chiếu đến một cái gì được xác định thì thứ tự
sắp xếp rất quan trọng. Kiểm soát truy nhập là một ví dụ điển hình. ACL phải
được định nghĩa trước khi sử dụng một quy tắc http_access.

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 23 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
Acl Foo src 1.2.3.4
http_access deny Foo
Trong squid.conf phân biệt sự khác nhau giữa chữ hoa và chữ thường, chẳng
hạn như tên dòng lệnh. Không thế viết HTTP_port thay vì http_port.
2.3.2. Một số tùy chọn cơ bản
2.3.2.1. http_port
Dòng lệnh này dùng để cấu hình cổng HTTP nơi mà Squid sẽ lắng nghe
những yêu cầu được gửi đến từ Client. Mặc định http_port mở cổng 3128.
Cú pháp: http_port
Có rất nhiều cách để cấu hình cổng trong squid.conf:
- Cấu hình đơn giản nhất là có thể ghi trực tiếp số cổng mà muốn phía
Client kết nối vào. Ví dụ:
http_port 8080
- Có thể chỉ định địa chỉ IP cụ thể kết hợp với cổng mà muốn Squid lắng
nghe. Phương pháp này thường được sử dụng trong trường hợp có nhiều giao
diện trên máy và chỉ muốn Squid lắng nghe trên giao diện kết nối yêu cầu. Ví dụ:
http_port 192.0.0.35:3128

- Một cách khác nữa để cấu hình http_port là có thể sử dụng tên máy
(hostname) và tên cổng. Tên máy sẽ phân giải sang địa chỉ IP và Squid sẽ sử
dụng IP đó với số cổng để lắng nghe kết nối. Ví dụ:
http_port myproxy.example.com.vn:8080
- Squid có thể lắng nghe yêu cầu trên nhiều giao diện. Điều này hữu ích khi
có nhiều Client trong mạng LAN khác nhau, được cấu hình để sử dụng các cổng
khác nhau cho các máy chủ proxy. Ví dụ:
http_port 192.0.2.25:8080
http_port lan1.example.com:3128
http_port lan2.example.com:8081
2.3.2.2. ACL (Danh sách điều khiển truy cập)
Access control lists (ACL) dùng để kiểm soát truy nhập dựa vào tên miền,
địa chỉ IP đích (IP máy hoặc mạng) và thường được sử dụng kết hợp với các

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 24 -

Bùi Huy Đức – Lớp AT3C


Nghiên cứu , triển khai dịnh vụ Squid Proxy Server trên Centos
dòng lệnh khác như http_access, icp_access … ALC sẽ xác định một giao dịch
web và các dòng lệnh như http_access, cache… sẽ quyết định xem giao dịch đó
được phép hay không. Chú ý các dòng lệnh liên quan tới truy nhập thường kết
thúc với _access. Ví dụ:
acl MyNetwork src 192.168.0.0/16
http_access allow MyNetwork
Cú pháp của ACL phải có tên, loại hình và các giá trị cụ thể cho ACL:
acl ACL_NAME ACL_TYPE value

acl ACL_NAME ACL_TYPE "/path/to/filename"
Có thể xây dựng một ACL bao gồm rất nhiều các trang web. Có ba cách sau
đây có thể làm:
- Xác định tất cả các giá trị ghi trên một dòng. Ví dụ:
Acl example_sites dstdomain exam.com exam.net
- Trường hợp danh sách các giá trị xác định nhiều, có thể chia danh sách giá
trị đó thành nhiều dòng. Ví dụ:
acl example_sites dstdomain exam.com exam.net
acl example_sites dstdomain exam.org
- Nếu trường hợp số lượng các giá trị mà muốn xác định quá lớn. Có thể đặt
các giá trị đó vào một tập tin chuyên dụng và sau đó cấu hình Squid đến tập tin
cụ thể đó. Ví dụ:
acl example_sites dstdomain '/etc/example.txt'
2.3.2.3. Kiểm soát truy nhập tới Proxy Server
Squid cung cấp các dòng lệnh khác nhau để kiểm soát truy cập đến các tài
nguyên khác nhau.
a, http_access
Đây là một trong những dòng lệnh được sử dụng cho việc cấp quyền truy cập
để thực hiện các giao dịch thông qua Squid HTTP.
Cú pháp: http_access allow|deny[!]ACL_NAME
Sử dụng http_access có thể cho phép hoặc từ chối truy cập đến các giao dịch
HTTP thông qua Squid. Nếu có tiền tố [!] trước ACL_NAME thì truy cập sẽ

HỌC VIỆN KỸ THUẬT MẬT MÃ

- 25 -

Bùi Huy Đức – Lớp AT3C



×