1. Trang chủ
  2. » Luận Văn - Báo Cáo

tối ưu hóa hệ thống linux

84 994 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 1,28 MB

Nội dung

Nói đến Kernel là nói đến những phần mềm, ứng dụng ở mức thấp low - level trong hệ thống, có khả năng thay đổi linh hoạt để phù hợp với phần cứng.Monolithic kernels: Trong một Monolithic

Trang 1

LỜI CẢM ƠN

Sau gần 3 tháng tìm hiều và thực hiện, đề tài “tối ưu hóa hệ thống Linux” đã được hoàn thành, ngoài sự cố gắng của bản thân, chúng tôi còn nhận được nhiều sự động viên, khích lệ từ gia đình, thầy cô và bạn bè

Chúng em xin chân thành cảm ơn các thầy cô của trường Đại Học Giao Thông Vận Tải TP HCM đã truyền đạt nhiều kinh nghiệm và kiến thức quý báu cho chúng

em trong suốt quá trình học tập Đặc biệt chúng em xin tỏ lòng biết ơn sâu sắc tới thầy Lê Quốc Tuấn đã trực tiếp hướng dẫn chúng em làm đề tài và các thầy cô trong khoa công nghệ thông tin đã tận tình giúp đỡ chúng em trong suốt quá trình thực hiện đề tài

Thành quả đạt được ngày hôm nay là do thầy cô luôn sẵn sàng giúp đỡ và tạo mọi điều kiện tốt nhất cho chúng em Chúng em sẽ mang theo kiến thức thầy cô đã dạy phục vụ trên con đường sự nghiệp và phát triển, mở rộng kiến thức thầy cô đã dạy

Mặc dù đã cố gắng hết sức để hoàn thành đề tài này, nhưng chắc chắn sẽ không tránh khỏi những sai sót Chúng em rất mong nhận được sự thông cảm và đóng góp, chỉ bảo tận tình của quý thầy cô và bạn bè

TP Hồ Chí Minh, Ngày… Tháng… Năm 2012

Nhóm sinh viên thực hiện

Lê Thái Dương–Vũ Văn Phong

Trang 2

MỤC LỤC

LỜI CẢM ƠN i

MỤC LỤC ii

DANH SÁCH CÁC HÌNH vi

TỪ VIẾT TẮT vii

TỔNG QUAN 1

CHƯƠNG 1: TỔNG QUAN VỀ TỐI ƯU VÀ BẢO MẬT LINUX 4

CHƯƠNG 2: TỐI ƯU DỊCH VỤ WEB SERVER 11

CHƯƠNG 3: TỐI ƯU HỆ THỐNG VỚI PROXY 22

CHƯƠNG 4: TỐI ƯU HỆ THỐNG VỚI FIREWALL 32

CHƯƠNG 5: LOAD BALANCING 43

KẾT LUẬN 56

HƯỚNG PHÁT TRIỂN 57

DANH MỤC TÀI LIỆU THAM KHẢO 58

PHỤ LỤC CÁCH TRIỂN KHAI MỘT SỐ DỊCH VỤ CẦN THIẾT 58

Trang 4

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Tp Hồ Chí Minh, ngày … tháng … năm 201…

Giáo viên hướng dẫn ThS: Lê Quốc Tuấn

Trang 5

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Tp Hồ Chí Minh, ngày … tháng … năm 201…

Giáo viên phản biện

Trang 6

DANH SÁCH CÁC HÌNH

Hình 1.2: Cấu trúc Microkernels 5

Hình 1.3: Cấu trúc Hybrid Kernel 6

Hình 2.1: Quá trình xử lý các Request của apache với ModSecurity 14

Hình 3.1: Giới hạn truy cập trang web không cho phép 27

Hình 3.2: Host không bị giới hạn có thể truy cập vào những trang cấm 28

Hình 3.3: Download đã bị giới hạn 30

Hình 3.4: Chứng thực username và password khi truy cập web thông qua proxy .31

Hình 4.1 Quá trình xử lý của Iptables 32

Hình 4.2: Bảng mô tả quá trình NAT động 32

Hình 4.3: Bảng mô tả quá trình đóng giả IP Masquerade 33

Hình 4.4: Kết nối telnet đến Server Linux 38

Hình 4.5: Không thể kết nối đến server linux thông qua telnet 39

Hình 4.6: Cho phép Packet đi qua interface eth0 và eth1 40

Hình 5.1: Cấu trúc hệ thống cân bằng tải 44

Hình 5.2: Mô hình cân bằng tải trong thực tế 45

Hình 5.3: Lập thông số cho Server Load Blancer 2 thông qua tab Redundancy .49

Hình 5.4: Thiết lập tên Server, giao thức cũng như kiểu phân tải phù hợp 49

Hình 5.5: Cấu hình cho các WebServer trong Piranha 50

Hình 5.6: Thiết lập thông số cho từng WebServer 50

Hình 5.7: Active trạng thái cho các WebServer 50

Trang 7

TỪ VIẾT TẮT

CPU Central Processing Unit Đơn vị xử lí trung tâm

RAM Random Access Memory Bộ nhớ truy xuất ngẫu nhiên

URL Uniform Resource Locator Tham chiếu tài nguyên

SQL Structured Query Language Ngôn ngữ truy vấn mang tính cấu

trúcMPMs Multi-Processing Modules Xử lý nhiều mô-đun

HTTP HyperText Transfer Protocol Giao thức truyền tải văn bản

HTTPS Hypertext Transfer Protocol

Secure

Giao thức truyền tải văn bản an toàn

XSS Cross-Site Scripting Một kỹ thuật tấn công

XML eXtensible Markup Language Ngôn ngữ đánh dấu mở rộng

HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn bản.URI Uniform Resource Identifier Định danh tài nguyên đồng dạng

FTP File Transfer Protocol Giao thức truyền tập tin

SSL Secure Sockets Layer Là 1 tiêu chuẩn an ninh công nghệ.CARP Common Address Redundancy

Protocol

Địa chỉ chung dư giao thức

ICP International Center of

PhotographWCCP Web Cache Communication

ACL Access Control List Điều khiển danh sách truy cập

NCSA National Center for

Supercomputing Applications

Trung tâm ứng dụng siêu máy tính quốc gia

NAT Network Address Translation Chuyển đổi địa chỉ mạng

