Free Essay

Computer

In:

Submitted By binhdq2
Words 14141
Pages 57
LỜI MỞ ĐẦU

Công nghệ thông tin ngày nay hầu như đã đi vào tất cả các lĩnh vực trong xã hội: kinh tế, giáo dục, giải trí...và nó đã mang lại những thành quả rất đáng kể. Đối với các doanh nghiệp, các tổ chức xã hội và các công ty thì công nghệ thông tin đóng một vai trò hết sức quan trọng trong việc phát triển và mở rộng việc sản xuất, kinh doanh và điều hành ..., tạo sự thuận lợi trong việc kinh doanh cũng như trong vấn đề quản lý và điều hành. Vì thế việc chia sẻ internet cho hệ thống mạng nội bộ, cho nhân viên là cần thiết cho từng doanh nghiệp. Nhưng với sự chia sẻ toàn cục sẽ dẫn đến nhiều vấn đề liên quan đến sự an toàn, bảo mật cũng như chính sách của hệ thống. Hệ thống mạng có thể bị tấn công từ bên ngoài, không thể quản lý được những truy cập của nhân viên,...Để giải quyết vấn đề này, giải pháp được đưa ra là xây dựng một trạm kiểm soát trên cửa ngõ ra vào của hệ thống với môi trường bên ngoài. Trạm kiểm soát được xây dựng thường là các Firewall server như ISA, TMG, pfSense,…hay các Proxy server như Socks, Squid,…Các giải pháp mã nguồn mở luôn là lựa chọn của các nhà quản trị bởi tính tiện dụng, cũng như vấn đề bản quyền. Trong đó, Squid proxy server là ưu tiên hàng đầu bởi các tính năng mạnh mẽ của nó.

Nhóm chúng em xin gửi lời cám ơn đến cô Nguyễn Thị Thanh Vân. Với sự giúp đỡ và hướng dẫn tận tình của cô Vân, nhóm chúng em đã hoàn thành nội dung tiểu luận về Squid proxy server và quản lý log bằng Sarg. Chúng em đã nắm rõ được nhiều tính năng và hoạt động của Squid proxy. Qua đó, có thể xây dựng, quản lý tốt một hệ thống với nhiều Squid proxy server như việc quản lý truy cập của client, quản lý log, quản lý cache, xây dựng nhiều Squid proxy server với khả năng High Availability và Load balancing.

MỤC LỤC

CHƯƠNG 1. TỔNG QUAN VỀ PROXY 4 1.1. Khái niệm Proxy và Proxy server 5 1.2. Khả năng và lợi ích của Proxy server 5 1.3. Cơ chế hoạt động của Proxy server 6 1.3.1. Forward Proxy 6 1.3.2. Reverse Proxy 7 1.4. Phân loại Proxy server 8 1.4.1. Theo chức năng 8 1.4.2.Theo khả năng hỗ trợ: 9 CHƯƠNG 2. SQUID PROXY SERVER 10 2.1. Tổng quan về Squid proxy 10 2.1.1. Giới thiệu 10 2.1.2. Tại sao chúng ta cần dùng Squid? 11 2.1.3. Cơ chế hoạt động 12 2.2. Cài đặt 14 2.2.1. Yêu cầu về phần cứng 14 2.2.2. Cách cài đặt 14 2.3. Cấu hình 16 2.3.1. Cấu hình cơ bản 16 2.3.2. HTTP port 17 CHƯƠNG 3. CẤU HÌNH RULE TRONG SQUID PROXY 19 3.1. Access Control List 19 3.1.1. Khái niệm 19 3.1.2. ACL type 19 3.1.3. Một số lưu ý khi xây dựng các ACL 34 3.1. Access List Rules 35 3.1.1. HTTP protocol 35 3.1.2. ICP port 36 3.1.3. Điều khiển cache 36 3.1.4. Error page 37 3.1.5. Giới hạn dung lượng của các trả lời 38 3.1.6. Chặn việc ghi log 38 CHƯƠNG 4. QUẢN LÝ LOG TRONG SQUID 39 4.1. Giới thiệu về log trong Squid 39 4.2. Cache log hay debug log 39 4.3. Access log 40 4.4. Quản lý acccess log thông qua Sarg 41 4.4.1. Cài đặt 42 4.4.2. Lập lịch hoạt động cho Sarg 44 CHƯƠNG 5. QUẢN LÝ CACHE TRONG SQUID 49 5.1. Giới thiệu về Cache trong Squid 49 5.2. Quản lý các thông số cache đĩa 50 5.2.1. Cài đặt và cấu hình 50 5.2.2. Một số thống kê cần quan tâm 53 CHƯƠNG 6. CHỨNG THỰC TRUY CẬP 57 6.1. Chứng thực với NCSA 57 6.2. Chứng thực thông qua LDAP server 58 6.2.1. Giới thiệu về LDAP 58 6.2.2. Xây dựng LDAP server 58 CHƯƠNG 7. XÂY DỰNG TRANSPARENT SQUID PROXY 65 7.1. Khái niệm Transparent proxy 65 7.2. Cài đặt và cấu hình shorewall 65 7.3. Cấu hình Squid chạy chế độ transparent 66 CHƯƠNG 8. HIGH AVAILABILITY VÀ 67 LOAD BALANCING 67 CHO CÁC SQUID PROXY SERVER 67 8.1. Giới thiệu 67 8.2. Xây dựng nhiều proxy server 67 8.3. Cấu hình High Availability (HA) 67 8.3.1. Chạy ở chế độ không transparent 68 8.3.2. Chạy ở chế độ transparent 69 8.4. Cấu hình Load Balancing 70 CHƯƠNG 9. MÔ HÌNH XÂY DỰNG 71 TÀI LIỆU THAM KHẢO 72

CHƯƠNG 1. TỔNG QUAN VỀ PROXY

1.1. Khái niệm Proxy và Proxy server Proxy là một dịch vụ làm nhiệm vụ chuyển tiếp thông tin và kiểm soát tạo sự an toàn cho việc truy cập Internet của các client. Proxy hoạt động ở tầng ứng dụng, chen ngang vào một loại lưu thông giữa client với server. Proxy chen ngang vào loại lưu thông nào thì sẽ được đặt tên theo loại lưu thông đó. Ví dụ DNS proxy, POP3 proxy, FTP proxy, Web proxy, v.v. Vì hoạt động ở tầng ứng dụng, Proxy luôn hiểu thấu nội dung của lưu thông và có nhiều tác dụng hỗ trợ lưu thông: kiểm soát truy nhập, giám sát lưu thông, cơ chế cache nhằm tiết kiệm băng thông. Proxy cho phép client truy cập mạng thông qua một máy tính khác với một tài khoản duy nhất, máy tính này gọi là proxy server.Những yêu cầu của client sẽ phải qua proxy server vì thế máy tính này có thể kiểm soát được mọi giao tiếp từ trong internal ra external và ngược lại. Proxy server xác định những yêu cầu từ client và quyết định cho phép thực hiện hay là chặn yêu cầu. Nếu yêu cầu được chấp nhận, Proxy server sẽ kết nối với server thật thay cho client và thực hiện chuyển tiếp những yêu cầu từ client đến server, cũng như chuyển trả lời từ server đến client.
1.2. Khả năng và lợi ích của Proxy server Hoạt động như cửa ngõ Internet, Proxy server làm cho mạng an toàn hơn. Giúp nhiều máy tính truy cập Internet thông qua tài khoản truy cập nhất định. Nhờ vậy, khi một công ty hoặc tổ chức có hệ thống mạng nội bộ gồm nhiều máy trạm nhưng chỉ có 1 kết nối Internet duy nhất (1 IP public), họ có thể sử dụng proxy server để cung cấp truy cập internet cho hệ thống mạng nội bộ của họ.
Một Proxy server thường nằm bên trong Firewall, giữa client và server. Mọi yêu cầu, truy cập của client phải qua Proxy server, nên việc bảo mật được thực hiện tốt hơn. Lọc và ngăn cấm truy cập không được phép.
Proxy server mang cơ chế cache, cơ chế này cho phép lưu trữ cục bộ nội dung của những website đã được client truy cập, điều này giúp cho tốc độ duyệt web nhanh hơn và giảm cước phí. Yêu cầu của client sẽ được đáp ứng tại bộ nhớ cache mà không phải lấy thông tin trực tiếp từ internet.
Proxy server bảo vệ hệ thống mạng nội bộ khỏi sự xác định từ bên ngoài bằng cách mang lại cho hệ thống hai định danh: một cho nội bộ, một cho bên ngoài. Điều này tạo ra một “bí danh” đối với thế giới bên ngoài và gây khó khăn với các hacker muốn xâm nhập trực tiếp hệ thống mạng nội bộ.
Ngoài ra, đối với các nhà cung cấp dịch vụ internet, do internet có nhiều lượng thông tin mà theo quan điểm của từng quốc gia, từng chủng tộc hay địa phương thì không phù hợp. Vì thế các nhà cung cấp dịch vụ internet khu vực đó sẽ thực hiện phối hợp giữa proxy và firewall để tạo ra bộ lọc, nhằm ngăn chặn các thông tin độc hại hoặc trái thuần phong mỹ tục đối với quốc gia, chủng tộc hay địa phương đó. Địa chỉ các website mà client yêu cầu truy cập sẽ được lọc tại bộ lọc này, nếu địa chỉ không bị cấm thì yêu cầu của client tiếp tục được gửi đi, tới các DNS server của các nhà cung cấp dịch vụ. Firewall Proxy sẽ lọc tất cả các thông tin từ internet gửi vào máy của client và ngược lại.
1.3. Cơ chế hoạt động của Proxy server
1.3.1. Forward Proxy
ForwardProxy
Server
Đáp trả yêu cầu
Kết nối
Gửi yêu cầu
Tiếp nhận trả lời
Mô hình hoạt động của Forward Proxy server
Client
Internet
ForwardProxy
Server
Đáp trả yêu cầu
Kết nối
Gửi yêu cầu
Tiếp nhận trả lời
Mô hình hoạt động của Forward Proxy server
Client
Internet

Forward proxy là một proxy đứng giữa một client và tất cả các server mà client đó muốn truy cập. Forward proxy chỉ thực hiện nhiệm vụ tiếp nhận yêu cầu từ client và chuyển những yêu cầu đó đến các server. Bản thân Forward proxy server sẽ không áp đặt bất cứ chính sách nào lên hệ thống, chính điều này sẽ làm tăng tốc độ chia sẻ internet cho các client. Nhưng bên cạnh đó hệ thống mạng sẽ không an toàn, không bảo mật và dễ bị tấn công từ bên ngoài.
1.3.2. Reverse Proxy Tương tự Forward proxy, Reverse proxy cũng mang chức năng chuyển tiếp, chia sẻ internet cho hệ thống mạng bên trong, nhưng cơ chế hoạt động của Reverse proxy lại hoàn toàn khác với Forward proxy. Reverse proxy trung chuyển yêu cầu của client thông qua các chính sách của hệ thống dựa vào các rule được thiết lập trên proxy server. Nếu yêu cầu của client thỏa chính sách của hệ thống thì sẽ được Reverse proxy server đáp ứng. Ngược lại, yêu cầu của client sẽ không được đáp ứng, đồng nghĩa với kết nối của client sẽ bị chặn và hủy kết nối.
Client
Yêu cầu KHÔNG HỢP LỆ
ReverseProxy
Server
Kết nối Mô hình tiếp nhận yêu cầu
Chính sách của hệ thống
(Rule trên proxy)
So sánh
Yêu cầu HỢP LỆ
Gửi yêu cầu
Internet
Client
Yêu cầu KHÔNG HỢP LỆ
ReverseProxy
Server
Kết nối Mô hình tiếp nhận yêu cầu
Chính sách của hệ thống
(Rule trên proxy)
So sánh
Yêu cầu HỢP LỆ
Gửi yêu cầu
Internet

Client Proxy
Server
Đáp trả yêu cầu Mô hình tiếp nhận trả lời từ Internet
Chính sách của hệ thống
(Rule trên proxy)
So sánh
Trả lời không
HỢP LỆ
Tiếp nhận trả lời
Trả lời HỢP LỆ
Reverse Proxy
Server
Internet Client Proxy
Server
Đáp trả yêu cầu Mô hình tiếp nhận trả lời từ Internet
Chính sách của hệ thống
(Rule trên proxy)
So sánh
Trả lời không
HỢP LỆ
Tiếp nhận trả lời
Trả lời HỢP LỆ
Reverse Proxy
Server
Internet

Không chỉ những kết nối của client được Reverse proxy kiểm soát, mà cả những trả lời của các server từ internet cũng được kiểm soát chặc chẽ. Với việc kiểm soát các trả lời từ bên ngoài, Reverse proxy sẽ tăng khả năng tiết kiệm băng thông, độ ổn định, cũng như sự an toàn và bảo mật cao cho hệ thống mạng nội bộ thông qua các chính sách được áp đặt trên proxy như: giới hạn dung lượng sử dụng của client, chặn upload/download theo định dạng file,…

