LỜI MỞ ĐẦU
Ứng dụng của công nghệ thông tin ngày càng đóng vai trò quan trọng
trong mọi lĩnh vực. Quản trị mạng là công việc hết sức cần thiết và có giá trị
thực tiễn đối với các công ty, các tổ chức đã đưa công nghệ thông tin vào sử
dụng.
Với vai trò quản trị mạng, cho dù chúng ta đang làm việc ở đâu, trên
mạng Internet công cộng hay đang duy trì một mạng riêng, việc bảo mật các
dữ liệu luôn là các yêu cầu cốt lõi và thiết yếu. Chúng ta thường để ý quá
nhiều đến việc bảo mật trên đường biên và chống lại những cuộc tấn công từ
bên ngoài vào nhưng thường để ý quá ít đến các cuộc tấn công nội mạng, là
nơi mà dường như các cuộc tấn công thường xẩy ra nhìều hơn.
Để có thể bảo vệ tốt nguồn dữ liệu mạng, chúng ta cần có một chiến
lược bảo mật chắc chắn gồm nhiều lớp bảo mật được kết hợp với nhau. Các tổ
chức cũng thường triển khai các gới hạn để bảo mật đường biên mạng và bảo
mật các truy nhập đến các tài nguyên bằng cách thiết lập các kiểm soát truy
nhập và xác thực. Nhưng việc bảo mật các gói IP thực sự và nội dung của nó
vẫn thường bị bỏ qua.
Để giải quyết vấn để đó, Microsoft tích hợp phần mềm bảo mật các lưu
thông IP (Internet Protocol) bằng cách sử dụng Internet Protocol Security
(IPSec). Trong đồ án chuyên ngành công nghệ thông tin, dưới sự hướng dẫn
của thầy giáo PGS – TS Đặng Minh Ất, em tiến hành tìm hiểu về giao thức
bảo mật tầng mạng với các mục đích, tính năng, cách xác định, triển khai
cũng như việc thực thi và quản lý IPSec, được xem là một công cụ trong
chiến lược xây dựng hệ thống bảo mật một cách vững chắc.
Mặc dù đã cố gắng nhưng đồ án vẫn còn có nhiều thiếu sót, mong các
thấy cô giáo giúp đỡ và bổ sung để em có thể hoàn thiện đề tài của mình.
Em xin chân thành cảm ơn thầy giáo PGS – TS Đặng Minh Ất đã giúp
đỡ em trong quá trình tìm hiểu và hoàn thành đề tài.
1
CHƯƠNG I : TỔNG QUAN VỀ IPSEC
Giao thức Kiểm soát Truyền dẫn), và User Datagram Protocol (UDP-Giao
thức gói dữ liệu người dùng) đều chứa một số Kiểm soát (Check sum) được
sử dụng để kiểm soát tình toàn vẹn (Integrity) dữ liệu của một gói IP. Nếu dữ
liệu bị hỏng, Số Kiểm soát sẽ thông báo cho người nhận biết. Tuy nhiên, do
thuật toán Số Kiểm soát này được phổ biến rộng rãi nên kể cả người dùng
không có chức năng cũng có thể truy cập vào gói tin một cách dễ dàng thay
đổi nội dung của chúng và tính lại Số Kiểm soát, sau đó lại chuyển tiếp gói tin
này đến tay người nhận mà không một ai, kể cả người gửi lẫn người nhận biết
đến sự can thiệp này. Do các hạn chế về chức năng của số kiểm soát như vậy,
tại nơi nhận, người dùng không hề biết và cũng không thể phát hiện ra việc
gói tin đã bị thay đổi.
Trong quá khứ, các ứng dụng cần bảo mật sẽ tự cung cấp cơ chế bảo mật
cho riêng chúng dẫn tới việc có quá nhiều các chuẩn bảo mật khác nhau và
không tương thích.
IPSec là một bộ các Giao thức và Thuật toán Mã hóa cung cấp khả năng
bảo mật tại lớp Internet (Internet Layre) mà không cần phải quan tâm đến các
ứng dụng gửi hay nhận dữ liệu.
Sử dụng IPSec, chỉ cần một chuẩn bảo mật được áp dụng và việc thay
đổi ứng dụng không cần thiết.
IPSec có 2 mục đích chính:
• Bảo vệ nội dung của các gói IP.
• Cung cấp việc bảo vệ chống lại các cuộc tấn công mạng
thông qua lọc gói tin và việc bắt buộc sử dụng các kết nối tin cậy.
Cả hai mục tiêu trên đều có thể đạt được thông qua việc sử dụng các dịch
vụ phòng chống dựa trên cơ chế mã hóa, các giao thức bảo mật và việc quản
lý các khóa động. Với các nền tảng như vậy, IPSec cung cấp cả hai tính năng
Mạnh vả Uyển chuyển trong việc bảo vệ các cuộc liên lạc giữa các máy tính
trong mạng riêng, Miền, Site (bao gồm cả các Site truy cập từ xa), các mạng
3
Intranet, các máy khách truy cập qua đường điện thoại . Thậm chí nó còn
mã hóa đảm bảo rằng chỉ các máy tính đã biết rõ về các khóa là có thể
gửi được từng gói dữ liệu.
• Tấn công ngang đường (man-in-the-middle attack) trong dạng tấn
công này, một người nào đó, đứng giữa hai máy tính đang liên lạc với
nhau, sẽ tiến hành theo dõi, thu nhập và điều khiển các dữ liệu một
cách trong suốt. IPSec kết hợp việc xác thực lẫn nhau và các được mã
hóa để chống lại dạng tấn công này.
• Tấn công từ chối dịch vụ (DoS): Ngăn cản việc vận hành bình
thường của các tài nguyên mạng và máy tính. Làm lụt các tài khỏa E-
mail bằng các thông điệp không mong muốn là một ví dụ của dạng
tấn công này. IPSec sử dụng phương pháp lọc các gói IP (IP packet
Filtering) làm cơ sở cho việc xác định mối liên lạc nào là được phép,
bảo mật hay phải khóa lại. Việc xác định mối liên lạc nào là được
phép, bảo mật hay phải khóa lại. Việc xác định trên dựa vào dẫy địa
chỉ IP, Giao thức IP hay thậm chí một số cổng TCP hay UDP xác
định nào đó.
CHƯƠNG II: TÌM HIỂU VỀ IPSEC
I.Các tính năng bảo mật của IPSec
I.1.Các tính năng bảo mật của IPSec
IPSec có rất nhiều tính năng bảo mật được thiết kế để thỏa macn mục
tiêu bảo vệ các gói IP va chống lại các cuộc tấn công nhờ vào các bộ lọc và cơ
chế kết nối tin cậy. Một vài trong các tính năng bảo mật của IPSec được liệt
kê sau:
Sự kết hợp bảo mật tự động: IPSec sử dụng Internet Security
Association (Kết hợp bảo mật Internet) và Key Management
Protocol (ISAKMP – Giao thức Quản lý Khóa) để thỏa thuận một
cách tích cực về một tập của các yêuc ầu bảo mật cho cả hai phía giữa
5
các máy tính với nhau. Các máy tính không đòi hỏi phải có các chính
sách giống hệt nhau, chúng chỉ cần các chính sách đã được cấu hình
được nếu không biềt được các khóa chia sẻ.
Tính riêng tư của dữ liệu: Các gói dữ liệu khi được gửi là mã hóa
bằng các kỹ thuật mã hóa khóa bí mật qui ước. Điều này làm cho dữ
liệu trở nên riêng tư. Thậm chí ngay cả khi dữ liệu bị truy nhập và
quan sát , kẻ truy nhập cũng chỉ nhìn thấy các dữ liệu đã được mã
hóa. Nếu không biết các khóa bí mật đã sử dụng thì các dữ liệu gốc
vẫn là ẩn. Do khóa bí mật chỉ được chia sẻ giữa nguời gửi và người
nhận, tính riêng tư của dữ liệu đảm bảo rằng chỉ người nhận đã định
trước của gói tin là có thể giải mã và trình bày được gói tin.
Tính không lặp: Bằng cách sử dụng số thứ tụ trên trên mỗi gói tin đã
được bảo vệ gửi giữa các đối tác có sử dụng IPSec, dữ liệu được trao
đổi giữa các đối tác không thể bị lại để thiết lập các quan hệ bảo mật
khác hay nhận được sự truy cập không xác thực đến các thông tin hay
tài nguyên.
Quản lý khóa: Việc xác thực nguồn gốc dữ liệu, tính nguyên vẹn,
tính riêng tư hoàn toàn phụ thuộc vào các thông tin được chia sẻ của
khóa bí mật. Nếu khóa bí mật bị tổn thương, liên lạc sẽ không còn là
bảo mật nữa. Để giữ các khóa không bị các người sử dụng có ác tâm
phát hiện IPSec cung cấp một phương thức an toàn cho việc trao đổi
thông tin khóa để nhận được khóa bảo mật chia sẻ và thay đổi khóa
một cách định ký cho các liên lạc cần bảo mật.
I.2.Các tính năng mới của IPSec trong Windows Server 2003
IPSec được tích hợp và có thể sử dụng để bảo mật các cuộc liên lạc
mạng trong Windows 2000, Windows XP Professonal, và Windows Server
2003. IPSec hợp lệnh dành cho các máy khách cũng có cho hệ điều hành
Microsoft Windows NT 4.0 Microsoft Windows 98, Microsoft Windows
7
Millennium Edition (me). (Bạn có thể tải phần mềm IPSec máy khách từ địa
chỉ:
Htpp://www.microsoft.com/windows2000/server/evaluation/news/bulletins
trong quan hệ tin cậy của máy tính như Miền, CA và công ty.
Các cách cung cấp địa chỉ IP một cách logic sẽ được áp dụng cho việc
cấu hình IP cục bộ - như máy như máy chủ DHCP, Domain Name
system (DNS), và Windows Internet Naming Service (Wins).
IPSec hoạt động trên NAT cho phép các gói ESP đi qua NAT (với các
trạm NAT cho phép các lưu thông UDP đi qua).
Tính năng tích hợp với Network Load Balancing – NBL (Cân bằng
tải mạng) được cải thiện, đem lại các lợi ích cho việc cân bằng tải của
dịch vụ VPN dựa trên IPSec.
Sự hỗ trợ đựoc cung cấp cho Snap-in RSoP giúp ta có thể xem được
các thiết lập trong chính sách IPSec.
Các giao thức IPSec cung cấp sự bảo mật dựa trên việc sử dụng kết hợp
các giao thức, trong đó có giao thức AH và giao thức ESP. Các giao thức này
được sử dụng độc lập hay cái trước cái sau còn phụ thuộc vào các yêu cầu của
việc giữ tính riêng tư và xác thực.
1. Giao thức AH cung cấp tính xác thực, nguyên vẹn và không lặp cho
toàn bộ gói tin (gồm cả phần tiêu đề của IP và các giữ liệu được
chuyển trong toàn bộ gói tin). Nó không cung cấp tính riêng tư, có
nghĩa là nó không mã hóa dữ liệu. Dữ liệu vẫn có thể đọc được,
nhưng chúng được bảo vệ chống lại việc thay đổi. Giao thức AH sử
dụng các thuật toán Keyed hash để đánh dấu gói dữ liệu nhằm đảm
bảo tính toàn vẹn của nó.
2. Giao thức ESP cung cấp tính riêng tư (thêm vào cho tính xác thực,
toàn vẹn và không lặp) cho dữ liệu (IP Payload). ESP trong trạng thái vận
9
chuyển sẽ không đánh dấu lại toàn bộ gói tin. Chỉ các thân gói tin IP (IP
Payload) – không phải là IP Header – là được bào vệ. ESP có thể được sử
dụng độc lập hay kết hợp với AH. Ví dụ, khi sử dụng kết hợp với AH, các gói
IP Payload được gửi từ máy tính A đến máy tính B được mã hóa và đánh dấu
để đảm bảo tính nguyên vẹn. Khi nhận được, phần dữ liệu được truyền sẽ
thông sẽ đuợc bảo mật như thế nào (các dịch vụ bảo mật và cơ chế bảo vệ) và
với khóa bảo mật nào (Khóa mã hóa). Có hai loại SA sẽ được tạo ra khi các
cặp máy tính sử dụng IPSec trao đổi với nhau trong trạng thái bảo mật: SA
ISAKMP và SA IPSec.
• SA IASKMP
SA IPSKMP, còn đuợc gọi là SA Phương thức Chính (Main Mode SA)
đuợc sử dụng để bảo vệ các thỏa thuận bảo mật IPSec. SA ISAKMP được tạo
ra bằng việc thỏa thuận một bộ mật mã (một tập hợp các thuật toán mã hóa
được sử dụng để mã hóa dữ liệu), mà sẽ được sử dụng để bảo vệ các lưu
thông ISPKMP trong tuơng lai, trao đổi chất liệu tạo khóa, sau đó sẽ xác nhận
và xác thực từng đối tương IPSec. SA trong vòng CSDL Liên kết Bảo mật (
Security Association Database – SADB). Khi quá trình tạo SA ISAKMP kết
thúc, tất cả các thỏa thuận SA trong tuơng lai cho cả hai loại SA đều đươc bảo
Initiator
Router Router
Responderr
12
vệ. Đó chính là một khi một khía cạnh của việc liên lạc bảo mật được biết
đến với tên Thỏa thuận bộ Mã hóa Được bảo vệ (Protected Ciphersuite
negotiation). Với cơ chế này, không chỉ các dữ liệu được bảo vệ mà cả xác
định các thuật toán bảo mật đã được thỏa thuận giữa các đối tác IPSec cũng
được bảo vệ. Để phá vỡ việc bảo vệ IPSec, các người dùng ác ý trước hết phải
xác định được bộ mật mã bảo vệ dữ liệu, mà bộ mật mã này lại đưa ra rào cản
khác. Đối với IPSec, chỉ có một ngoại lệ để hoàn thành việc thỏa thuận bộ
mật mã được bảo vệ là tiến thành thỏa thuận về bộ mật mã với SA ISAKMP
ban đẩu, được gửi dưới dạng văn bản tường minh.
• SA IPSec
SA IPSec, còn được gọi là SA Phương thức Nhanh (Quick Mode SA),
Được sử dụng để bảo vệ các dữ liệu đuợc gửi giữa các đối tác IPSec. Việc
thỏa thuận bộ mật mã SA IPSec được SA ISAKMP bảo vệ. Không một thông
dược cùng một phép tính như các đối tác tham gia thỏa thuận đã thực hiện để
nhận được khóa bảo mật chia sẻ.
Quá trình trao đổi khóa Diffie –Hellman không ngăn cản các vụ tấn
công ngang đường, trong đó người sử dụng ác ý đứng giữa hai đối tác IPSec
sẽ thực hiện hai quá trình trao đổi khóa Diffie-Hellman, mỗi quá trình với
một đối tác IPsec. Sau khi đã hoàn thành cả hai quá trình trao đổi khóa nói
trên, người dùng ác ý sẽ cá các khóa bảo mật để liên lạc với cả hai đối tác. Để
tránh các cuộc tấn công như vậy , IPsec trong Windows Server 2003 thực
hiện việc xác thực ngay sau khi quá trình trao đổi khóa kết thúc. Trong trường
hợp đối tác IPsec không thể thực hiện việc xác thực một cách chính xác, thỏa
thuận bảo mật sẽ bị loại bỏ trước khi có bất cứ một dữ liệu nào được gửi đi.
IPSec trong Window Server 2003 cũng hỗ trợ cơ chế tạo lại khóa tự động
(Dynamic Rekeying), sẽ xác định các chất liệu tạo khóa mới thông qua một
trao đổi Diffie-Hellman mới. Cơ chế tạo lại khóa tự động dựa trên thời gian
đã trôi qua (mặc định là 480 phút hay 8 giờ ) hoặc dựa trên số các phiên trao
đổi dữ liệu với cùng một tập các chất liệu tạo khóa(Mặc định, số này là không
14
giới hạn).
THÔNG TIN THÊM: Quá trình thỏa thuận IKE Để có thêm thông tin
về quá trình thỏa thuận IKE, xem RFC 2409 “The Internet Key Exchange
(IKE)” tại địa chỉ
II.2.Dịch vụ IPSec Policy Agent
Mục đích của IPSec Policy Agent (Đại lý Chính sách IPSec) là dùng để
phục hồi lại các thông tin chính sách vàchuyền chúng cho các cấu thành
IPSec khác có thể yêu cầu các thông tin này để thực hiện các dịch vụ bảo mật.
IPSec Policy Agent là một dịch vụ tồn tại trong máy vi tính chạy hệ điều
hành Windows Server 2003, xuất hiện nhưlà một dịch vụ IPSec trong danh
sách các dịch vụ hệ thống tại bảng điều khiển Services, IPSec Policy Agent sẽ
thực hiện một số chức năng trong hệ điều hành bao gồm:
1. Phục hồi các chính sách IPSec thích hợp (nếu chúng đã được gắn) từ
II.3.Trình điều khiển IPSec
Trình điều khiển IPSec nhận danh sách bộ lọc IP tích cực từ IPSec Policy
Agent, như chỉ ra trong hình 6-4. Đại lý Chính sách sau đó sẽ kiểm tra sự phù
hợp của mỗi gói thông tin chiều ra cũng như chiều vào so với danh sách trong
bộ lọc. Bộ lọc IP cho phép quản trị mạng xác định một cách chính xác các lưu
thông IP nào là bảo mật. Mỗi danh sách bộ lọc IP bao gồm một hay nhiều bộ
lọc, xác định địa chỉ IP và kiểu lưu thông. Một danh sách bộ lọc IP có thể
được sử dụng trong nhiều kịch bản liên lạc. Bạn có thể truy cập các bộ lọc IP
bằng cách sử dụng Snap-in IP Security Policy management để truy cập các
danh sách bộ lọc IP, trong Snap-in IP Security Pocily management, nhấn
chuột phải vào điểm IP security Policy, sau đó nhấn Manage IP Filter Lists
And Filter Actions.
Khi gói tin phù hợp với bộ lọc, nó sẽ áp dụng các hành vi bộ lọc tương
ứng. Khi gói tin không phù hợp bất cứ bộ lọc nào, nó sẽ được chuyển ngược
16
lại cho trình điều khiển TCP/IP để được nhận hay truyền mà không có sự thay
đổi nào.
Nếu hành động của bộ lọc cho phép truyền, gói tin sẽ được nhận hay
truyền mà không bị thay đổi. Nếu hành động của bộ lọc là khóa truyền dẫn,
gói tin sẽ bị vô hiệu hóa. Nếu hành động của bộ lọc yêu cầu thỏa thuận về bảo
mật, SA phương thức chính và phương thức nhanh sẽ được thỏa thuận.
Các khóa và SA phương thức nhanh đã được thỏa thuận được sử dụng
với cả các lưu thông chiều ra và chiều vào. Trình điều khiển IPSec lưu thông
toàn bộ các SA phương thức nhanhtrong CSDL. Trình điều khiển IPSec sử
dụng trường SPI để kiểm tra sự phù hợp của SA với các gói tin.
Khi một gói tin chiều ra thỏa mãn các điều kiện của danh sách bộ lọc IP
với hành động thỏa thuận bảo mật, trình điều khiển IPSec sẽ xếp gói tin vào
hàng đợi và quá trình IKE bắt đầu tiến hành thỏa thuận bảo mật với địa chỉ IP
đích của gói tin.
Sau khi việc thỏa thuận bảo mật được hoàn tất, trình diều khiển IPSec
thuận phương thức chính và thỏa thuận phương thức nhanh.
Ta có thể lấy một ví dụ:
1. Trạm A yêu cầu liên lạc bảo mật.
2. Việc thỏa thuận theo phương thức chính được bắt đầu và hoàn tất
(Khóa chủ - Master Key – Và SA IKE được thiết lập – xem phần
“Thỏa thuận Phương thức Chính”).
3. Việc thỏa thuận phương thức nhanh của cặp SA (chiều vào và
chiều ra) cho việc truyền gói tin ứng dụng hoàn tất.
4. Các gói tin ứng dụng từ trạm A được trình điều khiển TCP/IP
chuyển cho trình điều khiển IPSec.
5. trình điều khiển IPSec định dạng và mã hóa gói tin, sau đó sử dụng
SA chiều ra để gửi nó cho trạm B.
6. Các gói tin bảo mật được truyền trên mạng.
18