1. Trang chủ
  2. » Tất cả

Đồ án tốt nghiệp quản trị an ninh mạng

92 45 4
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Triển Khai Xây Dựng Hệ Thống Mạng Sử Dụng Tường Lửa Pfsense
Tác giả Nguyễn Trung Kiên
Người hướng dẫn TS. Lê Hoàn
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 92
Dung lượng 8,61 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ AN NINH MẠNG (11)
    • 1.1 Giới thiệu về An ninh mạng (11)
    • 1.2 Các nguy cơ ảnh hưởng đến an toàn mạng (12)
    • 1.3. Các kỹ thuật tấn công mạng (13)
      • 1.3.1. Tấn công bằng phần mềm độc hại (Malware attack) (13)
      • 1.3.2 Tấn công giả mạo (Phishing attack) (13)
      • 1.3.3. Tấn công trung gian (Man-in-the-middle attack) (14)
      • 1.3.4 Tấn công từ chối dịch vụ (DoS và DDoS) (14)
      • 1.3.5 Tấn công cơ sở dữ liệu (SQL injection) (14)
      • 1.3.6 Khai thác lỗ hổng Zero-day (Zero day attack) (14)
      • 1.3.7 Các loại khác (15)
  • CHƯƠNG 2: GIẢI PHÁP XÂY DỰNG HỆ THỐNG SỬ DỤNG PIHOLE VÀ TƯỜNG LỬA PFSENSE (16)
    • 2.1 Tổng quan về DNS (16)
      • 2.1.1 Khái niệm (16)
      • 2.1.2 DNS namespace (17)
      • 2.1.3 Cấu trúc của hệ thống tên miền (17)
      • 2.1.4 Phân loại tên miền (18)
      • 2.1.5 DNS Server (18)
    • 2.2 Giới thiệu về Pi hole (20)
    • 2.3. Khái niệm về Firewall (21)
      • 2.3.1. Firewall là gì? (21)
      • 2.3.2. Vai trò của tường lửa (21)
  • CHƯƠNG 3: TRIỂN KHAI GIẢI PHÁP VÀ THỬ NGHIỆM (25)
    • 3.1 Sơ đồ triển khai (25)
    • 3.2 Các bước triển khai và thử nghiệm DNS server sử dụng Pihole (25)
      • 3.2.1 Link hướng dẫn sử dụng trước khi dùng (25)
      • 3.2.2 Link video hướng dẫn cài đặt (26)
      • 3.2.3 Thay đổi port cho pi hole (26)
      • 3.2.4 Các tính năng cần triển khai trên Pi hole (28)
    • 3.3 Các bước triển khai và thử nghiệm xây dựng hệ thống với tường lửa Pfsense (36)
      • 3.3.1 Cài đặt Pfsense trên VMware (38)
      • 3.3.2 Thiết lập tường lửa PFsense (41)
      • 3.3.3 Kiểm tra tính liên thông trong mạng (47)
      • 3.3.4 Thiết lập VPN trên tường lửa PFsense (49)
    • 3.4 Nhận xét và đánh giá kết quả đạt được (61)
  • CHƯƠNG 4: TRIỂN KHAI PRIVILEGED ACCESS MANAGEMENT TRÊN GUACAMOLE (62)
    • 4.1. Tổng quan về PAM (62)
      • 4.1.1 Lợi ích của PAM (62)
      • 4.2.2. Cách thực hiện PAM: Just-in-Time Privileged Access Management (JIT PAM) (63)
    • 4.2 Các bước triển khai và thử nghiệm (64)
      • 4.2.1 Cài đặt Docker, Portainer (65)
      • 4.2.2 Cài đặt Guacamole (67)
      • 4.2.3 Create an SSH connection (Ubuntu) on Guacamole (79)
      • 4.2.4 Create an RDP (Windows) connection on Guacamole (84)

Nội dung

Đây là Đồ án tốt nghiệp chuyên ngành quản trị an ninh mạng của sinh viên Đại học Điện Lực mô tả về việc xây dựng một mô hình mạng sử dụng tường lửa pfsense và pihole server. Báo cáo nói về việc sử dụng pihole như một dns server, tường lửa pfsense. Cuối cùng là phần về PAM server, bạn nào không biết về PAM có thể bỏ phần cuối cũng được.

TỔNG QUAN VỀ AN NINH MẠNG

Giới thiệu về An ninh mạng

An ninh mạng ngày càng trở nên quan trọng do điện thoại thông minh, máy tính và máy tính bảng trở thành phần không thể thiếu trong công việc hàng ngày và cuộc sống cá nhân của chúng ta Mức độ phụ thuộc vào các công cụ trực tuyến trong hoạt động kinh doanh ngày càng tăng, từ mạng xã hội, tiếp thị qua email đến lưu trữ dữ liệu nhân viên và khách hàng trên đám mây Điều này đặt ra nhu cầu cấp thiết về bảo vệ thông tin quý giá để đảm bảo an toàn dữ liệu và duy trì hoạt động kinh doanh hiệu quả.

Sự phụ thuộc vào các công cụ số khiến nhiều doanh nghiệp gặp rủi ro từ các cuộc tấn công mạng ngày càng tinh vi hơn Kiến thức vững chắc về an ninh mạng đóng vai trò then chốt để phòng ngừa các mối đe dọa này Các nạn nhân của các cuộc tấn công mạng có nguy cơ bị mất dữ liệu, thiệt hại tài chính và ảnh hưởng đến uy tín doanh nghiệp Việc nâng cao nhận thức và áp dụng các giải pháp bảo vệ mạng là điều cần thiết để giảm thiểu rủi ro an ninh mạng trong doanh nghiệp.

 Mất dữ liệu nhạy cảm

 Tổn thất tài chính do trộm cắp dữ liệu

 Chi phí cao cho việc khôi phục dữ liệu bị đánh cắp

 Đóng cửa (trong trường hợp nghiêm trọng)

Với sự bùng nổ của việc sử dụng internet, các công cụ trực tuyến và thiết bị kết nối không ngừng mở rộng, tội phạm mạng ngày càng gia tăng trong môi trường doanh nghiệp Các doanh nghiệp cần nhận thức rõ về các rủi ro an ninh mạng để bảo vệ tài sản và dữ liệu quan trọng trước các mối đe dọa ngày càng tinh vi Việc an ninh mạng trở thành yếu tố then chốt giúp doanh nghiệp duy trì hoạt động an toàn, tránh thiệt hại về tài chính và uy tín do các cuộc tấn công mạng Hiểu rõ xu hướng và các biện pháp phòng ngừa hiệu quả sẽ giúp doanh nghiệp ứng phó tốt hơn với các thách thức của an ninh mạng trong kỷ nguyên số.

Vì an ninh mạng không có giải pháp chung cho tất cả, doanh nghiệp cần xem xét các lĩnh vực khác nhau liên quan đến dữ liệu và hệ thống của mình Đánh giá các yếu tố như loại dữ liệu, nơi lưu trữ trực tuyến và các rủi ro tiềm ẩn là điều rất quan trọng trong việc xây dựng chiến lược bảo vệ thông tin hiệu quả Việc hiểu rõ các khía cạnh này giúp doanh nghiệp xác định các biện pháp phòng ngừa phù hợp, đảm bảo an ninh mạng toàn diện.

Các loại an ninh mạng quan trọng nhất mà các công ty đang tập trung xây dựng tuyến phòng thủ vững chắc nên là:

 Network security – Bảo vệ chống lại việc truy cập trái phép vào cơ sở hạ tầng nội bộ, thường được cung cấp bởi các quản trị viên mạng, những

 App security – Các bản cập nhật và thử nghiệm thường xuyên có thể bảo vệ ứng dụng của bạn khỏi các mối đe dọa.

 Information and data security – Mạng và ứng dụng lưu trữ dữ liệu cần được bảo vệ bổ sung thêm.

 Endpoint protection – giảm rủi ro khi truy cập từ xa.

 Cloud security – phần mềm giám sát và bảo vệ dữ liệu được lưu trữ trên đám mây.