1.4. Phân loại Proxy server
1.4.1. Theo chức năng
Ta có thể phân proxy thành 3 loại theo chức năng :
Anonymous, Hight Anonymity, Transparent. 1. Anonymous
_ Đôi khi còn được gọi là web proxy, giúp client ẩn danh (giấu IP), khi lướt Web. HTTP proxy server không gửi thông số cụ thể biến http_x_forwarded_for tới site đang truy cập, do vậy có thể che dấu IP của client.
_ Tuy nhiên, điều đó không có nghĩa giúp ẩn dấu hoàn toàn, vì các website có thể sử dụng các script để thu thập thông tin về việc client đang truy cập site của họ thông qua một proxy nào đó đang phục vụ cho client. 1. High Anonymity
_ Mức độ che dấu tung tích cao hơn Anonymous. High Anonymity hoàn toàn không gửi đi bất kì thông số nào của các biến http_x_forwarded_for, http_via và http_proxy_connection. Do vậy các site được truy cập không thể biết client đang dùng proxy , cũng như không xác định được IP của client. 1. Transparent
_ Còn được gọi là proxy trong suốt. Khác với 2 loại trên, transparent là sự kết hợp một proxy server và một gateway.
_ Đây là phương thức thường được các network admin áp đặt cho client trong internal, client không nhận thức được mình đang truy cập internet thông qua một proxy (cổng giám sát).
_ Yêu cầu truy cập của client được chuyển đến qua địa chỉ gateway, sau đó chuyển sang proxy server xử lý. Khi client dùng loại proxy này, thì họ không biết được rằng họ đang dùng một proxy và bị kiểm soát. Client chỉ cần thiết lập địa chỉ IP của gateway do admin cung cấp, mà không phải xác lập các thông số proxy trong trình duyệt cũng như internet applications khác.

1.4.2.Theo khả năng hỗ trợ:
Chúng ta có thể phân Proxy thành 2 loại theo khả năng hỗ trợ là:
HTTP/HTTPS proxy và Socks /Sockets . 1. HTTP/HTTPS Proxy(proxy thông thường):
_ Các proxy server sẵn sàng cho phép các dịch vụ thông thường trên internet.
Ví dụ: HTTP Proxy được dùng cho truy cập Web, FTP Proxy được dùng cho truyền file.
_ Những proxy trên, được gọi là application-level proxy, bởi vì chúng được chỉ định để làm việc với những application, protocol và nhận dạng được nội dung các gói tin được gửi đến. 2. SOCKS hay Sockets:
_ Là một Circuit-level proxy server cho các IP theo định nghĩa từ IETF (Internet Engineering Task Force - một cộng đồng các chuyên gia về mạng có nhiệm vụ nghiên cứu, thiết kế, xây dựng kiến trúc internet). Socks được viết bởi David và Michelle Koblas vào những năm đầu của thập niên 90.
_ Socks đã nhanh chóng được dùng rộng rãi nhưng không được chứng nhận từ những tổ chức chuyên cung cấp các tiêu chuẩn internet). Mặc dù Socks ra đời sớm và được dùng phổ biến, nhưng Socks được IETF thông qua lần đầu tiên là Socks5.
_ Socks ban đầu là hệ thống proxy được sử dụng cho các lưu thông như FTP, Telnet,.. nhưng không dành cho HTTP. Socks4 kiểm soát các TCP connection (chiếm phần lớn các application trên Internet). Socks5 còn hỗ trợ thêm UDP, ICMP, xác thực, DNS service.
_ Socks buộc client phải được cấu hình để chuyển trực tiếp các yêu cầu đến Socks server, hoặc ngược lại Socks driver sẽ ngăn chặn các yêu cầu từ những client chưa được cấu hình Socks proxy.
_ Nhiều Web browsers và các internet applications khác hiện nay đã hỗ trợ Socks, vì thế khá dễ dàng khi làm việc với các Socks server.

CHƯƠNG 2. SQUID PROXY SERVER

2.1. Tổng quan về Squid proxy
2.1.1. Giới thiệu
Squid proxy một là một giải pháp proxy phần mềm mã nguồn mở. Squid làm nhiệm vụ chuyển tiếp các yêu cầu từ phía client và đồng thời đóng vai trò kiểm soát tạo sự an toàn cho việc truy cập internet của các client cũng như hệ thống nội bộ, tiết kiệm băng thông, cải tiến bảo mật, tăng tốc độ truy cập web cho client. Hiện nay, trên thị trường có rất nhiều chương trình proxy-server nhưng chúng lại mang hai nhược điểm. Thứ nhất là phải trả tiền để sử dụng. Thứ hai là hầu hết không hỗ trợ giao thức ICP (ICP là giao thức được sử dụng để cập nhật những thay đổi về nội dung của những URL sẵn có trong bộ nhớ cache – là nơi lưu trữ nội dung những trang web mà client đã từng truy cập). Nhưng không giống những người anh em khác, Squid lại có đủ khả năng đáp ứng hai yêu cầu trên, sử dụng miễn phí và hỗ trợ giao thức ICP. Chính vì lẽ đó Squid đã trở thành một trong những proxy phổ biến được nhiều người biết đến và được sử dụng nhiều nhất trong các giải pháp proxy của cộng đồng mạng. Squid là sự lựa chọn tốt nhất cho một proxy-cache server.
Squid đưa ra kỹ thuật lưu trữ ở cấp độ cao, đồng thời hỗ trợ các dịch vụ thông thường như FTP, Gopher và HTTP. Squid lưu trữ thông tin mới nhất của các dịch vụ trên trong RAM, quản lý một cơ sở dữ liệu lớn các thông tin trên đĩa, hỗ trợ kỹ thuật điều khiển truy cập (SNMP), hỗ trợ giao thức SSL cho các kết nối bảo mật thông qua proxy. Hơn nữa, Squid có thể liên kết với các cache của các proxy server khác nhằm sắp xếp lưu trữ các trang web một cách hợp lý thông qua hai mô hình cache ngang hàng và cache cha-con. Chúng ta có thể biết được nhiều thông tin và hỗ trợ về Squid proxy từ trang chủ của Squid: http://www.squid-cache.org.

2.1.2. Tại sao chúng ta cần dùng Squid?
Squid Proxy mang đến nhiều lợi ích không tưởng cho hệ thống :
_ Khả năng cân bằng tải .
_ Hỗ trợ xác thực client theo nhiều hệ thống database khác nhau: LDAP, MySQL,NCSA,…
_ Không mất chi phí bản quyền vì là phần mềm mã nguồn mở.
_ Được dùng nhiều trong các doanh nghiệp lớn, các trường đại học lớn ở trong và ngoài nước.
_ Quản lý các chính sách QoS rất tốt (giới hạn download phim/ảnh theo giờ, hạn chế băng thông từng địa chỉ IP, giới hạn số phiên kết nối đồng thời …).
_ Hỗ trợ rất tốt cho các dịch vụ đa phương tiện (video, audio).
_ Khả năng cache nội dung tốt, tốc độ cao.
_ Cho phép thoải mái tùy biến và có khả năng tích hợp với các phần mềm hỗ trợ khác ( Shorewall,…)
_ Bảo mật bằng ứng dụng Iptables miễn phí tích hợp sẵn trên Linux nên rất gọn nhẹ, đối với các đơn vị không có khả năng tài chính thì không cần mua thêm các thiết bị hay phần mềm Firewall.

2.1.3. Cơ chế hoạt động
Client

Client

Mô hình Squid Proxy Server xác thực user thông qua LDAP server

Công việc của một Squid proxy server là thực hiện tiếp nhận yêu cầu từ client, xác thực client (LDAP server) và quyết định đáp ứng hay không đáp ứng. Nếu yêu cầu thỏa mãn các chính sách của hệ thống, Squid sẽ kết nối đến server bên ngoài thay cho client cũng như chuyển trả lời từ các server đó về cho client. Vì thế, Squid proxy vừa đảm nhiệm vai trò như là cầu nối trung gian giữa server và client (Forward proxy), vừa như là trạm kiểm soát trên cây cầu do bản thân Squid tạo ra (Reverse proxy).
Bên cạnh việc chuyển tiếp các yêu cầu từ phía client, Squid cũng đồng thời lưu lại trên đĩa những dữ liệu được trả về tử server bên ngoài, khả năng này gọi là caching. Những dữ liệu này thường thuộc các giao thức HTTP, HTTPS, FTP,…. Nếu trong thời gian hiệu lực mà một hay nhiều client cùng yêu cầu một nội dung thì Squid proxy sẽ ngay lập tức đáp ứng lại những yêu cầu từ phía client từ những nội dung đã được lưu trữ tại bộ nhớ cache.
Squid có thể cấu hình để trở thành 2 loại proxy server mang nhiệm vụ khác nhau là Forward proxy và Reverse proxy server. Với Forward proxy thì Squid mang chức năng là cầu nối trung gian, trung chuyển, chia sẻ các kết nối internet cho hệ thống mạng nội bộ mà không có bất kì một chính sách nào lên hệ thống. Nhưng với cấu hình là một Reverse proxy server, Squid mang lại nhiều khả năng vượt hẳn so với các loại proxy khác. Tuy hoạt động về cơ bản cũng giống Forward proxy, nhưng Squid sẽ được áp lên các chính sách cho hệ thống mạng nội bộ, ngăn chặn truy cập không được phép, điều khiển lưu lượng băng thông,…đem đến sự ổn định và bảo mật cho toàn bộ hệ thống mạng nội bộ. Đây là điểm nổi bật của Squid proxy server.
2.2. Cài đặt
2.2.1. Yêu cầu về phần cứng
_ Tốc độ truy cập ổ cứng: Squid thường xuyên phải đọc và ghi dữ liệu trên ổ cứng. Vì thế với ổ đĩa chuẩn SCSI với tốc độ truyền dữ liệu lớn là yêu cầu cần thiết.
_ Dung lượng ổ cứng: dung lượng đĩa dành cho cache phụ thuộc vào kích thước và nhu cầu truy cập của hệ thống mạng mà Squid Proxy phục vụ.
_ Ram: Là yếu tố quan trọng quyết định tốc độ xử lý của Squid proxy.
2.2.2. Cách cài đặt 3. Cách 1:Cài đặt từ binary package
Bước 1:Kiểm tra xem Squid đã được cài đặt trên máy hay chưa:
# rpm -qa|grep squid
Bước 2:Nếu chưa có thì tiến hành cài như sau:
# rpm –ivh tên_gói_Squid
Hoặc có thể cài đặt từ kho phần mềm Linux 1. Đối với Debian / Ubuntu:
# apt-get install squid 2. Đối với Fedora / Centos:
# yum install squid 3. Đối với FreeBSD:
# pkg_add -r squid 4. Cách 2:Cài đặt từ source code
B1. Download gói Squid tại website www.squid-cache.org
#wget URL
B2. Giải nén
#tar -xvzf squid-version.tar.gz
B3. Chuyển đến thư mục đã giải nén
#cd squid-version
B4. Khởi tạo môi trường
#./configure
B5. Biên dịch sang mã nhị phân
#make
B6. Cài đặt
#make install
Lưu ý: Tại bước khởi tạo môi trường, tùy vào nhu cầu sử dụng mà chúng ta có các tùy chọn khác nhau. Chúng ta có thể tìm thấy hướng dẫn cho các tùy chọn thông qua lệnh: #./configure --help.
Một số tùy chọn cơ bản được Squid cung cấp 1. prefix
_ Chỉ định thư mục cho việc cài đặt. #./configure --prefix=/etc/squid/ 1. enable-gnuregex
_ Cho phép hỗ trợ các biểu mẫu chính quy (regular expression) dùng trong việc tạo các Access control list. # ./configure --enable-gnuregex 2. enable-storeio
_ Cho phép hỗ trợ và chỉ định danh sách các loại I/O modules lưu trữ. # ./configure --enable-storeio = ufs, aufs, coss, diskd, null 3. enable-removal-policies
_ Removal policies là những thuật toán được Squid sử dụng để loại bỏ những nội dung cache cũ khi cần cache những nội dung mới, nhằm tối ưu hóa bộ nhớ cache. # ./configure --enable-removal-policies=heap, lru 4. enable-delay-pools
_ Cho phép hỗ trợ kĩ thuật delay pool nhằm giới hạn băng thông sử dụng. # ./configure --enable-delay-pools 5. enable-default-err-language
_ Ngôn ngữ dùng trong các thông báo lỗi. # ./configure --enable-default-err-language=English 6. enable-auth
_ Cho phép hỗ trợ chứng thực và module được dùng cho chứng thực. #./configure --enable-auth=basic, digest, ntlm 7. enable-auth-basic
_ Cho phép hỗ trợ và chỉ định các chương trình chứng thực cơ bản. #./configure --enable-auth-basic=PAM, NCSA, LDAP 8. with-logdir
_ Vị trí mặc định cho những file ghi log của squid. #./configure --with-logdir=/var/log/squid/ 9. with-pidfile
_ Vị trí mặc định cho squid PID file #./configure --with-pidfile=/var/run/squid.pid