TCP Transmission Control Protocol Giao thức điều khiển truyền vận.UDP User Datagram Protocol Là 1 giao thức cốt lõi của TCP/IP.ICMP Internet Control Message Là 1 giao thức hoạt động trên layer 2

Trang 8

Protocol

Trang 9

TỔNG QUAN

A Lý do chọn đề tài

Ngày nay, xu hướng sử dụng Open Source ngày càng gia tăng Với những ưu điểm như sự ổn định, miễn phí, cập nhật bản vá lỗi nhanh… Do vậy Linux ngày càng được sử dụng rộng rãi Ngày càng có nhiều doanh nghiệp và các tổ chức chính phủ sử dụng các phần mềm mã nguồn mở như Linux… Điều này chứng minh rõ ràng giá cả không phải là lợi thế duy nhất mà các phần mềm này mang lại cho người sử dụng

Trong giai đoạn suy thoái của nền kinh tế, việc sử dụng các phần mềm mã nguồn mở sẽ giúp doanh nghiệp tiết kiệm một khoảng chi phí không nhỏ Không chỉ có thế, các phần mềm mã nguồn mở miễn phí còn mang rất nhiều lợi ích khác cho công việc kinh doanh, một số lợi ích thậm chí còn lớn hơn cả các phần mềm giá

rẻ Đối với các doanh nghiệp ở Việt Nam, ý thức chú trọng áp dụng CNTT vào trong doanh nghiệp chưa được cao, đặc biệt là vấn đề bản quyền chưa được chú trọng đầu tư thì phần mềm mã nguồn mở sẽ là biện pháp thay thế hoàn hảo

Chính xu hướng đó mà chúng em đã đăng ký đềtài “Tối ưu hóa hệ thống mạng Linux”,Chúng em nhận thấy với những ưu điểm kể trên và xu hướng phát triển, thì việc áp dụng đề tài này vào trong doanh nghiệp là tất yếu ở hiện tại và tương lai

B Nhiệm vụ đồ án

Tối ưu hóa hệ thống Linux đòi hỏi phải có những thay đổi trên hệ thống Một

hệ thống sau khi được tối ưu phải có những ưu điểm khác biệt so với hệ thống khi chưa được tối ưu Vì thế nhiệm vụ đồ án đặt ra là:

o Tối ưu hóa hệ điều hành linux

o Tối ưu hóa bảo mật hệ thống linux

o Tối ưu hóa dịch vụ triển khai

Những triển khai tối ưu đòi hỏi phải được ứng dụng thức tế trong các mô hình mạng Giải quyết được các vấn đề về tối ưu và mở ra những giải pháp mới phù hợp, đáp ứng được từng mô hình mạng

Trang 10

C Cấu trúc đồ án

o Chương 1: Tổng quan về tối ưu và bảo mật linux Trong chương này chúng em sẽ giới thiệu về linux, tối ưu và bảo mật Những tối ưu cơ bản ảnh hưởng đến hệ thống được trình bày ở chương này

o Chương 2: Tối ưu dịch vụ Web server Chương này chúng em trình bày và triển khai yêu cầu tối ưu hóa dịch vụ linux Và dịch vụ Web server chúng

em triển khai trước tiên

o Chương 3: Tối ưu hệ thống với Proxy Trình bày về dịch vụ Proxy và những ràng buộc để tối ưu theo từng yêu cầu của dịch vụ Cấu hình proxy quản lý mô hình mạng tùy chỉnh

o Chương 4: Thiết lập Firewall IPtables Trình bày bảo mật hệ thống và những yêu cầu cần phải làm trong Firewall

o Chương 5: Load Balancing Tối ưu với phương pháp cân bằng tải Những vấn đề về cân bằng tải như tính năng, cách thiết lập và kiểm tra được chúng em giới thiệu trong chương này

Ngoài ra, phụ lục có cài đặt, triển khai những dịch vụ đi kèm hoặc cần làm trước khi triển khai những chương trên

Trang 11

D Mô hình triển khai

Trang 12

CHƯƠNG 1: TỔNG QUAN VỀ TỐI ƯU VÀ BẢO MẬT LINUX

1.1Cơ bản về tối ưu và bảo mật hệ thống linux.

1.1.1 Giới thiệu Linux kernel

Kernel – hạt nhân: là một thành phần trung tâm của một hệ thống điều hành

Nó hoạt động như một cổng kết nối giữa người sử dụng các ứng dụng và phần cứng Mục đích của hạt nhân chính là để quản lý các thông tin liên lạc giữa các phần mềm (ứng dụng cấp người dùng) và phần cứng (CPU, đĩa bộ nhớ, chuột, bàn phím…) Nhiệm vụ chính của hạt nhân là:

Ví dụ: như Process được tạo trong quá trình, kernel sẽ quản lý các Process này

sử dụng RAM như thế nào cho tối ưu nhất, không bị xung đột với nhau

Nói đến Kernel là nói đến những phần mềm, ứng dụng ở mức thấp (low - level) trong hệ thống, có khả năng thay đổi linh hoạt để phù hợp với phần cứng.Monolithic kernels:

Trong một Monolithic kernels, tất cả các dịch vụ trên hệ điều hành chạy cùng với các chuỗi hạt nhân chính, do đó chúng cùng nằm trong cùng một khu vực bộ nhớ

Trang 13

Hình 1.1: Cấu trúc Monolithic kernels

Cách tiếp cận này cung cấp truy cập phần cứng phong phú và mạnh mẽ Ví dụ: một chương trình muốn thu nhập thông tin từ bộ nhớ và các tiến trình khác, chúng cần có quyền truy cập trực tiếp và không phải chờ đợi các tác vụ khác kết thúc Ưu điểm lớn đó cũng khiến Monolithic gặp một khó khăn lớn đó là sự phụ thuộc giữa các thành phần hệ thống, khi một trình điều khiển bị lỗi nó có thể dẫn tới sự sụp đổ toàn bộ hệ thống

Microkernels

Microkernel (còn được viết tắt μK hoặc uK) là một thuật ngữ mô tả một cách tiếp cận để thiết kế hệ điều hành mà theo đó các chức năng của hệ thống được di chuyển ra khỏi "hạt nhân" truyền thống vào một tập hợp các "máy chủ" mà giao tiếp thông qua một hạt nhân "nhỏ nhất", để lại càng ít càng tốt trong "không gian hệ thống" và càng nhiều càng tốt trong "không gian người dùng" Với cách tiếp cận hệ thống như trên giúp cho người dùng rất dễ dàng để nhìn thấy, tiếp xúc với nhiều thứ khác nhau trong máy tính

