NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
09/06/2023
Lượt xem

Hướng dẫn thiết lập tường lửa bằng UFW trên Ubuntu 20.04

09/06/2023
15 phút đọc
Lượt xem

Đánh giá

5/5 - (115 bình chọn)

UFW (Uncomplicated Firewall) là một giao diện quản lý tường lửa đơn giản, phù hợp với những người mới, giúp nhanh chóng triển khai các quy tắc bảo vệ mạng an toàn nhất. Bài viết này sẽ hướng dẫn cách thiết lập tường lửa bằng UFW trên Ubuntu 20.04.

Yêu cầu để thiết lập tường lửa bằng UFW trên Ubuntu 20.04

Trước tiên, để bắt đầu hướng dẫn này thì bạn cần có một user non-root với quyền sudo. UFW là một công cụ được cài đặt sẵn trên Ubuntu. Nếu chưa có sẵn UFW trên máy thì bạn có thể cài đặt bằng lệnh sudo apt install ufw.

Dưới đây là 9 bước chi tiết để cài đặt và cấu hình UFW trên Ubuntu 20.04.

Bước 1 – Sử dụng IPv6 với UFW (Không bắt buộc)

Hướng dẫn dưới đây áp dụng chủ yếu cho mạng IPv4, tuy nhiên nếu đang sử dụng mạng IPv6 thì bạn cần đảm bảo cấu hình UFW để hỗ trợ các quy tắc tường lửa cho IPv6.

Trước tiên, mở file cấu hình UFW:

sudo nano /etc/default/ufw

Đảm bảo rằng giá trị IPV6 được đặt thành yes:

IPV6=yes

Sau đó lưu rồi đóng file lại. Bây giờ bạn có thể thiết lập quy tắc cho cả IPv4 lẫn IPv6. Tuy nhiên, trước hết cần phải đảm bảo tường lửa cho phép kết nối thông qua SSH.

Bước 2 – Thiết lập các chính sách mặc định

Nếu đây là lần đầu tiên sử dụng tường lửa thì bạn cần ưu tiên định nghĩa các chính sách mặc định trước. Các quy tắc này kiểm soát cách xử lý lưu lượng truy cập không khớp với bất kỳ quy tắc nào khác. Theo mặc định thì UFW sẽ từ chối mọi kết nối đến và cho phép tất cả kết nối đi. Do đó sẽ không ai có thể kết nối được đến server, nhưng mọi ứng dụng trong server đều có thể kết nối ra thế giới bên ngoài.

Trước tiên hãy đặt các quy tắc của UFW về mặc định để làm theo được các bước trong hướng dẫn này:

sudo ufw default deny incoming sudo ufw default allow outgoing

Các thiết lập mặc định của tường lửa vẫn phù hợp với các máy tính cá nhân, tuy nhiên với server sẽ cần phải cấu hình thêm để có thể phản hồi lại request từ những người dùng bên ngoài.

Bước 3 – Cho phép kết nối SSH

Bây giờ bạn cần tạo các quy tắc cho phép những kết nối hợp lệ đến server, chẳng hạn như SSH hoặc HTTP. Đặc biệt nếu bạn đang sử dụng một server cloud thì tốt nhất nên cho phép phản hồi các kết nối SSH đến server để có thể quản lý server hiệu quả hơn.

Sử dụng lệnh dưới đây để cho phép kết nối SSH đến server:

sudo ufw allow ssh

Lệnh này sẽ tạo các quy tắc cho phép mọi kết nối trên cổng 22 – cổng mà daemon SSH nghe theo mặc định. UFW có thể nhận biết được cổng allow ssh vì đã được định nghĩa sẵn trong file /etc/services.

Ngoài ra bạn cũng có thể chỉ định cụ thể cổng thay vì tên dịch vụ. Lệnh sau đây cũng có kết quả tương tự như lệnh ở trên:

sudo ufw allow 22

Nếu đã cấu hình daemon SSH sử dụng một cổng khác thì bạn cần chỉ định cổng phù hợp. Ví dụ, nếu server SSH đang nghe trên cổng 2222 thì bạn có thể dùng lệnh sau để cho phép kết nối đến cổng này:

sudo ufw allow 2222

Bước 4 – Bật UFW

Sau khi cho phép nhận kết nối SSH đến server, bạn có thể bật UFW bằng lệnh sau:

sudo ufw enable

Sau đó bạn sẽ được thông báo rằng lệnh này có thể làm gián đoạn các kết nối SSH đang có sẵn. Nhập y rồi nhấn ENTER để tiếp tục.

Như vậy là bạn đã kích hoạt tường lửa thành công. Bây giờ hãy thử chạy lệnh sudo ufw status verbose để xem các quy tắc được thiết lập. Ở phần sau của bài viết, Vietnix sẽ đi vào chi tiết cách sử dụng UFW và xử lý các kết nối.