2.3. Cấu hình
2.3.1. Cấu hình cơ bản
_ Với cài đặt bằng lệnh yum, sau khi cài đặt chúng ta có các thư mục cơ bản sau: /etc/squid/ : chứa các file cấu hình /var/log/squid : chứa các file ghi log /var/spool/squid : thư mục chứa cache
_ Mọi hoạt động của Squid được cấu hình qua file squid.conf với đường dẫn # /etc/squid/squid.conf.
_ Các dịch vụ của Squid thông qua lệnh # /etc/init.d/squid start|stop|restart|reload .
2.3.2. HTTP port
2.3.2.1. Khái niệm
_ HTTP port là nơi mà Squid sẽ lắng nghe các yêu cầu kết nối từ client.
_ Mặc định Squid sẽ lắng nghe trên port 3128.
2.3.2.2. Thiết lập cho HTTP port Có nhiều cách thiết lập khác nhau cho HTTP port trong file cấu hình của Squid squid.conf . Việc lựa chọn cấu hình theo cách nào là tùy vào nhu cầu của hệ thống .
_ Thông thường, Squid sẽ được thiết lập lắng nghe trên port 3128.
Ví dụ: http_port 3128 Squid sẽ lắng nghe trên port 8080
_ Chúng ta cũng có thể chỉ định tổ hợp địa chỉ IP và port nơi chúng ta muốn Squid lắng nghe yêu cầu của client. Thường thì chúng ta sử dụng phương pháp này khi server có nhiều interface và chỉ muốn Squid lắng nghe tương ứng với mỗi interface là kết nối với một mạng LAN.

Ví dụ: http_port 192.168.1.1 : 3128 http_port 192.168.2.1 : 8080 Squid lắng nghe tại port 8080 trên interface kết nối với địa chỉ IP là 192.168.2.1 và port 3128 trên interface kết nối với địa chỉ IP là 192.168.1.1
_ Ở những phiên bản mới đây, chúng ta có thể chỉ định những mode hoạt động như intercept, tproxy,…
+ Intercept mode sẽ hỗ trợ đánh chặn những yêu cầu từ client mà không cần phải cấu hình ở máy client. Nhược điểm là IPv6 không hỗ trợ cho Intercept mode.
Ví dụ: http_ port 3128 intercept
+ Tproxy mode kích hoạt tính năng hỗ trợ Transparent Proxy. IPv6 có hỗ trợ tproxy nhưng yêu cầu phải là các kernel version mới.
Ví dụ: http_port 8080 tproxy
Lưu ý : Cần cân nhắc kĩ trong việc chỉ định http_port thuộc các port chuẩn như 3128 hoặc 8080. Việc chỉ định như vậy đặt ra yêu cầu phải đảm bảo bảo mật cao cho các port này. Nếu chúng ta không muốn dành thời gian cho việc này, chúng ta có thể chỉ định bất kì port nào tùy thích có giá trị từ 10000 trở lên.

CHƯƠNG 3. CẤU HÌNH RULE TRONG SQUID PROXY

3.1. Access Control List
3.1.1. Khái niệm Access Control List ( ACL) là cấu trúc căn bản để xác định yêu cầu của client và thường được kết hợp với các Access List Rules khác nhau như http_access,http_reply_access,... để điều khiển truy cập của client thông qua nhiều giao thức khác nhau. Sau khi tiếp nhận yêu cầu từ client, Squid sẽ thực hiện xác định yêu cầu từ Access Control Lists và sau đó sẽ quyết định xem có thực hiện yêu cầu này hay là không thông qua các Access List Rules. Mỗi Access Control Lists phải được xác định bởi tên và loại, chỉ định giá trị cho loại ACL cụ thể:
Cú pháp: acl ACL_NAME ACL_TYPE value acl ACL_NAME ACL_TYPE “ /path/to/filename ” Giá trị cho ACL_NAME có thể được thiết lập phía sau ACL_TYPE hoặc Squid có thể đọc nó từ 1 file riêng biệt. Cần chú ý là các giá trị ACL_NAME và ACL_TYPE nằm trong file này cần được viết riêng lẻ theo từng dòng.
3.1.2. ACL type Squid có khoảng 25 ACL types. Mỗi yêu cầu của client Squid nhận được thường mang các đặc tính sau: địa chỉ IP, domain name, địa chỉ MAC, HTTP header,... Nhưng chúng ta có thể phân ra thành một số loại cơ bản sau:
3.1.2.1. Địa chỉ IP
ACL types: src, dst, myip, arp
a. ACL type : src
Địa chỉ IP thường được sử dụng nhiều để xây dựng các ACL. Hầu hết các hệ thống hiện nay sử dụng địa chỉ IP để điều khiển truy cập của client thông qua Squid proxy server. ACL src chỉ định địa chỉ IP của client. Khi nhận 1 yêu cầu từ client, Squid sẽ so sánh địa chỉ IP có trong src ACL với địa chỉ IP của client. Sau đó sẽ quyết định đáp ứng hay chặn yêu cầu.
Ví dụ:
_ Phòng marketing sử dụng subnet 172.16.2.0/24. acl marketing src 172.16.2.0/255.255.255.0 hoặc acl marketing src 172.16.2.0/24
_ Chỉ định những subnet trong mạng nội bộ. acl localnet src 172.16.0.0/16 192.168.0.0/24 10.0.0.0/8 _ Yêu cầu đặt ra, công ty A trụ sở tại Building A có 4 tầng, mỗi tầng là 1 phòng ban. Sau khi quy hoạch địa chỉ IP cho các phòng ban, ta có danh sách địa chỉ IP sau: 172.16.1.0/24 ( Tầng 1) 172.16.2.0/24 (Tầng 2) 172.16.3.0/24 (Tầng 3) 172.16.4.0/24 (Tầng 4)
+ Chỉ định địa chỉ IP cho Building A theo cách thông thường: acl building src 172.16.1.0/24 acl building src 172.16.2.0/24 acl building src 172.16.3.0/24 acl building src 172.16.4.0/24
+ Chỉ định địa chỉ IP theo range IP acl building src 172.16.1.0/24 – 172.16.4.0/24

b. ACL type: dst
Sử dụng ACL dst để chỉ định địa chỉ IP cho server đích.
Ví dụ: acl internal_web dst 222.250.2.180/32 acl local_web dst 192.168.1.89/32
Hạn chế của dst ACL là server của website được chỉ định trong ACL có thể thay đổi địa chỉ IP, điều này làm cho ACL trên không còn tác dụng.
c. ACL type: myip Sử dụng ACL myip để chỉ định địa chỉ local IP mà Squid proxy server phục vụ các yêu cầu. Điều này chỉ hữu ích nếu server chạy Squid proxy có nhiều hơn 1 network interface.
Ví dụ:
_ Squid proxy server A có 2 network interface. Xây dựng 2 ACLs cho 2 phòng Acounting và Engineer sử dụng ACL type myip với 2 subnet 172.16.2.0/24 và 172.16.3.0/24

acl Accounting myip 172.16.2.0/24 acl Engineer myip 172.16.3.0/24

d. ACL type: arp Chúng ta có thể xây dựng ACL bằng cách chỉ định địa chỉ MAC của client. Địa chỉ MAC là địa chỉ vật lí hay còn được gọi là số nhận dạng của mỗi thiết bị do nhà sản xuất cung cấp. Squid cung cấp một ACL đặc biệt là arp cho phép ta chỉ định địa chỉ MAC của máy client muốn điều khiển truy cập.
Ví dụ:
_ Chỉ định máy client có địa chỉ MAC 00:1D:3F:4D:5C:EE acl mac_client arp 00:1D:3F:4D:5C:EE
Một số lưu ý:
_ arp ACL type chỉ thực hiện được khi trong quá trình cài đặt Squid ta lựa chọn
#./configure -- enable-arp-acl.
_ arp ACL type không hỗ trợ trên tất cả hệ điều hành. Squid có thể chỉ xác định được địa MAC của client trên cùng một miền broadcast domain.
3.1.2.2. Tên Domain ACL types: srcdomain, dstdomain, dstdom_regex Thay vì chỉ định địa chỉ IP trong các ACL. Chúng ta có thể xây dựng các ACL bằng việc chỉ định tên domain nội bộ hoặc tên domain bên ngoài. Cách này có ưu điểm hơn so với sử dụng địa chỉ IP do địa chỉ IP server đích mà client yêu cầu có thể bị thay đổi, điều đó làm cho các ACL đã được xây dựng sẽ không có giá trị nếu không được cập nhật.
a. ACL type: srcdomain
Với srcdomain ACL, chúng ta có thể chỉ định tên domain trong nội bộ.
Ví dụ: acl our_site srcdomain www.myweb.com acl our_site srcdomain .admin.myweb.com

b. ACL type: dstdomain Với dstdomain ACL, chúng ta có thể chỉ định tên domain của các server bên ngoài.
Ví dụ: 1. acl out_site dstdomain www.24h.com.vn 2. acl out_site dstdomain .24h.com.vn
Ở ví dụ 1, với việc chỉ định địa chỉ đích là www.24h.com.vn thì Squid sẽ xác định được bất kì yêu cầu cho bất kì trang web nào thuộc domain www.24h.com.vn. Vì thế, nếu client truy cập www.24h.com.vn hay www.24h.com.vn/thethao thì Squid đều có thể hiểu được. Nhưng điều này sẽ không đúng trong trường hợp, yêu cầu của client là những site như 24h.com.vn hay chungkhoan.24h.com.vn trong khi những site này đều thuộc domain 24h.com.vn.
Để giải quyết vấn đề trên, ta thêm trước domain name dấu “ . ” như ví dụ 2 .
c. ACL type: dstdom_regex Với dstdom_regex, chúng ta có thể chỉ định được những từ khóa trong các site mà client truy cập thông qua file dữ liệu bên ngoài.
Ví dụ: acl site_key dstdom_regex “/etc/squid/rule/denylistkey.txt”
Trong file denylistkey.txt, chúng ta chỉ định các từ khóa cần chỉ định:
# vi /etc/squid/rule/denylistkey.txt game muaban
Với cấu hình trên, Squid sẽ xác định những truy cập với URL có các từ khóa game, muaban. Sau đó, Squid sẽ đáp ứng hay chặn yêu cầu tùy thuộc vào các access rule.
3.1.2.3. TCP port numbers
ACL types: port, myportname
Chúng ta có thể sử dụng port mạng để xác định các yêu cầu của client sau đó sẽ thiết lập các access rule để điều khiển truy cập.
a. ACL type: port Squid cung cấp port ACL để chỉ định port mạng dùng để kiểm soát các client. Loại ACL này thiết lập rất dễ dàng. TCP port có 16 bit và do đó giá trị sẽ lớn hơn 0 và nhỏ hơn 65.536. port ACL có thể nhận 1 giá trị hoặc 1 range port.
Ví dụ: acl allow_port port 80 acl allow_ports port 2000-6000 acl allow_multiports port 80 443 3000-8000 Thông thường, người quản trị sẽ cho phép một số port cần thiết cho dịch vụ của hệ thống và sẽ cấm tất cả những port còn lại, ngăn chặn việc truy cập bất hợp pháp tại các port này nhằm đảm bảo an toàn cho hệ thống. Squid có nhiều port được xác định trước tại 2 ACL là SSL_ports và Safe_ports và nằm tại file cấu hình mặc định squid.conf : acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 1025-65535 # unregistered ports
Trên đây là danh sách port cho nhiều giao thức phổ biến như HTTP, FTP, HTTPS,…Tùy vào hệ thống và nhu cầu của client mà người quản trị có thể thêm một số port khác vào SSL_ports và Safe_ports. Nhưng cần phải cẩn trọng trong việc thêm port mới vào danh sách Safe_ports. Nếu chưa thực sự hiểu rõ ý nghĩa của port muốn thêm vào thì điều này nhiều lúc sẽ làm ảnh hưởng đến sự an toàn của hệ thống.
Ví dụ: Nếu thêm mới port 25 (Simple Mail Transfer Protocol or SMTP) vào danh sách Safe_ports, client có thể relay mail thông qua Squid proxy server, do những điểm tương đồng giữa 2 protocols HTTP và SMTP. Khi đó hệ thống sẽ đối mặt với vấn đề mail spam và chúng ta hoàn toàn không muốn Squid cache được sử dụng cho việc spam relay.
b. ACL type: myportname Squid cũng cung cấp 1 ACL type sử dụng port mạng là myportname nhưng nó khác biệt với ACL type port. ACL type myportname chỉ định port number trên Squid proxy server nơi mà client kết nối tới Squid.
Cũng tương tự như ACL type myip, myportname chỉ hữu ích khi chúng ta cấu hình Squid proxy server lắng nghe trên nhiều port sử dụng http_port trong file cấu hình squid.conf .
Ví dụ:
_ Squid proxy server A có 2 network interface. Xây dựng 2 ACL cho 2 phòng Acounting và Engineer sử dụng ACL type myportname với 2 subnet 172.16.2.0/24 và 172.16.3.0/24, thiết lập Squid lắng nghe trên 2 port là 8080 và 3128. Ứng với mỗi port là 1 subnet.