Mobile security and IoT devices, including smartphones, tablets, and other connected devices, have unique security requirements due to their integration with the Internet of Things (IoT) Ensuring robust protection for these connected devices is essential to safeguard sensitive data and prevent cyber threats As IoT adoption increases, implementing comprehensive security measures becomes critical for maintaining user privacy and device integrity across all connected platforms.

Every business must have a comprehensive business continuity plan and emergency recovery strategy to ensure resilience against cyber attacks, natural disasters, or other incidents that threaten their cybersecurity Implementing these plans helps organizations minimize downtime, protect critical data, and maintain operations during unexpected disruptions Proactive preparation is essential for safeguarding your business's future and ensuring rapid recovery in the face of emergencies.

Các nguy cơ ảnh hưởng đến an toàn mạng

Các loại tấn công mạng công khai và âm thầm được thiết kế để gây gián đoạn hoạt động kinh doanh của doanh nghiệp theo nhiều cách khác nhau Khi ngày càng nhiều công ty nhận thức rõ tầm quan trọng của việc bảo vệ tài nguyên số và đầu tư vào đào tạo an ninh mạng, các hacker và tội phạm mạng cũng ngày càng nâng cao mức độ tinh vi của các hình thức tấn công.

Cập nhật kiến thức về an ninh mạng giúp bạn bảo vệ doanh nghiệp khỏi các mối đe dọa ngày càng phổ biến Trong đó, có năm loại tấn công mạng phổ biến nhất như ransomware, phishing, tấn công DDoS, malware và lừa đảo qua mạng, đòi hỏi doanh nghiệp phải luôn cảnh giác và chuẩn bị các biện pháp phòng ngừa phù hợp Các biện pháp nâng cao nhận thức và kiến thức về an ninh mạng là chìa khóa để giảm thiểu rủi ro bị tấn công và bảo vệ dữ liệu quan trọng của doanh nghiệp.

 Malware là một lỗ hổng trên hệ thống bảo vệ mạng của bạn, chẳng hạn như phần mềm gián điệp, phần mềm tống tiền và vi rút.

Phishing là các tin nhắn độc hại, thường là email, chứa liên kết độc hại nhằm đánh lừa người dùng và chiếm quyền truy cập vào thông tin nhạy cảm Khi nhấp vào các liên kết này, người dùng có thể vô tình tiết lộ dữ liệu quan trọng hoặc cài đặt phần mềm độc hại vào thiết bị của mình Việc nhận biết và phòng tránh phishing là điều cần thiết để bảo vệ dữ liệu cá nhân, tài chính và giữ an toàn trực tuyến.

 Denial of Service (DoS) – Tin tặc tràn ngập mạng hoặc hệ thống của bạn

 Man in the middle (MitM) – tội phạm mạng làm gián đoạn kết nối, thường là qua mạng wi-fi công cộng không an toàn và sau đó đánh cắp dữ liệu nhạy cảm.

Zero-day là loại cuộc tấn công mạng ít phổ biến hơn nhưng đang gia tăng đáng kể, diễn ra trong khoảng thời gian giữa việc công bố bản cập nhật hoặc bản vá bảo mật và quá trình cài đặt của người dùng.

Các kiểu tấn công mạng ngày càng gia tăng, ảnh hưởng đến nhiều doanh nghiệp khác nhau như quán cà phê có mạng Wi-Fi không an toàn và các cửa hàng trực tuyến dễ bị tấn công zero-day Những mối đe dọa này đe dọa tới an ninh dữ liệu và hoạt động kinh doanh của doanh nghiệp Do đó, việc nâng cao bảo mật mạng và hệ thống là yếu tố cần thiết để bảo vệ doanh nghiệp khỏi các cuộc tấn công mạng ngày càng tinh vi Phòng ngừa tấn công mạng không chỉ giúp tránh tổn thất về tài chính mà còn đảm bảo uy tín và sự phát triển lâu dài của doanh nghiệp.

Các kỹ thuật tấn công mạng

1.3.1.Tấn công bằng phần mềm độc hại (Malware attack)

Tấn công malware là hình thức phổ biến nhất trong các mối đe dọa an ninh mạng, bao gồm các loại phần mềm như spyware (phần mềm gián điệp), ransomware (mã độc tống tiền) và virus cùng worm (phần mềm độc hại có khả năng lây nhiễm nhanh chóng) Tin tặc thường tận dụng các lỗ hổng bảo mật để tấn công người dùng hoặc dụ dỗ họ click vào các liên kết hoặc email chứa phishing, qua đó phần mềm độc hại tự động cài đặt vào thiết bị Khi malware đã xâm nhập thành công, nó có thể gây ra nhiều hậu quả nghiêm trọng, ảnh hưởng đến dữ liệu và hệ thống của người dùng.

 Ngăn cản người dùng truy cập vào file hoặc folder nào đó quan trọng (ransomware)

 Cài đặt thêm những phần mềm độc hại khác

 Lén lút theo dõi và đánh cắp dữ liệu của người dùng (spyware)

 Làm hư hại phần mềm, phần cứng hoặc làm gián đoạn hệ thống.

1.3.2 Tấn công giả mạo (Phishing attack)

Phishing attack là hình thức lừa đảo giả mạo đơn vị hoặc cá nhân uy tín nhằm chiếm lòng tin của người dùng, thường thông qua email Mục đích chính của các cuộc tấn công phishing là đánh cắp dữ liệu nhạy cảm như thông tin thẻ tín dụng, mật khẩu hoặc thậm chí cài đặt phần mềm độc hại vào thiết bị của người dùng Phishing thường là bước đầu trong các chiến dịch tấn công malware, nhằm thu thập thông tin hoặc tạo điều kiện cho các cuộc tấn công mạng phức tạp hơn.

1.3.3.Tấn công trung gian (Man-in-the-middle attack)

Tấn công trung gian (MitM), hay còn gọi là tấn công nghe lén, xảy ra khi kẻ tấn công xâm nhập vào quá trình giao tiếp giữa hai thiết bị, cho phép họ theo dõi và đánh cắp dữ liệu trong suốt quá trình trao đổi thông tin Khi thành công xen vào giữa cuộc trò chuyện, kẻ tấn công có thể lấy cắp thông tin nhạy cảm, dữ liệu cá nhân hoặc dữ liệu giao dịch quan trọng Loại hình này thường xảy ra trong các tình huống không sử dụng các phương pháp bảo vệ dữ liệu phù hợp, gây nguy hiểm cho an toàn thông tin của người dùng.

Khi nạn nhân truy cập vào mạng Wifi công cộng không an toàn, kẻ tấn công có thể dễ dàng cài đặt kỹ thuật "man-in-the-middle" để chen vào giữa thiết bị của nạn nhân và mạng Wi-Fi đó Điều này khiến các thông tin mà nạn nhân gửi và nhận hàng ngày vô tình rơi vào tầm kiểm soát của kẻ xấu, gây nguy hiểm cho dữ liệu cá nhân và an ninh thông tin của người dùng.

 Khi phần mềm độc hại được cài đặt thành công vào thiết bị, kẻ tấn công có thể dễ dàng xem và chỉnh sửa dữ liệu của nạn nhân.

1.3.4 Tấn công từ chối dịch vụ (DoS và DDoS)

Tấn công từ chối dịch vụ (DoS) là hình thức tấn công gây quá tải hệ thống, máy chủ hoặc mạng nội bộ bằng cách gửi một lượng lớn traffic hoặc yêu cầu cùng lúc, khiến hệ thống bị quá tải và không thể truy cập dịch vụ trong thời gian diễn ra cuộc tấn công Đây là chiến thuật tấn công nhằm "đánh sập tạm thời" hệ thống, gây gián đoạn dịch vụ cho người dùng.