UFW là một giải pháp tuyệt vời để đảm bảo tính riêng tư, bảo mật và ổn định của hệ thống của bạn. Tuy nhiên, để đạt được hiệu suất tối đa và sự ổn định của máy chủ, tốc độ cũng là một yếu tố quan trọng cần được chú trọng. VPS tốc độ cao của Vietnix là giải pháp tối ưu để đáp ứng những yêu cầu này. Hiện tại, Vietnix cung cấp nhiều gói đa dạng cấu hình và mức giá để đáp ứng nhu cầu của khách hàng như: VPS NVMe, VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp và VPS GPU.

Bên cạnh đó, Vietnix cũng cung cấp dịch vụ tư vấn khách hàng nhanh chóng và chuyên nghiệp. Đội ngũ nhân viên hỗ trợ túc trợ 247 sẽ giúp bạn chọn gói VPS tốc độ cao phù hợp nhất với nhu cầu. Hãy liên hệ với Vietnix ngay hôm nay nếu cần thêm thông tin chi tiết về các gói dịch vụ.

Bước 5 – Cho phép các kết nối khác đến server

Bây giờ bạn có thể bắt đầu cấu hình server cho phép các kết nối nó cần phải phản hồi. Những kết nối này sẽ tùy thuộc vào nhu cầu của từng server. Trong đó có thể bao gồm:

  • HTTP ở cổng 80, chủ yếu được dùng bởi các web server không được mã hóa. Chạy lệnh sudo ufw allow http hoặc sudo ufw allow 80 để cho phép kết nối.
  • HTTPS ở cổng 443, được sử dụng bởi các web server được mã hóa. Bạn có thể cho phép kết nối bằng lệnh sudo ufw allow https hoặc sudo ufw allow 443.

Bên cạnh việc chỉ định service hoặc port cụ thể, bạn cũng có thể làm theo các cách dưới đây để cho phép kết nối đến server.

Chỉ định phạm vi của port

Một số ứng dụng sử dụng nhiều cổng, do đó bạn có thể cần chỉ định phạm vi các cổng mà server chấp nhận kết nối.

Lấy ví dụ, để cho phép các kết nối X11 (cổng 60006007) thì bạn có thể chạy lệnh sau:

sudo ufw allow 6000:6007/tcp sudo ufw allow 6000:6007/udp

Lưu ý rằng khi chỉ định khoảng port trong UFW, bạn cần nêu rõ giao thức (tcp hay udp) cần áp dụng quy tắc. Nếu không nói rõ giao thức thì tường lửa sẽ mặc định cho phép cả hai.

Chỉ định địa chỉ IP

UFW cũng cho phép người dùng chỉ định địa chỉ IP để áp dụng quy tắc. Ví dụ nếu muốn cho phép các kết nối từ một địa chỉ IP cụ thể thì có thể dùng from như dưới đây:

sudo ufw allow from 203.0.113.4

Ngoài ra bạn cũng có thể chỉ định một cổng mà địa chỉ IP được phép kết nối đến. Ví dụ nếu muốn cho phép 203.0.113.4 kết nối qua cổng 22 (SSH) thì có thể dùng lệnh sau:

sudo ufw allow from 203.0.113.4 to any port 22

Subnet

Nếu muốn cho phép một subnet (mạng con) của địa chỉ IP thì bạn có thể dùng ký hiệu CIDR để chỉ định netmask (mặt nạ mạng). Ví dụ nếu muốn cho phép các địa chỉ IP trong khoảng 203.0.113.1 đến 203.0.113.254:

sudo ufw allow from 203.0.113.0/24

Tương tự, bạn cũng có thể cho phép một subnet kết nối qua cổng nhất định. Chẳng hạn như subnet 203.0.113.0/24 kết nối qua cổng 22:

sudo ufw allow from 203.0.113.0/24 to any port 22

Các kết nối đến một giao diện mạng

Nếu muốn tạo một quy tắc tường lửa chỉ cho phép các kết nối đến một giao diện mạng cụ thể thì bạn có thể sử dụng allow in on trong lệnh.

Trước tiên, hãy xem các giao diện mạng hiện có bằng lệnh dưới đây:

ip addr
Output Excerpt 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state . . . 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default . . .

Trong đó eth0eth1 chính là tên của các giao diện mạng. Bây giờ giả sử server có một giao diện mạng public eth0 thì bạn có thể cho phép lưu lượng truy cập HTTP (ở cổng 80) đến giao diện này bằng lệnh sau:

sudo ufw allow in on eth0 to any port 80

Hoặc nếu muốn server database MySQL (cổng 3306) nghe các kết nối trên giao diện mạng private eth1 thì có thể dùng lệnh:

sudo ufw allow in on eth1 to any port 3306

Bước 6 – Từ chối các kết nối

Theo chính sách mặc định thì UFW sẽ từ chối tất cả các kết nối đến. Nói chung, điều này giúp đơn giản hóa quá trình tạo chính sách tường lửa an toàn, bắt buộc người dùng phải chỉ định các cổng và địa chỉ IP cụ thể mà server cần phản hồi.

Tuy nhiên, đôi khi bạn sẽ muốn từ chối các kết nối cụ thể dựa trên địa chỉ IP nguồn hoặc subnet. Chẳng hạn như trong trường hợp nghi ngờ server đang bị tấn công bởi các lưu lượng đến từ subnet đó.