http_ port 172.16.2.0/24:8080 Accounting_ port http_ port 172.16.3.0/24:3128 Engineer_ port acl accounting_acl myportname Accouting_ port acl engineer_acl myportname Engineer_ port

3.1.2.4. HTTP method
ACL type: method Mỗi yêu cầu HTTP đều đi cùng với một phương thức HTTP. Ví dụ, client gõ http://website.com / vào trình duyệt web, khi đó client thực hiện yêu cầu bằng phương thức GET đến website.com server. Hoặc là, khi client tương tác với một online form bất kì, khi đó client thực hiện yêu cầu bằng phương thức POST đến server. Squid hỗ trợ các phương thức HTTP cơ bản sau: GET, POST, PUT, HEAD, CONNECT, TRACE, OPTIONS và DELETE. GET là phương thức HTTP được sử dụng nhiều nhất, sau đó đến POST, PUT và các phương thức khác. Squid cung cấp ACL type method để xác định các yêu cầu dựa vào phương thức HTTP cho từng yêu cầu cụ thể mà client sử dụng. Hầu hết các phương thức HTTP mặc định được cho phép, ngoại trừ phương thức CONNECT. Bởi phương thức CONNECT được sử dụng cho các yêu cầu turnneling thông qua HTTP proxy. Chúng ta cần phải đặc biệt cẩn trọng với phương thức HTTP này, bởi vì chúng ta sẽ không muốn Squid bị thông qua bởi các công cụ và dịch vụ remote. Mặc định Squid cho phép sử dụng phương thức CONNECT trong file cấu hình: acl CONNECT method CONNECT acl SSL_ports port 443 http_access deny CONNECT !SSL_ports Với cấu hình trên, Squid chỉ cho phép CONNECT method cho SSL trên port 443, đây là standard port cho HTTPS. Còn những yêu cầu sử dụng CONNECT method khác đều bị cấm truy cập. Tuy nhiên, tùy vào nhu cầu của hệ thống, người quản trị có thể tiến hành thêm port mới vào SSL_ports ACL nếu cần thiết. Nhưng cần phải chắc chắn port thêm vào nằm trong danh sách safe ports .
3.1.2.5. Protocol ACL type: proto Squid cung cấp 1 loại ACL khác là proto. Proto ACL có thể xác định giao thức được sử dụng trong yêu cầu của client. Ví dụ, khi client truy cập đến http://myweb.com/ hay ftp://myftp.com / thì giao thức được sử dụng là HTTP và FTP. Một số giao thức khác cũng thường được sử dụng như HTTPS,SSH,…
Một số ví dụ sử dụng proto:
_ Deny tất cả yêu cầu FTP. acl ftp_requests proto FTP http_access deny ftp_requests
_ Deny tất cả yêu cầu FTP từ một IP cụ thể. acl ftp_requests proto FTP acl marketing src 172.16.2.8/24 http_access deny marketing ftp_requests Ngoài những giao thức cơ bản đã đề cập, Squid còn hỗ trợ giao thức đặc biệt cache_object. Giao thức này được sử dụng cho interface quản lý cache. Theo mặc định, việc quản lý cache chỉ có thể truy cập từ Squid proxy server (localhost), điều này thể hiện qua file cấu hình mặc định ban đầu squid.conf : acl manager proto cache_object acl localhost src 127.0.0.1 http_access allow manager localhost http_access deny manager
Với cấu hình trên, giao thức cache_object chỉ sử dụng được từ localhost. Nếu Administrator muốn sử dụng giao thức cache_object từ một máy khác ( ví dụ từ máy vi tính riêng của Administrator), họ có thể cấu hình sau:

acl manager proto cache_object acl localhost src 127.0.0.1 acl admin src 192.168.10.80/32 http_access allow manager localhost http_access allow manager admin http_access deny manager
Cấu hình trên đảm bảo chỉ có Administrator có thể sử dụng interface quản lý cache của Squid proxy server.
3.1.2.6. Thời gian ACL type : time Điều khiển truy cập dựa vào thời gian là một trong những điểm đặc trưng thú vị của Squid . Sử dụng ACL type time cho phép chúng ta xác định thời gian của ngày, ngày của tuần và khoảng thời gian. Cấu trúc cơ sở của time : acl ACL_NAME time [ngày-viết tắt] [h1:m1- h2:m2]
Chỉ định ngày, khoảng thời gian là lựa chọn tùy ý và tùy theo nhu cầu của hệ thống. Nhưng phải chỉ định ít nhất một loại thời gian. Kiểu giờ mặc định nên để là 24h. Sau đây là danh sách ngày viết tắt được sử dụng :

Ngày | Viết tắt | Thứ 2 | M | Thứ 3 | T | Thứ 4 | W | Thứ 5 | H | Thứ 6 | F | Thứ 7 | A | Chủ nhật | S |

Ví dụ:
_ Xây dựng ACL xác định tất cả những requests vào Thứ 2-6-Chủ nhật. acl days time M F S
_ Xây dựng ACLs quản lý truy cập cho công ty A có giờ làm việc từ thứ 2-7, ngày 8h, sáng từ 8h - 11h00, chiều từ 13h - 17h00, giờ nghỉ trưa từ 11h00 - 12h59. acl morning_time time M T W H F A 08:00 – 10:59 acl lunch_time time M T W H F A 11:00- 12:59 acl afternoon_time time M T W H F A 13:00 – 17:00

3.1.2.7. URL và URL path ACL type: url_regex, urlpath_regex
a. ACL type: url_regex Squid cung cấp ACL type url_regex để chỉ định các biểu mẫu chính quy tương ứng với các định dạng file có trong URL mà client yêu cầu. Các URL thường có dạng sau: http://www.zing.vn/americanmusic/index.php?Somebody.mp3,...
Biểu mẫu chính quy (regular expression) là 1 chuỗi kí tự có quy tắc, có chính quy, nhằm để mô tả những chuỗi kí tự khác.
Ví dụ : _ Xây dựng ACL chỉ định biểu mẫu chứa những file hình ảnh dạng mp3. acl web_mp3 url_regex . mp3$ Mặc định, các biểu mẫu chính quy có phân biệt chữ hoa và chữ thường. Với ví dụ trên, ACL web_ mp3 sẽ không phù hợp nếu file nhạc MP3. Để tránh tình trạng này, chúng ta có thể thêm tùy chọn –i trong ACL. acl web_mp3 url_regex -i .mp3$
b. ACL type: urlpath_regex Với urlpath_regex cho phép thực hiện ACL url_regex thông qua file dữ liệu nằm bên ngoài. Trong file dữ liệu, chúng ta chỉ định các biểu mẫu tương ứng với các định dạng file có trong URL mà client yêu cầu. Ví dụ: acl list_file_type urlpath_regex “/etc/squid/rule/denyfiletype.txt”
Trong file denyfiletype.txt, chúng ta chỉ định các biểu mẫu:
# vi /etc/squid/rule/denyfiletype.txt
.mp3$
.wma$
.flv$

3.1.2.8. Proxy authentication
ACL type: proxy_auth, proxy_auth_regex
a. ACL type: proxy_auth Cách tốt nhất để bảo vệ hệ thống khỏi những hacker từ bên ngoài là sử dụng proxy authentication. Với proxy authentication, khi thực hiện một yêu cầu , client cần phải xác thực thông tin của mình. Thường đó là username và password. Sau khi đánh giá và kiểm tra thông tin xác thực của client, Squid mới bắt đầu thực hiện kiểm soát truy cập. Điểm đáng chú ý là Squid không thể xác nhận tính hợp lệ của các thông tin xác thực từ client. Công việc này được xử lý nhờ sự trợ giúp của các quá trình bên ngoài. Squid cung cấp ACL type proxy_auth để chỉ định danh sách username cần chứng thực. Tuy nhiên, Squid không thể tự kiểm tra tính hợp lệ của các thông tin này, vì thế chúng ta cần chỉ định một chương trình chứng thực để xác thực username và password được gửi từ client. Chương trình xác thực được thiết lập bởi dòng auth_param tại file cấu hình squid.conf. Hiện tại, Squid hỗ trợ một số dịch vụ xác thực như: HTTP Basic protocol, Digest authentication protocol, NTLM hay một số hệ thống cơ sở dữ liệu như : LDAP, MySQL,…

Ví dụ : _ Để thực thi proxy authentication. Chúng ta thực hiện cấu hình sau: acl authen proxy_auth REQUIRED http_access allow authen http_access deny all Với cấu hình trên, chỉ những client được chứng thực mới có thể truy cập đến proxy server. _ Nếu chúng ta muốn chỉ định một số đặc quyền riêng cho một user nào đó. Ví dụ chỉ có administrator mới có thể truy cập đến site http://admin.myweb.com, các user khác nếu được chứng thực thì vẫn truy cập bình thường ngoại trừ site của admin, chúng ta có thể cấu hình như sau: acl authen proxy_auth REQUIRED acl admin proxy_auth administrator acl admin_site dstdomain admin.myweb.com http_access allow admin admin_site http_access deny admin_site http_access allow authen http_access deny all

b. ACL type: proxy_auth_regex Squid hỗ trợ ACL type proxy_auth_regex để chỉ định những usernames cần chứng thực sử dụng regular expression. ACL này chỉ hữu ích khi username được đặt theo khuôn mẫu nhất định. Ví dụ phòng ban_username.
Ví dụ:
_ Những user thuộc phòng marketing chỉ được truy cập vào site http://marketing.myweb.com chỉ khi đã được chứng thực. acl marketing_regex proxy_auth_regex ^marketing _ acl marketing_site dstdomain marketing.company.com http_access allow marketing_regex marketing_site http_access deny all

3.1.2.9. User limit
ACL type: maxconn Để đảm bảo hệ thống mạng hoạt động thông suốt, tiết kiệm băng thông, thường chúng ta sẽ giới hạn lượng kết nối của các client. Squid cung cấp ACL type maxconn, cho phép chỉ định số lượng kết nối tối đa từ địa chỉ IP của client.
Ví dụ: acl accounting_ip src 172.16.2.0/24 acl engineer_ip src 172.16.3.0/24 acl accounting_max maxconn 10 acl engineer_max maxconn 20 http_access deny accounting_ip accounting_max http_access deny engineer_ip engineer_max
Thiết lập trên cho phép, những client thuộc accounting có tối đa 10 kết nối và engineer có 20 kết nối tại một thời điểm. Nếu vượt quá maxconn thì yêu cầu sau của client sẽ bị chặn. 3.1.2.10. HTTP Header
ACL type: browser, req_mine_type, rep_mine_type, http_status
a. ACL type : browser Hầu hết các HTTP request đều mang User-agent trong header, đó là một chuỗi thể hiện tên và version của browser và hệ điều hành. Ví dụ đối với Mozilla Firefox 3.6.6 trên hệ điều hành Linux-32bit có User-agent sau:
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.6) Gecko/201625Firefox/3.6 GTB7.1 Squid cung cấp ACL type browser, cho phép xác định yêu cầu của clien dựa vào User-agent header và kết hợp với access rule để kiểm soát truy cập của client.

Ví dụ:
_ Chỉ cho phép những truy cập từ Firefox acl firefox_clients browser -i firefox http_access allow firefox_clients http_access deny all

b. ACL types: req_mine_type, rep_mine_type Req_mine_type và rep_mine_type ACL type được sử dụng chỉ định các Content – Type của các yêu cầu của client và trả lời từ server. Hai ACL type này giúp chỉ định loại dữ liệu nào sẽ được hoặc không được upload hoặc download từ các servers.
Với upload, chúng ta sử dụng req_mine_type ACL. Ví dụ: acl upload_video req_mine_type -i ^video/ http_access deny upload_video Với download, chúng ta dùng rep_mine_type ACL. Ví dụ, chúng ta muốn chặn mọi download video từ các servers. Ví dụ: acl down_video rep_mine_type -i ^video/ http_reply_access deny down_video c. ACL type: http_status Khi Squid liên lạc tới remote server trên yêu cầu của client, nó sẽ nhận trả lời cụ thể cho mỗi yêu cầu. Tùy vào hiện trạng của remote server, mà Squid sẽ nhận những trạng thái (status) khác nhau. Ví dụ như với status 200 là yêu cầu thành công, 404 là trang web không tìm thấy,.. Squid có ACL http_status để chỉ định những status nhận được từ remote server.