Một dạng thức khác của tấn công từ chối dịch vụ là DDoS (Distributed Denial of Service), trong đó kẻ tấn công sử dụng mạng lưới các máy tính gọi là botnet để tiến hành cuộc tấn công Thậm chí, chính các máy tính trong mạng lưới botnet cũng không nhận thức được rằng chúng đang bị lợi dụng làm công cụ tấn công mạng.

1.3.5 Tấn công cơ sở dữ liệu (SQL injection)

Kẻ tấn công sẽ “tiêm” một đoạn code độc hại vào server sử dụng ngôn ngữ truy vấn có cấu trúc (SQL), mục đích là để máy chủ trả về những thông tin quan trọng mà lẽ ra không được tiết lộ Các cuộc tấn công SQL injection thường xuất phát từ các lỗ hổng của website, đôi khi kẻ tấn công chỉ cần chèn một đoạn mã độc vào thanh công cụ “Tìm kiếm” là đã có thể tấn công vào website.

1.3.6 Khai thác lỗ hổng Zero-day (Zero day attack)

Lỗ hổng Zero-day (0-day vulnerabilities) là các lỗ hổng bảo mật nguy hiểm và khó lường, có khả năng gây hậu quả nghiêm trọng cho người dùng cũng như nhà phát hành sản phẩm Những lỗ hổng này thường bị phát hiện đột ngột, khiến cho hệ thống và dữ liệu trở nên dễ bị tấn công mà không có phương án phòng vệ kịp thời Việc khai thác thành công các lỗ hổng Zero-day có thể dẫn đến xâm nhập hệ thống, dữ liệu bị rò rỉ hoặc kiểm soát hoàn toàn hệ thống của người dùng Do tính chất nguy hiểm, các chuyên gia an ninh mạng luôn căng thẳng trong việc phát hiện và vá các lỗ hổng Zero-day để bảo vệ an toàn thông tin.

Ngoài ra, các hình thức tấn công mạng như tấn công chuỗi cung ứng, tấn công Email, tấn công vào con người và tấn công nội bộ tổ chức ngày càng phát triển phức tạp và tinh vi Mỗi dạng tấn công này đều có đặc điểm riêng biệt đòi hỏi các tổ chức, cơ quan và cá nhân phải luôn cảnh giác và cập nhật các công nghệ bảo mật mới nhằm bảo vệ dữ liệu và hệ thống mạng của mình.

GIẢI PHÁP XÂY DỰNG HỆ THỐNG SỬ DỤNG PIHOLE VÀ TƯỜNG LỬA PFSENSE

Tổng quan về DNS

Mỗi thiết bị mạng như máy tính đều có thể giao tiếp qua địa chỉ IP (Internet Protocol), giúp xác định rõ vị trí trên mạng internet Để dễ nhớ và thuận tiện hơn, chúng ta sử dụng tên miền (domain name) thay cho địa chỉ IP Hệ thống tên miền (Domain Name System - DNS) đóng vai trò quan trọng trong việc ánh xạ tên miền thành địa chỉ IP phù hợp, đảm bảo quá trình truy cập Internet diễn ra trơn tru và hiệu quả.

Khi muốn giao tiếp với các máy chủ khác, chúng ta thường sử dụng tên miền dễ nhớ như www.microsoft.com hoặc www.ibm.com thay vì địa chỉ IP phức tạp Điều này giúp người dùng dễ dàng truy cập và quản lý các dịch vụ trực tuyến hơn Việc sử dụng tên miền không chỉ nâng cao trải nghiệm người dùng mà còn hỗ trợ trong việc tối ưu hóa SEO cho trang web của bạn.

Ban đầu, khi DNS chưa được ra đời, người ta sử dụng một file tên là Host.txt, file này sẽ lưu các thông tin về tên host và địa chỉ IP của host của tất cả các máy trong mạng, file này được lưu ở tất cả các máy để chúng có thể truy xuất đến các máy khác trong Internet Khi đó, nếu có bất kỳ sự thay đổi nào về tên host, địa chỉ IP thì ta phải cập nhật lại toàn bộ các file Host.txt trên tất cả các máy Do vậy vào năm 1984, Paul Mockpetris thuộc viện USC’s Information Sciences Institute phát triển một hệ thống quản lý tên miền mới lấy tên là Hệ thống tên miền – Domain Name

Hệ thống mới sử dụng một file tên host.txt để lưu thông tin tất cả các máy trong mạng, nhưng thay vì lưu trên từng máy, file này chỉ được đặt trên máy chủ tên miền (DNS Server) Khi các Client muốn kết nối đến các máy khác trong mạng, chỉ cần hỏi DNS Server để nhận được thông tin địa chỉ IP Mục đích của DNS là giúp chuyển đổi tên miền thành địa chỉ IP chính xác và nhanh chóng, tối ưu hóa quá trình truy cập giữa các thiết bị trong mạng.

 Phân giải địa tên máy thành địa chỉ IP và ngược lại.

DNS là Domain Name System, DNS Server là Server chạy Domain Name

DNS là một hệ thống phân cấp (DNS Hierarchy) giúp tổ chức và quản lý các tên miền một cách rõ ràng và hiệu quả Hệ thống tên trong DNS được sắp xếp theo mô hình phân cấp, hình thành nên cấu trúc cây logic gọi là DNS namespace Nhờ vào cấu trúc này, việc tra cứu và phân giải tên miền trở nên nhanh chóng và chính xác hơn, đảm bảo hoạt động của internet diễn ra mượt mà và ổn định.

2.1.3 Cấu trúc của hệ thống tên miền

Hiện nay hệ thống tên miền được chia làm nhiều cấp:

 Gốc (Root Domain) : Nó là đỉnh của nhánh cây tên miền Nó có thể biểu diễn đơn giản chỉ là dấu chấm “.”

Tên miền cấp một (Top-level Domain - TLD) là các ký tự sau dấu chấm trong địa chỉ website, xác định quốc gia, khu vực hoặc tổ chức Các ví dụ phổ biến gồm ".com" cho thương mại, ".edu" dành cho các tổ chức giáo dục, giúp định danh và phân loại website một cách rõ ràng và dễ nhớ.

 Tên miền cấp hai (Second-level Domain): Nó rất đa dạng, có thể là tên một công ty, một tổ chức hoặc một cá nhân.

Tên miền cấp con (Subdomain) là phần chia nhỏ hơn của tên miền cấp hai, thường được sử dụng để phân chia các chi nhánh, phòng ban hoặc chủ đề khác nhau của một tổ chức Việc sử dụng subdomain giúp tổ chức quản lý nội dung hiệu quả hơn và tạo sự rõ ràng trong cấu trúc Website Đây là giải pháp tối ưu để phân biệt các lĩnh vực hoạt động hoặc phân mục trong một hệ thống trực tuyến.

 Com: Tên miền này được dùng cho các tổ chức thương mại.

 Edu: Tên miền này được dùng cho các cơ quan giáo dục, trường học.

 Net: Tên miền này được dùng cho các tổ chức mạng lớn.

 Gov: Tên miền này được dùng cho các tổ chức chính phủ.

 Org: Tên miền này được dùng cho các tổ chức khác.

 Int: Tên miền này được dùng cho các tổ chức quốc tế.

 Info: Tên miền này được dùng cho việc phục vụ thông tin.

 Mil: Tên miền dành cho các tổ chức quân sự, quốc phòng.

 Mã các nước trên thế giới tham gia vào mạng internet, các quốc gia này được qui định bằng hai chữ cái theo tiêu chuẩn ISO-3166 Ví dụ: Việt Nam là vn, Singapo là sg….

Là một máy chủ có nhiệm vụ chạy dịch vụ DNS service.

