Xây dựng hệ thống giám sát mã nguồn mở Nagios

Đồ án xây dựng hệ thống giám sát mạng dựa trên mã nguồn mở Cacti, Nagios

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

TÓM TẮT
Cùng với sự phát triển của hạ tầng mạng và các dịch vụ mạng đang ngày càng
phát triển. Việc theo dõi, quản lí và giám sát chúng là một vấn đề chung để đảm bảo
các nguyên tắc an toàn cho hệ thống mạng. Do đó, hệ thống giám sát mạng đóng vai
trò quan trọng, không thể thiếu trong hạ tầng công nghệ hệ thống thông tin (CNTT)
của các công ty, cơ quan, đơn vị và các tổ chức doanh nghiệp. Hệ thống nhằm cho
phép thu thập dữ liệu và phân tích các vấn đề của hệ thống có thể phát sinh trong quá
trình vận hành và sử dụng mạng của tổ chức.
Ngoài ra, hệ thống giám sát còn phát hiện kịp thời các tấn công, các điểm yếu,
lỗ hổng bảo mật của các thiết bị, ứng dụng và dịch vụ trong hệ thống. Phát hiện kịp
thời các tấn công của các hacker trong hệ thống mạng, các máy tính bị nhiễm mã
độc,Cùng với đó là sự an toàn thông tin đang ở mức báo động và tội phạm mạng
ngày càng tăng cao mang đến thách thức cho nhà quản trị mạng, buộc phải có các
biện pháp phòng ngừa và ngăn chặn từ xa. Những nguy cơ tấn công mạng từ phía bên
trong và bên ngoài rất khó kiểm soát và luôn là những vấn đề nhức nhối của người
quản trị mạng.
Chính vì lẽ đó, với mong muốn đảm bảo được tình trạng mạng luôn được ổn
định và nhu cầu thực tế mà nhà tuyển dụng mạng cần: các quản trị viên hệ thống am
hiểu vận hành tốt hệ thống giám sát mạng. Hiện nay, trên thị trường có các sản phẩm
quản trị mạng thương mại (mã nguồn đóng) nhưng giá thành thường khá cao. Bên
cạnh đó các phần mềm nguồn mở cho phép triển khai giám sát mạng rất hiệu quả như
Cacti, Nagios,. Chính vì vậy, nhóm chúng em đã lựa chọn thực hiện đề tài Xây
dựng hệ thống giám sát mạng dựa trên mã nguồn mở Cacti và Nagios . Hệ thống
giám sát được xây dựng trên mã nguồn mở Cacti và Nagios tích hợp vào hệ điều hành
Linux sẽ thực hiện phát cảnh báo qua mail, audio, Để từ đó người quản trị có thể
xem xét đưa ra các biện pháp phòng chống và bảo vệ hệ thống phù hợp.

1


CHƯƠNG 1. PHẦN MỞ ĐẦU


1.1. Đặt vấn đề:
Network monitoring hay được hiểu là giám sát, theo dõi mạng là một trong
những vấn đề hiện nay trở nên rất quan trọng trong việc quản trị các hệ thống mạng.
Nó hạn chế tối đa việc mạng bị gián đoạn trong quá trình hoạt động. Nó đảm bảo việc
khai thác tài nguyên có hiệu quả, đảm bảo an toàn, tin cậy cho những dịch vụ cung
cấp. Như chúng ta đã biết Internet ra đời mang lại rất nhiều lợi ích cho con người,
bên cạnh ưu điểm mang đến cho xã hội sự phát triển vượt bậc, thông tin được cập
nhật và phổ biến rộng rãi, xóa đi khoảng cách về địa lý,. Thì cũng tồn tại song song
đó là các nguy cơ, yếu điểm của internet, một trong những yếu điểm đó là vấn đề an
toàn và bảo mật trên hệ thống mạng máy tính.
Hệ thống mạng máy tính là một phần tất yếu và vô cùng quan trọng của một
quốc gia, một doanh nghiệp hay đơn giản chỉ là một hộ gia đình nhỏ, chúng góp phần
vào việc tạo nên những thành công đặc biệt đối với hệ thống mạng quốc gia và hệ
thống mạng của các doanh nghiệp vì phần lớn các công việc ngày nay từ giao dịch
đến trao đổi thông tin đều dựa trên hệ thống mạng máy tính. Đã có những doanh
nghiệp thực hiện việc thuê một đối tác thứ 3 với việc chuyên bảo mật hệ thống mạng
và bảo mật thông tin cho đơn vị mình, cũng có những doanh nghiệp đưa ra các kế
hoạch tính toán chi phí cho việc mua sản phẩm phần mềm để nhằm đáp ứng việc bảo
mật.
Tuy nhiên đối với những giải pháp đó các doanh nghiệp đều phải thực hiện cân
đối về chính sách tài chính hằng năm với mục đích làm sao cho giải pháp an toàn
thông tin là tối ưu và có được chi phí rẻ nhất và đảm bảo thông tin trao đổi được an
toàn, bảo vệ thông tin của đơn vị mình trước những tấn công của tội phạm công nghệ
từ bên ngoài do vậy mà đề tài xây dựng hệ thống giám sát mạng dựa trên mã nguồn
mở được phát triển giúp được phần nào yêu cầu của các doanh nghiệp về an toàn
thông tin và bảo mật hệ thống mạng.
Hiện nay có rất nhiều công cụ giám sát mạng hỗ trợ cho công việc của người
quản trị. Chức năng của chúng là giám sát trạng thái hoạt động của các thiết bị mạng,
các dịch vụ mạng và các máy đầu cuối tham gia vào mạng và thông báo cho người
quản trị khi có sự cố hoặc khả năng sẽ xảy ra sự cố. Có cả những hệ thống thương

mại như HPopen View, SolarWinds, CiscoWorks,. Tuy nhiên giá thành thường
khá cao và các khả năng tùy biến rất hạn chế. Trong khi đó các phần mềm nguồn mở
cho phép triển khai giám sát mạng rất hiệu quả như Cacti, Nagios, Zabbix, Mỗi hệ
thống lại có những ưu nhược điểm riêng. Trong số đó hệ thống giám sát mạng bằng
mã nguồn mở Cacti, Nagios được phát triển và sử dụng rộng rãi hơn cả. Kể từ khi ra
đời Cacti (2001) và Nagios (2002) đến nay đã liên tục phát triển và rất được quan tâm
bỏi cộng đồng.
Với nhu cầu có được một hệ thống hỗ trợ giám sát và bảo vệ hệ thống mạng
trực quan nhằm giúp cho công việc quản trị mạng được tập trung và đạt hiệu quả cao
là tiêu chí hàng đầu. Từ các phân tích trên đây nhóm đã lựa chọn đề tài Xây dựng
2