Ví dụ:
_ Chặn truy cập tất cả những server bị lỗi ( status 5xx). acl fail_server http_status 500-510 http_reply_access deny fail_server
3.1.3. Một số lưu ý khi xây dựng các ACL Trong trường hợp danh sách giá trị muốn kiểm soát của chúng ta quá lớn, chúng ta có thể tạo một file chứa danh sách đó, sau đó chỉ định Squid đọc danh sách từ file.
Ví dụ: acl list_sites dstdomain '/etc/squid/list_sites.txt'
Chúng ta sẽ tạo file list_sites.txt cùng thư mục với file cấu hình của Squid squid.conf. Thông thường file list_sites.txt được thiết lập cho ví dụ trên như sau: # Chỉ định một domain name trên mỗi dòng .website.vn .website.org .website.com ACL_NAME không phân biệt chữ hoa và thường. Vì thế chúng ta có thể sử dụng nhiều lần và các giá trị sẽ là tổ hợp.
Ví dụ: acl good_ACL src 192.168.2.0/25 acl GOOD_acl src 192.168.3.0/25
Với thiết lập trên, không phải chúng ta có 2 ACL mà chỉ là 1 ACL với 2 subnet là 192.168.2.0/25 và 192.168.3.0/25 ACL_NAME không thể sử dụng cho nhiều hơn một ACL_TYPE .
Ví dụ: acl bad_acl dstdomain example.com acl bad_acl dst 222.210.88
Cấu hình trên sẽ bị lỗi. Vì ACL_NAME được gán cho 2 ACL_TYPE khác nhau.

3.1. Access List Rules Để cấu hình cho Squid proxy server kiểm soát các yêu cầu truy cập từ client, ta cần xây dựng các Access Control List kết hợp với các Access List Rules. ACL chỉ có thể sử dụng để xác định các yêu cầu và yêu cầu đó của client có được đáp ứng hay không thì còn tùy thuộc vào các Access List Rules. Squid cung cấp nhiều Access List Rules, http_access là một trong những Access Rules được sử dụng phổ biến. Chúng ta có thể thấy điều này ở các ví dụ thuộc phần Access Control List (ACL). Khi chúng ta có nhiều Access Rule trong file cấu hình, Squid sẽ thực thi tuần tự từ trên xuống dưới. Một số Access Control Rules cơ bản mà Squid proxy cung cấp:
3.1.1. HTTP protocol
a. Cho các yêu cầu Http_access là access rule quan trọng nhất trong Access List Rules. Http_access sẽ chỉ định yêu cầu HTTP nào của client sẽ được đáp ứng hoặc ngược lại. Nếu thiết lập sai cho access rule này, hệ thống mạng sẽ dễ bị phá hoại và Squid cache có thể sẽ bị lạm dụng bởi những client không được phép truy cập đến nó.
Ví dụ: _ Cho phép truy cập từ các client đã biết, chặn những client còn lại. acl known_user src 172.16.1.0/24 http_access allow known_user http_access deny all b. Cho các trả lời Ngoài cách sử dụng http_access cho các yêu cầu, Squid còn cung cấp access rule http_reply _access dùng quản lý các trả lời mà Squid proxy server nhận được từ các servers. Khi các trả lời bị chặn bởi http_reply_access, client vẫn nhận được thông báo access deny từ Squid proxy server.
Ví dụ:
_ Chặn download các file video của client acl download rep_mime_type -i ^video/ http_reply_access deny download

3.1.2. ICP port ICP là giao thức cho Web cache proxy, ICP được sử dụng để cập nhật những thay đổi về nội dung của những URL sẵn có trong cache. Icp_port là port number nơi Squid gửi và nhận các truy vấn ICP từ các proxy server lân cận. Mặc định icp_port được thiết lập là 3130. Để giới hạn truy cập đến icp_port, Squid cung cấp access rule icp_access . Tùy vào nhu cầu của hệ thống mà người quản trị sẽ thiết lập cho icp_access với những giá trị khác nhau.
Ví dụ:
_ Cho phép local_server được truy cập ICP port acl local_server src 172.16.1.10/32 icp_access allow local_server icp_access deny all 3.1.3. Điều khiển cache Nếu hệ thống có webserver, chúng ta sẽ không muốn bộ nhớ cache lưu lại nội dung của những webserver này. Bởi vì những server này ở gần, thời gian đáp ứng nhu cầu của client sẽ không là vấn đề. Để đảm bảo tối ưu hóa dung lượng cho bộ nhớ cache dùng cho việc lưu trữ nội dung của các webserver bên ngoài, cần chặn việc cache lại nội dung của webserver nội bộ Squid cung cấp access rule cache dùng để cho phép hay chặn việc lưu trữ lại nội dung với sự hỗ trợ của các ACL.
Ví dụ:
_ Chặn caching nội dung của các site nội bộ acl local_site dstdomain .mycompany.com cache deny local_site cache allow all

3.1.4. Error page Khi một truy cập của client bị chặn, Squid có thể thực hiện 3 hành động sau: gửi một custom error page đến client, chuyển yêu cầu của client đến một URL khác, reset TCP connection sử dụng access rule deny_info. Ví dụ:
_Squid đã cung cấp sẵn mẫu thông báo lỗi trong thư mục /etc/squid/errors và được chỉ định trong file squid.conf . Thông báo lỗi tới những khi họ truy cập tới site bị cấm. acl baddomain dstdomain .muaban24.com http_access deny baddomain deny_info ERR_CUSTOM_ACCESS_DENIED baddomain >>
_ Tạo một URL thông báo chặn truy cập. Chuyển truy cập của client đến URL khác. acl baddomain dstdomain .game8.com http_access deny baddomain deny_info http://www.google.com.vn _ Reset TCP connection : acl baddomain dstdomain .raovat.com.vn http_access deny baddomain deny_info TCP_RESET baddomain >>

3.1.5. Giới hạn dung lượng của các trả lời Để đảm bảo cho hệ thống hoạt động thông suốt, tiết kiệm băng thông, người quản trị cần giới hạn dung lượng của trả lời mà client nhận. Thực hiện việc này thông qua access rule reply_body_max_size.
Ví dụ:
_ Chỉ định kích thước reply tối đa có thể nhận được của client thuộc phòng marketing (192.168.2.0/24) là 20MB, phòng accounting ( 192.168.3.0/24) là 40MB. acl marketing_ip src 192.168.2.0/24 acl accounting_ip src 192.168.3.0/24 reply_body_max_size 20 MB marketing_ip reply_body_max_size 40 MB accounting _ip
3.1.6. Chặn việc ghi log Trong một số trường hợp đặc biệt, hay do nhu cầu của hệ thống, mà người quản trị cần phải chặn việc ghi log của Squid nhằm đảm bảo an toàn thông tin mật về kinh doanh, tổ chức,…Access rule log_access sẽ cho phép chúng ta thực hiện công việc này. Ví dụ: _ Chặn ghi log của những client thuộc ban giám đốc. acl BanGD_ip src 10.0.0.1/28 log_access deny BanGD_ip log_access allow all

CHƯƠNG 4. QUẢN LÝ LOG TRONG SQUID

4.1. Giới thiệu về log trong Squid Với khả năng điều khiển, kiểm soát truy cập internet của client, Squid mang đến nhiều lợi thế cho nhiều quản trị. Giúp họ đầy đủ công cụ để quản lý hệ thống hoạt động thông suốt, ổn định, bảo mật. Với vai trò là một Reverse proxy, Squid ghi lại tất cả những thông tin kết nối từ bên trong mạng và bên ngoài mạng với nhau thông qua các file log nằm trong thư mục /var/log/squid/. Điều này giúp người quản trị thực hiện tốt hơn công việc quản lý hệ thống của mình.Squid sẽ ghi lại những hành động vào những file log khác nhau. Squid sẽ tính toán và ghi lại những lỗi vào output log, thường là cache.log. Squid ghi nhận trực tiếp những kết nối đến mình thông qua file log access.log. Đồng thời, Squid cũng ghi lại cơ sở dữ liệu về những thông tin mới được cập nhật trong cache thông qua file store.log. File log cần được chú trọng nhất là access.log và cache.log. Nó thể hiện đầy đủ những thông tin hoạt động của một Cache proxy server.
4.2. Cache log hay debug log Squid ghi lại tất cả những thông báo lỗi hay debug vào file cache.log. Thư mục nàychứa thông điệp lỗi về cache, cache peer…
Để xem được những thông tin ghi lại trong cache log ta thực hiện lệnh sau:

Ví dụ về thông điệp ghi lại trong cache log.

Thông điệp lỗi: không thể thực hiện kết nối đến sibling proxy 172.16.1.3
4.3. Access log Cache.log là một file log chỉ quan trọng với người quản trị khi Squid proxy gặp phải lỗi hoặc sự cố, còn đối với việc giám sát và quản lý hoạt động ra vào internet của client lại phụ thuộc hoàn toàn access.log. Như đã đề cập, access.log là file log mà Squid ghi nhận trực tiếp những thông tin thực về những kết nối đến proxy server đã và đang diễn ra. Những thông tin này thường là trạng thái của các yêu cầu và trả lời được Squid tiếp nhận từ client và server bên ngoài.
Mặc định thì access.log nằm tại /var/log/squid/access.log.
Để xem được những thông tin ghi lại trong access log ta thực hiện lệnh sau:

Một số ví dụ thể hiện những thông tin kết nối mà Squid nhận được từ file access.log.

Trong một access log được ghi lại, sẽ có nhiều trường thông tin được thể hiện như : thời gian trả lời tính bằng mili giây, địa chỉ IP client, trạng thái yêu cầu và HTTP status code, kích thước của trả lời ( bao gồm HTTP header), phương thức yêu cầu ( GET, DELETE, POST, PUT,..), url, username(nếu có chứng thực), ip server đích, loại file của trả lời,… Đối với một hệ thống mạng lớn, số client lên đến hàng trăm, hàng ngàn thì lượng truy cập internet là vô cùng lớn, dẫn đến lượng kết nối đến Squid proxy server cũng cao tương tự. Điều đó đồng nghĩa với việc kích thước các file log sẽ cũng lớn theo. Nhằm đảm bảo cho việc dễ dàng quản lý, giảm kích thước các file log, chúng ta thực hiện cấu hình theo cơ chế rotate. Rotate giúp sinh ra các file log theo thuật toán xoay vòng theo giá trị chỉ định.
Thực hiện thêm dòng sau vào file cấu hình squid.conf.

Cho phép các file log được sinh ra xoay vòng với 10 file log cùng loại.
Để chạy rotate, gõ lệnh:

4.4. Quản lý acccess log thông qua Sarg Access log là file log cực kì quan trọng đối với người quản trị.Nhằm tối ưu hóa việc quản lý access log cũng như file access.log, ta thực hiện cài đặt gói phần mềm Sarg. Sarg là một công cụ mã nguồn mở mạnh mẽ và đi đôi với Squid. Với Sarg người quản trị có thể dễ dàng nắm bắt được các thông tin đến nối đến Squid server, đó là những báo cáo được Sarg ghi nhận lại thông qua các thông tin log Squid ghi nhận tại file access.log. Điều đặc biệt hơn cả là những báo cáo sẽ được thể hiện rõ ràng trên nền giao diện web, với đầy đủ các thông tin cần thiết mà một người quản trị cần quan tâm. Mọi thông tin về các phiên bản, cấu hình của Sarg đều có tại trang chủ http://sarg.sourceforge.net.

4.4.1. Cài đặt
Bước 1. Cài đặt và cấu hình web server(Apache) với dịch vụ httpd

Cài đặt dịch vụ httpd nhằm cung cấp giao diện web cho Sarg
Bước 2. Lựa chọn phiên bản và download Sarg
Thực hiện download gói Sarg từ trang chủ http://sarg.sourceforge.net
Bước 3. Cài đặt gói Sarg
Tiến hành cài đặt.

Ở đây sử dụng gói rpm với phiên bản 2.3.1
Bước 4. Cấu hình Sarg
Đường dẫn file cấu hình sarg

Chỉnh sửa các dòng cấu hình cần thiết trong file sarg.conf.
_ Chỉ định file ghi nhận access log.

_ Thư mục chứa báo cáo tạo ra từ Sarg

_ Những thông tin được ghi nhận trong báo cáo.

Bước 5. Chỉnh sửa quyền truy cập giao diện Sarg
_ Đường dẫn file cấu hình ( Là file cấu hình cho dịch vụ httpd)

_ Chỉnh sửa các dòng cấu hình cần thiết.

Alias cho thư mục chứa report của Sarg là squid-reports thành sarg
Chỉ cho phép IP của admin 172.16.1.100 mới có thể truy cập.
Bước 6. Tạo báo cáo
Thực hiện tạo báo cáo theo lệnh.

Câu lệnh trên sẽ thực hiện file sarg nằm tại thư mục /usr/bin/
Giao diện báo cáo của sarg sau khi truy cập http://ip_squid_proxy_server/sarg

_ Khi một ip không phải ip được cho phép truy cập trang báo cáo của Sarg thì kết nối đó sẽ bị chặn vì không đủ quyền truy cập.

4.4.2. Lập lịch hoạt động cho Sarg Để hoạt động của Sarg được tự động nhằm tạo tính nhất quán cho hệ thống và tiết kiệm thời gian cho người quản trị, chúng ta nên thực hiện lập lịch hoạt động cho Sarg cũng như cơ chế xoay vòng rotate cho các file log.
4.4.2.1. Lập lịch cho các file log theo cơ chế rotate
Bước 1. Tạo thư mục crontab chứa file cấu hình lịch hoạt động