Trang 14

Hình 1.3: Cấu trúc Hybrid Kernel

Hybrid kernel có cách tiếp cận kết hợp tốc độ và thiết kế đơn giản của một monolithic Kernel với sự an toàn mô đun và thực thi của một microkernel Cách tiếp cận này làm cho Hybrid kernel có khả năng lựa chọn và quyết định tốt nhất để cho phép ứng dụng nào chạy trong user nào là phù hợp nhất.Hybrid đảm bảo tính hiệu quả của hệ thống ở mức độ cao nhất

- M: cho Module, lựa chọn này có nghĩa là chỉ khi nào cần dùng các drivers này thì mới được ứng tải Lựa chọn này giúp tạo nên 1 hạt nhân nhỏ gọn và dễ dàng

Trang 15

di chuyển cho nhiều mục đích khác nhau.Với lựa chọn M này cũng giúp khả năng biên dịch lại một số Modeles nào đó muốn cập nhật lại.

- Y: cho biên dịch trực tiếp vào nhân: Lựa chọn này có nghĩa là dù các Drivers

có được dùng hay không vẫn được tải lên khi Kernel khởi động và tất nhiên nó chiếm một phần bộ nhớ Ưu điểm của lựa chọn này là một khi Drivers đã được biên dịch vào nhân thì không còn quan ngại đến tính trung thực của nhân và các Drivers nữa Lựa chọn này làm tăng tính bảo mật vì khi đã được biên dịch thẳng vào Kernel thì tránh được trường hợp các modules không tin cậy cài vào nhân lúc nào đó trong quá trình hoạt động của máy Khi các Drivers cần thì đã có sẵn và không cần tải nữa

- N: không cho biên dịch vào nhân

Lý do cần để biên dịch lại Kernel:

- Chữa lỗi của Kernel, nếu các lỗi này thuộc về lõi của nhân thì phải vá ngồn của nhân và biên dịch lại để sửa chữa các lỗi được công bố

- Nâng cao hiệu quả của nhân

- Loại bỏ những Drivers không dùng tới

- Thử nghiệm Modules do mình tạo ra

Thông thường nơi chứa mã nguồn để biên dịch Kernel là usr/src Để biên dịch hạt nhân không xảy ra sai sót chúng ta lưu ý 2 vấn đề sau

- Có đủ chỗ chứa trên ổ đĩa, ít nhất là phải có đủ chỗ chứa cho mã nguồn (trước và sau khi xả nén), chỗ chứa để cài Kernel và các modules mới sau khi biên dịch Vấn đề này bây giờ không còn là trở ngại vì ổ lưu trữ dữ liệu của các máy hiện tại rất lớn

- Phải có bộ công cụ cần thiết và đúng phiên bản Điều này rất quan trọng vì phiên bản công cụ cho mỗi phiên bản nhân là khác nhau Ví dụ công cụ Gnu C trên kernel 2.4 tối thiểu phải là Gnu C 2.91.66

1.1.2 Cấu hình thiết lập tối ưu kernel

Trước khi sử dụng các công cụ để cấu hình lại Kernel ta nên sử dụng

lệnhmake mrproper

Trang 16

Lệnh này làm cho mã nguồn được sạch sẽ trước khi biên dịch.

Để biên dịch Kernel, chúng ta cần di chuyển vào thư mục /usr/src/kernels/ chứa kernel Có 3 phương tiện config phổ biến dùng biên dịch kernel:

• Make config: phương tiện đơn giản nhất và không đòi hỏi thêm thư viện nào

khác để chạy công cụ này Sử dụng lệnh này sẽ đưa ra 1 loạt câu hỏi và nhận các câu trả lời Y – M - N của bạn.Nhược điểm của lệnh này là khi các chúng ta có lỡ lựa chọn sai câu trả lời thì chúng ta không thể quay lại điều chỉnh mà phải bắt đầu lại từ đầu Phương tiện này chỉ phù hợp với ai rất kinh nghiệm và nắm rõ mình cần

gì trong cấu hình kernel

• Make menuconfig: phương tiện này cần thêm thư viện “ncurses” để tạo giao

diện đồ họa Với công cụ này bạn có thể quay lại thay đổi những lựa chọn sai mà không phải bắt đầu lại từ đầu Menuconfig có đặc tính trợ giúp, nếu bạn chưa nắm

rõ giá trị hoặc module nào đó ở lựa chọn thì menuconfig có “trợ giúp hữu cảnh” giúp chúng ta hiểu và lựa chọn đúng cho các giá trị hoặc module

• Make xconfig: phương tiện này được sử dụng rộng rãi vì nó rất linh hoạt,

nhất là trong những hệ thống chạy X Windows, xconfig cần trọn bộ thư viện Qt và

X Window để tạo các giao diện đồ họa Ngoài các phím chức năng, chúng ta còn có thể sử dụng chuột để chọn lựa chọn của mình

1.2 Các bước biên dịch Kernel

1.2.1 Tạo dependency, dọn dẹp và tạo nhân

Để tạo dependency và mục đích dọn dẹp chúng ta có thể sử dụng các lệnh sau:

# make dep

#make clean

#make bzImage

Hoặc ta có thể gom chung lại thành 1 lệnh:

# make dep clean bzImage

Lưu ý: Nếu chạy lệnh dep, clean, bzImage riêng biệt thì chúng ta phải chờ cho lệnh được thực hiện lần lượt Tức là lệnh dep hoàn thành thì chạy lệnh clean,

Trang 17

cleanhoàn thành chạy đến bzImage, nếu chạy lệnh gom chung 3 lệnh làm 1 thì

chúng ta không phải chú ý đến vấn đề đó vì nó sẽ tự động chạy theo lần lượt

−dep: Tạo các dependencies và các file nbao gồm includes cần thiết trong quá trình biên dịch nhân

− clean: Dùng đê dọn dẹp tất cả những opjects vụn, không cần thiết cho quá

trình tạo file ở dep

−bzImage: Là bước tạo nhân, cũng là bước quan trọng nhất Nếu 1 trong 2

bước trên gặp lỗi thì chúng ta phải làm lại để chạy bước bzImage này Lệnh này còn được rút ngắn lại và có chứng năng tương tự: #make zImage

1.2.2 Tạo modules và cài modules

Để tạo Modules cho hạt nhân, ta có 2 lệnh sau:

# make modules

#make modules_install

Hoặc làm chung trên 1 lệnh:

# make modules modules_install

Điểm khác biệt giữa hai dòng lệnh này:

− Bạn có thể chỉ muốn biên dịch Modules mà không muốn cài cho kernel ngay sau khi biên dịch xong

− Bạn muốn biên dịch kernel trên máy này và đem qua máy khác cài

Rất ít trường hợp biên dịch 1 máy rồi đem qua 1 máy khác cài nên thông thường người sử dụng muốn biên dịch và cài đặt luôn thì có thể sử dụng câu lệnh đi chung biên dịch và cài đặt luôn

Nếu bạn chọn chạy 2 lệnh lần lượt: biên dịch xong mới cài thì có một điểm lưu ý bạn phải chạy ở chế độ Super user (root), vì chỉ có quyền này mới install được Modules vừa được biên dịch Ví dụ hướng dẫn:

Chạy bằng user bình thường: #make modules

Chuyển sang supper user: #su

Cài đặt modules vừa biên dịch xong: #make modules_install

Đối với phiên bản kernel 2.6.x các bạn có thể tham khảo chi tiết về thông tin modules tổng quát và cách sử dụng modules (thuộc user space) trong 3 hồ sơ chi

Trang 18

tiết: module.txtvà ./Documentation/sound/oss/README.modules thuộc mã nguồn kernel mà bạn dự định sẽ biên dịch.

Trang 19

./Documentation/kbuild/modules.txt,./Documentation/networking/net-CHƯƠNG 2: TỐI ƯU DỊCH VỤ WEB SERVER

2.1 Cơ bản về tối ưu Web Server

Việc tối ưu ứng dụng Web không chỉ mang lại hiệu suất cao cho Web Server

mà còn làm tăng khả năng bảo mật cho dịch vụ có thể coi là một trong những phần không thể thiếu trong hệ thống Linux

Phần này sẽ tập trung nghiên cứu việc tối ưu dịch vụ Web Server

- Thiết lập một số directive default trong httpd.conf để giảm thiểu việc lộ thông tin cấu hình của máy chủ hoặc các tác vụ không cần thiết:

• TraceEnable Off: Disable TRACE request method

• ServerSignature Off: Disable việc thể hiện các thông tin về máy chủ (apacheversion, các mod đang sử dụng ) ở footer các page do server generate ra, một phần nào đó cũng giảm thiểu được bandwidth

• ServerTokens Prod: Chỉ thể hiện "Server: Apache" trong header trả về thay vì"Server: Apache 2.2.16" hoặc "Server: Apache 2.2.16/mod_abc,mod_xyz"

• UseCanonicalName Off: Disable việc sử dụng CanonicalName

• HostnameLookups Off: Disable tính năng lookup hostname từ IP address của client

Mặc định KeepAlive Off

Nếu KeepAlive được bật, Server có thể nhanh chóng sinh ra số lượng tối đa

Trang 20

của tiến trình con (Maximum number of child processes) và làm máy chủ chậm lại đáng kể.

Khi bật tính năng này, bạn cần xem xét chỉnh lại tham số KeepAliveTimeout

và theo dõi /var/log/httpd/error_log trên server Log này sẽ báo khi nào Server hết tiến trình con

Đặt số lượng tối đa các Request cho phép cho mỗi connection liên tục

MaxKeepAliveRequests được thiết lập để mặc định là 100

Trang 21

Số lượng lớn nhất Child Processes idle (nhàn rỗi).

- MaxRequestsPerChild:

Chỉ thị này thiết lập số lượng Request lớn nhất mà mỗi Child Processes phải

xử lí trước khi nó được tái tạo

Nên thiết lập giá trị này lớn hơn 1000.Thiết lập là 0 nếu unlimited

Giá trị này được tính bằng công thức :

Tổng lượng request một ngày / Tổng số Processes một ngày

Nếu có yêu cầu KeepAlive, chỉ yêu cầu đầu tiên được tính vào giới hạn này.Trong thực tế, nó thay đổi hành vi để hạn chế số lượng kết nối cho mỗi Child Processes

2.2 Tối ưu dịch vụ Web Server với ModSecurity:

2.2.1 Cơ bản về ModSecurity:

Mod_security là một module của Apache, là một web application firewall(WAF), nó thiết lập một lớp an ninh bên ngoài để tăng cường độ an toàn, phát hiện và ngăn chặn các cuộc tấn công trước khi chúng được thực thi

Phân tích tỉ mỉ và log toàn bộ các hoạt động của giao thức http như request, response

Theo dõi lưu lượng gói tin http (HTTP trafic)theo thời gian thực để sớm phát hiện các cuộc tấn công tượng tự như hệ thống web intrusion detection, chủ động theo dõi những request để phát hiện những điểm không bình thường, các gói tin này

sẽ bị log hoặc bị loại bỏ

Modsecurity hoạt động dựa trên các rules.Đó là tập hợp các dấu hiệu dùng để nhận biết và phát hiện các cuộc tấn công Thông thường, mỗi dạng tấn công, ví dụ SQL injection hoặc XSS hoặc Files Inclusion hoặc Local attack đều có những dấu hiệu riêng, từ đó người quản trị có thể phân tích các request và đưa ra các rules để ngăn chặn các cuộc tấn công này

2.2.2Cấu trúc các rules

SecRule Target Operator [Actions]

- Target:

Trang 22

Quy định cụ thể mục tiêu của request hoặc response mà chúng ta muốn kiểm tra.

Hiện có hơn 70 biến có thể được sử dụng để tạo rule

Ngoài ra còn có một loại biến đặc biệt được gọi là biến collection có thể chứa nhiều đối số.Một ví dụ về collection là ARGS, trong đó có chứa tất cả các đối số

- Operator:

Chỉ định các phương thức, phép so sánh dữ liệu được sử dụng khi thực hiện khớp với các biến cụ thể hoặc các biến Operator mặc định, nếu không được chỉ định, là @rx, tức là rule engine sẽ sử dụng biểu thức chính quy để khớp xâu với biến cụ thể nào đó

- Action:

Hành động sẽ được áp đặt khi một luật được khớp (rule match) Những hành động này có thể là cho phép hoặc từ chối request và chỉ định mã lỗi trả về, … Nếu không có action nào được quy định, các action mặc định của action SecDefaultAction sẽ được sử dụng (rule chứa action này thường được khai báo đầu tiên)

Hình 2.1: Quá trình xử lý các Request của apache với ModSecurity

Trang 23

Mod_security xử lý 1 request theo5 phase, từ bản 2.x trở đi có thể áp các rules vào cả 5 phase này:

- Phase Request Header

Rule được đặt tại đây sẽ được thực hiện ngay say khi Apache đọc request header, lúc này phần request body vẫn chưa được đọc

- Phase Request Body

Thời điểm các thông tin chức năng chung đưa vào được phân tích và xem xét, các rule mang tính application-oriented thường được đặt ở đây Ở thời điểm này đã nhận đủ các request argument và phần request body đã được đọc

ModSecurity hỗ trợ ba loại mã hoá request body

• application/x-www-form-urlencoded dùng để truyền form dữ liệu

• multipart/form-data dùng để truyền file

• text/xml dùng để phân tich dữ liệu XML

- Phase Response Header

Thời điểm ngay sau khi phần response header được gửi trả về cho client Đặt rule ở đây nếu muốn giám sát quá trình sau khi phần response được gửi đi

- Phase Response Body

Thời điểm bạn muốn kiểm tra những dữ liệu HTML gửi trả về

2.2.3 Cài đặt và cấu hình ModSercurity.

Cài đặt thư viện:

Kiểm tra các gói thư viện cần thiết, ModSecurity yêu cầu có 4 thành phần sau trước khi biên dịch:

− Apxs: Kiểm tra bằng cách:

whereis -b apxs

Trang 24

apxs: /usr/sbin/apxs

− Nếu chưa có, chúng ta phải cài thêm gói httpd-devel (hay apache2-dev)

yum install libxml2-devel (hoặc apt-get install libxml2-dev)

− Pcre: Kiểm tra bằng cách:

whereis pcre

pcre: /usr/include/pcre.h /usr/share/man/man3/pcre.3.gz

− Nếu chưa có thì chúng ta phải cài thêm gói pcre-devel:

yum install pcre-devel (hoặc apt-get install pcre-dev)

−Mod_unique_id: Là mod thường đã được biên dịch cùng Apache Có thể kiểm tra lại bằng cách tìm trong httpd.conf dòng:

LoadModule unique_id_module modules/mod_unique_id.so

Nếu chưa có, chúng ta phải thêm vào với nội dung như trên

configure: creating /config.status

config.status: creating Makefile

config.status: creating build/apxs-wrapper

config.status: creating mlogc-src/mlogc-batch-load.pl

Trang 25

config.status: creating t/run-unit-tests.pl

config.status: creating t/run-regression-tests.pl

config.status: creating t/gen_rx-pm.pl

config.status: creating t/csv_rx-pm.pl

config.status: creating t/regression/server_root/conf/httpd.conf

config.status: creating /tools/rules-updater.pl

config.status: creating mlogc-src/Makefile

config.status: creating mod_security2_config.h

− Tiến hành biên dịch makeSau khi biên dịch thành công file mod_security2.so sẽ được tạo ra trong thưmục libs

Tích hợp ModSecurity vào Apache

Để Apache nhận ra sự tồn tại của ModSecurity chúng ta cần copy mod_security2.so đến thư mục chứa modules của apache, đối với distro CentOS là

Trong CentOS các file cấu hình riêng mặc định chứa trong /etc/httpd/conf.d/Tiến hành tạo file modsecurity.conf

Vi/etc/httpd/conf.d/modsecurity.conf

Trang 26

Thêm vào các thông số cấu hình cơ bản.

# rule thu nghiem block tat ca request co uri chua "shell"

SecRule REQUEST_URI "shell"

</IfModule>

Thực hiện thử nghiệm để kiểm tra hoạt động của ModSecurity Tiến hành tạo

2 file trong thư mục web, shell.html và index.html chẳng hạn Khi chúng ta truy cập vào file index.html thì trình duyệt trả về kết quả bình thường, còn khi truy cập vào shell.html thì trình duyệt báo lỗi:

404 – Forbidden

Đó là kết quả do ModSecurity đã chặn những URI có chứa chuỗi shell và cũng đồng nghĩa với việc ModSecurity đã hoạt động

2.2.4 Tối ưu Web Server với ModSercurity:

2.2.4.1 Khóa một số request với thời gian chỉ định:

Muốn tăng bảo mật cho website, chỉ cho phép truy cập vào thời gian mong muốn (trong thời gian làm việc chẳng hạn) Chúng ta sẽ cần đến biến TIME_HOUR cùng một số thiết lập để thực hiện việc này

SecRule TIME_HOUR !^(08|09|10|11|12|13|14|15|16|17)$ deny

2.2.4.2 Ngăn chặn các phương thức không mong muốn :

HTTP hỗ trợ rất nhiều phương thức, nếu một web server hỗ trợ WebDAV (Web-based Distributed Authoring & Versioning), tổng số phương thức hỗ trợ có thể lên đến 30

Vì vậy, việc ngăn chặn những phương thức không sử dụng có thể phần nào hạn chế được những lỗ hổng của Apache do các phương thức này gây ra

Trang 27

Ba phương thức thường được sử dụng: GET, POST, HEAD Nếu muốn ngăn chặn các phương thức còn lại, chỉ cho phép ba phương thức này hoạt động ta thêm dòng code sau:

SecRule REQUEST_METHOD “!^(GET|PORT|HEAD)” “deny,status:405” 2.2.4.3 Cảnh báo tấn công thông qua email:

Email cảnh báo rất hữu ích cho người quản trị web server để nhanh chóng khắc phục được sự cố khi gặp tấn công

Giả sử rằng chúng ta muốn thực hiện một script để gởi cho người quản trị web server email cảnh báo ModSecurity phát hiện hacker đang khai thác lỗi SQL injection Để làm điều này, chúng ta cần hai bước:

- Viết một file script có khả năng gởi email cảnh báo đến một địa chỉ email chỉ định Chúng ta có thể sử dụng một standard shell script gọi /bin/sh gửi email thông báo cho abc@gmail.com

Tạo một file có tên email.sh trong thư mục /usr/local/bin có nội dung:

#!/bin/sh

echo "Mot cuoc tan cong sql injection da bi chan"|mail –s "ModSecurity Alert" <a href="mailto:abc@gmail.com"> abc@gmail.com</a >