hệ thống giám sát mạng dựa trên mã nguồn mở Cacti, Nagios làm đề tài nghiên cứu
trong đồ án của mình.
1.2. Mục tiêu đề tài:
Mục tiêu nghiên cứu của đề tài này bao gồm các điểm sau:
- Tìm hiểu hệ thống giám sát mạng
- Tìm hiểu về phần mềm nguồn mở Cacti và Nagios
- Cài đặt và sử dụng Cacti và Nagios trong giám sát mạng
- Phát hiện hệ thống báo động của chương trình qua tin nhắn (SMS), Email,.
- Khảo sát các lỗ hổng bảo mật thông tin, các nguy cơ có thể mất an toàn thông
tin và các nguy cơ hệ thống mạng bị xâm nhập, tấn công.
1.3. Đối tượng nghiên cứu:
Đối tượng nghiên cứu trong bài luận văn là các chương trình phần mềm mã
nguồn mở bao gồm:
+ Các chương trình phần mềm mở phát hiện xâm nhập.
+ Các chương trình phần mềm mở phòng chống xâm nhập.
+ Các chương trình phần mềm mở giám sát lưu lượng của hệ thống mạng.
+ Các chương trình phần mềm mở giám sát thiết bị mạng và các dịch vụ

mạng
1.4. Phạm vi nghiên cứu:
+ Tìm hiểu về công nghệ, mô hình, giao thức quản trị mạng
+ Kiến trúc quản trị mạng mã nguồn mở
+ Xây dựng mô hình hệ thống giám sát mạng bằng mã nguồn mở Cacti, Nagios.
1.5. Phương pháp nghiên cứu :
- Thu thập, phân tích và tổng hợp các tài liệu, thông tin có liên quan đến đề tài
- Xây dựng bài toán thực nghiệm để chứng minh những nghiên cứu về lý thuyết
của đề tài.
1.6. Nội dung đề tài:
Đề tài tập trung nghiên cứu các vấn đề liên quan đến phát hiện xâm nhập trái
phép và giám sát lưu lượng mạng bao gồm:
- Nghiên cứu vai trò của hệ thống giám sát mạng
- Nghiên cứu về các giao thức, phần mềm hỗ trợ giám sát mạng
- Nghiên cứu về hệ thống giám sát mạng sử dụng phần mềm nguồn mở Cacti và
Nagios
- Nghiên cứu các khả năng phát hiện xâm nhập trái phép hệ thống mạng.
- Nghiên cứu các khả năng phòng chống một số các phương thức tấn công mạng

3


CHƯƠNG 2. TỔNG QUAN VỀ HỆ THỐNG GIÁM SÁT MẠNG
2.1. Khái niệm hệ thống giám sát mạng
Hệ thống giám sát mạng là một phần của hệ thống mạng thông qua nó cho phép
giám sát, thu thập thông tin trên các thành phần của hệ thống, phân tích các thông tin,
dấu hiệu nhằm đánh giá và đưa ra các cảnh báo cho người quản trị hệ thống. Đối
tượng của hệ thống giám sát gồm: các máy trạm; cơ sở dữ liệu, các ứng dụng, các
server, các thiết bị mạng,...
Giám sát mạng có thể đạt được bằng cách sử dụng phần mềm khác nhau hoặc

kết hợp giữa các plug và play, thiết bị phần cứng và giải pháp phần mềm. Hầu hết bất
kì loại mạng nào cũng có thể giám sát. Nó không quan trọng là có dây hay không có
dây, một mạng LAN công ty, VNPT hay dịch vụ cung cấp WAN. Chúng ta có thể
giám sát thiết bị trên các hệ điều hành khác nhau với vô số chức năng: từ BlackBerrys
và điện thoại di động tới servers, routers và switches. Những hệ thống này có thể giúp
bạn xác định các hoạt động cụ thể và số liệu hiệu suất, đưa ra kết quả cho phép chúng
ta giải quyết các yêu cầu khác nhau, đưa ra các mối đe dọa an ninh nội bộ và cung
cấp nhiều hiển thị hoạt động hơn.
Các bước thực hiện của một hệ thống giám sát mạng bao gồm:
- Thu thập dữ liệu:
+ Việc thu thập dữ liệu là việc lấy các thông tin liên quan đến tình trạng hoạt động
của các thiết bị trong hệ thống mạng. Tuy nhiên, trong những hệ thống mạng lớn thì
các dịch vụ hay thiết bị không đặt tại trên máy, một địa điểm mà nằm trên các máy
tính, các hệ thống con riêng biệt nhau. Với mỗi thiết bị có những đặc điểm riêng và
có các loại log khác nhau. Log là một thành phần quan trọng của hệ thống mạng nó
lưu lại một cách chính xác mọi hoạt động của hệ thống, tình trạng hoạt động của các
ứng dụng, các thiết bị đã và đang hoạt động trong hệ thống.
+ Để có thể thu thập được dữ liệu trong hệ thống, ta có thể sử dụng 2 phương pháp
sau:
The Push Method (Phương pháp đẩy): Các sự kiện từ các thiết bị, các máy
trạm, server sẽ được tự động chuyển về các collector theo thời gian thực hoặc sau mỗi
khoảng thời gian phụ thuộc vào việc cấu hình trên các thiết bị tương ứng. Các
Collector của Log Server sẽ thực hiện việc nghe và nhận các sự kiện khi chúng xảy
ra. Ví dụ như: Netflow, Syslog-ng Message (Syslog-ng gồm 2 thành phần là SyslogAgent và Syslog-Server), Access-list (ACL),

4


Hình 2.1. Hệ thống giám sát mạng
The Pull Method (Phương pháp kéo): Các collector thu thập từ các sự kiện

được phát sinh và lưu trữ trên chính các thiết bị và sẽ được lấy về bởi các bộ collector.
Hai giao thức phổ biến để thu thập được các sự kiện là Security Device Event
Exchange (SDEE  Gồm các thiết bị nằm trong hệ thống các thiết bị phát hiện xâm
nhập được phát triển bởi ICSA) và SNMP (Simple Network Management Protocol
Giao thức hỗ trợ quản lý các thiết bị từ xa).
- Phân tích dữ liệu
Khi đã thu thập được những thông tin về hệ thống thì công việc tiếp theo là phân
tích thông tin, cụ thể là việc thực hiện chỉ mục hóa dữ liệu và phát hiện những điều
bất thường, những mối đe dọa của hệ thống. Dựa trên những thông tin về lưu lượng
truy cập, trạng thái truy cập, định dạng request.

Hình 2.2. Biếu đồ phân tích dữ liệu
-

Cảnh báo
Sau khi đã thực hiện việc phân tích dữ liệu từ các thông tin thu thập được việc
tiếp theo là thực hiện việc đánh giá, dựa vào thông tin cảnh báo tới người quản trị và
thực hiện những công tác nhằm chống lại những mối đe dọa, khắc phục các sự cố có
thể xảy ra. Cảnh báo có thể thông qua email, SMS hoặc thực thi các mã script nhằm
5


hạn chế hậu quả của sự cố. Khi xảy ra sự cố, hệ thống sẽ tự động gửi email, sms cho
người quản trị và cũng có thể chạy script để thêm một địa chỉ IP có biểu hiện tấn công
và danh sách đen của Firewall.
2.2. Vai trò của hệ thống giám sát mạng
Hệ thống giám sát mạng đóng vai trò quan trọng, không thể thiếu trong hạ tầng
công nghệ thông tin (CNTT) của các cơ quan, đơn vị, tổ chức. Hệ thống này cho phép
thu thập, chuẩn hóa, lưu trữ và phân tích tương quan toàn bộ các sự kiện an toàn mạng
được sinh ra trong hệ thống CNTT của tổ chức. Ngoài ra, hệ thống giám sát an toàn

mạng phát hiện kịp thời các tấn công mạng, các điểm yếu, lỗ hổng bảo mật của các
thiết bị, ứng dụng và dịch vụ trong hệ thống, phát hiện kịp thời sự bùng nổ virus trong
hệ thống mạng, các máy tính bị nhiễm mã độc, các máy tính bị nghi ngờ là thành viên
của mạng máy tính ma (botnet).
Hệ thống giám sát mạng sẽ giúp định hướng trong môi trường mạng phức tạp,
đưa ra các báo cáo và các nhận định để đảm bảo công tác giám sát mạng an toàn hiệu
quả. Thông qua hệ thống giám sát mạng giúp cho người quản trị hệ thống:
Xác nhận việc tuân thủ quy định và chính sách
Tiết kiệm chi phí tiềm lực bằng cách tìm nguồn dữ liệu dư thừa
Giải quyết hiểu quả việc bị lấy cắp thông tin.
Trợ giúp xác định năng xuất của nhân viên
Spot quá tải thiết bị trước khi nó có thể mang xuống một mạng lưới
Xác định liên kết mạng diện rộng yếu và thắt cổ chai
Do độ trễ hoặc do chuyển tải dữ liệu bị trễ
Tìm bất thường trong mạng nội bộ có thể cho biết mối đe dọa an ninh
2.3. Giao thức được sử dụng trong hệ thống giám sát mạng
Để có những thông tin cho việc giám sát trạng thái hoạt động của các thiết bị và
dịch vụ mạng. Trong hệ thống giám sát sử dụng giao thức SNMP (Simple Network
Management Protocol) và giao thức ICMP (Internet Control Message Protocol).
2.3.1. Giao thức SNMP (Simple Network Management Protocol)
2.3.1.1. Giới thiệu về giao thức SNMP (Simple Network Message Protocol)
- Vào đầu năm 1988, Tổ chức kiến trúc Internet IAB (Internet Architecture
Board) nhận thấy sự cần thiết có bộ công cụ quản lí cho TCP/IP nên đã cho ra đời
RFC 1052.RFC 1052 là các yêu cầu tiêu chuẩn hóa quản lí mạng và tập trung vào các
vấn đề quản lí mạng phải thực hiện:
+ Đảm bảo tính mở rộng
+ Đảm bảo tính đa dạng để phát triển
+ Đảm bảo tính đa dạng trong quản lí
+ Bao trùm nhiều lớp giao thức
- SNMP là một giao thức chính sử dụng cho mục đích theo dõi trạng thái hoạt

động của các thiết bị giúp nhà quản trị mạng có thể quản lý, thay đổi trạng thái của
6


mạng. SNMP làm nhiệm vụ thu thập thông tin từ các thiết bị mạng (Router, Switch,
Server,) cần giám sát và gửi về cho chương trình giám sát để phân tích và sử dụng
để hiển thị ra giao diện quản trị các thông tin cần thiết theo mục đích của chương
trình giám sát.
2.3.1.2. Ưu điểm và các phiên bản giao thức
a) Ưu điểm sử dụng giao thức SNMP
SNMP được thiết kế để đơn giản hóa quá trình quản lý các thành phần trong
mạng. Nhờ đó các phần mềm SNMP có thể được phát triển nhanh và tốn ít chi phí.
SNMP được thiết kế để có thể mở rộng các chức năng quản lý, giám sát. Khi có một
thiết bị mới với các thuộc tính, tính năng mới thì người ta có thể thiết kế tùy chọn
SNMP để phục vụ cho riêng mình. SNMP được thiết kế có thể hoạt động độc lập với
các kiến trúc và cơ chế của các thiết bị hỗ trợ SNMP. Các thiết bị khác nhau có hoạt
động khác nhau nhưng hoạt động dựa trên giao thức SNMP là giống nhau.
b) Các phiên bản giao thức SNMP
Hiện tại SNMP có 3 phiên bản: SNMPv1, SNMPv2 và SNMPv3. Các phiên bản
này khác nhau một chút ở định dạng bản tin và phương thức hoạt động. Hiện nay
SNMPv1 là phổ biến nhất do có nhiều thiết bị tương thích nhất và có nhiều phần mềm
hỗ trợ nhất.
2.3.2. Giao thức ICMP (Internet Control Message Protocol)
ICMP là một giao thức thông điệp điều khiển của bộ TCP/IP, cung cấp phương
tiên thông tin liên lạc giữa các phần mềm IP trên một máy và phần mềm IP trên một
máy khác. Nó được sử dụng trao đổi các thông tin điều khiển dòng dữ liệu, thông báo
lỗi và các thông tin trạng thái của bộ giao thức TCP/IP.
- Điều khiển lưu lượng (flow control) khi các gói dữ liệu đến quá nhanh, thiết
bị đích hoặc thiết bị định tuyến ở giữa sẽ gửi một thông điệp ICMP trở lại thiết bị gửi,
yêu cầu thiết bị gửi tạm thời ngừng gửi dữ liệu.

- Thông báo lỗi trong trường hợp không tới được địa chỉ đích thì hệ thống sẽ
gửi một thông báo lỗi Destination unsearchable. Định hướng lại các tuyến (Redirect
Router). Một router gửi một thông điệp ICMP cho một máy trạm thông báo nên sử
dụng router khác. Thông điệp này có thể chỉ được dùng khi trạm nguồn ở trên cùng
một mạng với 2 thiết bị định tuyến.
- Kiểm tra các máy trạm ở xa bằng cách các máy trạm sẽ gửi một thông điệp
ICMP Echo để kiểm tra trạm có hoạt động hay không.
- Các loại thông điệp ICMP là các thông điệp ICMP được chia tách thành 2
nhóm: các thông điệp truy vấn và các thông điệp báo lỗi. Các thông điệp truy vấn
giúp quản trị mạng nhận các thông tin xác định từ một node mạng khác. Các thông
điệp thông báo lỗi liên quan đến các vấn đề mà bộ định tuyến hay trạm phát hiện ra
khi xử lý gói IP. ICMP sử dụng địa chỉ nguồn để gửi thông điệp báo lỗi cho node
nguồn của gói IP.
- Thông điệp truy vấn:
+ Hỏi và phúc đáp Echo (Echo Request và Echo Reply)
7


