- 1 -
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
===========================
BÁO CÁO NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI :
XÂY DỰNG GIẢI PHÁP AN NINH MẠNG CHO CÁC DOANH
NGHIỆP VỪA VÀ NHỎ DỰA TRÊN PHẦN MỀM MÃ NGUỒN MỞ Sinh viên thực hiện : Trịnh Thị Thu Hương
Lớp : K54C- CNTT HÀ NỘI, 4/2008
- 2 -
MỤC LỤC
CHƯƠNG I : TỔNG QUAN VỀ AN TOÀN - AN NINH MẠNG
I.1 An toàn – an ninh mạng là gi ? 3
I.2 Các đặc trưng kỹ thuật của an toàn- an ninh mạng…………………………4
II.2.3 Các loại VPN……………………………………………………………………34
II.2.4 Các yêu cầu cơ bản đối với một giải pháp VPN……………………………… 40
CHƯƠNG III : MỘT SỐ CÔNG CỤ AN NINH MẠNG MÃ NGUỒN MỞ…… 42
III.1 Giới thiệu……………………………………………………………………… 42
III.2 Netfilter và Iptable……………………………………………………………….43
1. Giới thiệu………………………………………………………………………43
2. Cấu trúc của Iptable………………………………………………………… 43
3. Quá trình chuyển gói dữ liệu qua tường lửa………………………………… 43
4. Targets và Jump……………………………………………………………… 44
5. Thực hiện lệnh trong Iptable………………………………………………… 45
III.3 OpenVPN……………………………………………………………………… 47
III.4 Webmin………………………………………………………………………… 49
CHƯƠNG IV : TRIỂN KHAI CÁC HỆ THỐNG………………………………….50 - 4 -
CHƯƠNG I : TỔNG QUAN VỀ AN TOÀN - AN NINH MẠNG
I.1 An toàn mạng là gì ?
Mục tiêu của việc kết nối mạng là để nhiều người sử dụng, từ những vị trí địa lý
khác nhau có thể sử dụng chung tài nguyên, trao đổi thông tin với nhau. Do đặc điểm
nhiều người sử dụng lại phân tán về mặt vật lý nên việc bảo vệ các tài nguyên thông tin
trên mạng tránh sự mất mát, xâm phạm là cần thiết và cấp bách. An toàn mạng có thể
hiểu là cách bảo vệ, đảm bảo an toàn cho tất cả các thành phần mạng bao gồm : dữ liệu,
thiết bị, cơ sở hạ tầng mạng và đảm bảo mọi tài nguyên mạng được sử dụng tương ứng
với một chính sách hoạt động được ấn định và với chỉ những người có thẩm quyền tương
ứng.
An toàn mạng bao gồm :
mô hình chính sau :
Đối tượng cần kiểm tra cần phải cung cấp những thông tin trước, ví dụ
như password, hoặc mã số thông số cá nhân PIN.
Kiểm tra dựa vào mô hình những thông tin đã có, đối tượng kiểm tra cần
phải thể hiện những thông tin mà chúng sở hữu, ví dụ như Private Key, hoặc số thẻ
tín dụng.
Kiểm tra dựa vào mô hình những thông tin xác định tính duy nhất, đối
tượng kiểm tra cần phải có những thông tin để định danh tính duy nhất của mình, ví
dụ như thông qua giọng nói, dấu vân tay, chữ ký,…
Có thể phân loại bảo mật trên VPN theo các cách sau : mật khẩu truyền thống hay
mật khẩu một lần; xác thực thông qua các giao thức (PAP, CHAP, ) hay phần cứng (các
loại thẻ card: smart card, token card, PC card), nhận diện sinh trắc học (dấu vân tay,
giọng nói, quét võng mạc…).
2. Tính khả dụng (Availability): Tính khả dụng là đặc tính mà thông tin trên mạng
được các thực thể hợp pháp tiếp cận và sử dụng theo yêu cầu khi cần thiết bất cứ khi nào,
trong hoàn cảnh nào. Tính khả dụng nói chung dùng tỉ lệ giữa thời gian hệ thống được sử
dụng bình thường với thời gian quá trình hoạt động để đánh giá. Tính khả dụng cần đáp
ứng những yêu cầu sau : Nhận biết và phân biệt thực thể, khống chế tiếp cận (bao gồm cả
- 6 -
việc khống chế tự tiếp cận và khống chế tiếp cận cưỡng bức ), khống chế lưu lượng
(chống tắc nghẽn), khống chế chọn đường (cho phép chọn đường nhánh, mạch nối ổn
định, tin cậy), giám sát tung tích (tất cả các sự kiện phát sinh trong hệ thống được lưu giữ
để phân tích nguyên nhân, kịp thời dùng các biện pháp tương ứng).
3. Tính bảo mật (Confidentialy): Tính bảo mật là đặc tính tin tức không bị tiết lộ
cho các thực thể hay quá trình không đuợc uỷ quyền biết hoặc không để cho các đối
tượng xấu lợi dụng. Thông tin chỉ cho phép thực thể được uỷ quyền sử dụng. Kỹ thuật
bảo mật thường là phòng ngừa dò la thu thập, phòng ngừa bức xạ, tăng cường bảo mật
thông tin (dưới sự khống chế của khoá mật mã), bảo mật vật lý (sử dụng các phương
pháp vật lý để đảm bảo tin tức không bị tiết lộ).
Những mối đe doạ thuộc dạng này được tạo ra bởi những hacker không lành nghề,
họ thật sự không có kinh nghiệm. Những người này ham hiểu biết và muốn download dữ
liệu từ mạng Internet về. Họ thật sự bị thúc đẩy khi nhìn thấy những gì mà họ có thể tạo
ra.
2) Đe doạ có cấu trúc
Hacker tạo ra dạng này tinh tế hơn dạng unstructured rất nhiều. Họ có kỹ thuật và
sự hiểu biết về cấu trúc hệ thống mạng. Họ thành thạo trong việc làm thế nào để khai thác
những điểm yếu trong mạng. Họ tạo ra một hệ thống có “cấu trúc” về phương thức xâm
nhập sâu vào trong hệ thống mạng.
Cả hai dạng có cấu trúc và không có cấu trúc đều thông qua Internet để thực hiện
tấn công mạng.
3) Đe doạ từ bên ngoài
Xuất phát từ Internet, những người này tìm thấy lỗ hổng trong hệ thống mạng từ
bên ngoài. Khi các công ty bắt đầu quảng bá sự có mặt của họ trên Internet thì cũng là lúc
các hacker rà soát để tìm kiếm điểm yếu, đánh cắp dữ liệu và phá huỷ hệ thống mạng.
4) Đe doạ từ bên trong
- 8 -
Mối đe doạ này thật sự rất nguy hiểm bởi vì nó xuất phát từ ngay trong chính nội
bộ, điển hình là nhân viên hoặc bản thân những người quản trị. Họ có thể thực hiện việc
tấn công một cách nhanh gọn và dễ dàng vì họ am hiểu cấu trúc cũng như biết rõ điểm
yếu của hệ thống mạng.
I.3.2 Các lỗ hỏng và điểm yếu của mạng
1. Các lỗ hỏng của mạng
Các lỗ hỏng bảo mật hệ thống là các điểm yếu có thể tạo ra 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 các truy nhập không hợp lệ vào hệ
thống. Các lỗ hỏng tồn tại trong các dịch vụ như : Sendmail, Web, và trong hệ điều hành
mạng như trong WindowsNT, Windows95, Unix hoặc trong các ứng dụng
Các lỗ hỏng bảo mật trên một hệ thống được chia như sau :
Lỗ hỏng loại C: Cho phép thực hiện các phương thức tấn công theo kiểu từ chối
đệ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í
dụ: người sử dụng viết chương trình nhập trường tên người sử dụng ; qui định trường này
dài 20 ký tự. Do đó họ sẽ khai báo :
Char first_name [20];
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ả là 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 kẻ 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 hiện 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.
Lỗ hỏng loại A: Cho phép người sử dụng ở ngoài có thể truy nhập vào hệ thống bất
hợp pháp. Lỗ hỏng loại này rất nguy hiểm, có thể làm phá huỷ toàn bộ hệ thống.
- 10 -
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.
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.
Đối với những hệ thống cũ, thường xuyên phải kiểm tra các thông báo của các
nhóm tin về bảo mật trên mạng để phát hiện những lỗ hỏng loại này. Một loạt các chương
trình phiên bản cũ thường sử dụng có những lỗ hỏng loại A như : FTP, Sendmail,…
2. Ảnh hưởng của các lỗ hỏng bảo mật trên mạng Internet
Phần trên đã trình bày một số trường hợp có những lỗ hỏng bảo mật, những kẻ tấn
công có thể lợi dụng những lỗ hỏng này để tạo ra những lỗ hỏng khác tạo thành một
chuỗi mắt xích những lỗ hỏng.
thường được tiến hành ngay sau khi kẻ tấn công đã chiếm được quyền truy nhập hệ
thống, thông qua các chương trình cho phép. Những thông tin này cũng có thể dễ dàng
lấy được trên Internet.
Giả mạo địa chỉ
Việc giả mạo địa chỉ IP có thể được thực hiện thông qua việc sử dụng khả năng
dẫn đường trực tiếp. Với cách tấn công này, kẻ tấn công gửi các gói tin IP tới mạng bên
trong với một địa chỉ IP giả mạo (thông thường là địa chỉ của một mạng hoặc một máy
được coi là an toàn đối với mạng bên trong), đồng thời chỉ rõ đường dẫn mà các gói tin IP
phải gửi đi.
Vô hiệu các chức năng của hệ thống
Đây là kểu tấn công nhằm tê liệt hệ thống, không cho nó thực hiện chức năng mà
nó thiết kế. Kiểu tấn công này không thể ngăn chặn được, do những phương tiện được tổ
chức tấn công cũng chính là các phương tiện để làm việc và truy nhập thông tin trên
mạng. Ví dụ sử dụng lệnh “ping” với tốc độ cao nhất có thể, buộc một hệ thống tiêu hao
toàn bộ tốc độ tính toán và khả năng của mạng để trả lời các lệnh này, không còn các tài
nguyên để thực hiện những công việc có ích khác.
Lỗi của người quản trị hệ thống
- 12 -
Đây không phải là một kiểu tấn công của những kẻ đột nhập, tuy nhiên lỗi của
người quản trị hệ thống thường tạo ra những lỗ hổng cho phép kẻ tấn công sử dụng để
truy nhập vào mạng nội bộ.
Tấn công vào yếu tố con người
Kẻ tấn công có thể liên lạc với một người quản trị hệ thống, giả làm một người
sử dụng để yêu cầu thay đổi mật khẩu, thay đổi quyền truy nhập của mình đối với hệ
thống, hoặc thậm chí thay đổi một số cấu hình của hệ thống để thực hiện các phương
pháp tấn công khác. Với kiểu tấn công này không một thiết bị nào có thể ngăn chặn một
cách hữu hiệu, và chỉ có một cách giáo dục người sử dụng mạng nội bộ về những yêu cầu
bảo mật để đề cao cảnh giác với những hiện tượng đáng nghi.
Nói chung yếu tố con người là một điểm yếu trong bất kỳ một hệ thống bảo vệ nào
I.4 Một số công cụ an ninh –an toàn mạng
I.4.1 Thực hiện an ninh – an toàn từ cổng truy nhập dùng tường lửa
Tường lửa cho phép quản trị mạng điều khiển truy nhập, thực hiện chính sách đồng
ý hoặc từ chối dịch vụ và lưu lượng đi vào hoặc đi ra khỏi mạng. Tường lửa có thể được
sử dụng để xác thực người sử dụng nhằm đảm bảo chắc chắn rằng họ đúng là người như
họ đã khai báo trước khi cấp quyền truy nhập tài nguyên mạng.
Tường lửa còn được sử dụng để phân chia mạng thành những phân đoạn mạng và
thiết lập nhiều tầng an ninh khác nhau trên các phân đoạn mạng khác nhau để có thể đảm
bảo rằng những tài nguyên quan trọng hơn sẽ được bảo vệ tốt hơn, đồng thời tường lửa
còn có thể hạn chế lưu lượng và điều khiển lưu lượng chỉ cho phép chúng đến những nơi
chúng được phép đến.
Chúng ta sẽ đi tìm hiểu kỹ hơn về phần này trong các chương sau.
I.4.2 Mã mật thông tin
Mật mã (Cryptography) là quá trình chuyển đổi thông tin gốc sang dạng mã hoá.
Có hai cách tiếp cận để bảo vệ thông tin bằng mật mã : theo đường truyền và từ mút-đến-
mút (End-to-End).
- 14 -
Trong cách thứ nhất, thông tin được mã hoá để bảo vệ trên đường truyền giữa hai
nút không quan tâm đến nguồn và đích của thông tin đó. Ưu điểm của cách này là có thể
bí mật được luồng thông tin giữa nguồn và đích và có thể ngăn chặn được toàn bộ các vi
phạm nhằm phân tích thông tin trên mạng. Nhược điểm là vì thông tin chỉ được mã hoá
trên đường truyền nên đòi hỏi các nút phải được bảo vệ tốt.
Ngược lại, trong cách thứ hai, thông tin được bảo vệ trên toàn đường đi từ nguồn
tới đích. Thông tin được mã hoá ngay khi mới được tạo ra và chỉ được giải mã khi đến
đích. Ưu điểm của tiếp cận này là người sử dụng có thể dùng nó mà không ảnh hưởng gì
tới người sử dụng khác. Nhược điểm của phương pháp này là chỉ có dữ liệu người sử
dụng được mã hoá, còn thông tin điều khiển phải giữ nguyên để có thể xử lý tại các nút.
Giải thuật DES mã hoá các khối 64bits của văn bản gốc thành 64 bits văn bản mật
bằng một khoá. Khoá gồm 64 bits trong đó 56 bits được dùng mã hoá và 8 bits còn lại
chạy VPN để hỗ trợ kết nối xa bảo mật với các cấu hình cơ bản sau:
Intel x86 based hardware: CPU 1GHz, SDRAM 512MB,
HDD/Flash 1GB
Ethernet 10/100Mbps: 1xLAN, 2xWAN, 1xDMZ
Firewall: Policy based, NAT/NATPT, SPI
Kết nối mạng: PPPoE, Static Route, RIPv2
Cân bằng tải: Policy-based routing, Round-Robin
- 16 -
VPN: 1000 tunnels, PPTP/IPSec, DES/3DES/AES, SHA-1/MD5,
Client-to-Site/Site-to-Site
Quản lý băng thông: Policy-based
Network servers: DDNS, DHCP, SIP Proxy
Quản trị/cấu hình hệ thống: Web-GUI (Tiếng Việt/Anh), SNMP,
Telnet/Console. Hình 1.3: Sơ đồ mạng cho doanh nghiệp cỡ nhỏ
Với các doanh nghiệp vừa thì sơ đồ trên phù hợp cho các chi nhánh của họ. Còn tại
trung tâm mạng có thể thực hiện sơ đồ an ninh nhiều tầng như:
- 17 -
Hình 1.4: Sơ đồ mạng cho doanh nghiệp cỡ vừa
năng, thêm quy tắc như firewall mềm)
- Firewall cứng hoạt động ở tầng thấp hơn Firewall mềm (Tầng
Network và tầng Transport)
- Firewall cứng không thể kiểm tra được nột dung của gói tin.
Ví dụ Firewall cứng : NAT (Network Address Translate).
Firewall mềm : Là những Firewall được cài đặt trên Server
Đặc điểm của Firewall mềm:
- Tính linh hoạt cao: Có thể thêm, bớt các quy tắc, các chức năng.
- Firewall mềm hoạt động ở tầng cao hơn Firewall cứng (tầng ứng
dụng)
- Firewal mềm có thể kiểm tra được nội dung của gói tin (thông qua
các từ khóa).
Ví dụ Firewall mềm : Zone Alarm, Norton Firewall.
II.1.2 Chức năng
Chức năng chính của Firewall là kiểm soát luồng thông tin giữa Intranet (mạng bên
trong) và Internet. Thiết lập cơ chế điều khiển dòng thông tin giữa Intranet và mạng
Internet. Cụ thể là :
• Cho phép hoặc cấm những dịch vụ truy nhập ra ngoài (từ Intranet ra
Internet).
• Cho phép hoặc cấm những dịch vụ từ ngoài truy nhập vào trong (từ
Internet vào Intranet).
• Theo dõi luồng dữ liệu mạng giữa Internet và Intranet.
• Kiểm soát địa chỉ truy nhập, cấm địa chỉ truy nhập.
- 20 -
• Kiểm soát người sử dụng và việc truy nhập của người sử dụng. Kiểm soát
nội dung thông tin lưu chuyển trên mạng.
Một firewall khảo sát tất cả các luồng lưu lượng giữa hai mạng để xem nó có đạt
chuẩn hay không. Nếu nó đạt, nó được định tuyến giữa các mạng, ngược lại nó bị hủy.
Một bộ lọc firewall lọc cả lưu lượng ra lẫn lưu lượng vào. Nó cũng có thể quản lý việc
và những con số địa chỉ của chúng.
Hình 2.2: Lọc gói tin
Bộ lọc packet cho phép hay từ chối mỗi packet mà nó nhận được. Nó kiểm tra
toàn bộ đoạn dữ liệu để quyết định xem đoạn dữ liệu đó có thỏa mãn một trong số các
luật lệ của lọc packet hay không. Các luật lệ lọc packet này là dựa trên các thông tin ở
đầu mỗi packet (header), dùng để cho phép truyền các packet đó ở trên mạng. Bao gồm:
• Địa chỉ IP nơi xuất phát (Source)
• Địa chỉ IP nơi nhận ( Destination)
• Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel …)
• Cổng TCP/UDP nơi xuất phát
• Cổng TCP/UDP nơi nhận
• Dạng thông báo ICMP
• Giao diện packet đến
- 22 -
• Giao diện packet đi
Nếu packet thỏa các luật lệ đã được thiết lập trước của Firewall thì packet đó được
chuyển qua, nếu không thỏa thì sẽ bị loại bỏ. Việc kiểm soát các cổng làm cho Firewall
có khả năng chỉ cho phép một số loại kết nối nhất định được phép mới vào được hệ thống
mạng cục bộ.
Ưu điểm
Đa số các hệ thống Firewall đều sử dụng bộ lọc packet. Một trong những ưu
điểm của phương pháp dùng bộ lọc packet là đảm bảo thông qua của lưu lượng mạng.
Bộ lọc packet là trong suốt đối với người sử dụng và các ứng dụng, vì vậy nó
không yêu cầu sự huấn luyện đặc biệt nào cả.
Hạn chế
Việc định nghĩa các chế độ lọc packet là một việc khá phức tạp, nó đòi hỏi người
quản trị mạng cần có hiểu biết chi tiết vể các dịch vụ Internet, các dạng packet header và
các giá trị cụ thể mà họ có thể nhận trên mỗi trường. Khi đòi hỏi vể sự lọc càng lớn, các
- Mỗi proxy đều độc lập với các proxies khác trên bastion host. Điều này cho
phép dễ dàng trong quá trình cài đặt một proxy mới, hay tháo gỡ một proxy đang có vấn
để.
Ưu điểm:
Cho phép người quản trị mạng hoàn toàn điều khiển được từng dịch vụ trên
mạng, bởi vì ứng dụng proxy hạn chế bộ lệnh và quyết định những máy chủ nào có thể
truy nhập được bởi các dịch vụ.
Cho phép người quản trị mạng hoàn toàn điều khiển được những dịch vụ nào
cho phép, bởi vì sự vắng mặt của các proxy cho các dịch vụ tương ứng có nghĩa là các
dịch vụ ấy bị khoá.
Cổng ứng dụng cho phép kiểm tra độ xác thực rất tốt và nó có nhật ký ghi
chép lại thông tin về truy nhập hệ thống.
- 24 -
Luật lệ filtering (lọc) cho cổng ứng dụng là dễ dàng cấu hình và kiểm tra hơn
so với bộ lọc packet.
Hạn chế:
Yêu cầu các users thực hiện các thao tác chỉnh sửa phần mềm đã cài đặt trên máy
client cho truy nhập vào các dịch vụ proxy. Ví dụ, Telnet truy nhập qua cổng ứng dụng
đòi hỏi hai bước đê nối với máy chủ chứ không phải là một bước. Tuy nhiên, cũng đã có
một số phần mềm client cho phép ứng dụng trên cổng ứng dụng là trong suốt, bằng cách
cho phép user chỉ ra máy đích chứ không phải cổng ứng dụng trên lệnh Telnet.
Cổng mạch
Cổng mạch là một chức năng đặc biệt có thể thực hiện được bởi một cổng ứng
dụng. Cổng mạch đơn giản chỉ chuyển tiếp các kết nối TCP mà không thực hiện bất kỳ
một hành động xử lý hay lọc packet nào.
Hình 2.3 minh hoạ một hành động sử dụng nối telnet qua cổng mạch. Cổng mạch
đơn giản chuyển tiếp kết nối telnet qua firewall mà không thực hiện một sự kiểm tra, lọc
hay điều khiển các thủ tục Telnet . Cổng mạch làm việc như một sợi dây, sao chép các
byte giữa kết nối bên trong (inside connection) và các kết nối bên ngoài (outside
Firewall che chắn (Screening) máy chủ bắt buộc có sự kết nối tới tất cả máy chủ
bên ngoài với máy chủ kiên cố, không cho phép kết nối trực tiếp với máy chủ nội bộ.
Firewall che chắn máy chủ là do bộ định tuyến lọc gói và máy chủ kiên cố hợp thành. Hệ
thống Firewall có cấp an toàn cao hơn so với hệ thống Firewall lọc gói thôngthường vì nó
đảm bảo an toàn tầng mạng (lọc gói) và tầng ứng dụng (dịch vụ đại lý).
Firewall che chắn mạng con: Hệ thống Firewall che chắn mạng con dùng hai bộ
định tuyến lọc gói và một máy chủ kiên cố, cho phép thiết lập hệ thống Firewall an toàn
nhất, vì nó đảm bảo chức năng an toàn tầng ứng dụng.
II.1.6 Kỹ thuật Firewall
Lọc khung (Frame Filtering): Hoạt động trong hai tầng của mô hình OSI, có thể lọc,
kiểm tra được mức bit và nội dung của khung tin. Trong tầng này các khung dữ liệu
không tin cậy sẽ bị từ chối ngay trước khi vào mạng.
Lọc gói (Packet Filtering): Kiểu Firewall chung nhất là kiểu dựa trên tầng mạng của
mô hình OSI. Lọc gói cho phép hay từ chối gói tin mà nó nhận được. Nó kiểm tra toàn bộ
đoạn dữ liệu để quyết định xem đoạn dữ liệu đó có thoả mãn một trong số các quy định
của lọc Packet hay không. Các quy tắc lọc packet dựa vào các thông tin trong Packet
header.