TÌM HIỂU VỀ TÌNH HÌNH AN NINH MẠNG VÀ CÁC HÌNH THỨC TẤN CÔNG MẠNG PHỔ BIẾN HIỆN NAY
Khái quát chung về tình hình an ninh mạng những năm gần đây
1.1.1 Vấn đề an ninh mạng bên trong và ngoài nước
Thế giới đang sống trong cuộc Cách mạng công nghệ lần thứ 4 với sự phát triển mạnh mẽ của nền tảng không gian mạng Nó đã đem lại những lợi ích vô cùng to lớn trên nhiều lĩnh vực của đời sống xã hội, làm thay đổi bộ mặt của nhiều quốc gia, đem lại những thành tựu vượt bậc cho nhân loại Tuy nhiên, với tính toàn cầu và khả năng kết nối vô hạn, không gian mạng cũng đặt ra nhiều thách thức rất lớn đối với tình hình an ninh của các quốc gia trên thế giới như: chiến tranh mạng, chiến tranh thông tin, khủng bố mạng, tội phạm mạng… Những điều này làm cho vấn đề phát triển và làm chủ không gian mạng đã trở thành một trong những mối quan tâm không hề nhỏ đối với các quốc gia, trong đó có Việt Nam.
Mỗi ngày, trên thế giới đã xảy ra hàng loạt các cuộc tấn công mạng với thủ đoạn tinh vi gây ra hậu quả vô cùng nghiêm trọng đến các cá nhân, tổ chức, doanh nghiệp, thậm chí rộng hơn là hệ thống thông tin quốc gia Đặc biệt, ở thời điểm hiện tại, con người còn đang phải đối mặt với tình hình dịch bệnh COVID-19 diễn biến hết sức phức tạp, làm ảnh hưởng trực tiếp đến sức khỏe và tình hình kinh tế, chính trị chung Thế nhưng chính vì điều này, con số tội phạm mạng lại ngày càng gia tăng một cách chóng mặt lên đến 600% (theo thống kê của VNIS) Dịch bệnh đã đem lại cho chúng thêm không gian, môi trường để tận dụng khai thác các lỗ hổng, đánh cắp thông tin, và có đủ thời gian để ấp ủ các âm mưu thực hiện các cuộc tấn công mạng trên quy mô lớn.
Cụ thể, tại Việt Nam trong năm 2020, theo thống kê được bởi hệ thống giám sát an ninh mạng Viettel có 3 triệu cuộc tấn công từ chối dịch vụ được ghi nhận Có khoảng
156 tổ chức và 306 website của các tổ chức chính phủ bị tấn công Có 4 chiến dịch tấn công phishing lớn vào tất cả các ngân hàng với khoảng 26.000 người dùng ngân hàng bị ảnh hưởng gây tổn thất một lượng chi phí cực kỳ to lớn trong việc bảo trì và khôi phục hệ thống Còn trong năm 2021 mới đây, theo ghi nhận từ các nguồn tin an ninh thông tin quốc gia, trong thời điểm ba tháng đầu năm đã ghi nhận 1271 các cuộc tấn công mạng qua nhiều hình thức khác nhau như tấn công bằng mã độc với 623 sự cố,tấn công bằng hình thức lừa đảo giả mạo với 449 sự cố, …Hiện tại, tính đến thời điểm tháng 9/2021, con số này lại tiếp tục gia tăng đáng kể với tổng con số ghi nhận là 6156 cuộc tấn công (gồm 1.404 cuộc tấn công giả mạo, 1.109 cuộc tấn công làm thay đổi giao diện, 3.643 cuộc tấn công mã độc, tăng 30,15% so với cùng kỳ năm 2020).
Hình 1.1: Thống kê các cuộc tấn công mạng trọng yếu năm 2021 tại Việt Nam
Còn trên thế giới trong năm 2021 vừa qua, theo ghi nhận từ các Diễn đàn kinh tế thế giới rủi ro về an ninh mạng vẫn nằm trong top đầu các rủi ro của toàn cầu Đặc biệt, tình hình dịch COVID-19 không có dấu hiệu giảm nhiệt là một trong các nguyên nhân chính khiến nhịp độ phát triển của công nghệ gia tăng qua đó bộc lộ nhiều điểm yếu và lỗ hổng cho tin tặc khai thác Một số vụ tấn công mạng nổi tiếng trong năm qua có thể kể đến như hệ thống máy tính của công ty dược phẩm Pfizer bị tin tặc Triều Tiên xâm nhập để lấy thông tin của vacxin và cách điều trị bệnh COVID-19, hay hơn
500 triệu dữ liệu cá nhân và số điện thoại của người dùng Facebook bị rò rỉ tính đến 4/4/2021, hay gần đây nhất là trào lưu sử dụng ứng dụng “biến đổi khuôn mặt” khiến tiềm ẩn rất nhiều nguy hiểm.
Những cuộc tấn công mạng được dự báo trong những năm tiếp theo sẽ ngày càng tăng lên do công nghệ thông tin không ngừng phát triển, tạo điều kiện để cho các cuộc tấn công mạng có thể diễn ra với quy mô rộng lớn, tinh vi hơn nữa Chính vì thế, các quốc gia trên thế giới nói chung nên sẽ phải đối mặt với một thách thức không hề nhỏ, cần phải có bản lĩnh, sự tìm hiểu, đánh giá, một cách nghiêm túc, chính xác và đưa ra các giải pháp đối phó hợp lý để giải quyết triệt để nhất vấn đề với các tội phạm mạng.
1.1.2 Những nguy cơ thường trực và hậu quả của các cuộc tấn công mạng
❖ Một số nguy cơ thường trực phải đối mặt với các cuộc tấn công mạng:
• Nguy cơ bị lộ và mất thông tin cá nhân : Đây là một vấn đề vô cùng nghiêm trọng vì hiện nay chúng ta đều sử dụng mạng internet để truy cập các ứng dụng và thông thường chúng sẽ yêu cầu ta cung cấp các thông tin cá nhân trên đó Chúng ta có thể bị đánh cắp những thông tin này nếu những ứng dụng đó là lừa đảo hoặc không tuân thủ các quy tắc về việc bảo vệ thông tin riêng tư Ngoài ra, những thứ như mật khẩu trong các ứng dụng quan trọng có thể bị kẻ tấn công khai thác và lấy mất vì chúng ta thường đặt mật khẩu theo thói quen dễ nhớ và thường lấy thông tin cá nhân làm mật khẩu cho các ứng dụng đó.
• Nguy cơ bị lừa đảo trên mạng : Các ứng dụng như Facebook, Zalo hay
Email, … thường là những thứ mà con người sử dụng công nghệ tiếp xúc hằng ngày Đây chính là môi trường lý tưởng để kẻ tấn công khai thác, lừa đảo mọi người bằng những hình thức hết sức tinh vi Phổ biến nhất là việc những tài khoản được kẻ tấn công ẩn danh để gửi rất nhiều các đường dẫn độc hại gắn kèm các hình ảnh kích thích trí tò mò để người dùng nhấn vào Hay là việc chúng giả mạo các email của những doanh nghiệp uy tín để lừa người dùng tin tưởng và làm theo Nếu mắc phải bẫy của chúng, hậu quả cho người dùng sẽ rất khó lường.
• Nguy cơ khi truy cập mạng Wifi công cộng : Nhiều người sử dụng điện thoại thông minh, hay laptop đôi khi lại thích ra ngoài để làm việc hay giải trí Lúc này, họ sẽ phải kết nối với một mạng công cộng ở các địa điểm như quán cà phê, quán ăn uống, … Tuy nhiên, nếu không cẩn thận, người dùng rất có thể sẽ kết nối vào một mạng do kẻ tấn công tạo ra, bên trong có chứa các mã độc và lúc này người dùng sẽ rơi vào trạng thái nguy hiểm, có thể bị đánh cắp thông tin nếu thực hiện các giao dịch quan trọng.
• Nguy cơ khi sử dụng phần mềm, hệ điều hành chưa được cập nhật :
Nhiều hệ điều hành và các phần mềm ngày nay thường hay được crack về để sử dụng nên các bản vá lỗi mới không được cập nhật một cách mới nhất Việc sử dụng phần mềm, hệ điều hành phiên bản cũ có thể chứa các lỗ hổng bảo mật chính là cơ hội tốt để những kẻ tấn công có thể khai thác các cuộc tấn công Zero-Day Điều này giúp cho chúng có thể gây nguy hiểm đến hệ thống của người dùng.
Ngoài ra còn rất nhiều các nguy cơ, rủi ro tiềm ẩn khác có thể đến từ bất kỳ ngóc ngách, kẽ hở nào trên môi trường mạng internet mà kẻ tấn công có thể tận dụng để gây ra các cuộc tấn công mạng.
Hình 1.2: Những nguy cơ tiềm ẩn của các cuộc tấn công mạng
❖ Hậu quả của các cuộc tấn công mạng gây ra:
Các cuộc tấn công mạng gây ra cho người dùng truy cập mạng internet những hậu quả hết sức nặng nề vì nó thường nhắm đến các mục đích xấu, phạm pháp như việc đánh cắp thông tin, dữ liệu, chiếm đoạt quyền điều khiển của hệ thống, xen vào phiên làm việc của người dùng, … Tất cả những việc làm đó có thể sử dụng để tống tiền, mạo danh, trá hình các cá nhân, cơ quan, tổ chức, doanh nghiệp, gây tổn hại rất lớn không chỉ về vật chất mà còn về tinh thần, danh dự, nhân phẩm và uy tín của họ.
Dưới đây là một số cuộc tấn công mạng phổ biến trong một vài năm trở lại đây trên thế giới gây hậu quả nghiêm trọng đến các cá nhân, tổ chức, doanh nghiệp:
▪ Hệ thống mạng của Uber bị xâm phạm làm ảnh hưởng đến dữ liệu của 50 triệu tài xế xe máy, 7 triệu tài xế ô tô và 600.000 thông tin chi tiết về giấy phép lái xe của Hoa Kỳ.
▪ Hacker đã xâm nhập vào máy chủ Equifax và làm lộ hơn 143 triệu thông tin cá nhân của người tiêu dùng.
▪ 412 triệu tài khoản người dùng bị đánh cắp từ các trang web của Friendfinder.
▪ Tội phạm mạng đã xâm nhập vào hệ thống máy tính quốc tế Marriot và xâm nhập 500 triệu tài khoản.
▪ Cathy pacific bị tấn công và 9,4 triệu tài khoản bị xâm phạm.
▪ Mã code Facebook bị hacker khai thác và 50 triệu tài khoản người dùng bị xâm phạm.
▪ Bộ Lao động Maryland bị tin tặc xâm nhập bất hợp pháp tên và số chứng minh nhân dân của 78.000 người.
▪ Captical One gần đây đã có hơn 106 triệu bản record bị đánh cắp có chứa thông tin cá nhân và tài chính.
Một số hình thức tấn công mạng phổ biến
1.2.1 Hình thức tấn công mạng bằng phần mềm độc hại (Malware Attack)
Tấn công bằng phần mềm độc hại (Malware Attack) là một trong các hình thức tấn công mạng phổ biến nhất hiện nay Hằng năm, trên thế giới ghi nhận rất nhiều các vụ việc bị tấn công bằng mã độc gây hậu quả lớn Điển hình nhất trong những nằm gần đây là vụ việc tấn công của WannaCry bằng loại mã độc tống tiền đã gây thiệt hại rất lớn cho nhiều quốc gia.
Hình 1.3: Một số loại mã độc phổ biến
Các phần mềm độc hại (Malware hay Malicious software) là các chương trình,phần mềm được viết ra nhằm các mục đích xấu như đánh cắp thông tin nhạy cảm, hoặc phá hoại các hệ thống Mặc dù động cơ của chúng khác nhau, nhưng những kẻ tấn công mạng gần như luôn tập trung chiến thuật, kỹ thuật để giành quyền truy cập vào thông tin xác thực và tài khoản đặc quyền nhằm thực hiện các nhiệm vụ riêng của chúng.
❖ Các loại tấn công bằng phần mềm độc hại phổ biến:
• Virus: Khi vi-rút máy tính được thực thi, nó có thể tự sao chép bằng cách sửa đổi các chương trình khác và chèn mã độc hại của nó Đây là loại phần mềm độc hại duy nhất có thể “lây nhiễm” các tệp khác và là một trong những loại phần mềm độc hại khó loại bỏ nhất.
• Worm: Một loại sâu có khả năng tự tái tạo mà không cần sự tham gia của người dùng cuối và có thể lây nhiễm toàn bộ mạng một cách nhanh chóng bằng cách di chuyển từ máy này sang máy khác.
• Trojan: Dựa trên cơ chế của câu chuyện con ngựa thành Troy, tấn công bằng Trojan sẽ xâm nhập vào máy nạn nhân bằng cách khéo léo cài cắm các đoạn mã độc vào máy tính của họ Đến thời điểm cụ thể, đoạn mã sẽ thực thi nhằm đánh cắp thông tin, và chiếm quyền điều khiển máy nạn nhân Trojan có thể chia làm 3 loại chính:
▪ Backdoor: Khi những kẻ tấn công cài phần mềm Backdoor vào máy nạn nhân, nó sẽ tạo một ra một cửa hậu cho phép chiếm quyền điều khiển máy nạn nhân đó Nếu nhiều máy tính bị kẻ tấn công điều khiển sẽ làm tiền đề cho các cuộc tấn công từ chối dịch vụ được triển khai.
▪ Adware: Là một loại mã độc khi được cài vào máy tính sẽ hiển thị liên tục các quảng cáo làm phiền đến người dùng Các quảng cáo có thể dẫn đến các đường dẫn độc hại, hoặc chương trình phần mềm có phí.
▪ Spyware: là loại một phần mềm gián điệp được cài vào các phần mềm khác Khi người dùng tải các phần mềm trên mạng không rõ nguồn gốc về rất dễ dính phải loại mã độc này Một khi đã xâm nhập nó sẽ chiếm quyền điều khiển máy chủ và truyền dữ liệu đi các nơi khác.
• Ransomware: Đây là loại mã độc mà xâm nhập chủ yếu qua các email hay các trang web lừa đảo Khi bị nhiễm Ransomware, máy nạn nhân sẽ bị ngăn chặn việc truy cập dữ liệu do các file dữ liệu đã được mã hóa Để giải mã được nạn nhân phải chuyển tiền kẻ tấn công.
• Rootkit: Một trong các loại mã độc nguy hiểm nhất hiện nay, nó là một chương trình được thiết kế để can thiệp sâu vào bên trong hệ thống máy tính một cách thông minh Nó gần như tàng hình và khó bị phát hiện bởi các phần mềm diệt vi-rút.
• Botnet: Khi các máy tính bị nhiễm điều khiển bằng khi nhiễm mã độc qua các hình thức như vi-rút, trojan, …, nó sẽ được gọi là botnet Các botnet này được sử dụng nhằm mục đích đánh cắp thông tin, phá hoại hệ thống với quy mô lớn nên thiệt hại sẽ rất đáng gờm.
• Biến thể: Vi-rút được tạo ra và nó có thể sản sinh ra nhiều biến thể khác nhau tùy thuộc vào các môi trường khác nhau Điều này dẫn đến việc khó kiểm soát triệt để vì hành vi của chúng bị thay đổi liên tục.
❖ Một số biện pháp ngăn chặn các cuộc tấn công bằng phần mềm độc hại: Để tăng cường việc bảo vệ máy tính, hệ thống khỏi các cuộc tấn công bằng phần mềm độc hại, các cá nhân, tổ chức doanh nghiệp nên thực hiện một số các biện pháp như sau:
• Nên cài đặt và sử dụng các phần mềm diệt vi-rút nổi tiếng có trả phí để tăng khả năng phát hiện ra các phần mềm độc hại biến thể mới.
• Thường xuyên cập nhật các bản vá hệ điều hành mới nhất trên máy tính đang sử dụng.
• Thực hiện nguyên tắc ít đặc quyền nhất và quyền truy cập đúng lúc để nâng cao đặc quyền tài khoản cho các tác vụ được ủy quyền cụ thể nhằm giúp người dùng làm việc hiệu quả mà không cung cấp các đặc quyền không cần thiết.
• Loại bỏ quyền quản trị viên cục bộ khỏi tài khoản người dùng tiêu chuẩn để giảm bề mặt tấn công.
NGHIÊN CỨU VỀ CÔNG NGHỆ IPSEC (INTERNET PROTOCOL SECURITY)
Tổng quan về công nghệ IPSec
Từ thời điểm ban đầu, một trong những điểm yếu của giao thức internet (IP) là thiếu đi các cơ chế để đảm bảo tính xác thực và quyền riêng tư của dữ liệu khi nó được truyền qua mạng internet Vì các gói tin IP thường phải được định tuyến giữa hai thiết bị qua các mạng không xác định, nên bất kỳ thông tin nào trong đó có thể bị chặn và thậm chí có thể bị thay đổi Với việc sử dụng internet ngày càng phổ biến cho các ứng dụng quan trọng, giao thức internet nên được chú trọng nhiều hơn về việc nâng cao, cải thiện tính bảo mật đem lại sự an toàn cho người sử dụng.
Một vấn đề nữa là từ trước đến nay, ta thường sử dụng phiên bản IP gốc (IPv4) để truyền tin qua mạng internet Nhưng với sự phát triển quá nhanh chóng và phổ biến của mạng internet, số lượng không gian địa chỉ của nó đến thời điểm hiện tại đang dần cạn kiệt và công nghệ cũng đã được sinh sản từ nhiều năm trước đó Điều này dẫn đến việc, khi sử dụng IPv4, chúng ta không thể đảm bảo chắc chắn an ninh thông tin trên các mạng IP Để khắc phục vấn đề này, nhiều công nghệ khác nhau đã được phát minh ra Hầu hết chúng tập trung ở các lớp cao hơn trong mô hình OSI để bù đắp cho sự thiếu bảo mật của IP Những giải pháp này có giá trị đối với một số tình huống nhất định, nhưng chúng không thể được áp dụng cho tất cả các loại ứng dụng Ví dụ: chúng ta có thể sử dụng lớp cổng bảo mật (SSL) cho một số ứng dụng cụ thể như quyền truy cập World Wide Web hoặc giao thức truyền tệp (FTP), nhưng có hàng tá ứng dụng mà loại bảo mật này không bao giờ có ý định hoạt động. Điều thực sự cần thiết là một giải pháp cho phép bảo mật ở cấp IP để tất cả các giao thức lớp cao hơn trong TCP/IP có thể tận dụng nó Khi đưa ra quyết định phát triển phiên bản IP mới (IPv6), đây chính là cơ hội vàng tích hợp vào đây một tập hợp các giao thức bảo mật gói IP hay được gọi là IPSec để vừa có giải quyết các vấn đề địa chỉ trong IPv4 cũ hơn mà quan trọng hơn còn là cả vấn đề việc thiếu bảo mật Công nghệ bảo mật mới này đã được phát triển với IPv6, nhưng vì IPv6 đã mất nhiều năm để phát triển, triển khai, và nhu cầu sử dụng IPv4 vẫn còn rộng rãi nên hiện tại IPSec đã được thiết kế linh hoạt để có thể sử dụng được cho cả IPv4 và IPv6.
2.1.2 Giới thiệu chung về IPSec
IPSec là viết tắt của Internet Protocol Security hay còn được gọi với nhiều thuật ngữ khác tương đồng như IP Security, IPSEC, IPsec, … các từ viết hoa viết thường có thể thay đổi Nó được coi là một kiến trúc để bảo mật gói tin IP IPSec bao gồm một bộ giao thức sử dụng các kỹ thuật mật mã để cung cấp đồng thời hai cơ chế là xác thực (Authentication) và mã hóa (Encryption) cho gói tin IP Với cơ chế xác thực, IPSec sẽ giúp quá trình truyền gói tin từ địa chỉ nguồn đến địa chỉ đích được diễn ra thuận lợi, chính xác không bị đánh cắp, thay đổi trên đường truyền và chống lại được các cuộc tấn công phát lại (Reply Attack) Còn với cơ chế mã hóa, nó sẽ làm cho các gói tin không ở dạng bản rõ, khiến cho nội dung của gói tin khó có thể rò rỉ đảm bảo được tính riêng tư và toàn vẹn cho dữ liệu.
Hình 2.1: Công nghệ bảo mật gói IP - IPSec
IPSec nằm ở tầng thứ ba trong mô hình OSI (Network Layer), nó không phải là một giao thức riêng lẻ, độc lập mà là một tập hợp các dịch vụ và giao thức cung cấp giải pháp bảo mật hoàn chỉnh cho mạng IP Các dịch vụ và giao thức này kết hợp với nhau để cung cấp nhiều loại bảo vệ khác nhau Một điểm mạnh của IPsec là nó hoạt động ở lớp IP nên nó có thể cung cấp các biện pháp bảo vệ này cho bất kỳ ứng dụng hoặc giao thức TCP/IP nào ở lớp cao hơn mà không cần các phương pháp bảo mật bổ sung Không những thế, việc nằm ở tầng IP và cung cấp một số dịch vụ “nền” khiến cho quá trình bảo mật bằng công nghệ này không hề ảnh hưởng đến người dùng.
Hình 2.2: Vị trí của IPSec trong mô hình OSI
Trong một vài năm trở lại đây, ta thấy việc sử dụng công nghệ IPSec ngày càng phổ biến rộng rãi hơn trên nền tảng internet Một ứng dụng chính của công nghệ này là triển khai các mạng riêng ảo (VPN) Có vẻ với những gì mà công nghệ IPSec đem lại, sẽ ngày càng nhiều cá nhân và công ty quyết định tận dụng nó vào trong công việc, vì nó có thể đảm bảo tính bảo mật của dữ liệu mà họ vận chuyển trao đổi qua lại mà còn ít gặp phải vấn đề nghiêm trọng trong quá trình sử dụng.
❖ Chức năng và dịch vụ của IPSec:
Một số loại dịch vụ bảo vệ với các chức năng tương ứng do công nghệ IPSec cung cấp bao gồm:
• Bảo vệ chống lại một số loại tấn công bảo mật, chẳng hạn như các cuộc tấn công phát lại: Với cuộc tấn công phát lại (Reply Attack), kẻ tấn công sẽ chặn bắt gói tin trên đường truyền và thay đổi bằng một gói tin khác truyền cho người dùng mà họ không hề hay biết và lầm tưởng là thông tin được nhận vẫn đúng Nhưng với công nghệ IPSec, việc sử dụng kỹ thuật
Sequence Number (đánh số tuần tự) cho các packet dữ liệu sẽ khiến kẻ tấn công không thể chặn bắt, thay đổi gói tin từ đó ngăn chặn việc bị đánh cắp dữ liệu.
• Mã hóa dữ liệu người dùng để bảo mật: Sử dụng các thuật toán mã hóa và các hàm băm tiên tiến như DES, AES, MD5, SHA1, … để mã hóa dữ liệu giúp ngăn chặn tối đa khả năng sửa đổi gây mất tính toàn vẹn.
• Xác thực tính toàn vẹn của một thông điệp : Việc sử dụng cơ chế xác thực sẽ đảm bảo rằng dữ liệu không bị thay đổi trên đường truyền.
• Trao đổi khóa và các thuật toán bảo mật: Việc IPSec có khả năng cho phép các thiết bị thương lượng các thuật toán bảo mật và khóa cần thiết sẽ đáp ứng được nhu cầu bảo mật giữa hai bên, đảm bảo tính nhất quán trong khi liên lạc.
• Cung cấp hai chế độ bảo mật: IPSec hoạt động trên hai chế độ chính là chế độ đường hầm và chế độ truyền tải (chi tiết sẽ trình bày ở phần tiếp theo) với mục đích để đáp ứng các nhu cầu mạng khác nhau, đem lại tính đa dạng cho người sử dụng.
Kiến trúc và nguyên lý hoạt động của công nghệ IPSec
2.2.1 Mô hình kiến trúc tổng quát của IPSec
Như đã đề cập ở phần trước, công nghệ IPSec là một tổ hợp các giao thức và các thành phần khác nhau cấu tạo nên để cung cấp các dịch vụ bảo mật Hình dưới đây sẽ thể hiện mô hình kiến trúc tổng quát của công nghệ IPSec Nó được cấu tạo từ một cặp giao thức cốt lõi có tên là xác thực tiêu đề (AH) và đóng gói tải trọng bảo mật (ESP) với khả năng cung cấp tính xác thực và quyền riêng tư cho dữ liệu và được thêm vào mô hình gói tin IP dưới dạng các Header Tuy nhiên, chúng không thể tự hoạt động Chính vì vậy, để hoạt động của IPSec được diễn ra bình thường, những giao thức cốt lõi trên cần đến sự hỗ trợ của một số thành phần, dịch vụ khác như các thuật toán mã hóa/hàm băm, các chính sách bảo mật/liên kết bảo mật, hay giao thức trao đổi và quản lý khóa.
Hình 2.3: Mô hình kiến trúc tổng quát của IPSec
Authentication Header (AH): Giao thức xác thực tiêu đề sẽ cung cấp các dịch vụ xác thực cho IPSec Nó cho phép người nhận xác minh rằng thông tin họ nhận được chính là từ người gửi tạo ra thông tin đó Nó cũng cho phép người nhận xác nhận rằng các thiết bị trung gian trên đường đi không làm thay đổi bất kỳ thông tin nào trong gói dữ liệu Ngoài ra, nó còn cung cấp khả năng bảo vệ chống lại các cuộc tấn công phát lại, theo đó một dữ liệu được gửi từ người dùng trái phép sẽ bị thu lại hoặc hủy đi.
Encapsulating Security Payload (ESP): Là giao thức đóng gói tải trọng bảo mật Nếu như AH đảm bảo tính toàn vẹn của dữ liệu trong gói tin IP nhưng không đảm bảo tính riêng tư của nó thì ESP chính là giao thức được đưa vào để phục vụ cho điều này thông qua cơ chế mã hóa dữ liệu.
Encryption/Hashing Algorithms: Được gọi là các thuật toán mã hóa và hàm băm Vì bản thân giao thức AH và ESP không ấn định một loại thuật toán mã hóa hay xác thực cụ thể nào cả nên điều này mang lại cho nó sự linh hoạt để làm việc với nhiều loại thuật toán khác nhau tùy theo thỏa thuận của đôi bên Hai thuật toán thông thường hay được sử dụng với IPSec là Message Digest 5 (MD5) và Secure Hash Algorithm 1 (SHA-1) Chúng còn được gọi là các thuật toán băm vì chúng hoạt động bằng cách tính toán một công thức được gọi là hàm băm dựa trên dữ liệu đầu vào và một khóa.
Security Policies/Security Association (ISAKMP): Được gọi là các chính sách bảo mật, liên kết bảo mật và phương pháp quản lý khóa Vì IPSec cung cấp sự linh hoạt trong việc cho phép các thiết bị khác nhau quyết định cách chúng muốn triển khai bảo mật, chúng yêu cầu một số phương tiện để theo dõi các mối quan hệ bảo mật giữa chúng Điều này được thực hiện trong IPSec bằng cách sử dụng các cấu trúc được gọi là chính sách bảo mật và liên kết bảo mật, và bằng cách cung cấp các cách để trao đổi thông tin liên kết bảo mật.
Internet Key Exchange/Key Management (IKE): Đây là cơ chế trao đổi và quản lý khóa Để cho hai thiết bị trao đổi thông tin được mã hóa, chúng cần có khả năng chia sẻ khóa để mở khóa mã hóa Họ cũng cần một cách để trao đổi thông tin liên kết bảo mật Trong IPSec, một giao thức được gọi là Internet Key Exchange (IKE) cung cấp những khả năng này.
2.2.2 Tìm hiểu về các giao thức và thành phần của IPSec Ở phần trước, ta chỉ đề cập một cách tổng quát nhất về các giao thức và thành phần bên trong công nghệ IPSec Còn trong phần này ta sẽ đi vào phân tích hoạt động chi tiết của các giao thức và các thành phần đó để xem rằng chúng lần lượt được cấu tạo như thế nào, cơ chế triển khai hoạt động ra sao, sử dụng thuật toán mã hóa hay trao đổi khóa nào, …
2.2.2.1 Giao thức xác thực tiêu đề (Authentication Header)
Giao thức IPSec Authentication Header (AH) là một trong hai giao thức bảo mật cốt lõi trong IPsec Nó cho phép người nhận gói tin xác minh tính xác thực của gói tin đó Nó được triển khai dưới dạng các Header và được thêm vào sơ đồ gói tin IP giá trị kiểm tra tính toàn vẹn (ICV), được tính toán dựa trên giá trị của các trường trong sơ đồ gói tin Người nhận có thể sử dụng giá trị này để đảm bảo rằng dữ liệu không bị thay đổi khi chuyển tiếp AH không mã hóa dữ liệu và do đó không đảm bảo tính riêng tư của đường truyền.
❖ Định dạng của giao thức xác thực tiêu đề AH:
Hình 2.4: Khuôn dạng của giao thức xác thực tiêu đề AH Để hiểu rõ về các trường có trong giao thức xác thực tiêu đề ta xem bảng sau:
Tên trường Kích cỡ Mô tả
Trường này giúp xác định loại Header hiện diện phía sau Next Header 1 AH Nó còn giúp nhận biết một số cái giao thức IP tương ứng và có thể liên kết các Header lại với nhau.
Trường này đo độ dài của chính AH Header, không phải Payload 1 trọng tải Nó được đo bằng đơn vị 32 bit, với 2 trừ đi để Length nhất quán với cách tính độ dài Header thường được tính trong IPv6.
Reserved 2 Có giá trị bằng 0, với độ dài 2 byte - 16 bit, được bảo lưu để sử dụng trong tương lai.
Có giá trị 32 bit, khi được kết hợp với địa chỉ IP đích và Security loại giao thức bảo mật giúp nhận dạng một thiết lập kết nối an toàn duy nhất Thông thường, trước khi trao đổi dữ
Parameter 4 liệu hai bên sẽ tạo ra liên kết bảo mật (SA) để nhất quán Index (SPI) các tham số bảo mật, thuật toán băm và khóa bí mật đang được sử dụng.
Một trường bộ đếm được khởi tạo bằng 0 khi một SA được hình thành giữa hai thiết bị và sau đó tăng dần cho Sequence 4 mỗi gói dữ liệu được gửi bằng SA đó Điều này xác định Number duy nhất mỗi sơ đồ trên một SA và được sử dụng để bảo vệ chống lại các cuộc tấn công phát lại Nếu số gói vượt quá con số 2 32 thì phải tạo ra một SA khác.
Trường này có độ dài thay đổi và có chứa giá trị kiểm tra tính toàn vẹn (ICV) cho gói tin Sử dụng thuật toán băm và khóa bí mật, người gửi sẽ tạo bản tóm tắt thông báo sẽ được gửi đến người nhận Mặt khác, người nhận sẽ sử Authentication dụng cùng một thuật toán băm và khóa bí mật Nếu cả hai
4 thông báo tóm tắt trùng khớp thì người nhận sẽ chấp nhận Data (ICV) dữ liệu Nếu không, người nhận sẽ loại bỏ nó bằng cách nói rằng tin nhắn đó đã được sửa đổi ở giữa Vì vậy, dữ liệu xác thực được sử dụng để xác minh tính toàn vẹn của quá trình truyền Ngoài ra, độ dài của nó phụ thuộc vào thuật toán băm bạn chọn.
Bảng 2.1: Mô tả các trường có trong tiêu đề xác thực AH
Ưu điểm, nhược điểm và ứng dụng của công nghệ IPSec
Hiện nay, trong thế giới công nghệ thì IPSec là một cái tên đang ngày càng phổ biến và được sử dụng rộng rãi Tuy nhiên thì trong cuộc sống của chúng ta, cái gì được sinh ra và tồn tại đều có ưu điểm và nhược điểm Công nghệ IPSec cũng không ngoại lệ, dưới đây là một số ưu, nhược điểm và ứng dụng của công nghệ này:
• Vị trí trong mô hình OSI: IPSec hoạt động ở tầng Network nên nó hoàn toàn vô hình trong các hoạt động của người dùng và người dùng không bắt buộc phải tương tác với chúng Thêm vào đó, việc hoạt động ở tầng Network sẽ giám sát được tất cả lưu lượng đi qua mạng.
• Không phụ thuộc vào các ứng dụng: Vì IPSec được vận hành ở cấp độ mạng nên không có sự phụ thuộc vào ứng dụng ở đây Tất cả các ứng dụng trong IPSec đều được định tuyến bằng IP giúp chúng tương thích. Điều duy nhất được yêu cầu là sửa đổi trong hệ điều hành.
• Bảo mật dữ liệu: Quyền riêng tư của dữ liệu được bảo vệ trong IPSec bằng cách sử dụng các khóa công khai Bất kỳ dữ liệu nào được trao đổi giữa máy chủ và mạng đều sử dụng khóa công khai để đảm bảo an toàn. Ngoài ra, việc đảm bảo an toàn cho các khóa sẽ khiến người dùng có thể đảm bảo rằng dữ liệu được truyền đến từ đúng địa chỉ chứ không phải từ bất kỳ trang web giả mạo nào Do đó, bất kỳ nội dung nào bên trong gói dữ liệu đều được bảo vệ khỏi bị nghe trộm và các hình thức gián điệp khác.
• Hỗ trợ trên nhiều hạ tầng mạng: Do sự hiện diện ở lớp IP, IPSec có thể được triển khai cho bất kỳ mạng nào từ mọi quy mô Không phân biệt bất kỳ mạng nào từ LAN đến WAN, chúng có thể được áp dụng bao gồm cả mạng internet.
• Đảm bảo tính xác thực: IPSec thực hiện xác thực bằng cách đặt chữ ký số trên mỗi gói dữ liệu Mọi hình thức can thiệp từ bên thứ ba đều được bảo vệ tại đây Do đó, nội dung bên trong tiêu đề gói không thể được sửa đổi nếu không bị phát hiện Và nó cũng thực hiện xác minh danh tính cho 2 đầu của kết nối.
• Phạm vi truy cập rộng: Một trong những nhược điểm lớn nhất của IPSec là phạm vi truy cập rộng Việc cấp quyền truy cập vào một thiết bị duy nhất trong mạng dựa trên IPSec, cũng có thể cấp đặc quyền truy cập cho các thiết bị khác Ví dụ, hãy tưởng tượng rằng bạn đang kết nối với mạng công ty từ mạng gia đình dựa trên IPSec của mình Tại đây, nếu bất kỳ máy tính nào trong mạng gia đình của bạn có phần mềm độc hại, nó có thể dễ dàng lây lan sang các máy tính trong mạng công ty.
• Tốn kém chi phí về CPU: IPSec nổi tiếng với việc sử dụng CPU cao Nó đòi hỏi khá nhiều sức mạnh xử lý để mã hóa và giải mã tất cả dữ liệu đi qua máy chủ Điều này đặc biệt bất lợi nếu kích thước của gói dữ liệu nhỏ Khi IPSec tạo ra chi phí lớn, hiệu suất của mạng sẽ bị giảm sút.
• Khả năng tương thích: Một số nhà phát triển phần mềm không tuân theo các quy trình của IPSec Do đó, nó có thể tạo ra các vấn đề về khả năng tương thích với một số phần mềm Hơn nữa, IPSec không có bất kỳ tiêu chuẩn nhất quán nào cho khả năng tương thích của riêng nó.
• Độ an toàn của các thuật toán: Độ bảo mật của các thuật toán nhất định được sử dụng trong IPSec luôn là một mối quan tâm Nếu ai đó sử dụng các thuật toán cũ, mềm yếu, máy chủ sẽ có nguy cơ bị tấn công cao hơn. May mắn rằng, luôn có sẵn các thuật toán phức tạp và mới hơn để khắc phục các lỗ hổng đã biết.
• Hạn chế về tường lửa: Đôi khi do các hạn chế áp đặt trong tường lửa của công ty, người dùng sẽ không thể truy cập internet Ngay cả khi là mạng của công ty riêng Do đó, chỉ bằng cách liên hệ với quản trị viên mạng, người dùng có thể truy cập vào mạng tương ứng.
• Kết nối mạng từ các chi nhánh đến mạng trung tâm được đảm bảo an toàn thông qua internet: Điều này cho phép doanh nghiệp có thể trao đổi nhiều thông tin trên internet và làm giảm nhu cầu về mạng riêng, tiết kiệm chi phí và chi phí quản lý mạng.
• Bảo vệ các kết nối truy cập từ xa an toàn qua internet (remote access):
Giảm phí gọi cho nhân viên và viễn thông.
• Thiết lập kết n bảo mật thông tư. ối Extranet và Intranet với các đối tác: được sử dụng để tin liên lạc trong tổ chức, đảm bảo tính xác thực và riêng
• Nâng bảo mật trong các giao dịch thương mại điện tử: sử dụng IPSec sẽ tăng cường bảo mật cho các ứng dụng thương mại điện tử đã tích hợp sẵn các giao thức bảo mật.
Hình 2.19: Ứng dụng IPSec VPN
Hiện nay, một ứng dụng rất phổ biến của công nghệ IPSec chính là IPSec VPN.Đây là một giải pháp tích hợp mạng riêng ảo sử dụng công nghệ IPSec để giúp cho việc truyền tải dữ liệu được mã hóa và đảm bảo tính an toàn Nó được rất nhiều các tổ chức, doanh nghiệp áp dụng như một giải pháp đảm bảo an ninh mạng cho họ, để giúp cho thông tin nội bộ được trao đổi một cách bí mật, tránh việc bị rò rỉ đánh cắp Tuy nhiên, không phải lúc nào IPSec VPN cũng là sự lựa chọn hàng đầu mà còn tùy theo mục đích, phạm vi sử dụng, kích thước dữ liệu, … vì IPSec vẫn tồn tại một số các nhược điểm nhất định Ngoài IPSec VPN, thì SSL VPN cũng đang là một công nghệ song hành và hỗ trợ tốt lẫn nhau trong khía cạnh này.
TRIỂN KHAI MÔ HÌNH ỨNG DỤNG CÔNG NGHỆ IPSEC TRONG VIỆC TRUYỀN THÔNG TIN AN TOÀN TRÊN MẠNG INTERNET
Tìm hiểu về các phần mềm sử dụng trong mô hình triển khai
StrongSwan là một dự án mã nguồn mở viết bằng ngôn ngữ lập trình C, được phát triển bởi các giáo sư Andreas Steffen, Martin Willi và Tobias Brunner Cho đến nay dự án này vẫn đang được tiếp tục duy trì bởi giáo sư Andreas Steffen, một người phụ trách về lĩnh vực an ninh và truyền thông tại trường Đại học Khoa học và Ứng dụng tại Thụy Sĩ.
StrongSwan là một giải pháp IPSec bổ sung toàn diện cho phiên bản cho hệ điều hành Linux 2.6 and 3.x kernels trở lên, cung cấp cơ chế mã hóa và xác thực tới các server và các client Nó cũng được triển khai để đảm bảo giao tiếp một cách an toàn với các mạng từ xa, tập trung vào cơ chế xác thực mạnh sử dụng chứng chỉ khóa công khai X.509 và tùy chọn lưu trữ an toàn khóa bí mật trong smartcards (chuẩn PKCS#11).
Hình 3.1: Quá trình phát triển của StrongSwan
StrongSwan được ra đời với những phiên bản đầu tiên vào sau những năm 2000,khi mà tiền thân của nó là phần mềm Free/Swan không đáp ứng được các nhu cầu về tính tương thích với các loại mạng riêng ảo khác nhau mà sử dụng chứng chỉ số X.509.
Cho đến nay những gì mà StrongSwan có được cũng vẫn được kế thừa từ các tính năng của phần mềm Free/Swan và có cải tiến hơn nhiều về mặt tính năng của các IKEv1 và IKEv2, khả năng cũng cấp cơ chế xác thực và mã hóa mạnh mẽ, và có giao diện GNU đẹp mắt, hiện đại Phiên bản ổn định hiện tại của StrongSwan là 5.94, có thể tải về trên trang github của StrongSwan hoặc trên trang chủ www.strongswan.org. Ngoài Linux ra, StrongSwan còn hỗ trợ trên nhiều nền tảng hệ điều hành khác nhau như Android, Maemo, FreeBSD, macOS, Windows, được cung cấp các chứng chỉ quan trọng và được công nhận là một trong những giải pháp phần mềm về IPSec cùng với một số phần mềm khác như OpenSwan, Tor, OpenVPN, …
❖ Một số tính năng của StrongSwan:
StrongSwan là một phần mềm tích hợp rất nhiều tính năng khác nhau vô cùng đa dạng, phong phú vì nó dựa trên công nghệ IPSec dành cho các mạng riêng nên những gì nó mang lại đều nhằm hướng tới sự nâng cấp bảo mật cho IPSec và đảm bảo vận hành trơn chu, tin cậy giữa các thiết bị trên đường truyền mạng Các tính năng của StrongSwan bao gồm:
• Chạy trên hạt nhân Linux 2.6, 3.x và 4.x, Android, FreeBSD, OS X và Windows
• Có thể thực hiện cả giao thức trao đổi khóa IKEv1 và IKEv2
• Hỗ trợ đầy đủ các đường truyền trên IPv6 và đường truyền IPSec
• Tự động chèn và xóa các quy tắc tường lửa dựa trên chính sách IPSec
• NAT-Traversal thông qua đóng gói UDP và cổng nổi
• Hỗ trợ phân mảnh thông điệp IKEv2 để tránh các vấn đề phân mảnh IP
• Chức năng xác thực cho máy chủ và máy khách trên đầu trang của IKEv1 chế độ chính
• Khả năng xác thực dựa trên chứng chỉ X.509 hoặc khóa chia sẻ trước
• Sử dụng thuật toán chữ ký mạnh với Xác thực chữ ký trong IKEv2
• Các chính sách IPsec mạnh mẽ dựa trên các ký tự đại diện hoặc các CA trung gian
• Lưu trữ các khóa và chứng chỉ riêng RSA trên thẻ thông minh (giao diện PKCS#11)
• Hỗ trợ đường cong Eliptic cho nhóm DH và chứng chỉ ECDSA
• Kết nối mạng tin cậy tuân thủ các tiêu chuẩn bảo mật
Trên đây chỉ là một số những chức năng tiêu biểu nhất mà StrongSwan đem lại, ngoài ra nó còn tích hợp thêm nhiều tính năng khác nữa Các tính năng này vẫn được cập nhật, duy trì và cải thiện dần dần qua các bản vá khác nhau để hướng đến sự mới mẻ, hiện đại đảm bảo sự an toàn cho những tổ chức sử dụng để tránh việc bị những kẻ tấn công xâm phạm.
Một trong những ứng dụng quan trọng nhất của StrongSwan là thiết lập các mạng riêng ảo VPN để đảm bảo an toàn cho dữ liệu được truyền trên các mạng không tin cậy Do IPSec hoạt động ở tầng mạng nên nó rất mềm dẻo và có khả năng bảo vệ cho gần như tất cả các dịch vụ internet khác nhau.
Ví dụ: Nó có thể cho phép 2 mạng máy tính truyền thông một cách an toàn kết nối giữa mạng không tin cậy Lúc này việc đặt các gateway giữa các mạng tin cậy và không tin cậy sẽ là giải pháp tốt nhất Các máy đứng trên phương diện là các gateway sẽ được cài đặt StrongSwan để có thể xác thực, mã hóa tất cả các gói tin đi ra mạng không tin cậy và giải mã tất cả các gói tin đến từ mạng không tin cậy Từ đó tạo thành một đường hầm truyền trên mạng không tin cậy Chỉ cần thuật toán mật mã là đủ mạnh, thực hiện đúng quy trình, người quản trị gateway thành thạo thì đường hầm tạo ra đó sẽ rất tin cậy Lúc đó, nó sẽ trở thành một mạng riêng lớn đơn lẻ an toàn với những điểm đầu cuối.
3.1.2 Phần mềm Wireshark và Tcpdump Để đi sâu và tìm hiểu chi tiết nhất về hai phần mềm dưới đây sẽ dành ra để trình bày ở một bài khác Trong phần này chủ yếu tìm hiểu sơ lược nhất về khái niệm, so sánh sự khác nhau và chỉ ra các tính năng quan trọng nhất của nhóm phần mềm này để áp dụng vào mô hình triển khai phục vụ cho việc phân tích độ an toàn của công nghệ IPSec ởthực nghiệm.
Wireshark là một công cụ dò tìm mạng phổ biến cung cấp giao diện GUI để giải mã nhiều giao thức và bộ lọc Nó là một bộ công cụ giám sát lưu lượng mạng chạy trên giao diện mạng Nó hiện là ứng dụng quản lý mạng được sử dụng phổ biến nhất Các nhà khai thác thiết bị, kỹ sư mạng, chuyên gia an ninh mạng, cũng như kể tấn công mạng đều có thể sử dụng Wireshark như là một công cụ then chốt và tất yếu.
Hình 3.2: Giao diện GNU của Wireshark
Tcpdump cũng là một trong những công cụ phân tích mạng được sử dụng nhiều nhất vì nó cung cấp sự đơn giản và hiệu quả trong một giao diện Nó là một bộ phân tích gói theo dõi và ghi lại lưu lượng TCP / IP giữa mạng và máy chạy trên đó. Tcpdump là một tiện ích mạng mã nguồn mở miễn phí được cấp phép theo giấy phép BSD Tcpdump sử dụng giao diện dòng lệnh để cung cấp các định nghĩa nội dung gói ở nhiều định dạng khác nhau dựa trên lệnh được sử dụng.
Hình 3.3: Giao diện dòng lệnh các chức năng của Tcpdump
❖ So sánh Wireshark và Tcpdump:
Là một công cụ giao diện Là một công cụ bắt gói dựa trên Định nghĩa người dùng đồ họa giúp bạn bắt các gói dữ liệu CLI.
Nó thực hiện phân tích gói và nó có thể giải mã tải trọng dữ Tcpdump chỉ cung cấp một phân
Chức năng liệu nếu các khóa mã hóa được tích đơn giản về các loại lưu lượng xác định và nó có thể nhận ra như vậy, chẳng hạn như truy vấn tải trọng dữ liệu từ việc truyền DNS. tệp như smtp, http, v.v.
Giao diện Nó có khả năng hỗ trợ hầu hết Nó có các giao diện thông thường mạng các giao diện mạng tiên tiến dựa trên hệ thống.
Khả năng lọc Wireshark sử dụng tốt cho các Tcpdump được sử dụng cho các bộ dữ liệu bộ lọc phức tạp lọc đơn giản.
Khả năng giải Nó cung cấp đa dạng khả năng Nó cũng có cung cấp quá trình giải giải mã các gói tin dựa trên hầu mã như Wireshark những kém mã gói tin hết các giao thức hiệu quả hơn.
Bảng 3.1: So sánh hai công cụ Wireshark và Tcpdump
Mặc dù Wireshark có vẻ như được ưu tiên hơn nhiều so với Tcpdump về tính hiệu quả, nhưng Tcpdump lại được ưu tiên hơn để nắm bắt gói dựa trên quy trình ngắn và nhanh chóng Độ chính xác về hiệu suất của Tcpdump là tốt nhất để quét nhanh và chụp gói, còn Wireshark luôn là lựa chọn đầu tiên cho những lần quét phức tạp.
Bản thân Wireshark và Tcpdump được tích hợp rất nhiều các tính năng khác nhau Nhưng chức năng quan trọng nhất đối với an ninh mạng chính là khả năng phân tích nhật ký, phân tích lưu lượng và phân tích bắt gói Bắt gói và xử lý gói được sử dụng để phân tích lưu lượng Lưu lượng của mạng về cơ bản là một luồng các gói Giờ đây, việc có thể chặn và kiểm tra các gói tin đó là rất quan trọng để xác định loại lưu lượng nào trong mạng của chúng ta cần được bảo vệ Cả Wireshark và Tcpdump đều được sử dụng cho quá trình phân tích gói tin, điều này là một yếu tố then chốt để đánh giá độ an toàn của gói tin được truyền đi trong mô hình IPSec trên môi trường mạng không tin cậy.
Cài đặt, triển khai và vận hành mô hình áp dụng công nghệ IPSec
Học viện Công nghệ Bưu chính Viễn thông có hai cơ sở đào tạo tại hai đầu đất nước, một đầu cơ sở ở Hà Nội và một cơ sở còn lại nằm ở Thành phố Hồ Chí Minh. Giả sử, những cán bộ phụ trách của học viện ở hai miền cần trao đổi các dữ liệu nội bộ với nhau thì việc chuyển giao dữ liệu trực tiếp trên môi trường mạng internet là hết sức nguy hiểm, có thể gặp nhiều rủi ro thường trực khi bị kẻ tấn công nhắm tới Vấn đề đặt ra là cần một biện pháp đảm bảo truyền dữ liệu nội bộ này một cách tin cậy, vẫn giao tiếp qua môi trường mạng internet nhưng lại đảm bảo được sự an toàn để kẻ tấn công khó có thể tiếp cận để khai thác Thì một giải pháp được đưa ra chính ra áp dụng công nghệ IPSec kết hợp với môi trường mạng riêng ảo VPN Vậy quá trình triển khai công nghệ này được thực hiện chi tiết như thế nào ta sẽ tìm hiểu tiếp ở phần sau.
Hình 3.4: Tình huống thực tế cần triển khai
Quá trình thực tế triển khai của mô hình như sau: khi một người trong site LAN ở Học viện tại cơ sở Thành phố Hồ Chí Minh muốn truyền dữ liệu sang một người ở site LAN tại cơ sở Hà Nội và ngược lại thì dữ liệu này sẽ an toàn khi truyền qua mạng internet Vì khi người gửi truyền dữ liệu đến máy có cài đặt StrongSwan 1 sau đó qua internet đến máy có cài đặt StrongSwan 2 thì dữ liệu này sẽ được máy StrongSwan 1 mã hóa bằng IPSec rồi mới truyền đến mạng internet không an toàn nếu có kẻ nào đó bắt được gói tin ở đây thì cũng không thể đọc được vì đã được mã hóa sau đó gói tin đi tiếp từ internet truyền đến máy StrongSwan 2 cũng vẫn được mã hóa Khi StrongSwan
2 nhận được dữ liệu thì nó sẽ giải mã rồi truyền sang cho người nhận bên cơ sở bên còn lại một cách an toàn.
Hình 3.5: Mô hình triển khai hệ thống sử dụng StrongSwan
Mô hình triển khai này dựa trên việc thiết lập VPN site-to-site áp dụng công nghệ IPSec trên đường truyền nhằm mục đích đảm bảo an toàn cho dữ liệu từ bên gửi gửi cho bên nhận ở hai miền khác nhau thông qua mạng không tin cậy Trong bài này các thiết bị sẽ đều sử dụng cùng một nền tảng hệ điều hành nhân Linux.
Mô hình này bao gồm:
• Hai site LAN của Học viện tại hai cơ sở: trong các LAN này gồm nhiều máy client và đã được cài các ứng dụng người dùng và sử dụng hệ điều hành Ubuntu.
• Hai máy StrongSwan 1, StrongSwan 2: đóng vai trò là các cổng truy nhập an toàn Cả StrongSwan 1 và StrongSwan 2 đều được cài hệ điều hành Ubuntu 16.04 có hai giao diện mạng: một giao diện nối với các mạng trong từng site LAN, một giao diện mạng nối với mạng ngoài (nối với máy StrongSwan còn lại) Đương nhiên cả hai máy này này được cài đặt phần mềm StrongSwan Khi chạy IPSec chúng sẽ tạo ra các Tunnel cho phép các máy truyền thông an toàn với nhau.
Card Đặc tính Client HN Strongswan 1 Strongswan 2 Client
(VPN HN) (VPN HCM) HCM
Bảng 3.2: Cấu hình hệ thống trong mô hình triển khai
Trong mô hình triển khai này, ta sẽ tập trung chủ yếu vào việc phân tích quá trình truyền dữ liệu từ hai máy đóng vai trò là hai cổng an toàn có cài đặt phần mềm StrongSwan Vì quá trình này được thực hiện trên môi trường mạng internet không tin cậy, chính vì vậy ta sẽ có thể thấy rõ được khả năng hoạt động của công nghệ IPSec để giúp cho các gói tin được truyền đi được đảm bảo an toàn thông qua các cơ chế mã hóa và xác thực mạnh mẽ của chúng Còn tất nhiên, dữ liệu khi được truyền trong mạng cục bộ sẽ gần như được đảm bảo an toàn.
3.2.2 Quá trình cài đặt các phần mềm, công cụ
Quá trình cài đặt các phần mềm, công cụ được thực hiện tương tự trên cả hai máy ảo chạy hệ điều hành Ubuntu 16.04 (gọi là hai máy StrongSwan trong mô hình).
3.2.2.1 Cài đặt phần mềm StrongSwan
Có hai phương pháp phổ biến để có thể cài đặt phần mềm StrongSwan trên hệ điều hành Ubuntu:
• Bước 1: Tải trực tiếp bản nén có đuôi tar.gz trên trang chủ của nhà phát hành www.strongswan.org
Hình 3.6: Bản nén StrongSwan trên trang chủ của nhà phát hành
• Bước 2: Chuyển file cài đặt StrongSwan vào một thư mục nào đó (giả sử /usr/src) Sau đó, truy nhập vào thư mục /usr/src để tiến hành giải nén StrongSwan và hoàn tất quá trình cài đặt.
• Chi tiết thực hiện bước 2 như sau: root@vm1ptithcm:~# mv strongswan-5.9.4.tar.gz /usr/src root@vm1ptithcm:~# cd /usr/src root@ vm1ptithcm:/src# tar -xzf strongswan-5.9.4.tar.gz Tiếp tục vào thư mục strongswan-5.9.4 để cài đặt root@vm1ptithcm:/src# cd strongswan-5.9.4 root@vm1ptithcm:/strongswan-5.9.4# make programs root@vm1ptithcm:/strongswan-5.9.4# make install root@vm1ptithcm:/strongswan-5.9.4# export KERNELSRC= /usr/src/kernels/linux-2.6.18 root@vm1ptithcm:/strongswan-5.9.4# make module root@vm1ptithcm:/strongswan-5.9.4# make module_install
• Bước 1: Mở giao diện Terminal và cấp quyền sudo: sudo su
• Bước 2: Sử dụng câu lệnh apt-get install strongswan
• Đợi một lúc cho quá trình cài đặt hoàn tất và thành công một cách rất dễ dàng và nhanh chóng.
3.2.2.2 Cài đặt Wireshark và Tcpdump
Với công cụ Tcpdump trong hệ điều hành Ubuntu đã tích hợp sẵn trên giao diện dòng lệnh nên không cần thiết phải cài đặt nữa.
Hình 3.7: Tcpdump đã được tích hợp sẵn giao diện dòng lệnh trên Ubuntu
Còn với công cụ Wireshark trong nhiều phiên bản hệ điều hành của Linux bây giờ cũng đang tích hợp sẵn công cụ này trong đó, có giao diện GUI rất đẹp và dễ sử dụng Tuy nhiên, có những phiên bản chưa được tích hợp sẵn thì ta cũng có thể dễ dàng cài đặt hình dưới đây:
Hình 3.8: Cài đặt công cụ Wireshark bằng giao diện Terminal
Vì quá trình cài đặt đã được diễn ra trước đó nên khi gõ cú pháp “apt install wireshark” sẽ hiển thị lên phiên bản mới nhất được tích hợp vào máy Còn nếu như cài mới cũng sẽ rất dễ thôi, chỉ cần chờ một lúc cho đến khi quá trình cài đặt hoàn tất.
3.2.3 Thiết lập cấu hình StrongSwan và vận hành hệ thống
Sau khi đã cài đặt thành công phần mềm StrongSwan vào hai máy gateway thì tiếp theo chúng ta sẽ thực hiện với thiết lập cấu hình để tạo một đường hầm IPSec để truyền dữ liệu Mỗi một máy khi cấu hình đầy đủ, sẽ cần quan tâm đến hai file quan trọng bao gồm: file ipsec.conf chứa các tham số cho việc cấu hình hai gateway, còn file ipsec.secrets sẽ chứa các tham số về khóa chia sẻ trước của hai gateway đó.
❖ Cấu hình file ipsec.conf: Đây là file cấu hình của IPSec mô tả các thông tin điều khiển và cấu hình hệ thống Trong mô hình cài đặt hệ thống ở trên sự kết nối giữa hai nút trong mạng liên lạc có thể là giữa gateway với gateway, gateway với subnet, subnet với gateway hay subnet với subnet Để tạo một kết nối tunnel giữa 2 nút trong mạng liên lạc ta cần thêm nội dung có dạng như sau vào file /etc/ipsec.conf.
• Dòng đầu tiên chứa từ khóa conn và tên kết nối:
▪ conn : trong đó mô tả đặc trưng của kết nối.
Ta quy ước cách viết nút trước trong sẽ đại diện cho phía trái (left) của kết nối, nút viết sau trong sẽ đại diện cho phía phải (right) của kết nối
▪ Ví dụ: conn gateway-to-net mô tả kết nối giữa gateway (bên trái) với mạng con bên phải, …
• Các dòng tiếp theo sẽ chứa các tham số có định dạng như sau: = Các tham số có thể có như sau:
▪ Tham số authby thể hiện tính xác thực giữa hai nút, thông thường giá trị sau đó sẽ là secret.
▪ Tham số chứa các giao thức cốt lõi sử dụng và các thành phần trao đổi khóa: AH, ESP, IKE thì giá trị đằng sau sẽ là các thuật toán mã hóa khóa đối xứng hay các hàm băm như: AES, DES, SHA1, SHA256, …