+ Hỏi và phúc đáp nhãn thời gian (Timestamp Request và Timestamp Reply)
+ Yêu cầu và phúc đáp đáp mặt nạ địa chỉ (Address mask Request và Address
mask Reply).
+ Yêu cầu và quảng bá bộ định tuyến (Router soliciation và Router advertisement)
- Thông điệp thông báo lỗi:
+ Không thể đạt tới đích (Destination Unreachable)
+ Yêu cầu ngừng hoặc giảm tốc độ phát (Source Quench)
+ Định hướng lại (Redirection)
+ Vượt ngưỡng thời gian (Time Exceeded)
2.4 .Lỗ hổng bảo mật và các phương thức tấn công
2.4.1. Phân loại một số lỗ hổng bảo mật
2.4.1.1 Khái niệm lỗ hổng bảo mật

Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo nên sự ngưng
trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép truy cập bất hợp
pháp vào hệ thống. Các lỗ hổng bảo mật có thể nằm ngay các dịch vụ cung cấp như
Web, Email, FTP,  Ngoài ra các chương trình ứng dụng hay dùng cũng chứa các
lỗ hổng bảo mật như Word, các hệ cơ sở dữ liệu như SQL
2.4.1.2 Phân loại lỗ hổng bảo mật
Hiện nay việc phân loại lỗ hổng bảo mật cơ bản được phân thành 3 loại:
- Loại C  ít nguy hiểm
Các lỗ hổng bảo mật thuộc loại này thường cho phép thực hiện việc tấn công
DoS. DoS là một hình thức tấn công sử dụng các giao thức tầng ứng dụng trong bộ
giao thức TCP/IP để làm hệ thống ngưng trệ, tràn đệm dẫn đến tình trạng từ chối tất
cả các yêu cầu của người sử dụng hợp pháp truy cập hay sử dụng hệ thống. Một số
lượng lớn các gói tin được gửi tới server trong khoảng thời gian liên tục làm cho hệ
thống trở nên quá tải, kết quả là server đáp ứng chậm hoặc không thể đáp ứng các
yêu cầu từ client gửi tới. Các dịch vụ có chứa đựng lỗ hổng cho phép thực hiện các
cuộc tấn công DoS có thể được nâng cấp hoặc sửa chữa bằng các phiên bản mới hơn
của các nhà cung cấp dịch vụ. Hiện nay, chưa có một giải pháp toàn diện nào để khắc
phục các lỗ hổng loại này vì bản thân việc thiết kế giao thức ở tầng Internet (IP) nói
riêng và bộ giao thức TCP/IP đã chứa đựng những nguy cơ tiềm tàng của các lỗ hổng
này. Tuy nhiên, mức độ nguy hiểm của các lỗ hổng loại này được xếp loại C; ít nguy
hiểm vì chúng chỉ làm gián đoạn cung cấp dịch vụ của hệ thống trong một thời gian
mà không làm nguy hại đến dữ liệu và người tấn công cũng không đạt được quyền
truy nhập bất hợp pháp vào hệ thống.
Một lỗ hổng loại C khác cũng thường thấy đó là các điểm yếu của dịch vụ cho
phép thực hiện tấn công làm ngưng trệ hệ thống của người sử dụng cuối; Chủ yếu của
hình thức tấn công này là sử dụng dịch vụ Web. Người quản trị hệ thống Website
trong trường hợp này chỉ có thể khởi động lại hệ thống.
Một lỗ hổng loại C khác cũng thường gặp đối với các hệ thống mail là không
xây dựng các cơ chế anti-relay (chống relay) cho phép thực hiện các hành động spam
mail. Như chúng ta đã biết, cơ chế hoạt động của dịch vụ thư điện tử là lưu và chuyển

8


tiếp; một số hệ thống mail không có các xác thực khi người dùng gửi thư, dẫn đến
tình trạng các đối tượng tấn công lợi dụng các máy chủ mail này để thực hiện spam
mail; Spam mail là hành động nhằm tê liệt dịch vụ mail của hệ thống bằng cách gửi
một số lượng lớn các messages tới một địa chỉ không xác định, vì máy chủ mail luôn
phải tốn năng lực đi tìm những địa chỉ không có thực dẫn đến tình trạng ngưng trệ
dịch vụ. Số lượng các messages có thể sinh ra từ các chương trình làm bom thư rất
phổ biến trên mạng Internet.
- Loại B  nguy hiểm
Các lỗ hổng loại này có mức độ nguy hiểm hơn lỗ hổng loại C, cho phép người
sử dụng nội bộ có thể chiếm được quyền cao hơn hoặc truy nhập không hợp pháp.
Những lỗ hổng loại này thường xuất hiện trong các dịch vụ trên hệ thống. Người sử
dụng local được hiểu là người đã có quyền truy nhập vào hệ thống với một số quyền
hạn nhất định. Một dạng khác của lỗ hổng loại B xảy ra đối với các chương trình có
mã nguồn viết bằng ngôn ngữ lập trình C. Những người lập trình thường sử dụng
vùng đệm trong bộ nhớ trước khi gán một khoảng không gian bộ nhớ cho từng khối
dữ liệu.
Với khai báo này, cho phép người sử dụng nhập vào tối đa 20 ký tự. Khi nhập
dữ liệu, trước tiên dữ liệu được lưu ở vùng đệm; nếu người sử dụng nhập vào 35 ký
tự; sẽ xảy ra hiện tượng tràn vùng đệm và kết quả 15 ký tự dư thừa sẽ nằm ở một vị
trí không kiểm soát được trong bộ nhớ. Đối với những người tấn công, có thể lợi dụng
lỗ hổng này để nhập vào những ký tự đặc biệt, để thực thi một số lệnh đặc biệt trên
hệ thống. Thông thường, lỗ hổng này thường được lợi dụng bởi những người sử dụng
trên hệ thống để đạt được quyền root không hợp lệ. Việc kiểm soát chặt chẽ cấu hình
hệ thống và các chương trình sẽ hạn chế được các lỗ hổng loại B.
- Loại A  rất nguy hiểm
Các lỗ hổng loại A có mức độ rất nguy hiểm, đe dọa tính toàn vẹn và bảo mật
của hệ thống. Các lỗ hổng loại này thường xuất hiện ở những hệ thống quản trị yếu