Để viết quy tắc từ chối các kết nối cụ thể, bạn có thể sử dụng các lệnh được mô tả ở các bước trên, trong đó thay allow trong lệnh thành deny.

Ví dụ để từ chối kết nối HTTP, bạn có thể sử dụng lệnh sau:

sudo ufw deny http

Hoặc từ chối mọi kết nối từ địa chỉ 203.0.113.4:

sudo ufw deny from 203.0.113.4

Bước 7 – Xóa quy tắc

Việc nắm được cách xóa các quy tắc tường lửa cũng quan trọng không kém so với việc tạo ra những quy tắc này. Nhìn chung thì có hai cách khác nhau để xóa quy tắc: Theo số thứ tự hoặc theo ý nghĩa của quy tắc.

Xóa theo số thứ tự của quy tắc

Trước tiên, hãy xem danh sách các tường lửa hiện có trên hệ thống bằng lệnh sau:

sudo ufw status numbered
Numbered Output: Status: active       To                         Action      From      --                         ------      ---- [ 1] 22                         ALLOW IN    15.15.15.0/24 [ 2] 80                         ALLOW IN    Anywhere

Nếu muốn xóa quy tắc số 2 (cho phép các kết nối đến cổng 80 – HTTP) thì có thể sử dụng lệnh sau:

sudo ufw delete 2

Xóa theo quy tắc

Cách thứ hai là xóa theo ý nghĩa của quy tắc. Giả sử bạn cần xóa quy tắc cho phép kết nối HTTP, tức là allow http thì có thể dùng lệnh sau:

sudo ufw delete allow http

Hoặc:

sudo ufw delete allow 80

Lưu ý rằng cách này sẽ xóa quy tắc áp dụng cho kết nối IPv4 lẫn IPv6.

Bước 8 – Kiểm tra trạng thái UFW và các quy tắc

Bạn có thể kiểm tra trạng thái của UFW bằng lệnh sau:

sudo ufw status verbose

Nếu UFW chưa được bật thì output sẽ như dưới đây:

Output Status: inactive

Ngược lại nếu UFW đã được bật thì bạn sẽ xem được danh sách các quy tắc đã được thiết lập:

Output Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip  To                         Action      From --                         ------      ---- 22/tcp                     ALLOW IN    Anywhere

Bước 9 – Tắt hoặc reset UFW (Không bắt buộc)

Cuối cùng, nếu không muốn sử dụng UFW nữa thì bạn có thể tắt bằng lệnh:

sudo ufw disable

Mọi quy tắc được tạo sẽ không còn hiệu lực nữa. Nếu muốn kích hoạt lại thì bạn có thể chạy lệnh sudo ufw enable.

Hoặc nếu muốn khởi reset lại các quy tắc:

sudo ufw reset

Lệnh này sẽ tắt UFW và xóa mọi quy tắc đã được định nghĩa trước đó, tuy nhiên các chính sách mặc định sẽ không được khôi phục về thiết lập ban đầu.

Nếu bạn đang gặp vấn đề khi thực hiện các thao tác cấu hình tường lửa bằng UFW trên máy tính hoặc cảm thấy chúng quá phức tạp, đừng quá lo lắng. Bạn có thể sử dụng dịch vụ VPS của Vietnix để được hỗ trợ cài đặt nhanh chóng và dễ dàng hơn. Với hơn 11 năm kinh nghiệm trong lĩnh vực này, Vietnix đã được tin tưởng và sử dụng bởi hơn 50.000 khách hàng cá nhân và doanh nghiệp, bao gồm cả các thương hiệu lớn như GTV, UB Group, iVIVU, Vietnamworks, SEOSONA, SAGO Media,…

Với hơn 100.000 dịch vụ được kích hoạt và tỷ lệ khách hàng giới thiệu dịch vụ lên tới 97%, Vietnix tự hào là một trong những nhà cung cấp giải pháp lưu trữ số hàng đầu tại Việt Nam. Đặc biệt, Vietnix đã được trao giải thưởng Thương hiệu Việt Nam xuất sắc năm 2022, đó là niềm tự hào và động lực lớn để chúng tôi tiếp tục nỗ lực và phục vụ khách hàng tốt hơn. Hãy để Vietnix đồng hành cùng bạn trên con đường kinh doanh trực tuyến trên internet.

Mọi vấn đề thắc mắc cần tư vấn, quý khách vui lòng liên hệ:

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Hotline: 1800 1093.
  • Email: sales@vietnix.com.vn.

Lời kết

Bài viết này đã hướng dẫn chi tiết cách cấu hình và thiết lập tường lửa bằng UFW trên Ubuntu 20.04. Bây giờ bạn có thể thêm các quy tắc để cho phép hay chặn các kết nối cụ thể trên server để đảm bảo an toàn cho hệ thống hiệu quả nhất. Đừng quên chia sẻ nếu cảm thấy những thông tin này hữu ích nhé.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG