Lưu trữ thẻ: #firewall

Hướng dẫn cài đặt cấu hình UFW trên Ubuntu

I. Hướng dẫn cài đăt:

Thông thường ufw sẽ được cài đặt mặc định trên hệ điều hành Ubuntu. Thực hiện lệnh sau để kiểm tra:

# ufw version

Trong một số trường hợp, nếu chưa có ufw, Quý khách có thể thực hiện theo các thao tác dưới đây.

  1. Bước 1: Truy cập đến server và cập nhật hệ thống và kiểm tra cài đặt
    # sudo apt update
    # sudo apt upgrade
  2. Bước 2: Cài đặt ufw
    • Chạy lệnh cài đăt ufw
      # sudo apt-get install ufw
      

  3. Bước 3: Kiểm tra hoạt động
    • Nếu kết quả kiểm tra ok thì quá trình cài đặt ufw đã hoàn thành.

II. Hướng dẫn kích hoạt UFW trên server:

  • Kích hoạt UFW sau khi cài đặt
    # sudo ufw enable
  • Kiểm tra khi kích hoạt UFW
    # sudo ufw status
  • Khôi phục firewall UFW về cấu hình mặc định
    # sudo ufw reset

III. Hướng dẫn cấu hình UFW:

  1. Cấu hình rule mặc định:
    • Sử dụng lệnh sudo ufw status verbose để kiểm tra cấu hình firewall mặc định. Bao gồm:
      • Chặn toàn bộ kết nối đến : deny (incoming)
      • Cho phép truy cập ra bên ngoài : allow (outgoing)
      • Chặn cấu hình routed: disable (routed)
    • Để điều chỉnh cấu hình cấu hình mặc định, thực hiện lệnh sau:
      # sudo ufw default [policy] [chain]

      Ví dụ: để cho phép truy cập từ bên ngoài

      # sudo ufw default allow incoming
  2. Cho phép các port cần truy cập vào server
    • Mặc định firewall ufw sẽ chặn toàn bộ kết nối đến server.
    • Để thực hiện mở một port (cổng) bất kỳ bạn có thể thực hiện cú pháp lệnh như sau:
      # sudo ufw allow [port]/[protocol]

      Ví dụ : mở các port 80, 443, 3306 và 8080

  3. Chặn truy cập đến một port.
    • Các port không được allow sẽ tự động chặn kết nối từ bên ngoài.
    • Ngoài ra, để chặn một port cụ thể có thể sử dụng cú pháp với tùy chọn deny như sau:
      # sudo ufw deny [port]/[protocol]

      Ví dụ : mình sẽ đóng port 80, 443

  4. Ngoài ra ufw cho phép thực hiện lệnh allow và deny với loại service cụ thể. Ví dụ: sử dụng mysql thay vì mởi port 3306, sử dụng http hay https thay vì các port 80, 443, cụ thể:

    # sudo ufw deny mysql
    # sudo ufw allow http
    # sudo ufw allow https

  5. Cho phép môt IP hoặc một range IP truy cập đến server.
    • Cho phép một truy cập
      # sudo ufw allow from $Your_IP

      Ví dụ:  cho phép, mở IP 172.20.1.125 trên ufw như sau.

      # sudo ufw allow from 172.20.1.125

    • Chặn truy cập từ một IP
      sudo ufw deny from $Your_IP

      Ví dụ:  chặn truy cập từ IP 172.20.1.126 như sau.

      sudo ufw deny from 172.20.1.126

  6. Cho phép IP kèm port nhất định vào server

    • Lệnh cho phép một IP hoặc một range IP truy cập đến một Port cụ thể trên server:
    • Cú pháp:
      sudo ufw allow from [ip/range-ip] to any port [port-number]
    • Ví dụ: câu lệnh cho phép IP 192.168.72.1 truy cập đến port 22 và 3306
      sudo ufw allow from 192.168.72.1 to any port 22
      sudo ufw allow from 192.168.72.1 to any port 3306

  7. Xóa bỏ rule firewall cấu hình trước đó.
    • Kiểm tra các rule hiện có với số định danh. Lệnh:
      sudo ufw status numbered

    • Xác định chính xác rule muốn xóa với số định danh tương ứng
    • Thực hiện lệnh xóa rule với lệnh:
      sudo ufw delele [number]

      Ví dụ: thực hiện xóa rule cho phép truy cập đến port SSH (22) với lệnh

      sudo ufw delete 7

  8. Bật hoặc tắt ipv6 trên firewal UFW

    • Trong trường hợp server sử dụng IPv6, cần đảm bảo rằng IPv6 được bật trong UFW. 
    • Mở file cấu hình UFW ở /etc/default/ufw và tiến hành điều chỉnh.

      Nếu dòng IPV6=no bạn hãy chuyển sang YES để kích hoạt và ngược lại nếu muốn tắt thì chọn no.

    • Sau cùng sử dụng lệnh sau để reload lại cấu hình
      # sudo ufw reload