kém hoặc không kiểm soát được cấu hình mạng. Một ví dụ thường thấy là trên nhiều
hệ thống sử dụng Web Server là Apache.
Những lỗ hổng loại này hết sức nguy hiểm vì nó đã tồn tại sẵn có trên phần mềm
sử dụng; người quản trị nếu không hiểu sâu về dịch vụ và phần mềm sử dụng sẽ có
thể bỏ qua những điểm yếu này. Các loại bảo mật nêu trên có thể phân loại chúng
thành 3 mức độ cơ bản của điểm yếu bảo mật như sau:
- Điểm yếu về kỹ thuật: bao gồm những kỹ thuật gồm có điểm yếu trong các
giao thức, hệ điều hành và các thiết bị phần cứng như Server, Router, Switch
- Điểm yếu về cấu hình hệ thống: bao gồm lỗi do nhà quản trị tạo ra, lỗi này do
các thiếu sót trong việc cấu hình hệ thống như: không đảm bảo thông tin mật tài khoản
khách hàng, hệ thống tài khoản với mật khẩu dễ dàng đoán biết, sử dụng các cấu hình
mặc định trên thiết bị.
- Điểm yếu trong chính sách bảo mật: chính sách bảo mật mô tả việc làm thế nào
và ở đâu chính sách bảo mật được thực hiện. Đây là điều kiện quan trọng giúp việc
bảo mật có hiệu quả tốt nhất.
9


2.4.2. Một số phương thức tấn công mạng
Để hạn chế khả năng chiếm dụng tài nguyên và lưu lượng của hệ thống mạng,
chúng ta phải xác định các lỗ hổng cũng như các phương pháp tấn công chủ yếu để
có biện pháp giám sát cũng như ngăn chặn.
Một cuộc tấn công mạng được kẻ tấn công thường thực hiện qua 5 bước như sau:
- Bước 1: Khảo sát, thu thập thông tin: kẻ tấn công thu thập thông tin về nơi tấn
công như phát hiện các máy chủ, địa chỉ IP, các dịch vụ mạng,
- Bước 2: Dò tìm: kẻ tấn công sử dụng các thông tin thu thập được từ bước 1 để
sử dụng tìm kiếm thêm thông tin về lỗ hổng, điểm yếu của hệ thống mạng. Các công
cụ thường được sử dụng cho quá trình này là các công cụ quét cổng, quét IP, dò tìm
lỗ hổng,
- Bước 3: Xâm nhập: các lỗ hổng được tìm thấy trong bước 2 được kẻ tấn công sử

dụng, khai thác để xâm nhập vào hệ thống. Ở bước này, kẻ tấn công có thể sử dụng
các kỹ thuật như từ chối các dịch vụ (DoS), gây ra tràn bộ nhớ đệm.
- Bước 4: Duy trì xâm nhập: một khi kẻ tấn công đã xâm nhập được vào hệ thống,
bước tiếp theo là làm sao để duy trì các xâm nhập này khai thác và xâm nhập tiếp
trong tương lai. Một vài kỹ thuật như backdoors, trojans, virus được sử dụng. Một
khi kẻ tấn công đã làm chủ hệ thống, chúng có thể gây ra những nguy hại cho hệ
thống hoặc đánh cắp thông tin. Ngoài ra, chúng ta có thể sử dụng hệ thống để tấn
công vào các hệ thống khác như loại tấn công DdoS.
- Bước 5: Che đậy, xóa dấu vết: một khi kẻ tấn công đã xâm nhập và cố gắng duy
trì xâm nhập. Bước tiếp theo là chúng phải làm sao xóa hết dấu vết để không còn
chứng cứ pháp lí xâm nhập. Kẻ tấn công phải xóa các tập tin log, xóa các cảnh báo
từ hệ thống phát hiện xâm nhập.
2.5. Các giải pháp phát hiện và phòng chống tấn công mạng
2.5.1. Các biện pháp phát hiện và phòng chống tấn công mạng.
- Phát hiện xâm nhập là một tập hợp các kỹ thuật và phương pháp dùng để dò
tìm những hoạt động đáng nghi ngờ trên mạng. Một hệ thống phát hiện xâm nhập
được định nghĩa là một tập hợp các công cụ, phương thức, và tài nguyên giúp người
quản trị xác định, đánh giá và báo cáo hoạt động không được phép trên mạng. Các
biện pháp đó là:
- Kiểm tra các dấu hiệu hệ thống bị tấn công: hệ thống thường bị treo hoặc bị
crash bằng những thông báo lỗi không rõ ràng, khó xác định nguyên nhân hệ thống
bị treo do thiếu thông tin liên quan.
- Kiểm tra các tài khoản người dùng mới trên hệ thống: một số tài khoản lạ, nhất
là uid của tài khoản đó là zero.
- Kiểm tra xuất hiện các tập tin lạ. Thường phát hiện thông qua cách đặt tên các
tập tin, mỗi người quản trị hệ thống nên có thói quen đặt tên tập tin theo một mẫu
nhất định để dễ dàng phát hiện tập tin lạ. Thực hiện các lệnh liệt kê danh sách tập tin
trong hệ thống để kiểm tra thuộc tính setuid và setgid đối với những tập tin đáng chú
ý (đặc biệt là các tập tin scripts).
10



- Kiểm tra thời gian thay đổi trên hệ thống, đặc biệt là các chương trình login,
sh hoặc các scripts khởi động trong /etc/init.d, /etc/rc.d
- Kiểm tra hiệu năng của hệ thống. Sử dụng các tiện ích theo dõi tài nguyên và các
tiến trình đang hoạt động trên hệ thống như ps hoặc top
- Kiểm tra hoạt động của các dịch vụ mà hệ thống cung cấp. Chúng ta đã biết
rằng một trong các mục đích tấn công là làm cho tê liệt hệ thống (hình thức tấn công
DoS). Sử dụng các lệnh như ps, pstat, các tiện ích về mạng để phát hiện nguyên nhân
trên hệ thống.
- Kiểm tra truy nhập hệ thống bằng các account thông thường, đề phòng trường
hợp các account này bị truy nhập trái phép và thay đổi quyền hạn mà người sử dụng
hợp pháp không kiểm soát được.
- Kiểm tra các file liên quan đến cấu hình mạng và dịch vụ như /etc/inetd.conf;
bỏ các dịch vụ không cần thiết; đối với những dịch vụ không cần thiết chạy dưới
quyền root thì không chạy bằng các quyền yếu hơn.
- Kiểm tra các phiên bản của sendmail, /bin/mail, ftp; tham gia các nhóm tin về
bảo mật để có thông tin về lỗ hổng của dịch vụ sử dụng các biện pháp này kết hợp
với nhau tạo nên một chính sách về bảo mật đối với hệ thống.
Phát triển hệ thống giám sát trực quan theo dõi các diễn biến trên mạng như lưu
lượng ra vào một Server, Switch,  hay hoạt động của CPU, bộ nhớ,  giúp người
quản trị mạng có những phân tích để đưa ra ứng phó kịp thời.
Hệ thống phát hiện xâm nhập dựa vào những mẫu dấu hiệu tấn công triển khai
để giúp phát hiện nhanh các cuộc tấn công mạng. Hệ thống phát hiện này kết hợp với
tường lửa sẽ chống lại các cuộc tấn công xâm nhập. Tuy nhiên, các dấu hiệu của các
kiểu tấn công ngày một tinh vi phức tạp thì hệ thống phát hiện phải được thường
xuyên cập nhật những dấu hiệu mới.
Để có thể phát hiện nhanh chóng các bất thường trên mạng, người quản trị mạng
còn có thể dựa vào những đồ thị trực quan về lưu lượng ra vào hệ thống để có những
phản ứng kịp thời. Hệ thống báo động cũng cần triển khai để thông báo cho người

