Uncomplicated Firewall (UFW) là một tường lửa lọc gói tin mạnh mẽ dành cho hệ thống Linux, đặc biệt là các bản phân phối dựa trên Debian như Ubuntu. UFW giúp kiểm soát luồng dữ liệu dựa trên giao diện mạng, cổng và dịch vụ, từ đó bảo vệ máy chủ khỏi các mối đe dọa an ninh nội bộ và bên ngoài. Để tăng cường bảo mật hệ thống, bạn có thể thiết lập các chính sách firewall, bổ sung thêm một lớp bảo vệ cho các dịch vụ quan trọng. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cấu hình UFW trên máy chủ DataOnline Cloud Firewalls, giúp bạn hiểu rõ các chính sách firewall, thiết lập quy tắc UFW để kiểm soát lưu lượng mạng và điều chỉnh hướng truy cập nhằm bảo vệ hệ thống trước các rủi ro bảo mật.
Để bảo mật VPS, thiết lập firewall bằng UFW là bước quan trọng. Nếu bạn đang tìm kiếm giải pháp tiết kiệm, hãy khám phá các gói VPS giá rẻ tại DataOnline, đảm bảo hiệu suất cao, chi phí hợp lý, phù hợp cho mọi nhu cầu quản trị hệ thống.
Yêu cầu
Trước khi bắt đầu:
- Triển khai một máy chủ Ubuntu trên DataOnline để sử dụng làm máy trạm quản lý.
- Truy cập máy chủ thông qua SSH với một người dùng không phải root có quyền sudo.
- Cập nhật máy chủ.
Cài đặt UFW
- Kiểm tra trạng thái của ứng dụng UFW và xác nhận rằng nó không hoạt động trên máy chủ.
Theo mặc định, ứng dụng có sẵn trên hầu hết các bản phân phối máy chủ nhưng ở trạng thái không kích hoạt.$ sudo ufw status
Nếu bạn nhận được thông báo
Status: inactive
, UFW chưa được kích hoạt trên máy chủ. Hãy cài đặt nó bằng trình quản lý gói APT mặc định. - Cài đặt gói ứng dụng UFW trên máy chủ.
$ sudo apt install ufw
- Kích hoạt UFW để tự khởi động cùng hệ thống.
$ sudo systemctl enable ufw
- Thêm cổng SSH mặc định 22 vào bảng quy tắc của UFW để giữ cho phiên kết nối từ xa luôn hoạt động.
$ sudo ufw allow 22/tcp
- Khởi động UFW.
$ sudo ufw enablec
- Xem trạng thái dịch vụ hệ thống của UFW và xác nhận rằng nó đang chạy hoạt động.
$ sudo systemctl status ufw
Output
● ufw.service - Uncomplicated firewall Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled) Active: active (exited) since Mon 2024-01-08 15:58:32 UTC; 2 months 20 days ago Docs: man:ufw(8) Main PID: 237 (code=exited, status=0/SUCCESS) CPU: 4ms Jan 08 15:58:32 ubuntu systemd[1]: Starting Uncomplicated firewall... Jan 08 15:58:32 ubuntu systemd[1]: Finished Uncomplicated firewall.
Cấu hình chính sách Firewall sử dụng UFW
UFW lọc lưu lượng mạng của máy chủ bằng cách phát hiện cả hướng vào và hướng ra. Theo mặc định, tất cả các kết nối đi ra đều được cho phép qua bảng firewall, nhưng các kết nối vào bị chặn tùy thuộc vào chính sách đã được cấu hình. Hãy làm theo các bước dưới đây để cấu hình chính sách firewall của UFW nhằm lọc các kết nối mạng vào và ra trên máy chủ.
- Cho phép tất cả các kết nối đi ra từ máy chủ.
$ sudo ufw default allow outgoing
- Chặn tất cả các kết nối vào máy chủ.
$ sudo ufw default deny incoming
Lệnh trên sẽ chặn tất cả các kết nối vào máy chủ trừ khi được chỉ định trong bảng UFW. Lưu ý rằng chặn tất cả các yêu cầu kết nối vào mà không có quy tắc kích hoạt có thể ngăn không cho truy cập vào máy chủ qua các cổng như cổng SSH 22.
- Chặn tất cả các yêu cầu chuyển tiếp mạng trên máy chủ.
$ sudo ufw default deny forward
Lệnh trên sẽ chặn tất cả các yêu cầu chuyển tiếp mạng trên máy chủ. Ví dụ, nếu máy chủ hoạt động như một NAT gateway, tất cả các kết nối chuyển tiếp sẽ bị chặn khi quy tắc trên được kích hoạt.
Thiết lập quy tắc Firewall sử dụng UFW
UFW lọc lưu lượng mạng của máy chủ dựa trên các quy tắc có sẵn trong bảng firewall. Trong khi các chính sách firewall tác động trực tiếp lên lưu lượng đi ra, vào và chuyển tiếp, thì các quy tắc firewall lại áp dụng trên các cổng mạng cụ thể của máy chủ. Hãy làm theo các phần dưới đây để cho phép, chặn hoặc chỉ định hướng của các yêu cầu kết nối trên máy chủ.
Cho Phép Các Cổng Mạng Cụ Thể
- Cho phép kết nối vào một cổng quan trọng như cổng HTTP 80.
$ sudo ufw allow 80
- Xem bảng UFW và xác nhận rằng quy tắc firewall mới đã được thêm thành công.
$ sudo ufw status
Output
Status: inactive To Action From -- ------ ---- 22/tcp ALLOW Anywhere
- Cho phép một cổng khác, ví dụ như cổng SSH
22
và xác định giao thức TCP cho kết nối.$ sudo ufw 22/tcp
Quy tắc trên cho phép tất cả các yêu cầu kết nối tới cổng TCP
22
và chặn các kết nối theo giao thức khác như UDP. - Cho phép cổng UDP DNS
53
.$ sudo ufw 53/udp
Quy tắc trên cho phép kết nối tới cổng UDP 53 và chặn các giao thức không khớp như TCP.
- Xem bảng firewall.
$ sudo ufw status
- Tải lại các quy tắc UFW để áp dụng các thay đổi mới.
$ sudo ufw reload
Chặn yêu cầu kết nối tới các cổng cụ thể của máy chủ
- Chặn yêu cầu kết nối tới một cổng dịch vụ nội bộ đặc biệt như cổng MySQL
3306
.$ sudo deny 3306
- Xem bảng UFW.
$ sudo ufw status
- Tải lại các quy tắc UFW để áp dụng các thay đổi.
$ sudo ufw reload
Cho phép kết nối mạng tới các dịch vụ hệ thống
UFW lọc các yêu cầu kết nối mạng dựa trên các dịch vụ hệ thống có sẵn và tên dịch vụ ứng dụng mục tiêu. Các dịch vụ cụ thể có thể chạy trên nhiều cổng khác nhau mà firewall có thể chặn. Hãy làm theo các bước dưới đây để cho phép các kết nối mạng tới các dịch vụ hệ thống có sẵn trên máy chủ.
- Cho phép kết nối mạng tới một dịch vụ hệ thống như máy chủ web Nginx.
$ sudo ufw allow nginx-full
Quy tắc trên cho phép các kết nối mạng tới tất cả các cổng liên quan đến dịch vụ hệ thống Nginx.
- Cho phép một dịch vụ khác như FTP thông qua firewall, bất kể daemon dịch vụ hệ thống.
$ sudo ufw allow ftp
- Xem bảng UFW để xác nhận các thay đổi firewall mới.
$ sudo ufw status
- Tải lại các quy tắc UFW để áp dụng các thay đổi cấu hình mới.
$ sudo ufw reload
Thiết lập các quy tắc UFW có hướng
Các quy tắc firewall định nghĩa nguồn và đích của lưu lượng mạng trên máy chủ. Hãy làm theo các bước dưới đây để thiết lập các quy tắc UFW có hướng, hoạt động trên các giao diện mạng cụ thể.
- Cho phép các yêu cầu kết nối đến cổng SSH
22
từ địa chỉ IP công khai của bạn.$ sudo ufw allow from 192.0.2.100 to any port 22
Quy tắc trên cho phép các yêu cầu kết nối SSH đến máy chủ nhưng chỉ từ địa chỉ IP công khai của bạn. UFW sẽ chặn tất cả các kết nối từ các địa chỉ IP khác tới cùng cổng SSH.
- Cho phép các yêu cầu kết nối từ một giao diện mạng cụ thể như
enp8s0
tới cổng HTTP 80.$ sudo ufw allow in on enp8s0 proto tcp to any port 80
Quy tắc trên cho phép tất cả các yêu cầu kết nối tới cổng HTTP
80
từ giao diện mạngenp8s0
. UFW sẽ chặn tất cả các yêu cầu không khớp với giao diện nguồn này. - Cho phép các kết nối đi ra qua giao diện công khai
enp1s0
trên cổng 443.$ sudo ufw allow out on enp1s0 proto tcp to any port 443
- Chặn yêu cầu kết nối đến cổng SSH từ tất cả các host trên địa chỉ IP công khai
192.0.2.100
trong khi vẫn chấp nhận kết nối từ các địa chỉ khác như địa chỉ mạng nội bộ.$ sudo ufw deny from 192.0.2.500 to any port 22
- Xem bảng UFW.
$ sudo ufw status
- Tải lại các quy tắc UFW để áp dụng các thay đổi.
$ sudo ufw reload
Xóa các quy tắc Firewall UFW
Tùy thuộc vào môi trường máy chủ của bạn, bạn có thể loại bỏ các quy tắc firewall của UFW khỏi bảng lọc và sử dụng các chính sách mặc định của UFW tương ứng với loại kết nối. Hãy làm theo các bước dưới đây để loại bỏ nhiều quy tắc firewall đã được thiết lập bởi UFW.
- Xem bảng UFW và xác nhận số thứ tự của quy tắc cần loại bỏ.
$ sudo ufw status
Output
Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 21/tcp ALLOW Anywhere 80/tcp on enp8s0 ALLOW Anywhere 22 (v6) ALLOW Anywhere (v6) 21/tcp (v6) ALLOW Anywhere (v6) 80/tcp (v6) on enp8s0 ALLOW Anywhere (v6)
Dựa trên kết quả trên, hãy loại bỏ quy tắc hướng HTTP cổng
80
có số thứ tự3
và quy tắc dịch vụ FTP có số thứ tự2
khỏi bảng firewall. - Xóa một quy tắc firewall theo số thứ tự từ bảng UFW. Ví dụ: xóa quy tắc số 3 để loại bỏ quy tắc cổng HTTP 80.
$ sudo ufw delete 3
Khi được nhắc, nhập
y
để xác nhận xóa quy tắc khỏi bảng UFW.
Deleting: allow 80/tcpDeleting: allow 80/tcp Proceed with operation (y|n)? y
- Loại bỏ một quy tắc firewall khác từ bảng, ví dụ: quy tắc số 5 để loại bỏ dịch vụ FTP.
$ sudo ufw delete 5
- Xem bảng UFW để xác nhận các thay đổi mới.
$ sudo ufw status
Output
Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 22 (v6) ALLOW Anywhere (v6) 21/tcp (v6) ALLOW Anywhere (v6) 80/tcp (v6) on enp8s0 ALLOW Anywhere (v6)
Dựa trên kết quả trên, UFW sẽ xóa tất cả các quy tắc firewall trùng khớp với số thứ tự mục tiêu. Những mục tương tự không bị ảnh hưởng bởi thao tác xóa (ví dụ: các quy tắc kết nối IPV6) vì chúng không khớp với số thứ tự quy tắc mục tiêu.
Áp dụng ghi chú cho các quy tắc Firewall UFW
Các quy tắc firewall có thể được đặt số thứ tự hoặc dựa trên văn bản tùy thuộc vào loại kết nối mục tiêu. Hãy làm theo các bước dưới đây để áp dụng ghi chú cho các mục trong bảng firewall nhằm xác định tác dụng cụ thể của quy tắc.
- Áp dụng ghi chú cho quy tắc SSH tùy chỉnh cho phép địa chỉ IP công khai của bạn. Ví dụ:
My secure public IP SSH Connection
.$ sudo ufw allow from 192.0.2.100 to any port 22 comment "My secure public IP SSH Connection"
- Áp dụng ghi chú cho một cổng đặc biệt như cổng
3306
dành cho MySQL. Ví dụ:MySQL database server port for external access
.$ sudo ufw allow 3306/tcp comment "MySQL database server port for external access"
- Tải lại bảng UFW để áp dụng các thay đổi cấu hình mới.
$ sudo ufw reload
- Xem bảng UFW và xác nhận rằng các ghi chú quy tắc firewall đã được thêm vào.
$ sudo ufw status
Output
Status: active To Action From -- ------ ---- 22 ALLOW 192.0.2.100 # My secure public IP SSH Connection 3306/tcp ALLOW Anywhere # MySQL database server port for external access 3306/tcp (v6) ALLOW Anywhere (v6) # MySQL database server port for external access
Kết luận
Bạn đã cấu hình thành công các chính sách và quy tắc firewall với UFW trên máy chủ cloud, giúp kiểm soát lưu lượng mạng một cách hiệu quả. Tùy thuộc vào yêu cầu bảo mật, UFW sẽ lọc các kết nối trực tiếp trên máy chủ, trong khi một hệ thống firewall nâng cao như DataOnline Cloud Firewalls có thể gia cố an ninh bằng cách chặn hoặc cho phép lưu lượng trước khi nó tiếp cận máy chủ. Nếu cần thiết lập các quy tắc firewall nâng cao, bạn có thể chỉnh sửa trực tiếp các tệp cấu hình trong thư mục /etc/ufw
, bao gồm các quy tắc trước và sau các sự kiện hệ thống. Để tìm hiểu thêm về UFW và các tùy chỉnh nâng cao, hãy tham khảo tài liệu chính thức bằng lệnh man ufw
.
Sau khi cấu hình UFW, việc chọn một VPS đáng tin cậy là yếu tố then chốt. Hãy cân nhắc thuê VPS tại DataOnline với cấu hình mạnh mẽ, hỗ trợ 24/7, giúp bạn triển khai hệ thống an toàn và hiệu quả mà không lo gián đoạn.