Bước 2. Tiến hành lập lịch

Mỗi ngày, vào lúc 00:01’ sẽ chạy lệnh rotate cho các file log.
Bước 3. Chỉ định file crontab

Bước 4. Restart lại dịch vụ crontab

4.4.2.2. Lập lịch cho Sarg
a. Lập lịch cho các báo cáo qua lệnh Sarg
Bước 1. Tạo thư mục crontab chứa file cấu hình lịch hoạt động

Bước 2. Lập lịch

Cứ mỗi 30’ sẽ chạy lệnh sarg và tạo báo cáo trong thư mục đã cấu hình
/var/www/html/squid-reports.
Bước 3. Chỉ định file crontab

Bước 4. Restart lại dịch vụ crontab

b. Lập lịch báo cáo Sarg theo ngày, tuần, tháng
Bước 1. Tạo các scripts cho ngày, tháng, năm
_ Ngày

_ Tuần

_ Tháng

Bước 2. Tạo thư mục và file crontab

Bước 3. Lập lịch

_Vào lúc 00:01 mỗi ngày tạo file báo cáo cho ngày hôm trước.
_ Vào lúc 01:01 chủ nhật mỗi tuần, tạo file báo cáo trong tuần.
_ Vào lúc 02:01 ngày mùng 1 mỗi tháng, tạo file báo cáo cho tháng trước.
Bước 4. Tạo thư mục chứa báo cáo cho ngày, tuần, tháng

Bước 5. Alias thư mục chứa báo cáo thông qua cấu hình dịch vụ httpd

Alias cho thư mục chứa report ngày, tuần, tháng của Sarg là html thành quanlylog
Chỉ cho phép ip của admin172.16.1.100 được truy cập thư mục báo cáo.
Bước 6. Chỉ định file crontab đã lập lịch

Bước 7. Restart lại dịch vụ crontab

Bước 8. Restart lại dịch vụ httpd

Giao diện báo cáo theo ngày, tuần, tháng của sarg sau khi truy cập http://ip_squid_proxy_server/quanlylog/

Ví dụ về danh sách báo cáo theo lịch ngày, tuần, tháng

CHƯƠNG 5. QUẢN LÝ CACHE TRONG SQUID

5.1. Giới thiệu về Cache trong Squid Với giao thức chuyên dùng là ICP ( Internet Cache Protocol) để chuyển đổi thông tin giữa cache và các chương trình ứng dụng được dùng trên các proxy server. Caching là một kỹ thuật không những hỗ trợ cho người dùng web, mà còn tiết kiệm một lượng lớn băng thông, cũng như kinh phí hệ thống mạng. Nền tảng của cache là việc lưu trữ các bản sao những trang web mà client đã truy cập trên ram hoặc đĩa cứng của bộ nhớ cache. ICP hoạt động theo cấu trúc phân cấp, nó cho phép cache dữ liệu và trao đổi thông tin cache cho các cache proxy láng giềng trong mô hình phân cấp. Điểm nổi bật hơn cả, giao thức ICP có thể cập nhật những thay đổi về nội dung của những web sẵn có trong bộ nhớ cache, mà không cần cache lại nội dung thêm lần nào nữa. Squid mang trong mình giao thức ICP, chính ICP đã mang lại sự vượt trội cho Squid so với các proxy server khác. Squid cung cấp 2 cơ chế cache đó là cache theo RAM và cache theo đĩa cứng.
Cấu hình cho 2 loại cache này được chỉ định trong file cấu hình squid squid.conf.
Thêm các cấu hình cho cache Ram và đĩa cứng.

_ Cache RAM chiếm 32 MB
_ Cache đĩa sử dụng định lưu trữ theo kiểu ufs chiếm 512 MB với 16 thư mục cấp 1 và 256 thư mục cho mỗi thư mục cấp 1 đó.

_ Thuật toán cache đĩa là heap LFUDA (Least Frequently Used with Dynamic Aging).
_ Thuật toán cache ram là heap GDSF (Greedy-Dual Size Frequency)
_ Thư mục cache nằm tại /var/spool/squid/

5.2. Quản lý các thông số cache đĩa Cache manager (cachemgr) là một giao diện web, cho phép quản lý, thống kê các thông số của cache và được quản lý trực tiếp bởi Squid proxy server và được cung cấp mặc định. Điều này có nghĩa là chúng ta không cần phải cài đặt thêm bất kì module hay phần mềm của bên thứ 3. Nhưng trước khi muốn sử dụng cache manager, chúng ta cần phải cấu hình Squid và dịch vụ httpd để sử dụng file cachemgr.cgi. Đây là file cung cấp giao diện quản lý cache cho proxy server và nằm tại đường dẫn mặc định /usr/lib/squid/cachemgr.cgi.
5.2.1. Cài đặt và cấu hình
a. Cài đặt và cấu hình cho httpd
Bước 1. Cài đặt dịch vụ httpd

Bước 2. Cấu hình
_ Di chuyển file cachemgr.conf nằm tại thư mục của squid /etc/squid/

_ Cấu hình cho file cachemgr.conf

Alias thư mục chứa giao diện quản lý cache là cachemgr.cgi với tên squid-cache
Chỉ cho phép ip 172.16.1.100 được truy cập.
Bước 3. Restart dịch vụ httpd

b. Cấu hình Squid cho phép sử dụng quản lý cache
Bước 1. Cấu hình cho file squid.conf
_ Mở file cấu hình của squid.

_ Thêm cấu hình

Chỉ định địa chỉ local mail của admin, password, thao tác được thực hiện.
Bước 2. Restart lại squid

c. Giao diện quản lý cache
Thực hiện truy cập địa chỉ http://ip_squid_proxy/squid-cache/

Thực hiện chỉ định bộ nhớ cache, port squid cùng với mail và password của admin đã cấu hình trong squid.conf.

Giao diện và các loại thống kê được thể hiện trong giao diện quản lý cache sẽ có khác nhau tùy theo phiên bản Squid chúng ta cài đặt.

5.2.2. Một số thống kê cần quan tâm
a. General Runtime Information

Thống kê trên sẽ trình bày các thông tin về:
_ Thời gian khi squid start và thời gian hiện tại
_ Thông tin các kết nối từ client
_ Thông tin về tỉ lệ cache mà server phục vụ.
_ Kích thước cache hiện tại( cả đĩa và RAM).


b. IP Cache Stats and Contents

Thống kê này sẽ trình bày các thông tin thống kê về:
_ Số lượng site đã được cache
_ Tổng số yêu cầu đến cache
_ Số yêu cầu thành công
_ Số yêu cầu không thành công

Thông tin về các site đã được cache:
_ Hostname
_ Flag với H là đại diện cho tên địa chỉ localhost 127.0.0.1 của proxy server đặt tại /etc/hosts, N là hostname không tốt.
_ Thời gian tính từ kết nối cuối cùng đến hostname.
_ Thời gian còn lại đối với các đối tượng đã được cache
_ IP của các hostname
c. HTTP Header Statistics

Phần này sẽ trình bày các thông tin về HTTP header trong các yêu cầu và trả lời được nhận bởi proxy server.Các thông tin được thống kế như: ID, tên loại header, số lượng, tỉ lệ phần trăm xuất hiện của header trong các yêu cầu và trả lời.
d. Traffic and Resource Counters

Phần này trình bày thống kê về những lưu thông qua proxy server.
_ Số yêu cầu http; số yêu cầu được trả lời; số yêu cầu bị lỗi; dung lượng vào, ra các kết nối của client và server.
e. Request Forwarding Statistics

Phần này thống kê danh sách các HTTP status code mà proxy server nhận được. Nếu yêu cầu của client được proxy server forward đi bị lỗi thì proxy server sẽ thực hiện forward lại cho đến khi thực hiện được.
f. Cache Client List

Thống kê liệt kê các client đang kết nối đến proxy server.
Với các thống kê về các yêu cầu của client: ICP và HTTP
g. Peer Cache Statistics

Liệt kê các proxy server láng giềng cùng chạy song song với nhau trong hệ thống.

CHƯƠNG 6. CHỨNG THỰC TRUY CẬP

Nhằm tăng cường tính bảo mật, an toàn cũng như tạo thuận lợi trong công tác quản lý, áp đặt chính sách lên các client trong hệ thống mạng. Squid hỗ trợ cho người quản trị rất nhiều loại chứng thực, nhằm xác thực các client khi có yêu cầu từ họ đến proxy server. Với hệ thống mạng mà mỗi client đều có user riêng thì việc chứng thực các client là cần thiết. Squid sẽ thực hiện chứng thực các client thông qua username và password của họ.
Có rất nhiều loại chứng thực được kết hợp với Squid như: NCSA, LDAP, NTLM,…
6.1. Chứng thực với NCSA Với NCSA, Squid sẽ thực hiện chứng thực client bằng username, password thông qua cơ sở dữ liệu được tạo và lưu giữ tại proxy server.
Các bước cấu hình chứng thực với NCSA.
Bước 1. Tạo file cơ sở dữ liệu chứa username và password

Bước 2. Gán thêm quyền read cơ sở dữ liệu cho other

B3. Thêm dữ liệu vào file csdl bằng chương trình htpasswd

B4. Chỉ định chương trình chứng thực NCSA trong file cấu hình squid

Cho phép những client đã chứng thực qua NCSA đều được phép kết nối.
6.2. Chứng thực thông qua LDAP server
6.2.1. Giới thiệu về LDAP Mặc dù, chứng thực với NCSA sẽ làm tăng tốc độ chứng thực cho Squid vì cơ sở dữ liệu nằm tại proxy server. Nhưng với một hệ thống lớn, client được quản lý tập trung thông qua LDAP server, thì NCSA sẽ không đáp ứng được nhu cầu hoạt động của hệ thống mạng. Vậy tại sao sử dụng LDAP là giải pháp thay thế cho NCSA? Chúng ta sẽ tìm hiểu một số thông tin và lợi ích của LDAP. LDAP (Lightweight Directory Access Protocol) – là giao thức truy cập nhanh các dịch vụ thư mục - là một chuẩn mở rộng cho nghi thức truy cập thư mục. LDAP được tạo ra đặc biệt cho hành động "đọc". Bởi thế, xác thực người dùng bằng phương tiện "lookup" LDAP nhanh, hiệu suất, ít tốn tài nguyên, đơn giản hơn là truy vấn đến 1 tài khoản người dùng trên cơ sở dữ liệu.
6.2.2. Xây dựng LDAP server
Bước 1. Cài đặt LDAP server

Bước 2. Đặt LDAP Admin password

Ghi chú lại password đã được mã hóa để dùng trong file cấu hình LDAP.
Bước 3. Cấu hình LDAP server
a. Cấu hình cho dịch vụ trong file sldap.conf

Chỉ định domain name là phong.com với admin là root. Điền password của admin đã được mã hóa được tạo ra lúc trước.

Chỉ định thư mục chứa các file dữ liệu cho domain name phong.com /var/lib/ldap/phong.com
b. Copy file DB_CONFIG.example vào thư mục /var/lib/ldap/phong.com và đổi tên lại thành DB_CONFIG

c. Cấu hình file ldap.conf

Chỉ định ip localhost và domain name là phong.com
d. Start dịch vụ ldap

Bước 4. Tạo cơ sở dữ liệu
a. Chỉ định domain name trong file import dữ liệu

Chỉ định domain name phong.com.
b. Tạo dc với file dc.ldif

c. Tạo ou với file ou.ldif

d. Thêm cơ sở dữ liệu dc và ou đã tạo vào cơ sở dữ liệu.

e. Thêm user vào cơ sở dữ liệu

User hoaiphong3 thuộc ou Kỹ thuật đã được thêm vào cơ sở dữ liệu của LDAP server thành công.
Bước 5. Xây dựng DNS Server
Xây dựng và cấu hình dịch vụ DNS nhằm giúp Squid proxy server phân giải domain name phong.com đã tạo ở LDAP server.
a. Cài đặt DNS server

b. Cấu hình cho DNS server
_ Tạo file cấu hình cho DNS là named.conf.

_ Tạo file zone cho tên miền phong.com

c. Start dịch vụ DNS (named)

Bước 6. Cấu hình Squid sử dụng chứng thực qua LDAP server
_ Tùy chọn xác thực bằng LDAP server

Lựa chọn sử dụng chứng thực LDAP

Chỉ định ip server LDAP 172.16.1.2 và tên miền phong.com.
_ Cấu hình cho file squid.conf.

Chỉ định chương trình chứng thực là LDAP với ip LDAP server là 172.16.1.2, tên miền là phong.com.

Tạo rule cho phép các client đã xác thực qua ldap được truy cập internet.
CHƯƠNG 7. XÂY DỰNG TRANSPARENT SQUID PROXY