Như vậy, Long Vân đã hoàn thành hướng dẫn Quý khách cách cài đặt và cấu hình firewall UFW, chúc Quý khách thành công !

Hướng dẫn cấu hình OpenVPN trên firewall pfSense

System-Cert. Manager

I. Tổng quan:

OpenVPN là một hệ thống mạng riêng ảo (VPN) thực hiện các kỹ thuật tạo ra các kết nối point-to-point
hoặc site-to-site an toàn. Cho phép các bên xác thực với nhau bằng cách sử dụng khóa chia sẻ (pre-shared key), chứng chỉ (certificates) hoặc tên người dùng/mật khẩu. Khi sử dụng trong cấu hình multi client-server, nó cho phép máy chủ phát hành một chứng chỉ xác thực cho mỗi client. Nó sử dụng thư viện mã hóa OpenSSL cũng như giao thức TLS một cách rộng rãi đồng thời có nhiều tính năng kiểm soát và bảo mật.

Trong bài viết này, Long Vân sẽ hướng dẫn các bạn cấu hình OpenVPN trên firewall Pfsense.

Một số lưu ý:

  • Đầu tiên cần đảm bảo firewall pfSense đã được cài đặt và hoạt động với các interface bao gồm WAN và LAN.
  • Một số thiết lập không được đề cập đến trong hướng dẫn, các bạn có thể để mặc định.
  • Hướng dẫn này sẽ sử dụng cả hai phương thức xác thực bao gồm mật khẩu và chứng chỉ.