DNS Server là một hệ thống cơ sở dữ liệu quan trọng, lưu trữ thông tin về vị trí của các tên miền DNS Nó có chức năng phân giải các truy vấn từ phía các Client, giúp xác định chính xác địa chỉ IP liên quan đến tên miền DNS Server đóng vai trò then chốt trong quản lý và vận hành hệ thống mạng Internet, đảm bảo quá trình truy cập và truyền tải dữ liệu diễn ra thuận lợi, an toàn và nhanh chóng.

Máy chủ DNS cung cấp thông tin theo yêu cầu của Client và chuyển tiếp truy vấn đến các máy chủ DNS khác khi không thể tự giải quyết các tên miền không thuộc quyền quản lý của nó Nó luôn sẵn sàng trả lời các yêu cầu từ các máy chủ khác về các tên miền mà nó quản lý Máy chủ DNS lưu trữ thông tin của Zone, xử lý các truy vấn và trả kết quả chính xác cho các DNS Client nhằm đảm bảo quá trình phân giải tên miền diễn ra thuận lợi.

Máy chủ quản lý DNS cấp cao nhất là Root Server do tổ chức ICANN quản lý:

 Là Server quản lý toàn bộ cấu trúc của hệ thống tên miền

Không chứa dữ liệu thông tin về cấu trúc hệ thống DNS mà chỉ chuyển

Server có khả năng quyết định đường đến của một domain tại bất kì đâu trên mạng

Primary Server được tạo khi thêm một Primary Zone mới qua Wizard New Zone, lưu trữ thông tin về tên miền mà nó quản lý Các dữ liệu này sau đó có thể được chuyển sang các Secondary Server để đồng bộ Thông thường, các tên miền do Primary Server quản lý sẽ được tạo và chỉnh sửa trực tiếp trên Primary Server, sau đó cập nhật tự động đến các Secondary Server để đảm bảo dữ liệu nhất quán.

 B Secondary Server: o DNS được khuyến nghị nên sử dụng ít nhất là hai DNS Server để lưu trữ trên mỗi một Zone Primary DNS Server quản lý các Zone và Secondary Server dùng để lưu trữ dự phòng cho Primary Server Secondary DNS Server được khuyến nghị dùng nhưng không bắt buộc phải có. o Secondary Server được phép quản lý domain, những dữ liệu về tên miền (domain), nhưng Secondary Server không tạo ra các bản ghi về tên miền (domain) mà nó lấy về từ Primary Server. o Khi lượng truy vấn Zone tăng cao tại Primary Server thì nó sẽ chuyển bớt tải sang cho Secondary Server Hoặc khi Primary Server gặp sự cố không hoạt động được thì Secondary Server sẽ hoạt động thay thế cho đến khi Primary Server hoạt động trở lại. o Primary Server thường xuyên thay đổi hoặc thêm vào các Zone mới NênDNS Server sử dụng cơ chế cho phép Secondary lấy thông tin từ PrimaryServer và lưu trữ nó Có hai giải pháp lấy thông tin về các Zone mới là lấy toàn bộ (full) hoặc chỉ lấy phần thay đổi (incremental).

Giới thiệu về Pi hole

Pi-hole là công cụ chặn quảng cáo mạnh mẽ giúp kiểm soát toàn bộ mạng trong nhà hoặc công ty mà không cần cài đặt adblock hoặc chỉnh DNS trên từng thiết bị Nó đặc biệt hữu ích cho các thiết bị không thể can thiệp như Smart TV, khi Raspberry Pi đóng vai trò lọc sạch quảng cáo trước khi chúng đến thiết bị của bạn Cách thiết lập Pi-hole rất đơn giản và có thể chạy trên hầu hết các mẫu Raspberry Pi do yêu cầu cấu hình thấp, mang lại trải nghiệm duyệt web sạch sẽ và tiết kiệm thời gian.

Pi-hole sử dụng DNS bảo vệ thiết bị khỏi nội dung không mong muốn mà không cần cài đặt bất kỳ phần mềm phía máy khách nào.

 Dễ cài đặt : trình cài đặt đa năng sẽ hướng dẫn toàn bộ quy trình và chỉ mất chưa đầy mười phút

Kiên quyết chặn nội dung không phù hợp bằng cách hạn chế truy cập ở các vị trí không có trình duyệt, như các ứng dụng di động chứa quảng cáo và TV thông minh Điều này giúp bảo vệ người tiêu dùng khỏi các nội dung không mong muốn và nâng cao trải nghiệm sử dụng thiết bị số Việc kiểm soát chặt chẽ này đảm bảo rằng các nội dung không phù hợp không thể xâm nhập qua các nền tảng không chính thức, tăng cường tính an toàn và bảo mật cho người dùng.

 Đáp ứng : tăng tốc độ duyệt web hàng ngày một cách liền mạch bằng cách lưu vào bộ nhớ đệm các truy vấn DNS

 Nhẹ : chạy mượt mà với các yêu cầu phần cứng và phần mềm tối thiểu

 Mạnh mẽ : giao diện dòng lệnh được đảm bảo chất lượng về khả năng tương tác

Bảng điều khiển Giao diện Web đáp ứng đẹp mắt giúp dễ dàng xem và điều khiển Pi-hole một cách trực quan và thuận tiện Đồng thời, tính năng đa năng của Pi-hole cho phép nó hoạt động như một máy chủ DHCP, đảm bảo tất cả các thiết bị trong mạng của bạn được bảo vệ tự động, nâng cao an ninh và hiệu quả hoạt động.

Có thể mở rộng : có khả năng xử lý hàng trăm triệu truy vấn khi được cài đặt trên phần cứng cấp máy chủ

Hiện đại : chặn quảng cáo trên cả IPv4 và IPv6

Sơ đồ triển khai trong việc sử dụng Pi hole:

Hình 2.2: Sơ đồ triển khai sử dụng Pihole

Khái niệm về Firewall

Firewall giúp kiểm soát luồng thông tin giữa Intranet và Internet, chúng phát hiện và phán xét những hành vi được truy cập và không được truy cập vào bên trong hệ thống, đảm bảo tối đa sự an toàn thông tin.

2.3.2 Vai trò của tường lửa

Firewall đóng vai trò quan trọng trong việc kiểm soát luồng thông tin giữa mạng nội bộ (Intranet) và Internet, giúp phát hiện và xử lý các hành vi truy cập trái phép Công cụ này đảm bảo an toàn thông tin tối đa bằng cách phân loại và chặn các truy cập không hợp lệ, bảo vệ hệ thống khỏi các mối đe dọa từ bên ngoài Việc sử dụng firewall là yếu tố không thể thiếu để duy trì an ninh mạng hiệu quả cho doanh nghiệp và tổ chức.

Tính năng chính của dòng thiết bị này có thể được tóm tắt ở những gạch đầu dòng dưới đây:

- Cho phép hoặc vô hiệu hóa các dịch vụ truy cập ra bên ngoài, đảm bảo thông tin chỉ có trong mạng nội bộ.

- Kiểm soát truy cập của người dùng.

- Quản lý và kiểm soát luồng dữ liệu trên mạng.

- Xác thực quyền truy cập.

- Hỗ trợ kiểm soát nội dung thông tin và gói tin lưu chuyển trên hệ thống mạng.

- Lọc các gói tin dựa vào địa chỉ nguồn, địa chỉ đích và số Port (hay còn cổng), giao thức mạng.

- Người quản trị có thể biết được kẻ nào đang cố gắng để truy cập vào hệ thống mạng.

- Firewall hoạt động như một Proxy trung gian.

- Bảo vệ tài nguyên của hệ thống bởi các mối đe dọa bảo mật.

- Cân bằng tải: Bạn có thể sử dụng nhiều đường truyền internet cùng một lúc,việc chia tải sẽ giúp đường truyền internet ổn định hơn rất nhiều.

2.4 Giới thiệu về tường lửa Pfsense