echo Done.

Nếu được kích hoạt, script sẽ gởi email đến địa chỉ abc@gmail.com với tiêu

đề ModSecurity Alert Cuối script là chuỗi Done để ModSecurity nhận biết đã thực thi script thành công Viết rule để kích hoạt script khi có tấn công sql injection

SecRule ARGS “drop table” “deny,exec:/usr/local/bin/email.sh”

Chúng ta có thể có nhiều thông tin hơn về cuộc tấn công được gửi đến email (các thông tin như IP, request URI, )

ModSecurity cho phép chúng ta thiết lập các biến môi trường thông qua action setenv Giả sử chúng ta muốn thu thập các thông tin sau khi phát hiện tấn công SQL injection:

• Tên máy của server nơi xảy ra cảnh báo

• Địa chỉ IP và tên máy của hacker

Trang 28

SecRule ARGS "drop table" "deny,t:lowercase,setenv:HOSTNAME=% {SERVER_NAME}, setenv:REMOTEIP=% {REMOTE_ADDR},setenv:REQUESTURI=

Attacking IP: $REMOTEIP

Attacking host: $REMOTEHOST

Request URI: $REQUESTURI

Trang 29

SecAction "initcol:ip=%{REMOTE_ADDR},pass,phase:1"

# kiem tra truy cap den thu muc administrator

SecRule REQUEST_URI "^/administrator/"

"pass,phase:1,setvar:ip.attempts=+1,expirevar:ip.attempts=600"

# Da duoc xac thuc hay chua?

SecRule REQUEST_URI "^/administrator/" "chain,pass,phase:3"

# Neu da duoc xac thu, set counter to 0

SecRule RESPONSE_STATUS "^2 $" "setvar:ip.attempts=0"

# Deny neu 5 lan xac thuc khong thanh cong

SecRule IP:ATTEMPTS "@gt 5" "phase:1,deny"

Trang 30

CHƯƠNG 3: TỐI ƯU HỆ THỐNG VỚI PROXY

3.1 Cơ bản về dịch vụ Squid Proxy

3.1.1 Giới thiệu về Squid Proxy

Squid là một chương trình internet proxy-caching 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 Đồng thời, nó sẽ lưu lên đĩa những dữ liệu được trả về từ internet server- gọi caching 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 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

3.1.2 Giao thức hỗ trợ trên Squid Proxy

Squid proxy hỗ trợ những giao thức sau:

- Proxying and caching of HTTP, FTP, and other URLs

- Proxying for SSL

- Cachinh hierarchies

- ICP, HTTP, CARP, Cache Digests

- Transparent caching

- WCCP- Web Cache Communication Protocol

- Extensive access controls

- HTTP server acceleration

- SNMP

- Caching of DNS lookups

3.1.3 Những điểm tối ưu mà Proxy mang lại:

Squid có khả năng chia sẽ dữ liệu giữa những cache với nhau.Việc chia sẻ này mang lại những lợi ích như:

Trang 31

- User Base: Nếu số lượng client truy cập internet thông qua proxy càngnhiều thì khả năng một đối tượng nào đó được yêu cầu 2 lần sẽ cao hơn.

- Giảm tải truy xuất cho đường truyền

- Disk space: nếu bạn chuyển cân bằng giữa các cache với nhau sẽ tránh

được việc sao lại dữ liệu đã lưu Dó đó dung lượng đĩa cứng dành cho việc lưu trữ cache sẽ giảm

3.1.4 Hệ thống file và thư mục của Squid Proxy:

- /usr/sbin: Lưu những thư viện của squid

- /etc/squid: Lưu các tập tin cấu hình chính squid

- /usr/local/squid: thư mục cài đặt squid

- /usr/local/squid/bin: thư mục lưu binary squid và những tool được hỗ trợ

- /usr/local/squid/cache: thư mục lưu những dữ liệu được cache Đây là thư mục mặc định, bạn có thể thay đổi vị trí thư mục này

- /usr/local/squid/etc: những tập tin cấu hình squid nằm trong thư mục này

- /usr/local/squid/src: thư mục lưu source code squid được download từ net

- /var/log/squid: Lưu các tập tin log của squid

3.2 Cấu hình Squid Proxy

3.2.1 Tập tin cấu hình

Tất cả cá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 trong quyết định sự hoạt động của Squid là squid.conf Trong tập tin cấu hình này có 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 “#” Chúng ta chỉ cần thay đổi 8 tùy chọn cơ bản là squid hoạt động được

Trang 32

Mặc định: http_port 3128 Ta thường thay đổi cổng này là 8080 và đượckhai

báo như sau: http_port 8080

- icp_port<port>: Cấu hình cổng để gửi và nhận ICP queries

- Cache_mem: Chỉ định bộ nhớ thích hợp cho các đối tượng

- Cache_dir: Cấu hình thư mục lưu trữ dữ liệu được cache, thư mục này cókích thước mặc định là 100MB

Cache_dir ufs /usr/local/squid/cache 100 18 256

Level: 16, level 2:256

- Cache_access_log: chỉ ra tập tin nơi lưu trữ log

- Dead_peer_timeout 10 seconds: thời gian lắng nghe kết nối

- Cache_effective_user, cache_effective_group: người dùng và nhóm cóthể thay đổi squid

- Cache_swap_low: Chỉ định kích thước thấp nhất của cache object khithay thế (được tính bằng % với vùng nhớ cache)

- Cache_swap_high: Chỉ định kích thước cao nhất của cache object khithay thế (được tính bằng % với vùng nhớ cache)

- Cache_access_log: Lưu trữ các activity request của client yêu cầu đếnproxy server để truy xuất Web

- Cache_store_log: Lưu trữ các thông tin về đối tượng được cache trênproxy, thời gian lưu trữ

- Cache_peer: Nếu proxy không kết nối trục tiếp đến internet hoặc proxy mànằm sau một firewall thì ta phải cấu hình proxy này truy vấn đến proxy khác bằng tham số

Cú pháp: Cache_peer host/IP type http_port icp_port

Type= parent: truy vấn đến proxy khác (cha)

Sibling: chia sẻ cache giữa các proxy (ngang hàng)

Ví dụ:

Cache_peer 192.168.11.1 parent 8080 8082

Cache_peer 192.168.11.10 sibling 8080 8082

Trang 33