7.1. Khái niệm Transparent proxy Transparent proxy được gọi là proxy trong suốt, là sự kết hợp một proxy server và một gateway.Đây là phương thức thường được các network admin áp đặt cho client bên trong mạng, client không nhận thức được mình đang truy cập internet thông qua một proxy (cổng giám sát). Yêu cầu truy cập của client được chuyển đến qua địa chỉ gateway, sau đó chuyển sang proxy server xử lý. Với lợi ích mà Transparent proxy mang lại, việc cấu hình Squid như một Transparent proxy sẽ đảm bảo client sẽ không biết được rằng họ đang dùng một proxy và chịu kiểm soát bởi proxy này thông qua các chính sách của hệ thống. Client chỉ cần thiết lập địa chỉ IP của gateway do admin cung cấp, mà không phải xác lập các thông số proxy trong trình duyệt cũng như các ứng dụng internet khác như Yahoo,… Để Squid chạy như một Transparent proxy, chúng ta cần phải kết hợp squid với Firewall. Firewall được triển khai là iptables có sẵn trên hệ điều hành linux. Cấu hình iptables sẽ dễ dàng và thuận tiện khi chúng ta cài đặt gói shorewall, sau đó thực hiện cấu hình iptable thông qua shorewall. Shorewall là một bộ công cụ mã nguồn mỡ giúp người quản trị làm việc với iptables một cách dễ dàng hơn.
7.2. Cài đặt và cấu hình shorewall
Bước 1. Download gói shorewall
Chúng ta có thể download các phiên bản của shorewall tại http://www.shorewall.net
Bước 2. Cài đặt shorewall

Cài đặt gói rpm shorewall 3.4.6-1
Bước 3. Di chuyển các file cấu hình cần thiết của shorewall cho 2 interface vào thư mục cấu hình của shorewall

Các file cấu hình cần thiết cho shorewall : shorewall.conf, interfaces, zones, masq, policy, rules.
Bước 4. Cấu hình rule.
Cấu hình rule trong file /etc/shorewall/rules.

Áp đặt rule, cho phép các dịch vụ tương ứng với các port được hoạt động. Đồng thời, rule REDIRECT cho phép thực hiện transparent cho squid proxy, shorewall sẽ forward tất cả những truy cập www sang port 3128 ( port Squid hoạt động).
Bước 4. Enable shorewall
Cho phép shorewall hoạt động.

7.3. Cấu hình Squid chạy chế độ transparent
Bước 1. Chỉnh sửa file cấu hình Squid
Thêm dòng transparent tại dòng chỉ định port lắng nghe của Squid proxy.

Bước 2. Restart lại dịch vụ Squid
CHƯƠNG 8. HIGH AVAILABILITY VÀ LOAD BALANCING CHO CÁC SQUID PROXY SERVER

8.1. Giới thiệu Với một hệ thống lớn, nhu cầu về khả năng làm việc thông suốt, ổn định cũng như an toàn là vô cùng cao. Người quản trị cần thiết phải xây dựng nhiều trạm kiểm soát proxy server trên hệ thống. Các proxy server có thể hoạt động song song, có thể hoạt động theo mô hình phân cấp và thực hiện hỗ trợ lẫn nhau trong quá trình điều tiết lưu thông mạng cho hệ thống. Với sự hỗ trợ mạnh mẽ bởi giao thức ICP, các Squid proxy sẽ thực hiện quá trình chia sẻ cache cho nhau nhằm tạo sự ổn định cao băng thông sử dụng cho hệ thống mạng nội bộ. Các giao tiếp giữa các Squid proxy đều thông qua ICP port, với giao thức ICP cho phép các Squid proxy server có thể thực hiện cập nhật nội dung mới cho các site đã được lưu trữ nội bộ.
8.2. Xây dựng nhiều proxy server Để các Squid proxy server có thể liên lạc với nhau theo các mô hình có sẵn. Trên mỗi Squid proxy server chúng ta cần thêm cấu hình cần thiết. Các cấu hình cần thêm trong file cấu hình squid.conf là cache_peer và icp_port . _ Xác định ICP port sử dụng.Thường dùng port 3130

_ Chỉ định địa chỉ IP của proxy server láng giềng.
_ Quan hệ giữa các proxy server, có quan hệ parent và sibling. Quan hệ parent là quan hệ phân cấp cha con giữa các proxy server, quan hệ siblling là quan hệ ngang hàng giữa các proxy server.
_ Chỉ định http port và icp port của server sibling.

8.3. Cấu hình High Availability (HA)
8.3.1. Chạy ở chế độ không transparent Khi Squid proxy server chạy ở chế độ không transparent, khi client muốn truy cập đến proxy server bắt buộc phải chỉ rõ địa chỉ IP của proxy server trên trình duyệt web. Trong khi đó, hệ thống với nhiều proxy server thì client không thể chỉ định hết IP của các proxy server. Chỉ có 1 IP của 1 proxy server được chỉ định và khi proxy server này bị sự cố thì mọi truy cập của client sẽ bị gián đoạn.
Hiện nay, có rất nhiều giải pháp được đưa ra để giải quyết vấn đề trên như : Alias DNS; các gói Keep alive, Heart beat,… Tận dụng DNS server nội bộ sẵn có khi xây dựng LDAP server, chúng ta thực hiện chỉ định IP của các squid proxy server thông qua một alias DNS cụ thể.
Ví dụ:
_ Truy xuất file zone

_ Tạo alias cho 2 proxy server

Với cấu hình trên, trên trình duyệt mỗi client chỉ cần chỉ định tên miền proxy.phong.com thì DNS server sẽ tự động đẩy yêu cầu của client đến 1 trong 2 proxy server 172.16.1.1 và 172.16.1.3. Khi 1 trong 2 proxy server trên bị sự cố thì việc truy cập của client sẽ không bị gián đoạn.

8.3.2. Chạy ở chế độ transparent Với cấu hình chạy ở chế độ transparent, việc truy cập của client sẽ dễ dàng hơn thông qua địa chỉ gateway là IP của proxy server. Khi có nhiều proxy server trong hệ thống, để đạt được độ sẵn sàng cao thì trên mỗi client cần chỉ định số lượng địa chỉ defaul gateway tương ứng với các proxy server.
Ví dụ:
_ Vào phần thiết lập địa chỉ IP trên máy client. Chọn mục advanced , tiến hành thêm các gateway là các ip của các proxy server.

_ Cấu hình trên cho thấy có 2 địa chỉ gateway tương ứng với 2 proxy server có trong hệ thống. Khi 1 trong 2 proxy server bị sự cố thì các yêu cầu của client sẽ tự động tìm đến proxy server còn lại thông qua các địa chỉ gateway.

8.4. Cấu hình Load Balancing Với chỉ một proxy server, các yêu cầu của client sẽ dồn về một proxy server. Điều này sẽ dẫn đến các vấn đề về delay, làm chậm trễ việc đáp ứng các yêu cầu bên trong hệ thống mạng. Việc lựa chọn một proxy server đơn lẻ có cấu hình cực mạnh để giải quyết vấn đề này sẽ kéo theo chi phí đầu tư rất lớn. Giải pháp hiệu quả được đưa ra là sử dụng một nhóm proxy server cùng thực hiện một chức nǎng, hoạt động song song với nhau, chia tải cho nhau dưới sự điều khiển của một công cụ phân phối tải - Giải pháp cân bằng tải. Với mô hình các Squid proxy server chạy ở chế độ ngang hàng (sibling), Squid hỗ trợ thuật toán round-robin cho phép load balancing cho hệ thống mạng. Round-robin cho phép các proxy server hoạt động theo cơ chế xoay vòng. Khi có yêu cầu từ client đến thì vòng xoay được thiết lập với giá trị tương ứng với số lượng proxy server. Mỗi yêu cầu của client đến sẽ được đẩy cho một proxy server xử lý, yêu cầu thứ hai sẽ được đẩy cho proxy server kế tiếp, vòng xoay này sẽ được reset khi các proxy server đã được xoay hết một vòng. Để thiết lập thuật toán round-robin, cần cấu hình tại dòng chỉ định các proxy server láng giềng ở file cấu hình squid.conf .
Ví dụ:

_ Thiết lập tương tự cho các proxy server sibling khác.

CHƯƠNG 9. MÔ HÌNH XÂY DỰNG

_ Hệ thống xây dựng gồm 2 Squid proxy server chạy ngang hàng kết hợp shorewall, 1 Server dành cho LDAP và DNS.
_ Hệ thống mạng sử dụng Ipv4 với subnet là 172.16.1.0/24
_ Hệ thống có thể hoạt động ở chế độ transparent hoặc thông qua chứng thực bởi LDAP server.
_ Với 2 proxy server giúp hệ thống đạt khả năng HA và Load Balacing với thuật toán round-robin.
_ Quản lý access log thông qua gói Sarg.
_ Một số rule cơ bản:
+ Chỉ cho phép các client đi internet vào giờ giải lao.
+ Ngăn chặn truy cập vào một số trang web có nội dung không lành mạnh hoặc những trang web chứa nhiều mã độc.
+ Giới hạn truy cập cũng như download các dạng file nhạc, vieo,…
+ Giới hạn băng thông cho mỗi phiên kết nối là 50 MB.
TÀI LIỆU THAM KHẢO

1. Squid Proxy Server 31 Beginners Guide của Kulbir Saini
2. Squid: The Definitive Guide của Duane Wessels
3. Trang chủ Squid: www.squid-cache.org

Similar Documents

Free Essay

Computer

...Computer The word'computer ' is an old word that has changed its meaning several times in the last few centuries.The Techencyclopedia(2003) defines computer as " a general purpose machine that processes data according to a set of instructions that are stored internally either temorarily or permanently" Computer history The trem history means past events.It indicates the gradual development of computers.Here we will discuss how this extraordinary machine has reached of it's apex. In the begining............................... The history of computers starts out about 2000 years ago, at the birth of the 'abacus' a wooden rack holding two horizontal wires with breads strung on them.Just like our present computer,abacus also considered a digit as a singal or codeo and processed the calculation. Blasie Pascal ists usually credited to building the first digital computer in 1942.It added numbers to help his father.In 1671,Gottofried Wilhelm Von Leibniz invented a computer that was built in 1694.It could add,and, after changing somethings around,multiply. Charles Babbage: A serious of very intersting developement in computer was started in Cambridge,England,by Charles Babbage, a mathmatics proffessor.In 1982,Babbge realized that many lng calculations,espically those need to make mathematical tabes ,were really a series of predictable actions that were constantly repated.From this he suspected that it should...

Words: 995 - Pages: 4

Premium Essay

Computer

...Computer From Wikipedia, the free encyclopedia Jump to: navigation, search For other uses, see Computer (disambiguation). "Computer technology" redirects here. For the company, see Computer Technology Limited. A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem. Conventionally a computer consists of some form of memory for data storage, at least one element that carries out arithmetic and logic operations, and a sequencing and control element that can change the order of operations based on the information that is stored. Peripheral devices allow information to be entered from external source, and allow the results of operations to be sent out. A computer's processing unit executes series of instructions that make it read, manipulate and then store data. Conditional instructions change the sequence of instructions as a function of the current state of the machine or its environment. The first electronic computers were developed in the mid-20th century (1940–1945). Originally, they were the size of a large room, consuming as much power as several hundred modern personal computers (PCs).[1] Modern computers based on integrated circuits are millions to billions of times more capable than the early machines, and occupy a fraction of the space.[2] Simple computers...

Words: 6579 - Pages: 27

Free Essay

Computer

...A proxy server is a computer that acts as an intermediary between the users computer and the Internet. It allows client computers to make indirect network connections to other network services. If use proxy server, client computers will first connect to the proxy server, requesting some resources like web pages, games, videos, mp3, e-books, any other resources which are available from various servers over Internet. As soon as getting such request, the proxy server will seek for the resources from the cache in its local hard disk. If the resources have been cached before, the proxy server will return them to the client computers. If not cached, it will connect to the relevant servers and request the resources on behalf of the client computers. Then it caches resources from the remote servers, and returns subsequent requests for the same content directly Functions of a proxy server * Help improve web performance by storing a copy of frequently used webpages * Help improve security by filtering out some web content and malicious software * Content filtering * Spying * To keep machines behind it anonymous (mainly for security). * To speed up access to resources (using caching). Web proxies are commonly used to cache web pages from a web server. * To apply access policy to network services or content, e.g. to block undesired sites. * To log / audit usage, i.e. to provide company employee Internet usage reporting. * To bypass security/ parental...

Words: 691 - Pages: 3

Premium Essay

Computer

...ages before, when there were no computers or any other technologies. So much we have advanced that now every information is just a click away and is in your hands 24/7. All this advancement was possible only with the introduction of a small device called the “Computer”. Computers Image Curtsey: csntrust.org.nz/attachments/Image/PC-picture-1.jpg?1367216528141 Basically, computer is a device that accepts the message by the imputer and processes this message and stores the information at the storage devices and later gives an output of the message through the output devices. A simple explanation of the computer. Normally, a computer consists of a processing unit called the Central Processing Unit or the CPU and a form of memory. In the years between 1940 and 1945 were the first electronic digital computers developed. The initial sizes were as big as a room and consumed power as much as today’s personal computers. Initially, computer was related to a person who carries out calculations or computations and as such the word computer was evolved in 1613 and continued till the end of 19th century. Later it as re-described as a machine that carries computations. The early computers were limited in their functions. It was the fusion of automatic calculation and programmability that produced the first computers that were recognized in 1837. Charles Babbage in 1837 was the first to introduce and design a fully programmed mechanical computer, his analytical engine. Due to limited...