Tường lửa (firewall) là hệ thống hoặc thiết bị bảo mật do cá nhân, tổ chức hoặc doanh nghiệp thiết lập để ngăn chặn truy cập trái phép từ mạng Internet vào các thông tin nhạy cảm trong mạng nội bộ Tường lửa đóng vai trò kiểm soát các kết nối giữa mạng công cộng và mạng nội bộ, giúp đảm bảo an toàn và bảo mật dữ liệu trong hệ thống mạng doanh nghiệp Việc thiết lập tường lửa là yếu tố then chốt trong chiến lược bảo mật mạng, giúp ngăn chặn các mối đe dọa và truy cập không mong muốn từ bên ngoài.

Hình 2.3: Giới thiệu về tường lửa Pfsense

2.4.1 Các tính năng nổi bật

PfSense là tường lửa mềm mạnh mẽ, dễ dàng triển khai trên bất kỳ máy tính hoặc máy chủ nào, giúp doanh nghiệp thiết lập hệ thống phòng thủ mạng hiệu quả Trong phân khúc tường lửa cho doanh nghiệp vừa và nhỏ dưới nghìn người dùng, pfSense được đánh giá là giải pháp nguồn mở tốt nhất, đáp ứng tới hàng triệu kết nối đồng thời Tường lửa pfSense không chỉ có khả năng mở rộng tính năng mà còn tích hợp nhiều chức năng trong một nền tảng duy nhất, vượt xa các tường lửa cứng của các thương hiệu nổi tiếng về thiết bị mạng.

Hình 2.4: Các tính năng nổi bật của Pfsense

 Chặn truy cập theo khu vực địa lý

 Quản lý chất lượng QoS

 Quản trị mạng không dây

 Giám sát/Phân tích mạng

 Quản lý tên miền (DC), hỗ trợ tên miền động (DynDNS)

 Cho phép chạy song hành, failover

 Hỗ trợ ngôn ngữ tiếng Việt (*)

 Tự động cập nhật black list.

 Tự động nâng cấp phiên bản

TRIỂN KHAI GIẢI PHÁP VÀ THỬ NGHIỆM

Sơ đồ triển khai

Hình 3.1: Sơ đồ triển khai Pfsense

Các bước triển khai và thử nghiệm DNS server sử dụng Pihole

https://github.com/pi-hole/pi-hole

Bước 1: Cấp quyền Root cho Terminal

Bước 2: Update thư viện apt-get apt-get update && apt-get upgrade

Bước 3: cài đặt pi-hole sử dụng lệnh curl curl -sSL https://install.pi-hole.net | sudo bash

3.2.2 Link video hướng dẫn cài đặt:

PI-Hole DNS Server Setup

3.2.3 Thay đổi port cho pi hole

Sau khi quá trình cài đặt thành công cần thay đổi port do mặc định port 80 đã được sử dụng.Cách thay đổi port cho pi hole như sau:

Bắt đầu bằng cách tạo bản sao lưu cấu hình lighttpd pi-hole

# sudo cp /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.backup

Tiếp theo, thay thế cổng mặc định 80 bằng một cổng chọn (ví dụ bên dưới sử dụng cổng 8093).

# sudo sed -ie “s / = 80 / = 8093 / g” /etc/lighttpd/lighttpd.conf

Cuối cùng khởi động lại daemon lighttpd. khởi động lại

Kết nối với quản trị viên web của pi-lỗ trong trình duyệt bằng cổng mới cập nhật.

//pi-hole.your.domain:8093/admin

Kiểm tra pi hole đã active hay chưa và có lỗi gì không trên cmd:

Hình 3.2 : Kiểm tra dịch vụ pihole

Sau khi thay đổi cổng xong tiến hành truy cập vào http://IP:8093/admin và nhập mật khẩu để vào trang quản trị:

Hình 3.3 : Truy cập trang giao diện quản trị của Pihole

3.2.4 Các tính năng cần triển khai trên Pi hole

1 Tạo record Ở danh mục chọn Local DNS -> DNS Records:

Sau đó tạo 3 record dành cho domain safe-dns.safegate.vn và tính năng safe search:

Hình 3.5 : Tạo record trên DNS server

Redirect từ trang vqtnetwork.com sang trang TI:

Hình 3.6 : Tạo record redirect trên DNS server

2 Chặn các domain độc hại

Chặn từng domain thủ công chọn danh mục Blacklist => add domain:

Hình 3.7 : Chặn các domain độc hại

Chặn theo danh sách dữ liệu về domain độc hại trên github hoặc gitlab Muốn chặn theo link trên github chỉ cần add link vào sau đó enabled:

Hình 3.8 : Chặn các domain độc hại theo list

Sau khi add thành công=> Update Ở danh mục chọn Tools-> Update Gravity -> Nhấn Update

Hình 3.9 : Update các danh sách domain độc hại để block Đợi quá trình Update và không điều hướng hay đóng trang để tránh bị lỗi

Hình 3.10 : Kiểm tra sau khi Update

Sau khi quá trình Update thành công thì sang trang Dashboard kiểm tra số lượng domain đã cập nhật để chặn:

Hình 3.11 : Số lượng domain đã block sau khi update

Sau khi cập nhật danh sách các domain cần chặn trên Pi-hole, bạn có thể kiểm tra xem các domain đã được chặn thành công trên thiết bị client bằng cách sử dụng lệnh ping đến một trong các domain có trong dữ liệu Việc này giúp xác nhận rằng Pi-hole đã hoạt động chính xác và chặn các truy cập không mong muốn từ các domain đã được cấu hình Kiểm tra thường xuyên sau mỗi lần cập nhật danh sách chặn để đảm bảo hiệu quả của hệ thống quảng cáo và bảo mật mạng.

B1: Đầu tiên thay đổi DNS tĩnh trên thiết bị sang 203.171.21.39

B2: Sau đó thử ping tới 1 domain trong dữ liệu bị chặn:

Hình 3.13 : Kiểm tra ping tới domain đã bị chặn trên máy client sau khi trỏ tới dns server

3 Quản lý client theo IP

B1: Tạo group Ở đây ta sẽ tự chia ra các nhóm người dùng ví dụ nhóm người dùng trả phí và nhóm người dùng không trả phí:

B2: Trên giao diện pi hole chọn danh mục Group Management=> Clients

=> Search IP cần add => Add IP public của client:

Sau khi Add client vào danh sách ta có thể thiết lập group cho người dùng này(mặc định sẽ là Default- cái này ta có thể để mặc định là Free luôn) và có thể đổi Group Default => thành group free hoặc trả phí:

Hình 3.16 : Thiết lập giới hạn block domain theo group

Trong phần quản lý danh sách các đường link chặn domain độc hại (Adlists), người dùng có thể thiết lập nhóm để giới hạn các danh sách domain bị chặn, giúp tối ưu hóa hiệu quả và kiểm soát dễ dàng hơn Tính năng này phù hợp cho những người dùng không trả phí, cho phép họ dễ dàng quản lý và kiểm soát các danh sách chặn một cách linh hoạt Việc thiết lập nhóm trong Adlists giúp nâng cao khả năng tùy biến và bảo vệ an toàn cho mạng của bạn một cách hiệu quả.

Hình 3.17 : Kiểm tra sau khi thiết lập

Các bước triển khai và thử nghiệm xây dựng hệ thống với tường lửa Pfsense

Thiết lập card mạng cho máy ảo VMWare:

Hình 3.18: Thiết lập các card mạng cho máy ảo

Sau đó thiết lập card mạng trên máy thật với địa chỉ IP tương ứng và enable:

Hình 3.20: Cấu hình ip cho card mạng ảo DMZ

Hình 3.21: Cấu hình ip cho card mạng ảo LAN

3.3.1 Cài đặt Pfsense trên VMware:

Hình 3.22: Cài đặt máy ảo Pfsense

Sau đó thiết lập các thông tin như Memory, processors, Hard Disk cho máy ảo Pfsense:

Hình 3.23: Thiết lập các thông số cấu hình cho máy ảo

