(NB) Giáo trình An toàn mạng cung cấp cho sinh viên các kiến thức cơ bản về bảo mật hệ thống mạng để làm nền tản cho việc bảo mật giải quyết các vấn đề cần thiết.
TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN
Các khái niệm chung
- Mô tả được các đối tượng tấng công hệ thống mạng ;
- Xác định được các lỗ hổng bảo mật.
1.1 Đố i t ượ ng t ấ n công m ạ ng (Intruder)
Các cá nhân và tổ chức tấn công mạng sử dụng kiến thức về mạng và công cụ phá hoại để tìm kiếm điểm yếu và lỗ hổng bảo mật trong hệ thống Họ thực hiện các hoạt động xâm nhập nhằm chiếm đoạt tài nguyên mạng một cách trái phép Một số đối tượng tấn công mạng bao gồm những kẻ xâm nhập, tin tặc và các tổ chức tội phạm mạng.
Hacker là những cá nhân xâm nhập trái phép vào mạng, thường sử dụng các công cụ để phá mật khẩu hoặc khai thác những điểm yếu trong hệ thống truy cập.
- Masquerader: Là những kẻ giả mạo thông tin trên mạng Một số hình thức giả mạo như giả mạo địa chỉ IP, tên miền, định danh người dùng
Eavesdropping là hành vi nghe trộm thông tin trên mạng bằng cách sử dụng các công cụ sniffer, sau đó phân tích và debug để thu thập dữ liệu giá trị Những kẻ tấn công mạng thực hiện hành vi này với nhiều mục đích khác nhau, từ việc đánh cắp thông tin kinh tế quan trọng, phá hoại hệ thống mạng có chủ đích, cho đến những hành động vô ý thức như thử nghiệm các chương trình mà không kiểm tra cẩn thận.
Lỗ hổng bảo mật là những điểm yếu trong hệ thống hoặc dịch vụ, cho phép kẻ tấn công xâm nhập trái phép để thực hiện hành động phá hoại hoặc chiếm đoạt tài nguyên một cách bất hợp pháp.
Những lỗ hổng bảo mật xuất phát từ nhiều nguyên nhân khác nhau, bao gồm lỗi trong hệ thống, sai sót của phần mềm cung cấp, hoặc do sự thiếu hiểu biết của người quản trị về các dịch vụ mà họ đang quản lý.
Mức độ ảnh hưởng của các lỗ hổng bảo mật rất đa dạng; một số lỗ hổng chỉ tác động đến chất lượng dịch vụ, trong khi những lỗ hổng khác có thể gây ra ảnh hưởng nghiêm trọng đến toàn bộ hệ thống.
Nhu cầu bảo vệ thông tin
- Trình bày được các nhu cầu cần bảo vệ trên hệ thống mạng
Tài nguyên đầu tiên mà chúng ta nói đến chính là dữ liệu Đối với dữ liệu, chúng ta cần quan tâm những yếu tố sau:
Những thông tin lưu trữ trên hệ thống máy tính cần được bảo vệ do các yêu cầu sau:
- Bảo mật: những thông tin có giá trị về kinh tế, quân sự, chính sách vv cần được bảo vệ và không lộ thông tin ra bên ngoài.
- Tính toàn vẹn: Thông tin không bị mất mát hoặc sửa đổi, đánh tráo.
- Tính kịp thời: Yêu cầu truy nhập thông tin vào đúng thời điểm cần thiết.
Trong các yêu cầu về thông tin lưu trữ trên mạng, bảo mật thường được xem là ưu tiên hàng đầu Tuy nhiên, tính toàn vẹn của thông tin cũng đóng vai trò quan trọng không kém Không ai, dù là cá nhân hay tổ chức, muốn lãng phí tài nguyên và thời gian cho việc lưu trữ thông tin mà không đảm bảo tính chính xác của chúng.
2.3 B ả o v ệ tài nguyên s ử d ụ ng trên m ạ ng
Kẻ tấn công có thể chiếm quyền kiểm soát hệ thống nội bộ và lợi dụng các máy tính này để thực hiện các hoạt động độc hại, như chạy chương trình dò mật khẩu của người dùng và sử dụng các kết nối mạng hiện có để tấn công các hệ thống khác.
Nhiều cuộc tấn công mạng không được công bố rộng rãi, chủ yếu do lo ngại về uy tín của các tổ chức, đặc biệt là các công ty lớn và cơ quan nhà nước Khi quản trị viên hệ thống chỉ nhận thức được sự cố sau khi hệ thống của họ bị lợi dụng để tấn công các hệ thống khác, tổn thất về uy tín sẽ rất nghiêm trọng và có thể gây ra hậu quả lâu dài.
Bài tập thực hành của học viên
Câu 1: Trình bày các đối tượng tấng công hệ thống mạng
Câu 2: Đối với dữ liệu, chúng ta cần quan tâm những yếu tố nào?
MÃ HÓA THÔNG TIN
Cơ bản về mã hoá (Cryptography)
- Trình bày được nhu cầu sử dụng mã hóa;
- Mô tả được quá trình mã hóa và giải mã.
1.1 T ạ i sao c ầ n ph ả i s ử d ụ ng mã hoá
Thuật toán Cryptography là ngành khoa học nghiên cứu mã hoá và giải mã thông tin, chuyển đổi dữ liệu từ dạng rõ (clear text) sang dạng mờ (cipher text) và ngược lại Phương pháp này rất hiệu quả trong việc ngăn chặn truy cập bất hợp pháp vào dữ liệu truyền tải qua mạng, giúp bảo vệ nội dung thông tin bằng cách mã hoá, khiến cho nó trở nên không thể đọc được đối với những kẻ cố tình truy cập.
1.2 Nhu c ầ u s ử d ụ ng k ỹ thu ậ t mã hoá
Không phải mọi người hay ứng dụng đều cần mã hóa Nhu cầu mã hóa xuất hiện khi các bên muốn bảo vệ thông tin quan trọng hoặc gửi chúng an toàn Các tài liệu quan trọng này có thể bao gồm tài liệu quân sự, tài chính, kinh doanh hoặc thông tin cá nhân.
Như chúng ta đã biết, Internet hình thành và phát triển từ yêu cầu của chính phủ
Mã hóa là một biện pháp quan trọng giúp bảo vệ thông tin trong môi trường Internet không an toàn và đầy rủi ro Khi tham gia trao đổi thông tin, chúng ta không thể đảm bảo rằng dữ liệu không bị đọc trộm, vì vậy mã hóa giúp tự bảo vệ bản thân và thông tin gửi đi Ngoài ra, mã hóa còn đảm bảo tính toàn vẹn của dữ liệu, góp phần tăng cường an ninh thông tin.
Tại sao lại có quá nhiều thuật toán mã hoá
Trước đây, tính an toàn và bí mật của một thuật toán phụ thuộc vào cách thức hoạt động của nó Nếu an toàn chỉ dựa vào sự bí mật, thuật toán đó được gọi là thuật toán hạn chế (Restricted Algorithm) Mặc dù có vai trò quan trọng trong lịch sử, nhưng trong thời đại hiện nay, nó đã trở nên lỗi thời và không còn được ưa chuộng Hạn chế lớn nhất của thuật toán này là khi một người dùng rời khỏi nhóm, toàn bộ nhóm phải chuyển sang thuật toán khác Ngoài ra, nếu thông tin về thuật toán bị tiết lộ hoặc bị phát hiện, thuật toán sẽ bị phá vỡ, buộc tất cả người dùng còn lại phải thay đổi, dẫn đến việc tiêu tốn thời gian và công sức.
Hệ thống mã hoá hiện nay dựa vào khoá (Key) để giải quyết vấn đề bảo mật, với khoá là yếu tố tách rời khỏi thuật toán mã hoá Tính an toàn của mã hoá phụ thuộc vào khoá, vì các thuật toán thường được công khai Khoá có thể là bất kỳ giá trị chữ hoặc số nào, và không gian các giá trị có thể có của khoá được gọi là Keyspace Cả quá trình mã hoá và giải mã đều sử dụng khoá, và hiện nay, các thuật toán được phân loại dựa trên số lượng và đặc tính của khoá.
Mã hoá là quá trình che giấu thông tin bằng thuật toán, không phải làm cho thông tin biến mất mà chuyển đổi từ dạng tỏ sang dạng mờ Thuật toán là tập hợp các câu lệnh hướng dẫn chương trình cách xáo trộn hoặc phục hồi dữ liệu Ví dụ, một thuật toán đơn giản có thể mã hoá thông điệp cần gửi đi.
Bước 1: Thay thế toàn bộ chữ cái “e” thành số “3”
Bước 2: Thay thế toàn bộ chữ cái “a” thành số “4”
Bước 3: Đảo ngược thông điệp
Thuật toán mã hoá là một công cụ quan trọng trong bảo mật thông tin Để hiểu rõ hơn về nó, chúng ta cần nắm vững một số thuật ngữ cơ bản Những khái niệm này sẽ giúp chúng ta hình dung cách thức hoạt động của thuật toán mã hoá một cách dễ dàng hơn.
Hinh1: Minh hoạ quá trình mã hóa và giải mã Sender/Receiver: Người gửi/Người nhận dữ liệu
- Plaintext (Cleartext): Thông tin trước khi được mã hoá Đây là dữ liệu ban đầu ở dạng rõ
- Ciphertext: Thông tin, dữ liệu đã được mã hoá ở dạng mờ
- Key: Thành phần quan trọng trong việc mã hoá và giải mã
- CryptoGraphic Algorithm: Là các thuật toán được sử dụng trong việc mã hoá hoặc giải mã thông tin
- CryptoSystem: Hệ thống mã hoá bao gồm thuật toán mã hoá, khoá, Plaintext, Ciphertext
Kí hiệu chung: P là thông tin ban đầu, trước khi mã hoá E() là thuật toán mã hoá D() là thuật toán giải mã C là thông tin mã hoá K là khoá.
1.3 Quá trình mã hoá và gi ả i mã nh ư sau:
- Quá trình mã hoá được mô tả bằng công thức: EK(P)=C
- Quá trình giải mã được mô tả bằng công thức: DK(C)=P
Mã hóa không chỉ giúp che giấu nội dung thông tin mà còn đảm bảo các mục tiêu quan trọng như sau: Tính bí mật (Confidentiality) bảo vệ dữ liệu khỏi việc bị lộ, chỉ những người được phép mới có thể đọc được thông tin gốc Tính xác thực (Authentication) đảm bảo người nhận có thể xác minh nguồn gốc dữ liệu, ngăn chặn kẻ giả mạo Tính toàn vẹn (Integrity) cho phép người nhận kiểm tra rằng dữ liệu không bị thay đổi trong quá trình truyền tải, ngăn chặn việc thay thế dữ liệu gốc bằng dữ liệu giả mạo Cuối cùng, tính không thể chối bỏ (Non-repudation) đảm bảo rằng cả người gửi và người nhận không thể phủ nhận việc đã gửi hoặc nhận thông tin.
Độ an toàn của thuật toán
- Trình bày được các thuật toán mã hóa
Nguyên tắc cơ bản trong mã hoá là “Mọi thuật toán đều có thể bị phá vỡ.” Mỗi thuật toán mang lại mức độ an toàn khác nhau, tùy thuộc vào độ phức tạp của việc phá vỡ chúng Độ an toàn của một thuật toán tại một thời điểm cụ thể phụ thuộc vào nhiều yếu tố.
Nếu chi phí để phá vỡ một thuật toán lớn hơn giá trị của thông tin mà thuật toán đó bảo vệ, thì thuật toán đó có thể được coi là tạm thời an toàn.
- Nếu thời gian cần thiết dùng để phá vỡ một thuật toán là quá lâu thì thuật toán đó tạm thời được coi là an toàn.
Nếu lượng dữ liệu cần thiết để phá vỡ một thuật toán lớn hơn nhiều so với lượng dữ liệu đã được mã hóa, thì thuật toán đó có thể được coi là an toàn trong thời điểm hiện tại.
Thuật toán mã hóa chỉ an toàn trong một khoảng thời gian nhất định, vì luôn có khả năng cho phép kẻ tấn công tìm ra cách phá vỡ Sự an toàn của thuật toán phụ thuộc vào thời gian, công sức và sự kiên trì của các hacker Với sự phát triển nhanh chóng của công nghệ, không ai có thể đảm bảo rằng thuật toán sẽ mãi mãi an toàn Trong lĩnh vực mạng máy tính, có hai phe đối lập: những kẻ tấn công khai thác lỗ hổng và những người bảo vệ xây dựng hệ thống an toàn Cuộc chiến này giống như một ván cờ, nơi từng nước đi quyết định kết quả Ai giỏi hơn sẽ giành chiến thắng, và trong thế giới mã hóa, tất cả đều phụ thuộc vào trình độ và thời gian, tạo nên sự hấp dẫn của trò chơi này.
Phân loại các thuật toán mã hoá
Có nhiều loại thuật toán mã hóa, bao gồm cả các thuật toán công khai cho phép mọi người sử dụng như một tiêu chuẩn chung để mã hóa dữ liệu, và các thuật toán không được công bố Các thuật toán mã hóa có thể được phân loại theo nhiều cách khác nhau.
Phân loại theo các phương pháp:
- Mã hoá cổ điển (Classical cryptography)
- Mã hoá đối xứng (Symetric cryptography)
- Mã hoá bất đối xứng(Asymetric cryptography)
Phân loại theo số lượng khoá:
- Mã hoá khoá bí mật (Private-key Cryptography)
- Mã hoá khoá công khai (Public-key Cryptography)
Trong lịch sử, các phương pháp mã hóa cổ điển không sử dụng khóa và có thuật toán đơn giản, dễ hiểu Những từ chính của các phương pháp này đã mở ra con đường cho các thuật toán mã hóa đối xứng hiện đại Hai phương pháp nổi bật trong mã hóa cổ điển là
- Mã hoá thay thế (Substitution Cipher):
Phương pháp này liên quan đến việc thay thế từng ký tự hoặc nhóm ký tự trong bản rõ (Plaintext) bằng một ký tự hoặc nhóm ký tự khác để tạo ra bản mờ (Ciphertext) Người nhận chỉ cần thực hiện thao tác đảo ngược quy trình thay thế trên Ciphertext để khôi phục lại bản rõ ban đầu.
Các hệ mật mã cổ điển- Hệ mã hóa thay thế(Substitution Cipher)
Chọn một hoán vị p: Z26à Z26 làm khoá.
- Mã hoá hoán vị (Transposition Cipher):
Ngoài phương pháp mã hóa thay thế, mã hóa hoán vị cũng là một kỹ thuật nổi tiếng trong mã hóa cổ điển Trong mã hóa thay thế, các ký tự trong văn bản gốc (Plaintext) được thay thế hoàn toàn bằng các ký tự trong văn bản mã (Ciphertext) Ngược lại, trong mã hóa hoán vị, các ký tự trong Plaintext vẫn giữ nguyên mà chỉ thay đổi vị trí của chúng để tạo ra Ciphertext, tức là các ký tự không bị thay thế bởi ký tự khác.
Mã hoán vị - Permutation Cipher
Chuyển đổi vị trí bản thân các chữ cái trong văn bản gốc từng khối m chữ cái.
Trong đó, π: Z26àZ26 là một hoán vị, π’ :=π-1 là nghịch đảo của π.
“shesellsseashellsbytheseashore”. shesel | lsseas | hellsb | ythese | ashore
EESLSH | SALSES | LSHBLE | HSYEET | HRAEOS
3.2 Mã hoá đố i x ứ ng: Ở phần trên, chúng ta đã tìm hiểu về mã hoá cổ điển, trong đó có nói rằng mã hoá cổ điển không dùng khoá Nhưng trên thực nếu chúng ta phân tích một cách tổng quát, chúng ta sẽ thấy được như sau:
Mã hóa cổ điển sử dụng khóa để bảo vệ thông tin, như trong phương pháp Ceaser Cipher, nơi khóa là phép dịch ký tự, cụ thể là dịch 3 ký tự Trong phương pháp mã hóa hoán vị, khóa được xác định bởi số hàng hoặc số cột mà người dùng quy định Khóa này có thể thay đổi tùy theo mục đích mã hóa, nhưng phải nằm trong một phạm vi cho phép nhất định.
Để sử dụng mã hóa cổ điển, bên mã hóa và bên giải mã cần thống nhất về cơ chế mã hóa và giải mã Nếu không có sự đồng thuận này, hai bên sẽ không thể hợp tác hiệu quả.
Mã hoá đối xứng, còn được gọi là Mã hoá Khóa Bí mật hoặc Mã hoá Khóa Riêng, là phương pháp sử dụng chung một khóa cho cả quá trình mã hoá và giải mã.
Quá trình thực hiện như sau:
Trong hệ thống mã hóa đối xứng, hai bên gửi và nhận cần thỏa thuận về một khóa dùng chung trước khi truyền dữ liệu Bên gửi sẽ mã hóa bản rõ (Plaintext) bằng khóa bí mật này và gửi thông điệp đã mã hóa cho bên nhận Khi nhận được thông điệp, bên nhận sẽ sử dụng khóa bí mật đã thỏa thuận để giải mã và khôi phục lại bản rõ (Plaintext).
Mã hóa đối xứng là quá trình trao đổi thông tin giữa bên gửi và bên nhận, trong đó khoá là thành phần quan trọng nhất cần được giữ bí mật Mặc dù thuật toán mã hóa có thể được thoả thuận công khai, nhưng việc trao đổi khoá mã hóa và giải mã phải được thực hiện một cách bí mật Thuật toán mã hóa đối xứng mang lại lợi ích lớn cho các cơ quan hoặc tổ chức đơn lẻ, nhưng khi cần trao đổi thông tin với bên thứ ba, việc bảo đảm tính bí mật của khoá trở nên cực kỳ quan trọng.
Mã hoá đối xứng có thể được phân thành 02 loại:
Loại mã hóa đầu tiên ảnh hưởng đến dữ liệu theo từng nhóm bit, được gọi là khối (Block), với thuật toán áp dụng là Block Cipher Trong phương pháp này, mỗi khối dữ liệu trong văn bản gốc sẽ được thay thế bằng một khối dữ liệu khác có cùng kích thước Hiện nay, kích thước tiêu chuẩn của một khối dữ liệu thường là 64 bit.
Loại mã hóa thứ hai tác động lên dữ liệu từng bit một, được gọi là Stream Cipher Các thuật toán này mã hóa văn bản nhanh hơn so với các thuật toán mã hóa khối, thường được sử dụng khi khối lượng dữ liệu cần mã hóa không xác định trước Một số thuật toán mã hóa đối xứng nổi tiếng bao gồm DES, Triple DES (3DES), RC4 và AES.
DES (Data Encryption Standard) là thuật toán mã hóa phổ biến, mã hóa dữ liệu theo từng khối 64 bits với khóa 64 bits, nhưng chỉ 56 bits được sử dụng thực sự Tuy nhiên, do kích thước khóa nhỏ, DES đã trở nên kém an toàn và dễ bị tấn công Để khắc phục điểm yếu này, Triple DES (3DES) được phát triển, sử dụng ba khóa khác nhau để mã hóa và giải mã dữ liệu Quá trình này bắt đầu bằng việc mã hóa khối 64 bits đầu tiên với khóa thứ nhất, sau đó giải mã bằng khóa thứ hai, và cuối cùng mã hóa lại bằng khóa thứ ba, nâng cao độ bảo mật cho dữ liệu.
+ AES: Viết tắt của Advanced Encryption Standard, được sử dụng để thay thế cho DES Nó hỗ trợ độ dài của khoá từ 128 bits cho đến 256 bits.
Mã hóa khóa công khai, hay còn gọi là Public Key Cryptography, là một phương pháp mã hóa trong đó khóa sử dụng để mã hóa khác với khóa dùng để giải mã Điều đặc biệt là khóa giải mã không thể được tính toán hay suy ra từ khóa mã hóa, mặc dù chúng có mối quan hệ toán học Phương pháp này cho phép bất kỳ ai sử dụng khóa công khai để mã hóa dữ liệu, nhưng chỉ người sở hữu khóa riêng tư tương ứng mới có thể giải mã và đọc được dữ liệu Do đó, trong hệ thống này tồn tại hai loại khóa: Public Key (khóa công khai) dùng để mã hóa và Private Key (khóa riêng tư) dùng để giải mã.
Mã hóa khóa công khai được phát triển nhằm giải quyết các vấn đề liên quan đến quản lý và phân phối khóa trong các phương pháp mã hóa đối xứng Hệ thống này cho phép truyền tin an toàn thông qua quá trình mã hóa khóa công khai, đảm bảo rằng thông tin được bảo vệ hiệu quả trong suốt quá trình truyền tải.
Hình 3: mã hóa bất đối xứng
- Bên gửi yêu cầu cung cấp hoặc tự tìm khoá công khai của bên nhận trên một server chịu trách nhiệm quản lý khoá.
NAT ( Network Address Translation)
Giới thiệu
Trước khi phân tích vai trò của NAT trong hiện tại và tương lai, cần làm rõ sự khác biệt về phạm vi sử dụng NAT trong thời gian qua Bài viết này sẽ cung cấp cái nhìn tổng quan về NAT mà không khuyến nghị cách sử dụng cụ thể hay loại NAT nào nên áp dụng Chúng tôi sẽ giới thiệu và phân loại các loại NAT, với các chi tiết sẽ được thảo luận trong chương tiếp theo về cách hiện thực hóa NAT.
Phần trình bày được chia làm 2 phần :
Phần đầu của bài viết đề cập đến CLASSIC NAT, bao gồm các kỹ thuật NAT được phát triển từ những năm 90, được mô tả chi tiết trong RFC 1931 Công nghệ này chủ yếu được sử dụng để giải quyết vấn đề thiếu địa chỉ IP trên Internet.
- Phần hai trình bày những kỹ thuật NAT được tìm ra gần đây và ứng dụng trong nhiều mục đích khác.
Các kỹ thuật NAT cổ điển
NAT có hai loại chính: NAT tĩnh và NAT động NAT tĩnh cho phép một địa chỉ IP nguồn luôn được chuyển đổi thành một địa chỉ IP đích cố định, trong khi NAT động cho phép địa chỉ IP thay đổi theo thời gian và theo từng kết nối khác nhau Sự phân chia IP trong NAT tĩnh rõ ràng hơn so với NAT động.
Trong phần này, chúng ta sẽ định nghĩa các khái niệm liên quan đến việc chuyển đổi địa chỉ IP, trong đó m là số IP nguồn cần được chuyển đổi, và n là số IP sẵn có cho việc chuyển đổi, thường được gọi là IP NATs hay IP đích.
Yêu cầu m, n >= 1; m = n (m, n là số tự nhiên)
Với cơ chế IP tĩnh, chúng ta có khả năng chuyển đổi giữa các địa chỉ IP nguồn và đích, đặc biệt trong trường hợp chỉ có một IP duy nhất, chẳng hạn như khi sử dụng netmask 255.255.255.255 Việc thực hiện NAT tĩnh trở nên đơn giản nhờ vào công thức dễ hiểu: Địa chỉ đích = Địa chỉ mạng mới OR (Địa chỉ nguồn AND (NOT netmask)).
Không có thông tin về trạng thái kết nối; chỉ cần tìm các địa chỉ IP đích thích hợp Các kết nối từ bên ngoài vào hệ thống chỉ khác nhau ở địa chỉ IP, vì vậy cơ chế NAT tĩnh hoạt động hầu như hoàn toàn trong suốt.
Ví dụ một rule cho NAT tĩnh:
Dịch toàn bộ IP trong mạng 138.201.148.0 đến mạng có địa chỉ là 94.64.15.0, netmask là 255.255.255.0 cho cả hai mạng.
Dưới đây là mô tả việc dịch từ địa chỉ có IP là 138.201.148.27 đến 94.64.15.27, các cái khác tương tự.
NAT động được áp dụng khi số IP nguồn khác với số IP đích, giúp quản lý số lượng host chia sẻ trong giới hạn của các IP đích có sẵn So với NAT tĩnh, NAT động phức tạp hơn vì cần lưu trữ thông tin kết nối và truy xuất thông tin TCP trong gói tin.
Như đã đề cập ở trên NAT động cũng có thể sử dụng như một NAT tĩnh khi m
Một số người sử dụng NAT động thay cho NAT tĩnh để tăng cường bảo mật, vì những kẻ tấn công bên ngoài không thể xác định được địa chỉ IP kết nối với máy chủ cụ thể, do máy chủ này có thể nhận một địa chỉ IP hoàn toàn khác trong các thời điểm tiếp theo Trong một số trường hợp đặc biệt, số địa chỉ đích có thể nhiều hơn số địa chỉ nguồn (m < n).
Kết nối từ bên ngoài chỉ khả thi khi các host vẫn giữ được địa chỉ IP trong bảng NAT động NAT router lưu trữ thông tin về địa chỉ IP bên trong (IP nguồn) liên kết với NAT-IP (IP đích).
In a session of FPT non-passive mode, the server attempts to establish a data transmission channel To successfully send an IP packet to the FTP client, there must be an entry for the client in the NAT table, ensuring a maintained connection.
Khi một IP client sử dụng cùng một NAT-IPs để bắt đầu kênh truyền control, FTP session sẽ bị rỗi sau một thời gian timeout Giao thức FTP hoạt động với hai cơ chế là passive và non-passive, sử dụng hai cổng (control và data) Trong cơ chế passive, host kết nối nhận thông tin về data port từ server, trong khi ở cơ chế non-passive, host kết nối chỉ định data port và yêu cầu server lắng nghe kết nối Để tìm hiểu thêm, bạn có thể tham khảo RFC 959 về giao thức FTP Khi một kẻ tấn công từ bên ngoài muốn kết nối vào một host bên trong mạng, chỉ có hai trường hợp xảy ra.
+ Host bên trong không có một entry trong bảng NAT khi đó sẽ nhận được thông tin
“host unreachable” hoặc có một entry nhưng NAT-IPs là không biết.
Để xác định địa chỉ IP của một kết nối, ta cần có một kết nối từ máy chủ bên trong ra bên ngoài mạng Tuy nhiên, địa chỉ IP này chỉ là NAT-IPs, không phải là địa chỉ IP thực của máy chủ Thông tin này sẽ bị mất sau một khoảng thời gian timeout của mục nhập trong bảng NAT của router.
Ví dụ về một rule cho NAT động:
Dịch toàn bộ các địa chỉ IP trong lớp B, từ 138.201.0.0 đến 178.201.112.0 Mỗi kết nối mới từ bên trong sẽ được gán với một địa chỉ IP trong lớp B, miễn là địa chỉ IP đó chưa được sử dụng.
Vd: xem quá trình NAT trong trường hợp sau:
Hình 5: Mô tả quá trình NAT tĩnh
Quá trình NAT: Khi Client gởi yêu cầu đến webserver, Header sẽ báo tin gói tin bắt đầu tại:
Gói tin với địa chỉ nguồn 10.1.1.170/1074 được gửi đến cổng 80 của Webserver tại địa chỉ 203.154.1.20, nhưng bị chặn tại cổng 80 của NAT Server 10.1.1.1 Trước khi chuyển tiếp, NAT Server sẽ gắn header mới cho gói tin, cho biết gói tin xuất phát từ địa chỉ 203.154.1.5 với cổng 1563, trong khi địa chỉ đích vẫn không thay đổi.
- Webserver nhận yêu cầu tại cổng 80 của nó và đáp ứng yêu cầu trở lại cho NAT server.
- Header của gói tin cho biết gói tin được gởi lại từ Webserver và đích của nó là cổng 1563 trên 203.154.1.5
NAT là phương pháp giúp ẩn địa chỉ IP của các máy chủ trong mạng nội bộ, đồng thời tiết kiệm địa chỉ IP công cộng Ngoài ra, NAT còn cung cấp một lớp bảo mật, ngăn chặn các cuộc tấn công trực tiếp từ bên ngoài vào mạng.
NAT (Network Address Translation) là một công cụ quan trọng giúp bảo mật mạng LAN bằng cách ẩn địa chỉ IP của các server dịch vụ bên trong, khiến chúng không thể bị nhìn thấy từ bên ngoài.
NAT (Network Address Translation) hoạt động như một cầu nối giữa mạng nội bộ và mạng bên ngoài, cho phép chuyển đổi địa chỉ IP Công nghệ này thường được áp dụng cho các mạng sử dụng địa chỉ lớp A, B và C.
- Hoạt động NAT bao gồm các bước sau:
NAT trong Window server
- Trình bày được khái niệm và các thành phần Nat trong Windows server
- Thiết lập cấu hình NAT trên Windows server
3.1 Win 2003 cung c ấ p khái ni ệ m NAT
NAT (Network Address Translation) là công nghệ cho phép kết nối nhiều mạng LAN vào Internet, giúp các mạng nhỏ như IPSec truy cập vào Internet chỉ với một địa chỉ IP công cộng Nhờ đó, một lượng lớn thiết bị có thể sử dụng Internet một cách hiệu quả.
Máy chủ NAT cần có địa chỉ của một mạng LAN nội bộ, giúp bảo vệ các máy chủ bên trong khỏi sự truy cập từ người dùng bên ngoài Nhờ vào cơ chế này, địa chỉ của các máy chủ nội bộ không bị lộ ra, giảm thiểu nguy cơ bị tấn công từ Internet.
- NAT của Win 2003 bao gồm các thành phần sau:
Máy tính chạy Windows 2003 với chức năng NAT hoạt động như một bộ chuyển đổi địa chỉ IP và số hiệu cổng, cho phép các máy chủ bên ngoài Intranet truy cập vào mạng LAN nội bộ.
ADDRESS là một máy tính hoạt động như bộ chuyển đổi địa chỉ mạng, cung cấp thông tin địa chỉ IP cho các máy tính trong mạng Nó được xem như một DHCP server, cung cấp thông tin về địa chỉ IP, Subnet Mask, Default Gateway và DNS Server Để hoạt động hiệu quả, tất cả các máy tính trong LAN cần được cấu hình là DHCP client.
Name Resolution là một mạng máy tính hoạt động như một máy chủ NAT và đồng thời là máy chủ DNS Khi một máy tính trong mạng nội bộ gửi yêu cầu đến NAT Server, máy chủ này sẽ chuyển tiếp yêu cầu đến máy chủ DNS để thực hiện việc đổi tên Kết quả sau đó được gửi trở lại cho NAT Server và cuối cùng được chuyển về cho máy tính yêu cầu.
Khi một client trong mạng cục bộ gửi yêu cầu, NAT server sẽ nhận dữ liệu chứa địa chỉ IP riêng và địa chỉ cổng trong header IP Sau đó, NAT server sẽ chuyển đổi địa chỉ này để thực hiện việc định tuyến.
Địa chỉ IP và cổng được chuyển đổi thành địa chỉ công cộng trước khi gửi gói dữ liệu đến một máy chủ trên Internet Trong quá trình này, NATserver cần lưu giữ địa chỉ IP và cổng của Client trong mạng cục bộ để có thể gửi kết quả trở lại cho Client sau này.
Khi nhân được yêu cầu từ host Internet, NATserver sẽ thay Header của gói tin thành Header nguyên thuỷ và gởi lại về cho Client yêu cầu.
Phân tích bảng luật sau:
Rule S_Addr D_Addr Service Action log NAT
A Firewall Any Any Permit Yes
C 192.168.1.15 Any Any Permit No Nat(LAN )
D Any Firewall TCP/80 Permit Yes MAP
E Any Any Any Deny Na
- Luật A không cho phép các máy trọng mạng nội bộ đi ra ngoài
Luật B cho phép máy Client trong mạng nội bộ truy cập vào các dịch vụ qua Firewall mà không ghi lại File lưu Điều này có nghĩa là NAT chỉ được phép đến địa chỉ của Firewall mà không có bất kỳ ghi chép nào.
Luật C cho phép các máy có địa chỉ nguồn truy cập internet thông qua bất kỳ dịch vụ nào mà không cần ghi lại file lưu sử dụng NAT trong mạng LAN.
- Luật D cho phép từ bên ngoài với Firewall sử dụng giao thức TCP với cổng
Bài tập thực hành của học viên
Câu 1: So sánh Nat tĩnh và Nat động
Câu 2: Trình bày khái niệm và cơ chế hoạt động Nat trong Window
Thực hiện Nat trên nền Windows Server 2003 theo mô hình sau.
1.Cấu hình máy PC09 làm NAT Server
B1: MởRouting and Remote Access -> Click phải chuột lênNAT Server (PC09) chọnConfigure and Enable Routing and Remote Access -> TrongWelcome chọn Next -> TrongConfiguration chọn ôCustom configuration -> Next
-TrongCustome Configuration -> Đánh dấu chọn ôNAT and basic firewall và ô Lan Routing ->Next -> Finish
Note: Khi kết thúc quá trình cấu hình hệ thống yêu cầu restart Service, chọnYes
B2:TrongRouting and Remote Access, Click chuột phải lênNAT/Basic Firewall, chọnNew Interface -> trongNew Interface for Network Address Tranlation (NAT) -> Chọn cardLAN -> OK
-TrongNetwork Address Translation Properties -> LAN Properties -> Chọn ôPublic interface connected to private network -> Đánh dấu chọn ôEnable NAT on this interface -> OK
B3: Tương tự nhưB2 TrongRouting and Remote Access, Click chuột phải lên NAT/Basic Firewall, chọnNew Interface -> trongNew Interface for Network Address Tranlation (NAT) -> Chọn card LAN -> OK
-TrongNetwork Address Translation Properties ->CROSS Properties -> Chọn ô Private interface connected to private network -> OK
B4: TrongRouting and Remote Access -> vào IP Routing-> Click phải chuột trên
Static Routes chọnNew Static Route…-> Trong cửaStatic Route cấu hình như sau:
Note:Gateway phải cùngNetID với địa chỉ IP cardLAN
B5: Trong Routing and Remote Access-> Click phải chuột lênPC09 chọnAll Tasks -> Restart
Các máy trongNetID 10.0.0.0/8 đều có thể truy cập Internet Ta có thể dùng lệnh Tracert (phân tích đường đi của gói dữ liệu) để kiểm tra
II.NAT Inbound ( NAT vào)
1.Cấu hình Web Server trên máy PC08
B1:Start -> Programs -> Administrator Tools -> Configure Your Server Wizard -
> Next -> ChọnApplication Server (IIS, ASP.NET) -> Next Làm theo các hướng dẫn để hoàn thành việc cài đặt.
Note: Trong quá trình cài đặtIIS, chỉ đường dẫn vào thư mục I386 trong đĩa CD
Windows Server 2003 khi hệ thống yêu cầu
B2:MởWindows Explore -> Vào thư mụcC:\Inetpub\wwwroot -> Tạo file index.htm có nội dung ( Vd: Welcome to website)
B3:MởInternet Explore -> Truy cập vào địa chỉ IP hoặc địa chỉ Webserver
Note: Kiểm tra đã truy cập được vào trang web vừa mới tạo
2.Cấu hình NAT Server trên máy PC09
B1:MởRouting and Remote Access -> chọn mụcNAT/Basic Firewall -> Click chuột phải lênLAN chọnProperties
-chọn tabServices and Ports -> Kéo thanh trượt xuống phía dưới chọn mụcWeb Server (HTTP)
-Trong mụcEdit Service nhập địa chỉ IP vào ôPrivate Address:
B2:TrongRouting and Remote Access -> Click chuột phải lênPC09chọnAll Tasks -> Restart
MáyPC10 mởInternet Explorer -> Truy cập vào địa chỉ IP hoặc địa chỉ Webserver
Nếu truy cập thành công là kết quả đúng.
BẢO VỆ MẠNG BẰNG TƯỜNG LỬA
Các kiểu tấn công
Mục tiêu: Liệt kê được các tình huống tấn công mạng.
Tấn công máy tính nhằm dò tìm mật khẩu và tên tài khoản là một hành vi phổ biến, trong đó kẻ tấn công có thể sử dụng các chương trình giải mã để truy cập vào các file chứa thông tin nhạy cảm trên hệ thống của nạn nhân Điều này cho thấy rằng những mật khẩu ngắn và đơn giản rất dễ bị phát hiện và do đó, việc sử dụng mật khẩu mạnh là cực kỳ quan trọng để bảo vệ thông tin cá nhân.
Hacker có thể tấn công trực tiếp vào hệ thống thông qua các lỗ hổng trong chương trình hoặc hệ điều hành, dẫn đến việc hệ thống bị tê liệt hoặc hư hỏng Trong một số trường hợp, họ còn có thể chiếm quyền quản trị hệ thống.
Việc nghe trộm thông tin trên mạng có thể thu thập dữ liệu nhạy cảm như tên và mật khẩu của người dùng Kẻ tấn công thường thực hiện hành vi này sau khi đã chiếm quyền truy cập vào hệ thống, sử dụng các chương trình cho phép card giao tiếp mạng (NIC) nhận toàn bộ thông tin lưu thông trên mạng Những thông tin này cũng có thể dễ dàng tìm thấy trên Internet.
Việc giả mạo địa chỉ IP có thể được thực hiện thông qua khả năng dẫn đường trực tiếp (source-routing), trong đó kẻ tấn công gửi các gói tin IP với địa chỉ giả mạo, thường là của một mạng hoặc máy được coi là an toàn Kẻ tấn công cũng chỉ định rõ đường dẫn mà các gói tin IP cần phải đi qua để xâm nhập vào mạng nội bộ.
1.4 Vô hi ệ u hoá 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ệnhping 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.
1.5 L ỗ i c ủ a ng ườ i qu ả n tr ị h ệ th ố ng Đâ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ộ.
1.6 T ấ n công vào y ế u t ố con ng ườ i
Kẻ tấn công có thể giả mạo người dùng để yêu cầu thay đổi mật khẩu, quyền truy cập hoặc cấu hình hệ thống, dẫn đến các phương pháp tấn công khác Không có thiết bị nào có thể ngăn chặn hiệu quả kiểu tấn công này, do đó, việc giáo dục người dùng về các yêu cầu bảo mật là rất quan trọng Yếu tố con người thường là điểm yếu trong hệ thống bảo vệ, và chỉ có sự giáo dục cùng tinh thần hợp tác từ người dùng mới có thể nâng cao độ an toàn cho hệ thống.
Các mức bảo vệ an toàn
- Mô tả được xây dựng kiến trúc mạng sử dụng tường lửa
Do không có giải pháp an toàn tuyệt đối, cần sử dụng nhiều mức bảo vệ khác nhau để tạo thành các lớp "rào chắn" chống lại các hoạt động xâm phạm Bảo vệ thông tin trên mạng chủ yếu tập trung vào việc bảo vệ dữ liệu lưu trữ trên máy tính, đặc biệt là trong các máy chủ của mạng Các lớp rào chắn thông dụng hiện nay được mô tả trong hình ảnh, nhằm bảo vệ thông tin tại các trạm của mạng.
Hình 7:Các mức độ bảo vệ mạng Như minh hoạ trong hình trên, các lớp bảo vệ thông tin trên mạng gồm:
Lớp bảo vệ trong cùng của mạng đóng vai trò quan trọng trong việc kiểm soát quyền truy nhập và quyền hạn đối với các tài nguyên thông tin Hiện nay, việc kiểm soát này được áp dụng sâu rộng nhất đối với các tệp dữ liệu.
Lớp bảo vệ tiếp theo trong việc quản lý truy cập mạng là yêu cầu đăng ký tên và mật khẩu Đây là phương pháp phổ biến nhất do tính đơn giản, chi phí thấp và hiệu quả cao Mỗi người dùng cần có tên đăng ký và mật khẩu để truy cập tài nguyên mạng Người quản trị hệ thống có trách nhiệm kiểm soát mọi hoạt động trong mạng và xác định quyền truy cập của người dùng dựa trên thời gian và không gian.
Lớp thứ ba liên quan đến việc áp dụng các phương pháp mã hóa (encryption), trong đó dữ liệu được chuyển đổi từ dạng "đọc được" sang dạng "không đọc được" thông qua một thuật toán nhất định.
Accessrights login/password dataencrytion Physical firewalls ta sẽ xem xét các phương thức và các thuật toán mã hoá hiện được sử dụng phổ biến ở phần dưới đây.
Lớp thứ tư trong bảo mật hệ thống là bảo vệ vật lý, có vai trò quan trọng trong việc ngăn chặn các truy cập vật lý trái phép Để thực hiện điều này, các biện pháp truyền thống thường được áp dụng, bao gồm việc hạn chế quyền vào phòng máy cho những người không có nhiệm vụ, sử dụng khóa bảo mật cho máy tính và thiết lập hệ thống báo động khi có dấu hiệu truy cập trái phép vào hệ thống.
Lớp thứ năm của hệ thống mạng là cài đặt các tường lửa (firewall) để ngăn chặn các truy cập trái phép Tường lửa giúp lọc các gói tin không mong muốn, đảm bảo an toàn cho việc gửi và nhận dữ liệu.
Internet Firwall
- Trình bày được định nghĩa Firewall;
- Mô tả chức năng và cấu trúc của Firewall.
Thuật ngữ Firewall xuất phát từ kỹ thuật xây dựng nhằm ngăn chặn hoả hoạn Trong lĩnh vực công nghệ mạng, Firewall là một giải pháp bảo mật được tích hợp vào hệ thống để ngăn chặn truy cập trái phép, bảo vệ thông tin nội bộ và hạn chế xâm nhập từ các nguồn không mong muốn Nói cách khác, Firewall hoạt động như một cơ chế bảo vệ mạng tin cậy khỏi các mạng không tin cậy.
Internet Firewall là thiết bị kết hợp giữa phần cứng và phần mềm, đóng vai trò quan trọng trong việc bảo vệ mạng lưới của tổ chức, công ty hoặc quốc gia (Intranet) khỏi những mối đe dọa từ Internet Thiết bị này giúp bảo mật thông tin Intranet, ngăn chặn các truy cập trái phép và bảo vệ dữ liệu quan trọng khỏi các nguy cơ từ thế giới bên ngoài.
Firewall là một thành phần quan trọng nằm giữa Intranet và Internet, có chức năng kiểm soát mọi lưu thông và truy cập giữa hai mạng này.
Firewall đóng vai trò quan trọng trong việc kiểm soát truy cập, xác định dịch vụ nào từ bên trong được phép truy cập từ bên ngoài và ngược lại Để đảm bảo hiệu quả hoạt động, tất cả các trao đổi thông tin giữa mạng nội bộ và bên ngoài đều phải được thực hiện thông qua Firewall.
Chỉ có những trao đổi nào được phép bởi chế độ an ninh của hệ thống mạng nội bộ mới được quyền lưu thông qua Firewall.
Hình 8 :Sơ đồ chức năng hệ thống của firewall
Một hoặc nhiều hệ thống máy chủ kết nối với các bộ định tuyến (router) hoặc có chức năng router.
Các phần mềm quản lý an ninh hoạt động trên hệ thống máy chủ, bao gồm các chức năng chính như xác thực (Authentication), cấp quyền (Authorization) và kế toán (Accounting).
3.4 Các thành ph ầ n c ủ a Firewall và c ơ ch ế ho ạ t độ ng
Một Firewall chuẩn bao gồm một hay nhiều các thành phần sau đây:
Bộ lọc packet ( packet-filtering router )
Cổng ứng dụng (application-level gateway hay proxy server )
Cổng mạch (circuite level gateway)
3.4.1.B ộ l ọ c gói tin (Packet filtering router)
Khi lưu thông dữ liệu giữa các mạng thông qua Firewall, Firewall hoạt động chặt chẽ với giao thức TCP/IP Giao thức này chia nhỏ dữ liệu từ các ứng dụng thành các gói dữ liệu (data packets) và gán địa chỉ cho chúng, giúp nhận dạng và tái lập lại dữ liệu ở đích cần gửi đến Do đó, các loại Firewall liên quan mật thiết đến các gói dữ liệu và địa chỉ của chúng.
Bộ lọc packet có khả năng cho phép hoặc từ chối từng packet mà nó nhận được bằng cách kiểm tra toàn bộ dữ liệu để xác định xem có phù hợp với các quy tắc lọc packet hay không Các quy tắc này dựa trên thông tin trong phần đầu của mỗi packet, bao gồm địa chỉ IP nguồn (IP Source address) và địa chỉ IP đích (IP Destination address), nhằm đảm bảo việc truyền tải các packet trên mạng một cách hiệu quả.
Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel)
Cổng TCP/UDP nơi xuất phát (TCP/UDP source port)
Cổng TCP/UDP nơi nhận (TCP/UDP destination port)
Dạng thông báo ICMP ( ICMP message type) giao diện packet đến ( incomming interface of packet) giao diện packet đi ( outcomming interface of packet)
Nếu luật lệ lọc packet được thoả mãn, packet sẽ được chuyển qua firewall; ngược lại, nó sẽ bị loại bỏ Điều này cho phép Firewall ngăn chặn các kết nối không mong muốn vào máy chủ hoặc mạng đã được xác định, đồng thời kiểm soát truy cập từ các địa chỉ không được phép vào hệ thống mạng nội bộ Hơn nữa, Firewall có khả năng chỉ cho phép một số loại kết nối nhất định vào các máy chủ cụ thể hoặc chỉ cho phép các dịch vụ như Telnet, SMTP, FTP hoạt động trên mạng cục bộ Đa số hệ thống firewall hiện nay đều sử dụng bộ lọc packet, mang lại ưu điểm chi phí thấp vì cơ chế này đã được tích hợp sẵn trong phần mềm router.
Ngoài ra, bộ lọcpacket 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ả.
Định nghĩa các chế độ lọc packet là một quá trình phức tạp, yêu cầu người quản trị mạng phải nắm vững kiến thức về dịch vụ Internet, các loại packet header và các giá trị cụ thể trong từng trường Khi yêu cầu về lọc gia tăng, các quy tắc lọc trở nên dài dòng và phức tạp, gây khó khăn trong việc quản lý và kiểm soát.
Bộ lọc packet chỉ dựa vào header của các packet, do đó không thể kiểm soát nội dung bên trong Điều này cho phép các packet vẫn có thể chứa những hành động xấu nhằm đánh cắp thông tin hoặc gây hại.
3.4.2 C ổ ng ứ ng d ụ ng (application-level gateway)
Firewall Proxy là một loại tường lửa được thiết kế để kiểm soát các dịch vụ và giao thức truy cập vào mạng Nó hoạt động dựa trên dịch vụ đại diện (Proxy service), với các chương trình đặc biệt cài đặt trên gateway cho từng ứng dụng Nếu không có chương trình proxy cho một ứng dụng, dịch vụ đó sẽ không được cung cấp, ngăn chặn việc chuyển thông tin qua firewall Hơn nữa, mã proxy có thể được cấu hình để cho phép chỉ những đặc điểm nhất định của ứng dụng mà quản trị mạng cho là an toàn, trong khi từ chối những đặc điểm khác.
Một cổng ứng dụng, thường được gọi là pháo đài (bastion host), được thiết kế đặc biệt để bảo vệ chống lại các cuộc tấn công từ bên ngoài Các biện pháp bảo mật của bastion host rất quan trọng để đảm bảo an toàn cho hệ thống.
Bastion host luôn sử dụng các phiên bản an toàn của hệ điều hành, được thiết kế đặc biệt để ngăn chặn các cuộc tấn công vào hệ thống Những phiên bản này không chỉ bảo vệ hệ điều hành mà còn đảm bảo tính tích hợp của firewall, tăng cường khả năng bảo mật cho mạng.
Chỉ những dịch vụ thiết yếu được quản trị mạng cài đặt trên bastion host để giảm thiểu nguy cơ tấn công Nếu một dịch vụ không được cài đặt, nó sẽ không thể bị khai thác Thông thường, chỉ có một số ứng dụng hạn chế cho Telnet, DNS, FTP, SMTP và xác thực người dùng được triển khai trên bastion host.
Bastion host có thể yêu cầu nhiều mức độ xác thực khác nhau, ví dụ như user password hay smart card.
Mỗi proxy được cấu hình để chỉ cho phép truy cập vào một số máy chủ nhất định, điều này có nghĩa là các lệnh và thiết lập đặc trưng cho từng proxy chỉ áp dụng cho một số máy chủ trong toàn hệ thống.