quản trị trong một số trường hợp: Server ngưng hoạt động, một dịch vụ mạng ngưng
hoạt động hay có tấn công mạng. Hệ thống báo động có thể được triển khai qua nhiều
hình thức để phát báo động như: bằng Web, E-mail hay qua tin nhắn SMS đến người
quản trị mạng.
2.5.2. Vai trò của hệ thống phát hiện và phòng chống xâm nhập
Hệ thống phát hiện xâm nhập dùng để lắng nghe, dò tìm các gói tin qua hệ thống
mạng để phát hiện những dấu hiệu bất thường trong mạng. Thông thường những dấu
hiệu bất thường là những dấu hiệu của những cuộc tấn công xâm nhập mạng. IDS sẽ
phát những tín hiệu cảnh báo tới người quản trị mạng. Hệ thống phòng chống xâm
nhập (Intrusion Prevention System  IPS) là một phần mềm hoặc một thiết bị chuyên
dụng có khả năng phát hiện xâm nhập và có thể ngăn chặn các nguy cơ mạng bị tấn
công. IDS và IPS có rất nhiều điểm chung, do đó hệ thống IDS và IPS có thể được
gọi chung là hệ thống phát hiện và phòng chống xâm nhập (IDS/IPS).
11


Hệ thống IPS là một kỹ thuật an ninh mới, kết hợp các ưu điểm của kỹ thuật
tường lửa (firewall) với hệ thống phát hiện xâm nhập, có khả năng phát hiện sự xâm
nhập, các cuộc tấn công và tự động ngăn chặn các cuộc tấn công đó. Hệ thống IDS/IPS
thường được đặt ở phần biên mạng để bảo vệ tất cả các thiết bị trong mạng.
Một vài chức năng cơ bản của IDS/IPS:
+ Nhận diện các nguy cơ có thể xảy ra.
+ Ghi nhận thông tin, log để phục vụ cho việc kiểm soát nguy cơ.
+ Nhận diện các hoạt động thăm dò hệ thống.
+ Nhận diện các yếu khuyết điểm của chính sách bảo mật.
+ Ngăn chặn vi phạm chính sách bảo mật.
+ Lưu giữ thông tin liên quan đến các đối tượng quan sát
+ Cảnh báo những sự kiện quan trọng liên quan đến đối tượng quan sát.
+ Ngăn chặn các tấn công (IPS)
+ Xuất báo cáo

2.5.3. Phân loại
- Có hai phương pháp khác nhau trong việc phân tích các sự kiện để phát hiện
các vụ tấn công: phát hiện dựa trên các dấu hiệu và phát hiện sự bất thường.
+ Phát hiện dựa trên dấu hiệu: Phương pháp này nhận dạng các sự kiện hoặc tập
hợp các sự kiện phù hợp với một mẫu các sự kiện đã được định nghĩa là tấn công.
+ Phát hiện sự bất thường: Công cụ này thiết lập một hiện trạng các hoạt động bình
thường và sau đó duy trì một hiện trạng hiện hành cho một hệ thống. Khi hai yếu tố
này xuất hiện sự khác biệt, nghĩa là đã có sự xâm nhập. Các hệ thống IDS khác nhau
đều dựa vào phát hiện các xâm nhập trái phép và những hành động dị thường.
- Quá trình phát hiện có thể được mô tả bởi 3 yếu tố cơ bản nền tảng sau:
+ Thu thập thông tin (Information collection): Kiểm tra tất cả các gói tin trên
mạng.
+ Sự phân tích (Analysis): Phân tích tất cả các gói tin đã thu thập để cho biết
hành động nào là tấn công.
+ Cảnh báo (response): hành động cảnh báo cho sự tấn công được phân tích ở
trên.
2.5.4. Một số hệ thống giám sát và mã nguồn phổ biến
2.5.4.1 Một số hệ thống giám sát
Hệ thống giám sát an toàn mạng đóng vai trò quan trọng, không thể thiếu trong
hạ tầng công nghệ thông tin (CNTT) của các cơ quan, đơn vị, tổ chức. Hệ thống này
cho phép thu thập, chuẩn hóa, lưu trữ và phân tích tương quan toàn bộ các sự kiện an
toàn mạng được sinh ra trong hệ thống CNTT của tổ chức.
Ngoài ra, hệ thống giám sát an toàn mạng cần phải phát hiện kịp thời các tấn công
mạng, các điểm yếu, lỗ hổng bảo mật của các thiết bị, ứng dụng và dịch vụ trong hệ
thống. Phát hiện kịp thời sự bùng nổ virus trong hệ thống mạng, các máy tính bị
nhiễm mã độc, các máy tính bị nghi ngờ là thành viên của mạng máy tính ma (botnet).
Hơn nữa, chúng ta có thể thiết lập được các ngưỡng, giới hạn mà tại đó có thể
gây ra các bất thường cho hệ thống để giúp người quản trị nhanh chóng có được các
12



thông tin về những cuộc tấn công hay phát hiện những bất thường trong hệ thống. Ví
dụ như tràn bộ nhớ hệ thống của một thiết bị, thiết bị mạng (Server, Router,
Switch,) ngưng hoạt động.

Hình 2.3. Các thiết bị mạng
a) Hệ thống giám sát lưu lượng
Ngoài việc theo dõi những gói tin để phát hiện việc xâm nhập và phòng chống
việc xâm nhập trái phép, việc theo dõi giám sát lưu lượng mạng, các dịch vụ mạng
và thiết bị tham gia hoạt động trong hệ thống mạng cũng không kém phần quan trọng,
việc giám sát bao gồm các lưu lượng mạng, hoạt động của CPU, RAM hay các trạng
thái hoạt động của các máy chủ cung cấp các dịch vụ mạng. Theo dõi hoạt động của
các thiết bị mạng như Router, Switch cũng là những nhu cầu đang được quan tâm
hiện nay nhằm mục đích nâng cao hoạt động của hệ thống mạng, đảm bảo ổn định và
đem lại hiệu quả cao. Việc giám sát lưu lượng mạng, các dịch vụ và thiết bị giúp cho
quản trị viên nhanh chóng biết được vấn đề cũng như tình hình hoạt động của hệ
thống mạng mình đang quản lý, nhanh chóng đưa ra những phương án cụ thể nhằm
tối ưu hóa hệ thống hay những chính sách nhằm khắc phục sự cố và tăng cường an
ninh bảo mật cho hệ thống mạng.
Cùng sự kết hợp với hệ thống giám sát lưu lượng mạng, những hoạt động của
thiết bị mạng, dịch vụ mạng trong hệ thống sẽ được theo dõi theo thời gian thực trên
hệ thống, giúp mô tả trực quan sự hoạt động của toàn hệ thống, các biểu đồ, đồ thị
hiển thị các trạng thái của hệ thống mạng giúp quản trị viên dễ tổng hợp, phân tích
những việc đang diễn ra nhằm đề xuất giải pháp cho những sự cố mang tính nguy
hại cho hệ thống có thể xảy ra. Ngoài ra, người quản trị có thể thiết lập những ngưỡng
cảnh báo để kết hợp với hệ thống báo động để giúp người quản trị nhanh chóng có
được những thông tin về những cuộc tấn công hay phát hiện những bất thường trong
hệ thống. Nhưng bất thường ở đây như là một dịch vụ mạng ngưng hoạt động, máy
chủ ngưng hoạt động, hay CPU hoạt động quá tải (đặt ngưỡng cảnh báo).
13