Words: 999 - Pages: 4

Free Essay

Computer

...Assembly Language Programming Lecture Notes Delivered by Belal Hashmi Compiled by Junaid Haroon Preface Assembly language programming develops a very basic and low level understanding of the computer. In higher level languages there is a distance between the computer and the programmer. This is because higher level languages are designed to be closer and friendlier to the programmer, thereby creating distance with the machine. This distance is covered by translators called compilers and interpreters. The aim of programming in assembly language is to bypass these intermediates and talk directly with the computer. There is a general impression that assembly language programming is a difficult chore and not everyone is capable enough to understand it. The reality is in contrast, as assembly language is a very simple subject. The wrong impression is created because it is very difficult to realize that the real computer can be so simple. Assembly language programming gives a freehand exposure to the computer and lets the programmer talk with it in its language. The only translator that remains between the programmer and the computer is there to symbolize the computer’s numeric world for the ease of remembering. To cover the practical aspects of assembly language programming, IBM PC based on Intel architecture will be used as an example. However this course will not be tied to a particular architecture as it is often done. In our view such an approach...

Words: 85913 - Pages: 344

Premium Essay

Computer

...new releases and upgrades are made available from time to time. The database administrator will be aware of any new versions or upgrades to existing versions that could improve the efficiency of a currently installed database. In some circumstances database administrators are authorized to upload free upgrades and install them. In the event that a new version is available, the administrator will check with others in the company to determine if the cost of replacing the existing database software is worth the investment. Earnings for this job as of 2012 median of $77,080 per year and about $37.06 per hour, but the earnings can reach up to about $118,720; in the top 10 percent. Entry level education for this job is a bachelor’s degree in computer science, information science, or management information systems. The Bureau of Labor Statistics projects 15.1 percent growth of employment for database administrators;...

Words: 318 - Pages: 2

Premium Essay

Computer

...ile Format: PDF/Adobe Acrobat - Quick View by G Vink - 1998 - Cited by 1 - Related articles software-hardware interface debugging in an embedded environment. ... materials and processes used in manufacturing semiconductors, through to electronic design tools, packaging .... Next to this, for him, peripheral simulation is ... www.tasking.com/resources/debugtechn-trends.pdf ► The Technology Of Hims: Hardware, Software, Peripheral And ... Nov 9, 2010 ... The Technology of HIMS: Hardware, Software, Peripheral and Processes. Healthcare Information Management Systems (abbreviated as HIMS) are ... www.termpaperwarehouse.com/...Technology-Of-Hims-Hardware-Software/ 25880 - Cached About: Macs - Macintosh Hardware & Software Reviews, Tips, Guides ... Jan 9, 2011 ... Get the inside scoop on Macintosh hardware and software, plus tips ... Take a look at the process my wife and I experienced when we took the ... macs.about.com/ - Cached - Similar Motion Computing - Tablet PCs and Peripherals - Alliance Partners ... Sharing databases and processes, they'll help you improve communication and ... B Sharp Technologies is a software and services company providing web-based healthcare ... medical record) and HIM (health information management) software to .... in software licenses, software upgrades, hardware, and IT support. ... www.motioncomputing.com/partner/alliance.asp - Cached - Similar Critical Success Factors in Establishing the Electronic Health ... The electronic health record...

Words: 426 - Pages: 2

Premium Essay

Computer

...What is Computer : Computer is an electronic device that is designed to work with Information.The term computer is derived from the Latin term ‘computare’, this means to calculate.Computer can not do anything without a Program.it represents the decimal numbers through a string of binary digits. The Word 'Computer'usually refers to the Center Processor Unit plus Internal memory. Computer is an advanced electronic device that takes raw data as input from the user and processes these data under the control of set of instructions (called program) and gives the result (output) and saves output for the future use. It can process both numerical and non-numerical (arithmetic and logical) calculations.The basic components of a modern digital computer are: Input Device,Output Device,Central Processor. A Typical modern computer uses LSI Chips. Charles Babbage is called the "Grand Father" of the computer.The First mechanical computer designed by charles Babbage was called Analytical Engine. It uses read-only memory in the form of punch cards. Four Functions about computer are: accepts data | Input | processes data | Processing | produces output | Output | stores results | Storage | Input (Data): Input is the raw information entered into a computer from the input devices. It is the collection of letters, numbers, images etc. Process: Process is the operation of data as per given instruction. It is totally internal process of the computer system. Output: Output...

Words: 1953 - Pages: 8

Premium Essay

Computers

...The History of Computers From primitive abaci to lab tops and calculators, the computer has evolved through time to become the essential part of our technocratic society. The development of the computer has shaped the way technology and science is viewed in different cultures around the world. The connotation of what a computer is nowadays brings to mind a monitor, keyboard, processor and its other electronic components; however, that is not how things have always been. From the Chinese using abaci to count, to the Druids' usage of stones to follow the seasonal changes, to the Europeans using Pascalines and calculators to work out mathematical problems the concept of the computer has been around for hundreds of years (Hoyle). Therefore, the history of computers is important to observe not only for the influence it brought to our culture, but the progress it has made through time. The history of modern computers has been influenced by the earlier advancement of primordial technology. The abacus developed in circa 500 B.C for example, used pebbles, rocks, beads, or shells to keep track of the counters numbers. Furthermore, "the abacus was man's first attempt at automating the counting process" (Hoyle). In addition, the Pascaline, invented and built by a French philosopher and mathematician Blaise Pascal, was the first mathematical adding machine (Long 54). The Pascaline was a gear-driven machine that allowed the user to calculate answers without doing arithmetic (Hoyle). In...

Words: 803 - Pages: 4

Premium Essay

Computer

...Computer A computer is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format. A computer can process data, pictures, sound and graphics. They can solve highly complicated problems quickly and accurately. Block Diagram Input Unit: Computers need to receive data and instruction in order to solve any problem. Therefore we need to input the data and instructions into the computers. The input unit consists of one or more input devices. Keyboard is the one of the most commonly used input device. Other commonly used input devices are the mouse, floppy disk drive, magnetic tape, etc. All the input devices perform the following functions.  Accept the data and instructions from the outside world.  Convert it to a form that the computer can understand.  Supply the converted data to the computer system for further processing. Storage Unit: The storage unit of the computer holds data and instructions that are entered through the input unit, before they are processed. It preserves the intermediate and final results before these are sent to the output devices. It also saves the data for the later use. Memory Size: All digital computers use the binary system, i.e. 0’s and 1’s. Each character or a number is represented by an 8 bit code. The set of 8 bits is called a byte. A character occupies 1 byte space. A numeric occupies 2 byte space. Byte is the space occupied in the memory. The size of the primary storage...

Words: 9444 - Pages: 38

Premium Essay

Computer

...COMPUTER HARDWARE AND COMPONENTS COMPUTER HARDWARE AND COMPONENTS Computer Basics     Equipment (Hardware) COMPUTER | A machine that processes information and performs computations. | Tower or Desktop | The "box" or case that holds the parts that make up a computer:  CPU, hard disk drive, floppy drive, memory chips, power supply, interface cards, etc. Click here to learn more. | |      CPU | Central Processing Unit, or "brains" of the computer | Monitor | An output display device (looks similar to a TV) in a computer system.  You see information on the monitor's screen. | |      Screen | The viewing area on a monitor or the information or image displayed. | | | | Disk Drive | A device that reads data from (input) or records data onto a disk for storage (output). |     Floppy  | Floppy Drive | . 3-1/2" Floppy Disk |     Hard Drive | The main device that a computer uses to store information. Most computers come with a hard drive, called drive C, located inside the computer case. |     CD-ROM | ROM means Read-Only-Memory - you can only "read" information, not save. A CD can store a large amount of data including documents,  photographs, software, and music (about 20 songs) | | CD Drive | Compact Disk | | CD-R A CD-Recordable drive can put data onto a disk in just one session, and then is "closed" - one "burn" only - you can't add to it after you create it.  | CD-RW A CD-ReWritable drive can be written onto more than once - similar...

Words: 2913 - Pages: 12

Premium Essay

Computer

...(introduction) What is a Computer? B. History of computers C. (thesis) Types of computer 4.1 Supercomputer 4.2 Mainframe 4.3 Workstation 4.4 The Personal Computer or PC 4.5 Microcontroller 4.6 Server D. Hardware & software 5.7 hardware 5.8 software 5.9 firmware E. Basic operations 6.10 input 6.11 output 6.12 processing 6.13 storage F. Names for different sizes of data 7.14 Bit 7.15 Byte 7.16 kB 7.17 MB 7.18 GB 7.19 TB 7.20 PB G. Measurement of data speed 8.21 Mbps 8.22 Gbps H. Purpose of computer 9.23 performing calculations 9.24 storing data 9.25 retrieving data 9.26 processing data INTRODUCTION: WHAT COMPUTER IS? I. What is computer? A computer is a "box" that you put some "stuff" in, the box does "stuff" with it, and then the box has some way of showing the world what it's done. The stuff you put into a computer is called data, and gets into the computer using the input. Data is simply a form of information. You can put data into a computer by your keyboard, a mouse, a trackpad, a camera, an infrared sensor; anything that will give the computer more information about the world around it. Based on what information the computer has gotten, it can decide to do stuff with it. What the computer does with information is known as processing. A computer will process information...

Words: 2841 - Pages: 12

Premium Essay

Computer

...types of computers, the computers are classified according to their functions and capabilities, as: Sample essay analysis ... Types of Computers - College Essay - Scodger - StudyMode.com www.studymode.com › ... › Computers & Internet › Computer Hardware‎ Types of computers. Firstly, what is a computer? Well, a modern computer is typically an electronic or digital device that manipulates data. Computers can ... Types of Computers - Term Papers - Maliktaimurarif www.termpaperwarehouse.com › Computers and Technology‎ May 9, 2012 - Read this essay on Types of Computers . Come browse our large digital warehouse of free sample essays. Get the knowledge you need in ... History of Computers Essay - Custom Writing Service www.customwritings.com/blog/...essays/history-computers-essay.html‎ You can order a custom essay, term paper, research paper, thesis or dissertation on History of Computers topics at our professional custom essay writing service ... Computer Technology Essay - Custom Writing Service www.customwritings.com/blog/...essays/computer-technology-essay.html‎ Free sample essay on Computer Technology: Since the beginning of time ... Computers play a significant role in the school system as well. ... Categories. Essay of computer and its uses - WikiAnswers wiki.answers.com › ... › Categories › Technology › Computers‎ ... Categories > Technology > Computers > Essay of computer and its uses? ... computer is a...

Words: 470 - Pages: 2

Premium Essay

Computers

...Computers Today’s generation could never ever imagine in their wildest dreams about the world, ages before, when there were no computers or any other technologies. So much we have advanced that now every information is just a click away and is in your hands 24/7. All this advancement was possible only with the introduction of a small device called the “Computer”. Basically, computer is a device that accepts the message by the imputer and processes this message and stores the information at the storage devices and later gives an output of the message through the output devices. A simple explanation of the computer. Normally, a computer consists of a processing unit called the Central Processing Unit or the CPU and a form of memory. In the years between 1940 and 1945 were the first electronic digital computers developed. The initial sizes were as big as a room and consumed power as much as today’s personal computers. Initially, computer was related to a person who carries out calculations or computations and as such the word computer was evolved in 1613 and continued till the end of 19thcentury. Later it as re-described as a machine that carries computations. The early computers were limited in their functions. It was the fusion of automatic calculation and programmability that produced the first computers that were recognized in 1837. Charles Babbage in 1837 was the first to introduce and design a fully programmed mechanical computer, his analytical engine. Due to limited finances...

Words: 986 - Pages: 4

Premium Essay

It on Computers

...The computer is the most wonderful gift of science to the modern man. The computer can do all the works of man. Thus, after the invention of computer, the gap between man and machine has been bridged up. The dictionary meaning of the word "Computer" is an electronic calculating machine. It is derived from the word compute which means to reckon. But the function of the computer has expanded beyond the act of reckoning. Though a machine, it contains and provides innumerable information's and artificial intelligence of a very high order. It may seem strange, but it is true that the memory and intelligence of a computer can surpass those of a living human being. The mechanism of the computer is very simple. Information processing is the essence of computing. It is a data based machine. The data is fed into the machine. The machine is manipulated and then the due information is retrieved. Computer was invented due to the pressures of World War-II which witnessed the use of such sophisticated weapons as night bombers, submarines, and long range guns on ships and tanks, etc. The defenders have to fight back by shooting at targets and those targets of the enemy can be located by radar. Radar can inform not only about the location of the enemy but also about the direction and the speed of the enemy weapons. Detailed mathematical calculations are necessary to find out these things accurately. Firing tables are required by the front line soldiers. Thus the necessity of calculations...

Words: 584 - Pages: 3