Cache_peer hcmutrans.edu.vn parent 8080 8082

- Cache_effective_user, cache_effevtive_group: người dùng và nhóm cóthể đổi squid

Chown squid:squid /var/spool/squid <quyền sở hữu thuộc về squid>

Chmod 770 /var/spool/squid <quyền truy cập file bao gồm own, group>Sau khi tạo xong thư mục cache, khởi động squid bằng lệnh:

/usr/local/squid/squid –D&

Đối với môi trường linux ta cần khai báo

#chkconfig squid on<bật squid khởi động cùng hệ thống>

#service squid start/restart/stop

Trang 34

3.3 Chính Sách tối ưu hệ thống với Proxy:

Access Control list và Access control Operator dùng ngăn chặn, giới hạn việc truy xuất dựa vào tên miền, địa chỉ IP đích (IP của máy hoặc mạng) Mặc định, squid từ chối phục vụ tất cả.Vì vậy, chúng ta phải cấu hình lại tham số này

Cú pháp định nghĩa Access List dùng tag acl

Acl aclname acltype string1

Acl aclname acltype “file”

alc aclname time [day of week] [h1:m1-h2:m2]

acl aclname port 80 70 21…

acl aclname proto HTTP FTP…

acl aclname method GET POST…

Sử dụng access list vào các tag điều khiển truy cập:

http_access allow/deny aclname

3.3.1 Kiểm soát Client truy cập internet thông qua proxy:

3.3.1.1 Giới hạn truy cập một số trang Web không mong muốn

Mặc dù cho truy cập internet, nhưng nhiều trường hợp cần giới hạn truy cập một số trang web không mong muốn.Phần này trình bày cách thức để đáp ứng nhu cầu này

Tạo ra file /etc/squid/web_cam chứa những trang không mong muốn nhân viên truy cập:

.facebook.com

.mediafire.com

.youtube.com

Trang 35

Trên file /etc/squid/squid.conf, chỉ định rules để giới hạn việc truy cập

acl web_cam dstdomain "/etc/squid/web_cam"

acl our_networks src 172.16.1.0/24

http_access deny web_cam

http_access allow our_networks

Áp đặt luật cho các site khai báo trong /etc/squid/web_cam thông qua web_cam

Hình 3.1: Giới hạn truy cập trang web không cho phép 3.3.1.2 Quy định Rules cho từng host cụ thể

Phần này đặt ra trường hợp:

Vì mục đích công việc, cần phải cho phép nhân viên truy cập internet vì yêu cầu công việc, chỉ giới hạn truy cập vào một số trang.Tuy nhiên đối với máy của Sếp ta không thể cũng giới hạn mà phải có trường hợp ngoại lệ

Trường hợp khác, ta theo dõi thấy một nhân viên thường xuyên sử dụng đường truyền internet để làm những việc riêng làm ảnh hưởng đến công việc của người khác

Lúc này, ta cần có những chính sách cho từng host cụ thể

Chỉ định những host cụ thể với quyền hạn tương ứng trong file

/squid/squid.conf

acl host_Sep src 172.16.1.99/32

acl host_cam src 172.16.1.101/32

Trang 36

acl web_cam dstdomain "/etc/squid/web_cam"

acl our_networks src 172.16.1.0/24

http_access allow host_sep

http_access deny host_cam

http_access deny web_cam

http_access allow our_networks

Khởi tạo lại dịch vụ:

[root@centos_server software]# Service squid start

Như vậy, trên máy của sếp không bị giới hạn gì trong khi truy cập internet

Hình 3.2: Host không bị giới hạn có thể truy cập vào những trang cấm

Và trên máy bị cấm không thể truy xuất ra ngoài internet

3.3.1.3 Cho phép người dùng trong hệ thống chỉ được truy cập internet ngoài giờ hành chính

Trong thực tế, để hạn chế nhân viên truy cập internet trong giờ hành chính gây ảnh hưởng công việc thì người quản trị cần phải có những chính sách để giới hạn thời gian truy cập của nhân viên.Cấm hoàn toàn việc truy cập internet trong thời gian làm việc

Để làm được điều này chúng ta cần cấu hình như sau:

Trong file /etc/squid/squid.conf

Trang 37

Tạo ra một rules cấm truy cập trong thời gian từ 7h:30–17:00:

acl gio_lam_viec time MTWHF 7:30-17:00

acl our_networks src 172.16.1.0/24

http_access deny gio_lam_viec

http_access allow our_networks

MTWHF: Quy định luật này được áp dụng từ thứ 2 -> thứ 6

Khởi tạo lại dịch vụ Squid, trong thời gian làm việc đã quy định, test thử trên Client Kết quả Client không truy cập được internet

3.3.1.4 Giới hạn nội dung Download

Đề giới hạn nhân viên download những tập tin dễ đính kèm virus , ta cần có nhứng chính sách để không cho phép họ download những tập tin này

Thêm những dòng sau vào file /etc/squid/squid.conf

acl host_Sep src 172.16.1.99/32

acl host_cam src 172.16.1.101/32

acl file_cam urlpath_regex “/etc/squid/file_cam”

acl web_cam dstdomain "/etc/squid/web_cam"

acl our_networks src 172.16.1.0/24

http_access allow host_sep

http_access deny host_cam

http_access deny file_cam

http_access deny web_cam

http_access allow our_networks

Chỉ định rules file_cam áp dụng với những file có phần mở rộng được chỉ ra trong file /etc/squid/file_cam để giới hạn nhân viên download những file tương ứng.Nội dung file /etc/squid/file_cam

Trang 38

Hình 3.3: Download đã bị giới hạn.

Những luật thiết lập đã hoạt động tốt

3.3.2 Kiểm định Password cho quá trình truy cập internet

Để đảm bảo an toàn cho hệ thống, chúng ta nên thực hiện việc chứng thực user

để hạn chế truy cập Trong phần này, chúng ta sẽ dùng NCSA

Tạo một user test_ncsa để tiến hành kiểm tra

Tạo file squid_password bằng công cụ htpasswd và tạo passwd chứng thực squid cho user vừa tạo

Htpasswd –c /etc/squid/squid_passwd test_ncsa

Thực hiện cấu hình ACL chứng thực trong /etc/squid/squid.conf như sau:acl ncsa_users proxy_auth REQUIRED

http_access allow ncsa_users

Khởi động lại dịch vụ squid để cập nhật các thông tin