Giao diện dòng lệnh sau khi cài đặt Pfsense thành công:

Hình 3.24: Giao diện dòng lệnh của Pfsense sau khi cài thành công

Tiếp tục để truy cập giao diện web quản trị Pfsense , trên máy thật ta truy cập địa chỉ IP của pfsense theo link: http://192.168.100.1:

Giao diện quản trị sau khi login thành công:

Hình 3.26: Giao diện quản trị

Ta có thể chỉnh sửa phần Dashboard theo những thông tin mong muốn được hiển thị:

3.3.2 Thiết lập tường lửa PFsense

Theo yêu cầu ta thay đổi mật khẩu quản trị Pfsense để đảm bảo tính bảo mật:

Hình 3.28: Thay đổi mật khẩu quản trị

Sau đó thiết lập một số phần nâng cao như set hostname, domain name,timezone:

Sau đó vào phần Interfaces tạo thêm 1 interface có tên là DMZ:

Hình 3.30: Tạo thêm interfaces DMZ trên Pfsense

Enable và thiết lập tên + cấu hình static Ipv4:

Hình 3.31: Cấu hình ip tĩnh cho DMZ interfaces

Hình 3.32: Sau khi thiết lập xong nhấn Save

Sau khi tạo thành công sẽ hiển thị thêm interface DMZ:

Hình 3.33: Kiểm tra các Interfaces sau khi thiết lập

Sau đó ta tiếp tục thiết lập Rule cho DMZ để từ LAN có thể truy cập và giao tiếp được đến vùng DMZ:

Hình 3.34: Tạo rules trên tường lửa

Cấu hình tạo rule cho phép từ các thiết bị tại LAN giao tiếp với vùng DMZ:

Hình 3.35: Thiết lập rule cho phép LAN giao tiếp được DMZ

Sau khi tạo xong sẽ xuất hiện như sau:

Hình 3.36: Kiểm tra sau khi tạo rules

3.3.3 Kiểm tra tính liên thông trong mạng

Sau khi hoàn tất cài đặt tường lửa Pfsense, việc kiểm tra tính liên thông trong mạng giúp đảm bảo hệ thống hoạt động ổn định Bạn có thể thực hiện thao tác kiểm tra bằng cách từ máy Windows 7 trong LAN ping tới máy chủ DNS đặt tại vùng DMZ Địa chỉ IP của máy Windows 7 trong LAN cần được xác định rõ để thực hiện lệnh ping chính xác, từ đó xác nhận khả năng kết nối giữa các phân vùng mạng.

Hình 3.37: Kiểm tra IP của máy client Windows7 Địa chỉ máy DNS server tại DMZ:

Hình 3.38: Kiểm tra IP của máy DNS server

Giờ ta ping thử từ máy windows7 (IP: 192.168.100.128) tới DNS server(IP: 192.168.101.128):

Hình 3.39: Kiểm tra ping từ máy windows7 đến DNS server

3.3.4 Thiết lập VPN trên tường lửa PFsense

Chọn cài đặt gói openvpn:

Hình 3.40: Tìm mục Package Manager

Tìm kiếm package openvpn-client-export =>Install:

Hình 3.41: Cài đặt package openvpn

Cài đặt thành công sẽ hiển thị thông báo:

Hình 3.42: Thông báo cài đặt thành công

Tiếp theo tạo chứng chỉ bằng cách vào mục Cert Manager:

Hình 3.43: Tạo chứng chỉ Cert

Hình 3.45: Thêm Certificates Điền các thông tin cần thiết như Comman Name, Descriptive name và chọn type Server Certificate:

Hình 3.46: Điền các thông tin cần thiết

Sau khi tạo thành công:

Hình 3.47: Kiểm tra sau khi tạo Cert thành công

Tiếp tục vào mục OpenVPN:

Hình 3.48: Add thêm OpenVPN Server tại mục OpenVPN

Chọn Add và sau đó điền các thông tin cần thiết:

Hình 3.49: Điền các thông tin cần thiết khi tạo OPenvpn server

Cấu hình IP ảo và ip local cần remote(ví dụ người quản trị muốn remote vào các thiết bị ở vùng dmz thì chỉ cần điền dải ip của vùng dmz đó vào IPv4 local network):

Hình 3.50: Điền các thông tin về dải IP

Sau khi tạo thành công:

Hình 3.51: Kiểm tra sau khi tạo thành công

Hình 3.52: Thông tin hiển thị OpenVPN server

Hình 3.53: Hiển thị thông tin quản lý user Điền các thông tin về user đó:

Hình 3.54: Tạo user sử dụng vpn

Sau đó click vào phần Certificate:

Sau khi thiết lập xong nhấn Save.

Kiểm tra user đã tạo tại OpenVPN Client:

Hình 3.55: Kiểm tra user được tạo tại OpenVPN CLient

Bây giờ ví dụ từ máy windows7 bên ngoài outside cài openvpn:

Sau đó nhập user và pass đã được tạo để sử dụng VPN:

Hình 3.57: VPN vào mạng nội bộ thành công

Thấy hiện thị thông báo Completed là thành công!

Sau khi vpn thành công ping thử thiết bị DNS server tại vùng DMZ thấy có Reply:

Hình 3.58: Kiểm tra việc ping tới máy chủ DNS Server

Việc thiết lập OpenVPN trên PFsense thành công giúp người quản trị có thể truy cập và điều khiển hệ thống từ xa một cách dễ dàng Nhờ đó, quản trị viên không cần phải remote trực tiếp tại văn phòng mà có thể quản lý máy chủ từ bất cứ đâu qua internet Điều này mang lại sự linh hoạt, thuận tiện trong công tác vận hành và bảo trì hệ thống mạng doanh nghiệp.

Nhận xét và đánh giá kết quả đạt được

Trong quá trình tìm hiểu và demo firewall tôi đã thu được kết quả sau:

Biết cách xây dựng các mô hình ứng dụng Pfsense firewall trong thực tế của các công ty và biết cách cấu hình để trở thành một firewall.

Nắm bắt và hiểu được quá trình hoạt động và các tính năng của pfsense.Triển khai được một số ứng dụng và dịch vụ của pfsense, …

TRIỂN KHAI PRIVILEGED ACCESS MANAGEMENT TRÊN GUACAMOLE

Tổng quan về PAM

Privileged access là quyền được truy cập vào những thông tin hay hệ thống quan trọng đối với một tổ chức.

Ví dụ: real-world banking example:

 Mọi ngân hàng đều có khách hàng, nhân viên giao dịch, và quản lý Các khách hàng chỉ có thể làm việc với số tiền trong tài khoản của họ Nhân viên giao dịch có nhiều "privileges" hơn, vì họ có thể làm việc với những số tiền mà có ở trong ngăn bàn làm việc của họ Nhà quản lý còn có nhiều

Những người dùng có quyền đặc quyền (privileged users) như nhân viên giao dịch và nhà quản lý có thể truy cập và thao tác với số tiền trong két sắt của ngân hàng, đảm bảo quản lý và bảo vệ tài sản một cách an toàn Việc phân biệt rõ ràng các cấp độ truy cập này giúp nâng cao an ninh thông tin và kiểm soát rủi ro trong hệ thống ngân hàng.

Vấn đề: Managing privileged users

Trong các cuộc tấn công mạng, việc các tài khoản bị xâm phạm (compromised) có thể gây ra hậu quả nghiêm trọng Kẻ tấn công có thể truy cập và thao tác trên các thông tin quan trọng, gây phá hoại hoặc thu lợi bất chính từ dữ liệu đó Bảo vệ các tài khoản quan trọng là yếu tố then chốt để ngăn chặn các hình thức tấn công mạng độc hại và đảm bảo an toàn dữ liệu.

Giải pháp: Privileged Access Management (PAM)

PAM (Privileged Access Management) là phương pháp quản lý các tài khoản cấp cao nhằm đảm bảo an toàn và kiểm soát truy cập Tất cả hành vi từ các tài khoản này đều được giám sát chặt chẽ bởi đội ngũ bảo mật (security team) Phương pháp này giúp phát hiện sớm các hoạt động bất thường, giảm thiểu rủi ro về an ninh mạng Áp dụng PAM là bước quan trọng trong chiến lược bảo vệ dữ liệu và hệ thống của tổ chức.

PAM bảo vệ, quản lý tất cả các loại tài khoản và password liên quan của mỗi một tài khoản đó, kể cả password của super users, shared accounts, v.v

PAM giúp nhà quản lý theo dõi ai đang truy cập vào hệ thống và dữ liệu

Quản lý phiên là công cụ quan trọng giúp nhà quản lý kiểm soát lượt truy cập vào hệ thống theo thời gian thực, đảm bảo an toàn và bảo mật Trong trường hợp phát hiện hành vi nghiêm cấm hoặc bất thường, nhà quản lý có thể ngay lập tức kết thúc phiên làm việc để ngăn chặn các rủi ro tiềm ẩn Việc giám sát phiên liên tục giúp duy trì kiểm soát chặt chẽ và nâng cao hiệu quả quản lý hệ thống.

4.2.2 Cách thực hiện PAM: Just-in-Time Privileged Access Management (JIT PAM)

Mặc dù là admin, nhưng quyền hạn của các tài khoản này chỉ có hiệu lực khi cần thực hiện các nhiệm vụ quan trọng, và sẽ tự động hết hiệu lực sau khi hoàn thành công việc Để kích hoạt các quyền này, các admin cần thực hiện quy trình “request elevation” Quá trình request elevation giúp đảm bảo an toàn và kiểm soát quyền truy cập, đồng thời tăng cường bảo mật hệ thống Các admin có thể thực hiện request elevation thông qua các bước đơn giản, phù hợp với các quy định và quy trình quản lý hệ thống.

 Thực hiện two factor authentication.

 Thực hiện approval on Elevation.

Với JIT PAM, người quản trị có thể giới hạn thời gian quyền truy cập của tài khoản admin, từ đó giúp đơn giản hóa công tác giám sát và kiểm soát Công nghệ này giảm thiểu khả năng và khoảng thời gian các attacker có thể lợi dụng khi đã chiếm đoạt được tài khoản admin, tăng cường an ninh cho hệ thống.

Các bước triển khai và thử nghiệm

Sơ đồ triển khai dựng PAM Server:

Sơ đồ triển khai PAM

Docker đã được cài sẵn trên ubuntu 22.04 do đó chỉ cần cài đặt Portainer để quản trị trên giao diện web:

Hình 4.1: Cài đặt Docker và Portainer

Sau khi cài đặt xong truy cập vào trang web quản trị theo địa chỉ https://192.168.200.133:9443 để tạo tài khoản( admin) và mật khẩu( 12345678ttxx):

Hình 4.2: Cài đặt Docker và Portainer

Sau khi hoàn tất việc đăng kí, thực hiện đăng nhập sẽ hiển thị trang web quản trị:

Hình 4.3: Trang web quản trị Portainer

4.2.2 Cài đặt Guacamole Đầu tiên, ta sẽ vào trang https://hub.docker.com/r/jwetzell/guacamole, cuộn đến phần Windows-based Docker Hosts, và copy phần docker compose.

Hình 4.4: Tra cứu tài liệu Guacamole trên Docker

First, navigate to the home directory and create a new folder named "docker," then move into that directory Next, create a subdirectory called "guacamole" and navigate into it Use nano to create a file named "docker-compose.yml," where you should paste the provided configuration content Finally, make necessary adjustments to the file to ensure proper setup.

 Ta có thể chỉnh cả ports nếu muốn Lưu ý, ta chỉ có thể chỉnh ở bên trái (phần host machine), không thể chỉnh ở phần bên phải (phần container)

Hình 4.5: Chỉnh sửa cấu hình Guacamole

After making the necessary adjustments, press Ctrl + O and then Enter to save the file Next, copy the content of the file and navigate back to Portainer In Portainer, click on "Stacks" and select "Add stacks" to proceed.

Hình 4.6: Tạo Stack Đặt tên cho stack là Guacamole, và paste nội dung ta vừa copy ở file docker-compose.yml vào mục Web editor Cuối cùng, cuộn xuống đến mục Actions và click Deploy the stack.

Khi tạo thành công, portainer sẽ báo ở góc bên phải trên cùng là “Stack successfully deployed” Và khi click vào container ở thanh menu bên phải, ta sẽ thấy có 2 containers: một là portainer mà ta đã tạo từ lâu, hai là guacamole mà ta vừa mới tạo:

Note: muốn xem log của container, ta có thể nhấn vào biểu tượng tờ giấy ở dưới mục Quick Actions.

Hình 4.8: Xem log của coutainer

Trước tiên, ta cần vào Enviroment ở thanh menu bên trái để setup địa chỉ IP, sau đó click vào local.

Hình 4.9: Setup địa chỉ IP cho Guacamole Ở mục Public IP, nhập địa chỉ IP của máy vào, và nhấn Update environment

Hình 4.10: Thiết lập cấu hình Guacamole Để vào được web ui của guacamole, quay về mục Containers, và ở dưới mục published ports, nhấn vào ports của guacamole

Hình 4.11: Check port Web UI

UI của Guacamole sẽ được mở trong một tab mới

Hình 4.12: Giao diện web Guacamole

Khi lần đầu truy cập Guacamole, người dùng sẽ sử dụng tài khoản mặc định với username và password là guacadmin để đăng nhập Sau đó, bạn cần tạo một tài khoản mới và xóa tài khoản mặc định này để bảo mật hệ thống Việc thay đổi thông tin đăng nhập ban đầu giúp đảm bảo an toàn và phòng tránh các rủi ro về bảo mật.

Tạo một tài khoản guacamole mới Đầu tiên, hãy đăng nhập vào tài khoản mặc định guacadmin.

Hình 4.13: Đăng nhập tài khoản mặc định Guacadmin

Sau đó, ở góc trên cùng bên phải, nhấn vào guacadmin > settings.

Hình 4.14: Settings trên giao diện

Sau đó, hãy vào tab Users và chọn New user.

Hình 4.15: Tạo User mới Điền thông tin như hướng dẫn Bắt buộc phải điền mục username, password, và mục permissions, những mục còn lại có thể để trống.

Hình 4.16: Điền thông tin User

Note: checkbox hết tất cả các mục ở Permissions, vì ta đang tạo một tài khoản admin mới mà secure hơn.

Hình 4.17: Thiết lập quyền hạn cho User

Khi đã điền hết các mục cần thiết, nhấn Save, và ở tab Users bây giờ sẽ có 2 tài khoản.

Hình 4.18: Tạo tài khoản thành công

Khi đã tạo xong, logout khỏi tài khoản guacadmin, và login vào tài khoản mới tạo (nguyentrungkien trong trường hợp này)

Sau khi đã login vào tài khoản mới, vào Settings > users, và click vào tài khoản guacadmin

Hình 4.19: Xóa tài khoản mặc định

Để xóa tài khoản Guacamole, bạn cần cuộn xuống dưới cùng và chọn nút Delete Sau khi xóa thành công, trang cài đặt của Guacamole sẽ tự động hiển thị lại và tài khoản guacadmin sẽ không còn xuất hiện nữa, đảm bảo quá trình quản lý tài khoản diễn ra dễ dàng và an toàn.

Hình 4.20: Xóa tài khoản mặc định thành công

4.2.2.2 Xác thực 2 bước( Two-factor Authentication) Để xác thực 2 yếu tố ở trên docker, đầu tiên vào Stacks > guacamole

Hình 4.21: Thiết lập xác thực 2 bước

Sau đó, click vào tab Editor để vào chỉnh docker-compose file, ở dưới phần Services: guacamole:, bổ sung thêm phần dưới đây: environment:

Hình 4.22: Chỉnh docker-compose file

Sau đó cuộn xuống dưới, ở dưới mục Action, click Update the stack

Để đăng nhập vào Guacamole, bạn cần quay về trang và tải lại trang Sau khi nhập username và mật khẩu, một trang mới với mã QR sẽ xuất hiện Sử dụng ứng dụng Authenticator của Google trên điện thoại để quét mã QR và lấy mã xác thực Sau khi quét thành công, nhập mã vào và nhấn “Continue” để truy cập vào màn hình chính của Guacamole.

Hình 4.24: Quét mã xác thực Google Authenticator

Sau này, khi login lại vào guacamole, ta không cần phải scan lại qr code nữa Ta chỉ việc vào ứng dụng Authenticator để lấy mã xác thực

NOTE: Mã xác thực sẽ hết hạn sau vài giây, sau đó một mã xác thực mới lại được tạo ra

4.2.3 Create an SSH connection (Ubuntu) on Guacamole

Để kiểm tra kết nối mạng giữa máy chủ và thiết bị muốn kết nối, điều quan trọng là xác nhận rằng hai máy đã được kết nối mạng thành công Bạn cần thực hiện các bước kiểm tra mạng trên một trong hai thiết bị để đảm bảo rằng liên lạc mạng hoạt động ổn định và chính xác Điều này giúp đảm bảo quá trình kết nối diễn ra suôn sẻ và hạn chế các sự cố về mạng.

 ping đến máy thứ DNS Server

 SSH đến máy thứ DNS Server

Sau đó thực hiện tương tự đối với máy còn lại.

Nếu bạn có thể hoàn thành cả ba bước này, đảm bảo mạng đã được thông giữa hai máy tính, từ đó mở ra khả năng remote tới máy chủ mục tiêu một cách dễ dàng và hiệu quả Việc thông mạng không những giúp quá trình kết nối trở nên ổn định hơn mà còn nâng cao trải nghiệm quản lý từ xa, phù hợp với các yêu cầu về kỹ thuật và an ninh mạng.

Create an SSH connection Đầu tiên, nếu chưa có SSH cài trên DNS Server, ta có thể chạy các lệnh sau để cài:

Tải package về: sudo apt-get install openssh-server

Start ssh: sudo systemctl start ssh

Kiểm tra status của SSH: sudo systemctl status ssh

CREATE AN SSH CONNECTION ON GUACAMOLE

Vào Settings, xong vào tab Connections, chọn Create new connections.

Sau đó, điền tên connection và protocol (SSH)

Hình 4.25: Tạo Connection đến DNS Server

Sau đó, điền thông tin của máy Ubuntu mà ta muốn kết nối đến.

Hình 4.26: Điền thông tin Remote_DNS Server

Sau khi điền xong các thông tin trên, cuộn xuống cuối trang và nhấn Save

ADD SSH-DSS AND SSH-RSA KEYS TO THE sshd_config FILE

Trong thời điểm viết report này, Guacamole chỉ support các ssh keys là ssh-dss and ssh-rsa, và cả hai key đều đã bị disabled ở Ubuntu.

When remote into an Ubuntu machine, you may encounter connection issues, such as the error "guacd[450]: ERROR SSH handshake failed" observed in the Guacamole container logs on Portainer This common problem indicates an SSH handshake failure, preventing successful remote access to the Ubuntu system Troubleshooting this error is essential to restore seamless connectivity and ensure smooth remote sessions.

Hình 4.27: Lỗi Remote thường gặp

Khi chạy lệnh sudo systemctl status ssh ở trên máy Ubuntu mà ta muốn kết nối vào

To enable fire safety, add an RSA key to the sshd_config file To do this, append the necessary key or configuration line at the end of the /etc/ssh/sshd_config file on the Ubuntu machine you wish to access remotely This step enhances security by configuring SSH with the appropriate RSA key for secure remote connections.

Hình 4.29: Sửa lỗi OpenSSH trên ubuntn

Nói là chữa cháy vì cách này có hạn chế riêng Nếu size của rsa key là 1024-bit, thì key đó được coi là không an toàn Tuy nhiên, nếu size của rsa key là 3072 or 4096-bit, thì rsa key đó được coi là an toàn.

Sau đó có thể cho chạy lại ssh server trên Ubuntu, và kết nối đến Ubuntu từGuacamole.

Vào Home và chọn connection mà ta vừa tạo để remote into.

Và sau đó có thể remote thành công DNS Server:

Hình 4.30: Remote thành công đến DNS Server

4.2.4 Create an RDP (Windows) connection on Guacamole

4.2.4.1 Cấu hình NAT port 3389 của máy Windows7 Để kiểm tra, chúng ta làm theo các bước sau:

 Cấu hình NAT port 3389 của địa chỉ ip Win7 sang địa chỉ DMZ Address:

Hình 4.31: Cấu hình NAT port 3389 trên Firewall Pfsense

 Ở trên máy hosting Guacamole, telnet đến Windows 7 với lệnh:

Telnet địa-chỉ-ip-win7 3389

Hình 4.32: Kiểm tra cổng 3389 từ Guacamole

Nếu thực hiện được tất cá các bước trên, hai máy đã thông mạng với nhau và ta có thể tiến hành remote into máy Windows 7.

Enable Remote Desktop Connection on Windows 7 Đầu tiên, ta cần phải enable tính năng remote desktop connection ở trên Windows 7.

Vào Control Panel > System and Security > System > Advanced system settings Ở mục Remote Desktop, chọn Allow connections from computers running any version of Remote Desktop.

Hình 4.33: Cấu hình allow remote trên Windows7

Sau đó, vẫn ở tab remote này, click vào Advanced (ở trong mục Remote Assistance)

Hình 4.34: Thiết lập nâng cao

Chọn Allow this computer to be controlled remotely, và tùy chọn khoảng thời gian tối đa để các máy khác có thể remote into vào Windows 7.

Hình 4.35: Thiết lập khoảng thời gian tối đa có thể remote

Sau khi đã tùy chỉnh xong, nhấn OK.

Create an RDP connection on Guacamole. Ở Guacamole, chọn Settings > Connections > New Connection Điền tên và protocol của connection.

Sau đó, điền thông tin của máy Windows 7

The security mode is optional, but the "Ignore server certificate" option should only be checked after unsuccessfully attempting an RDP connection due to errors like “RDP server closed/refused connection: SSL/TLS connection failed (untrusted/self-signed certificate?).” This setting helps bypass issues related to untrusted certificates when reconnecting to the server.

(Chi tiết ở mục RDP config param tables: ignore-cert: https://guacamole.apache.org/doc/0.9.3/gug/configuring-guacamole.html)

Hình 4.37: Điền thông tin Remote

Sau đó là điền các thông tin ở mục Display Phần này hoàn toàn optional. Ở mục Resize method có thể chọn “Display Update” virtual channel (RDP8.1+) để khi ta resize lại browser, màn hình cũng tự resize theo.

Sau đó là mục Performance Check box hết tất cả các lựa chọn ở mục này.

Hình 4.39: Thiết lập Performance Đến đây là đã xong những thông tin cần thiết Kéo xuống dưới trang và nhấn Save

Và đây là kết quả đạt được:

Hình 4.40: Remote tới Windows 7 thành công

Tường lửa pfsense được đề cập tới trong đồ án hết sức cơ bản nhưng cũng khá đầy đủ, toàn diện và mang tính tổng quan Đồ án đã tìm hiểu những vấn đề cơ bản và đi sâu hơn ở nhiều khía cạnh và góc nhìn khác nhau để mọi người có thể hiểu hơn về pfsense Sau khi hoàn thành nội dung đồ án này, em đã học hỏi rất nhiều và thêm cơ hội để mở mang kiến thức của mình và tìm hiểu sâu hơn về pfsense.

Ngày đăng: 30/03/2023, 15:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w