III. Cấu hình trên pfsense server.

  1. Bước 1: Tạo một Certificate Authority – CA
    • Vào menu System > Cert. Manager
      System-Cert. Manager
    • Nhấn phím Add để tạo mới một CA.
      CAs
    • Nhập tên nhận diện cho chứng chỉ CA.
    • Đặt phương thức (Method) là Create an internal Certificate Authority
    • Chọn Key Type. (RSA, ECDSA ..)
    • Đặt độ dài của khóa Key length (2048, 4096, …)
    • Chọn thuật toán mã hóa Digest Algorithm (sha256, sha512, …)
    • Đặt tên chung Common Name (internal-ca, own-ca, …)
    • Save để lưu, như vậy CA đã được tạo hoàn tất.
  2. Bước 2: Tạo chứng chỉ cho server – Server Certificate

    • Vào menu System > Cert. Manager.
    • Truy cập tab Certificates ở sub-menu
    • Chọn Add/Sign ở bên tay phải dưới cùng
    • Điều chỉnh phương thức (Method) là  Create an internal Certificate Authority.
    • Nhâp Descriptive name.
    • Đặt Key length và Digest Algorithm giống với CA đã tạo
    • Chỉnh thời hạn Lifetime365 ngày hoặc tùy chỉnh không quá 398 ngày.
    • Đặt Common Name.
    • Thiết đặt Certificate TypeServer Certificate
    • Save để lưu, như vậy Server Certificate đã được tạo hoàn tất.
  3. Bước 3: Tạo user OpenVPN
    • Vào menu System > User Manager
    • Chọn nút Add và nhập Username Password cho người dùng của bạn
    • Nhấn Save để lưu, như vậy người dùng OpenVPN đã được tạo hoàn tất sau đó sẽ được chuyển về giao diện ban đầu.
    • Thiết lập phương thức xác thực theo chứng chỉ hoặc mật khẩu, có thể chọn cả hai (icon edit chì để chỉnh sửa)
    • Chọn Add -> User Certificate và nhập bổ sung
    • Đặt phương thức (Method -> Create an internal Certificate)
    • Chọn Key length, Type và Digest Algorithm giống với CA đã tạo trước đó.
    • Đặt thời gian hết hạn Lifetime 365 ngày.
    • Kiểm tra Certificate Type được chọn là chứng chỉ người vừa tạo (User Certificate)
    • Save để lưu và hoàn tất liên kết với chứng chỉ người dùng với OpenVPN user (User Certificate – OpenVPN user)
    • Ấn Save vậy đã hoàn tất thiết lập tạo tài khoản người dùng cho OpenVPN.
  4. Bước 4: Tạo máy chủ VPN – OpenVPN Server
    • Chọn thẻ VPNOpenVPN.
    • Chọn Add
      • Thông tin chung
        1. Server mode – chọn Remote Access (SSL/TLS + User Auth)
        2. Local port , chọn port kết nối, trong bài hướng dẫn này là 1194
        3. Nhập nội dung mô tả – Description
      • Cài đặt mật mã – Cryptographic Settings
        1. Chọn sử dụng TLS Key và tự động bật Automatically generate a TLS Key
        2. Trong Peer Certificate Authority chọn CA đã tạo trước đó.
        3. Chọn Server Certificate đã tạo.
        4. Chọn 4096 cho DH Parameter Length
        5. Thiết lập Auth digest algorithm RSA-SHA512 (512-bit)

      • Cài đặt đường hầm VPN – Tunnel Setting
        1. Tạo subnet trong IPv4 Tunnel Network 10.0.2.0/8
        2. Để trống IPv6 Tunnel Network
        3. Bật cổng chuyển hướng Redirect IPv4 Gateway
      • Cấu hình nâng cao – Advenced Configuration
        1. Bật UDP Fast I/O
        2. Chọn IPv4 Only trong Gateway creation. chọn Both nếu sử dụng IPv4, IPv6
    • Nhấn Save để lưu lai để cập nhật cấu hình
  5. Bước 5: Xác minh cấu hình máy chủ
    • Chọn menu Status > System Logs
    • Chọn tab OpenVPN
    • Kiểm tra log sẽ hiển thị Initialization Sequence Completed nếu đã hoàn thành.
  6. Bước 6: Cấu hình cho phép truy cập trong VPN
    • Chọn menu Firewall > Rules
    • Chọn OpenVPN
    • Chọn Add đầu tiên để thêm.
    • Address Family chọn chỉ IPv4
    • Protocol chọn Any
    • Source chọn Network với range IP đã thiết lập ở bước 4
    • Nhập mô tả, nhấn SaveAppy Changes để lưu lại cấu hình.
  7. Bước 7: Cấu hình cho phép truy cập vào VPN
    • Chọn menu Firewall > Rules
    • Chọn tab WAN
    • Nhấn chọn Add để thêm rule mới
    • Thiết lập Address FamilyIPv4
    • Chọn Source any
    • Chọn Protocol là UDP
    • Với Destination Port Range nhập port OpenVPN đã thiết lập trước đó là 1194
    • Nhập mô tả, nhấn Save Apply Changes để lưu lại cấu hình
  8.  Bước 8: Cài đặt tiện ích OpenVPN Client Export Utility, là tiện ích hỗ trợ export ra VPN Client

    • Chọn System > Package Manager
    • chọn Available Packages trong sub-menu
    • Tìm tiện ích mở rộng openvpn-client-export và chọn install để cài đặt
    • Nhấn chọn confirm xác nhận cài đặt.
    • Khi cài đặt hoàn thành sẽ hiển thị Success trong giao diện Package Installer
  9. Bước 9: Export gói cài đặt VPN Client
    • Chọn VPN > OpenVPN
    • Chọn Client Export ở sub-menu
    • Chọn đúng máy chủ OpenVPN cạnh Remote Access Server
    • Nếu sử dụng Dynamic DNS để truy cập mạng WAN pfSense, chọn Other và chọn Host Name Resolution (Thiết lập này cho phép truy cập mạng WAN pfSense bằng tên thay vì bằng IP, sẽ không mất quyền truy cập máy chủ OpenVPN nếu ISP thay đổi IP hay mạng WAN
    • Nếu không sử dụng hãy chọn Host Name Resulation thành Interface IP Address

    • Kéo xuống dưới đến vị trí user muốn download file cài đặt VPN Client, và chọn tải về file cài đặt phù hợp.
  10. Bước 10: Kiểm tra sử dụng kết nối OpenVPN
    • Chạy cài đặt file VPN Client đã download về.
    • Sau khi kết nối thành công tới OpenVPN

    • Thông tin network – khi kết nối đến OpenVPN

Như vậy Long Vân đã hoàn tất hướng dẫn Quý khách cấu hình OpenVPN trên firewall pfSense, Chúc Qúy khách thành công!

Sử dụng CSF để lọc IP quốc tế (CSF Allow/Deny theo Country)

  1. Bước 1: Cài đặt tường lửa và kiểm tra hoạt động
    • Việc đầu tiên, bạn cần cài đặt CSF vào server (bạn có thể làm theo hướng dẫn Hướng cài đặt và cấu hình CSF – Long Vân (longvan.net))
    • Sau khi cài đặt xong CSF bạn stop và disable firewalld để tránh xung đột với CSF, sau đó bạn kiểm tra status CSF đã active chưa:

  2. Bước 2: Kiểm tra kết nối từ quốc tế.
    Trong bài hướng dẫn này, Long vân sẽ sử dụng sử dụng ứng dụng https://check-host.net/  để kiểm tra ping từ nhiều nguồn.
  3. Bước 3: Cấu hình CSF để chặn kết nối quốc tế:
    • Mở file cấu hình CSF với lệnh
      vi /etc/csf/csf.conf
    • Sử dụng lệnh :set nu để hiển thị thứ tự dòng.
    • Ở dòng 993 CC_DENY, bạn cấu hình chặn theo mã quốc gia (bạn tham khảo https://countrycode.org/ lấy mã code 2 chữ số nhé). Để làm như vậy nhập country code vào danh sách được phân tách bởi dấu phẩy. Ở đây mình DENY các khu vực China, Australia, Jappan, Ukraine, Russia.
    • Tìm dòng 1149 LF_SELECT = “0” đặt giá trị thành “1” để bật chức năng lọc địa chỉ IP
    • Dòng 830 LF_GLOBAL = “0” đặt giá trị thành “1” để áp dụng các quy tắc lọc địa chỉ IP cho tất cả địa chỉ IP
    • Ngoài ra, bạn chỉnh giá trị ở dòng LF_IPSET để sử dụng ipsec nếu có hỗ trợ.
    •  Ở dòng 11 bạn chỉnh TESTING = “0”, save và khởi động lại CSF bằng 2 command sau
      chkconfig --level 235 csf on
      
      service csf restart
  4. Bước 4: Kiểm tra lại kết nối
    • Như ở bước 1, bạn kiểm tra ping các khu vực bạn đã conf trước đó
    • Đây là kết quả sau khi DENY của mình

Như vậy, Long Vân đã hoàn thành hướng dẫn Quý khách cách cài đặt và cấu hình firewall CSF, chúc Quý khách thành công !