Kiểm tra truy cập: từ máy client ta truy cập ra internet thì hệ thống proxy sẽ yêu cầu user và password để chứng thực squid như sau:

Trang 39

Hình 3.4: Chứng thực username và password khi truy cập web thông qua proxy

3.3.3 Một số giới hạn cấu hình trên Squid proxy

- Giới hạn truy cập theo địa chỉ IP

Vào file /etc/squid/squid.conf cấu hình các thông tin như sau:

acl host_deny dst 172.16.1.10

http_access deny host_deny

- Giới hạn truy cập theo giao thức

Giả sử ta cấu hình người dùng hệ thống không được truy cập ra internet với giao thức FTP, HTTP

Vào file /etc/squid/squid.conf cấu hình các thông tin như sau:

acl proto_deny proto HTTP FTP

http_access deny proto_deny

- Giới hạn truy cập theo cổng

Giới hạn truy cập port 80 23:

acl deny_port proto HTTP FTP

http_access deny deny_port

Trang 40

CHƯƠNG 4: TỐI ƯU HỆ THỐNG VỚI FIREWALL

4.1 Giới thiệu về Iptables.

Iptables là một tường lửa ứng dụng lọc gói dữ liệu rất mạnh, miễn phí và có sẵn trên Linux.Netfilter/Iptables gồm 2 phần là Netfilter ở trong nhân Linux và Iptables nằm ngoài nhân.Iptables chịu trách nhiệm giao tiếp giữa người dùng và Netfilter để đẩy các luật của người dùng vào cho Netfiler xử lí Netfilter tiến hành lọc các gói dữ liệu ở mức IP Netfilter làm việc trực tiếp trong nhân, nhanh và không làm giảm tốc độ của hệ thống

Hình 4.1 Quá trình xử lý của Iptables

4.1.1 Cách đổi địa chỉ IP động (dynamic NAT)

Trước khi đi vào phần chính, chúng ta cần tìm hiểu về công nghệ đổi địa chỉ NAT động và đóng giả IP Masquerade.Hai thuật ngữ này được dùng rất nhiều trong Iptables

Hình 4.2: Bảng mô tả quá trình NAT động

NAT Router đảm nhận việc chuyển dãy IP nội bộ 169.168.0.x sang dãy IP mới 203.162.2.x Khi có gói liệu với IP nguồn là 192.168.0.200 đến router, router sẽ đổi

Ngày đăng: 20/10/2014, 19:08

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Cấu trúc Monolithic kernels - tối ưu hóa hệ thống linux
Hình 1.1 Cấu trúc Monolithic kernels (Trang 13)
Hình 1.3: Cấu trúc Hybrid Kernel - tối ưu hóa hệ thống linux
Hình 1.3 Cấu trúc Hybrid Kernel (Trang 14)
Hình 2.1:  Quá trình xử lý các Request của apache với ModSecurity - tối ưu hóa hệ thống linux
Hình 2.1 Quá trình xử lý các Request của apache với ModSecurity (Trang 22)
Hình 3.1: Giới hạn truy cập trang web không cho phép 3.3.1.2 Quy định Rules cho từng host cụ thể - tối ưu hóa hệ thống linux
Hình 3.1 Giới hạn truy cập trang web không cho phép 3.3.1.2 Quy định Rules cho từng host cụ thể (Trang 35)
Hình 3.2: Host không bị giới hạn có thể truy cập vào những trang cấm - tối ưu hóa hệ thống linux
Hình 3.2 Host không bị giới hạn có thể truy cập vào những trang cấm (Trang 36)
Hình 3.3: Download đã bị giới hạn. - tối ưu hóa hệ thống linux
Hình 3.3 Download đã bị giới hạn (Trang 38)
Hình 3.4: Chứng thực username và password khi truy cập web thông qua proxy 3.3.3   Một số giới hạn cấu hình trên Squid proxy - tối ưu hóa hệ thống linux
Hình 3.4 Chứng thực username và password khi truy cập web thông qua proxy 3.3.3 Một số giới hạn cấu hình trên Squid proxy (Trang 39)
Hình 4.2: Bảng mô tả quá trình NAT động - tối ưu hóa hệ thống linux
Hình 4.2 Bảng mô tả quá trình NAT động (Trang 40)
Hình 4.1 Quá trình xử lý của Iptables 4.1.1   Cách đổi địa chỉ IP động (dynamic NAT) - tối ưu hóa hệ thống linux
Hình 4.1 Quá trình xử lý của Iptables 4.1.1 Cách đổi địa chỉ IP động (dynamic NAT) (Trang 40)
Hình 4.5: Không thể kết nối đến server linux thông qua telnet 4.2.4.2  Cấm các máy ping tới firewall - tối ưu hóa hệ thống linux
Hình 4.5 Không thể kết nối đến server linux thông qua telnet 4.2.4.2 Cấm các máy ping tới firewall (Trang 47)
Hình 4.6: Cho phép Packet đi qua interface eth0 và eth1 - tối ưu hóa hệ thống linux
Hình 4.6 Cho phép Packet đi qua interface eth0 và eth1 (Trang 48)
Hình 5.1:  Cấu trúc hệ thống cân bằng tải - tối ưu hóa hệ thống linux
Hình 5.1 Cấu trúc hệ thống cân bằng tải (Trang 52)
Hình 5.2: Mô hình cân bằng tải trong thực tế. - tối ưu hóa hệ thống linux
Hình 5.2 Mô hình cân bằng tải trong thực tế (Trang 53)
Hình 5.4: Thiết lập tên Server, giao thức cũng như kiểu phân tải phù hợp - tối ưu hóa hệ thống linux
Hình 5.4 Thiết lập tên Server, giao thức cũng như kiểu phân tải phù hợp (Trang 57)
Hình 5.3: Lập thông số cho Server Load Blancer 2 thông qua tab Redundancy - tối ưu hóa hệ thống linux
Hình 5.3 Lập thông số cho Server Load Blancer 2 thông qua tab Redundancy (Trang 57)
Hình 5.5: Cấu hình cho các WebServer trong Piranha - tối ưu hóa hệ thống linux
Hình 5.5 Cấu hình cho các WebServer trong Piranha (Trang 58)
Hình 5.6: Thiết lập thông số cho từng WebServer - tối ưu hóa hệ thống linux
Hình 5.6 Thiết lập thông số cho từng WebServer (Trang 58)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w