Trong phạm vi luận văn này, nhóm sử dụng chức năng giám sát lưu lượng mạng,
dịch vụ mạng và thiết bị hoạt động trong mạng dựa trên 2 chương trình mã nguồn mở
là Cacti và Nagios. Hai chương trình mã nguồn mở này sẽ có sự kết hợp với hệ thống
IDS/IPS để tạo nên một hệ thống giám sát đầy đủ, cụ thể giúp quản trị viên hoạt
động tốt hơn trong việc theo dõi giám sát và quản trị hiệu quả hơn hệ thống mạng do
mình quản trị.
b) Hệ thống báo động
Một trong những thành phần quan trọng trong việc theo dõi tình trạng hoạt động
của hệ thống đối với người quản trị mạng là có thể phát hiện các sự cố hệ thống một
cách nhanh chóng. Đây cũng là một yêu cầu lớn đặt ra cho hệ thống phát hiện và
phòng chống xâm nhập. Như đã đề cập ở phần trên, hệ thống báo động là một thành
phần quan trọng trong hệ thống giám sát mạng, nó kết hợp với hệ thống dò tìm xâm
nhập và hệ thống giám sát trạng thái hoạt động của các thiết bị (host) và dịch vụ
(service) phát ra những tín hiệu cảnh báo đến người quản trị khi hệ thống có sự cố
xâm nhập hay sự cố bất thường khác xảy ra Những thông tin từ hệ thống phát hiện
xâm nhập hay hệ thống phát hiện những dấu hiệu bất thường được chuyển tới hệ
thống báo động để phát cảnh báo tới người quản trị.
Hệ thống báo động được trình bày và cài đặt trong mô hình thực nghiệm bao
gồm: hệ thống báo động trên giao diện Web, qua e-mail và gửi tin nhắn SMS qua
điện thoại di động. Đặc biệt trong luận văn này, phần báo động SMS sử dụng giải
pháp GSM/GPRS gateway. Nó có khả năng báo động thẳng đến điện thoại di động
mà không thông qua bước trung gian nào. Có nghĩa là trong trường hợp kết nối
Internet bị ngắt thì hệ thống vẫn làm việc bình thường. Thành phần kết nối với thiết
bị SMS Gateway sẽ sử dụng là phần mềm nguồn mở Gnokii SMS kết hợp với thiết
bị phần cứng GSM/GPRS modem hoặc Mobile phone để thực nghiệm.

Hình 2.4. Thiết bị dùng trong hệ thống báo động
2.5.4.2 Mã nguồn mở phổ biến

Có rất nhiều công cụ cho phép chúng ta quản trị hệ thống tìm ra những lỗ hổng
trong hệ thống mạng của mình như Nmap, Ports Scan, Ở cấp độ cao hơn chúng ta
phải xây dựng hệ thống có tính khả thi cao hơn bằng các hệ thống mã nguồn mở có
tính nắm bắt được hoạt động kịp thời, mọi lúc, mọi nơi,. Và hệ thống chúng ta sẽ
xây dựng trên hệ thống phần mềm nguồn mở: Cacti, Nagios.
a) Mã nguồn mở Cacti - giám sát lưu lượng
Cacti giám sát lưu lượng mạng (traffic) trong từng thiết bị và giữa các thiết bị
trong hệ thống mạng thể hiện qua các đồ thị: theo dõi các lưu lượng ra vào các cổng,
14


hoạt động của CPU, memory của các thiết bị mạng quan trọng như Router, Switch,
Firewall, Server, Điều này giúp các nhà quản trị mạng có những phân tích để phát
hiện những bất thường trong hệ thống.
Cacti là một phần mểm nguồn mở hỗ trợ trong việc giám sát các lưu lượng
mạng. Cacti trong hệ thống được dùng để giám sát lưu lượng qua các Switch trung
tâm, Router và các Server và lưu lượng kết nối giữa các thiết bị trong hệ thống mạng.
Hoạt động của Cacti được thể hiện như sau:

Hình 2.5 Mô hình hoạt động của Cacti
Thu thập dữ liệu: Cacti thu thập dữ liệu thông qua Poller. Poller là một ứng dụng
hoạt động theo những khoảng thời gian xác định. Trong Unix/Linux thì Poller được
thiết lập từ chương trình lập lịch Crontab. Cacti thể hiện lưu lượng qua các đồ thị trực
quan, thời gian thực. Điều này giúp cho người quản trị theo dõi được tình trạng hoạt
động của các thiết bị và dịch vụ trong hệ thống và phát hiện những bất thường xảy
ra. Những bất thường này có thể là những dấu hiệu của tấn công xâm nhập hoặc sự
quá tải của một số thiết bị mạng trong hệ thống. Cacti sử dụng giao thức SNMP để
thu thập thông tin từ các thiết bị, lưu trữ thông tin và vẽ hình trên các đồ thị.

15



b) Mã nguồn mở Nagios - giám sát trạng thái hoạt động thiết bị và dịch vụ
Nagios là một phần mềm mã nguồn mở hỗ trợ trong việc giám sát hoạt động
của các thiết bị và các dịch vụ trong mạng. Nagios giúp giám sát hoạt động một số
thiết bị trung tâm trong mạng như Server, Switch, Router,... Đồng thời kết hợp với
bộ phận phát cảnh báo qua SMS, phát cảnh báo trong trường hợp một thiết bị ngưng
hoạt động hoặc một dịch vụ mạng ngưng hoạt động. Nagios giám sát các thiết bị
mạng thông qua các giao thức ICMP, SNMP,  để theo dõi trạng thái hoạt động của
các thiết bị. Đồng thời, Nagios còn cho phép thiết lập cơ chế giám sát hoạt động của
các dịch vụ mạng. Các dịch vụ phổ biến được giám sát như: HTTP FTP, SMTP,
POP3,

Hình 2.6. Mô hình dịch vụ Nagios giám sát

16


CHƯƠNG 3: XÂY DỰNG HỆ THỐNG TÍCH HỢP
3.1. Chuẩn bị hệ thống
Cacti monitor Server ( cài đặt và cấu hình Cacti ): IP 192.168.2.145
Giám sát Linux Client : IP 192.168.2.130 enable SNMPv2, community string :
public
Giám sát Windows Server: IP 192.168.2.10 enable SNMPv2, community string :
public
+ Tải và cài đặt CentOS 6.8: https://wiki.centos.org/Download/

Hình 3.1. Client Linux (IP: 192.168.2.130)

17



Hình 3.2. Cacti monitor server (IP: 192.168.2.145)
+ Tải và cài đặt Windows 7:
http://phanmemchuan.com/link-tai-windows-7-iso-32bit-64bit-truc-tiep-cuamicrosoft.html/

Hình 3.3. Máy Win7 (IP:192.168.2.10)
18


+ Tải và cài đặt SSH Secure Shell Client:
SSH là một chương trình tương tác giữa máy chủ và máy khách có sử dụng cơ chế
mã hoá đủ mạnh nhằm ngăn chặn các hiện tượng nghe trộm, đánh cắp thông tin
trên đường truyền. Các chương trình trước đây: telnet, rlogin không sử dụng
phương pháp mã hoá. Vì thế bất cứ ai cũng có thể nghe trộm thậm chí đọc được
toàn bộ nội dung của phiên làm việc bằng cách sử dụng một số công cụ đơn giản.
Sử dụng SSH là biện pháp hữu hiệu bảo mật dữ liệu trên đường truyền từ hệ thống
này đến hệ thống khác.
Cách thức làm việc của SSH:
SSH làm việc thông qua 3 bước đơn giản:
Định danh host - xác định định danh của hệ thống tham gia phiên làm việc
SSH.
Mã hoá - thiết lập kênh làm việc mã hoá.
Chứng thực - xác thực người sử dụng có quyền đăng nhập hệ thống.
http://www.ohlone.edu/org/webcenter/sftptutorial/windowssftpdownloadinstall.html

Hình 3.4. SSH Secure Shell cho ip 192.168.2.145
Lưu ý: chương trình viết code chủ yếu bằng SSH Secure Shell
+ Tải và cài đặt Putty: http://www.putty.org/
PuTTY là một trình giả lập thiết bị đầu cuối cho phép kết nối. Nó hỗ trợ một vài

giao thức mạng, bao gồm SCP, SSH, Telnet, rlogin, và các giao thức khác qua các
19


port khác nhau. PuTTY chính thức được viết cho hệ điều hành Microsoft Windows,
nhưng nó dần được xây dựng để chạy trên nhiều hệ điều hành khác: Unix, Linux,
Symbian, Windows Mobiles, Windows Phone... Putty hỗ trợ thiết lập, cung cấp cho
người dùng kết nối đến một máy chủ khác từ xa thông qua giao thức SSH (Secure
Shell), tạo khóa bảo mật với các thuật toán mã hóa như: 3DES, Arcfour, Blowfish,
DES, và một khóa công khai để nhận diện. Có thể đi kèm với SCP và SFTP ví dụ: có
thể tải 1 thư mục lên server bằng lệnh pscp.

Hình 3.5. Giao diện Putty
Lưu ý: chương trình cũng có có thể viết code chủ yếu bằng Putty
+ Cài đặt EPEL (Extra Packages for Enterprise Linux) là một mã nguồn mở và
miễn phí được phân phối bởi Fedora cung cấp 100% các gói phần mềm cho Linux
bào gồm RHEL- Red Hat Enterprise Linux, CentOS. Nó cung cấp rất nhiều gói mã
nguồn mở thông qua yum, cải thiện được vấn đề tương thích với linux và tất cả được
quản lý bởi Fedora repo.
## RHEL/CentOS 6 32-Bit ## #
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-68.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
+ Cập nhật các gói cho hệ thống: yum update
+ Cài đặt LAMP Server (Apache, MySQL, PHP):
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release

20



Cài đặt Apache: Apache dùng để hiển thị đồ thị của hệ thống được tạo ra bởi
PHP và RRDTool.
yum -y install httpd
Khởi động dịch vụ Apache service và tự động bật khi restart máy:
service httpd start
chkconfig httpd on
Cho phép port 80 của Apache được phép chạy qua firewall
vi /etc/sysconfig/iptables
Thêm vào dòng sau:

Hình 3.6. Cho phép port 80 của Apache được phép chạy qua firewall
Khởi động lại dịch vụ iptables: service iptables restart

21


Test Apache, mở trình duyệt web lên và gõ http://localhost/ hoặc http://serveripaddress/ (server-ipaddress: 192.168.2.145)

Hình 3.7. Apache
Cài đặt MySQL
yum install mysql mysql-server -y
Khởi động dịch vụ MySQL và cho phép khởi động cùng với hệ thống:
service mysqld start
chkconfig mysqld on
Thiết lập MySQL cho password root, thực hiện theo các bước sau:
mysql_secure_installation
Enter current password for root (enter for none): nhấn ENTER
Set root password? [Y/n]
New password: gõ passwordmysql
Re-enter new password: gõ passwordmysql lần 2

Remove anonymous users? [Y/n] nhấn ENTER
Disallow root login remotely? [Y/n] nhấn ENTER
Remove test database and access to it? [Y/n] nhấn ENTER
Reload privilege tables now? [Y/n] nhấn ENTER
mysql u root p
22


Enter password: gõ passwordmysql
mysql [(none)] > show databases;
mysql [(none)] > exit;


Cài đặt PHP 5.3.3

yum install php y
Khởi động lại apache: service httpd restart
Kiểm tra và xem thông tin PHP 5.3.3
vi /var/www/html/info.php
sau đó thêm code vào:
phpinfo();
?
Gõ địa chỉ http://192.168.2.145/info.php/ để kiểm tra thông tin PHP

Hình 3.8. Thông tin về PHP

23



Hỗ trợ MySQL trong PHP 5.3.3
yum search php
yum -y install php-mysql
Cài đặt một số mô đun PHP phổ biến được yêu cầu bởi CMS Systems như
Wordpress, Joomla và Drupal:
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc phpmbstring php-snmp php-soap curl curl-devel
Khởi động lại Apache2:
service httpd restart
Bây giờ hãy tải lại http://192.168.2.145/info.php/ trong trình duyệt của bạn và cuộn
xuống bạn sẽ tìm thấy nhiều mô-đun mới như curl, date,...

Hình 3.9. Thông tin về curl


Cài đặt phpMyAdmin để quản lý giao diện web

yum install phpMyAdmin -y
Chỉnh sửa file: vi /etc/httpd/conf.d/phpMyAdmin.conf

24


Hình 3.10. Chỉnh sửa file cấu hình phpMyAdmin
Chỉnh sửa file:
vi /etc/phpMyAdmin/config.inc.php
[...]
$cfg['Servers'][$i]['auth_type']
or cookie based)?

= 'http';


// Authentication method (config, http

[...]
Khởi động lại apache:
service httpd restart
Truy cập vào giao diện web gõ http://192.168.2.145/phpmyadmin/

Hình 3.11. Cơ sở dữ liệu cacti
25