Hướng dẫn cấu hình Firewall trên Oracle Cloud VPS
1. Các thành phần mạng trên hệ thống Oracle Cloud
Về cơ bản, các VPS (Instance) được tạo trong Compartment của Oracle Cloud của bạn sẽ nằm trong 1 vùng mạng (Virtual Cloud Network). Oracle đã tạo sẵn vùng mạng đó cho mỗi tài khoản, bạn cũng có thể tạo vùng mạng mới để tự cấu hình. Người dùng có thể quản lý các vcn (Virtual Cloud Network) bằng cách vào tab Networking -> Virtual Cloud Network


Trong mỗi vcn người dùng có thể thực hiện nhiều thao tác như: tạo subnet, chỉnh sửa Route table, cài đặt VLAN, NAT... Đặc biệt, cơ chế bảo mật của mỗi vcn được điều khiển bởi các Security Lists. Các rule trong Security List sẽ quản lý lưu lượng dữ liệu ra và vào vcn, tương ứng với các vps.

Như vậy, để cho phép hoặc chặn các thiết bị khác kết nối tới VPS qua 1 port hoặc service nào đó, người dùng thực hiện 2 thao tác:
- Mở rule của hệ thống firewall Oracle trong phần Security Lists
- Mở rule trên các phần mềm firewall được cài trên vps như ufw, firewalld...
2. Hướng dẫn cấu hình firewall
Cấu hình firewall Oracle
- Đầu tiên, người dùng truy cập vào vcn tương ứng với vps của mình theo hướng dẫn ở mục đầu tiên, sau đo chọn Security Lists, chọn Security List mặc định hoặc tạo mới
- Để mở rule cho phép kết nối đến (inbound) vps, chọn Add Ingress Rules. Trong cửa sổ mới hiện lên, một vài thông số người dùng cần cấu hình như:
- Source Type: CIDR (viết theo dải mạng) hoặc Service. Nên chọn CIDR
- Source CIDR: dải mạng nguồn, để cho phép mọi IP nhập 0.0.0.0/0 hoặc chỉ cho phép 1 IP, nhập ip_addr/32
- Source Port Range: port nguồn, để trống tương ứng với tất cả các port
- Destination Port Range: port đích, có thể nhập nhiều port ngăn các bằng dấu phẩy, hoặc nhập dải port
- IP Protocol: giao thức kết nối, bao gồm nhiều loại thông dụng như ICMP (dùng để ping), TCP, UDP...
- Description: Mô tả, đặt tên rule...

Sau khi hoàn thành, người dùng chọn Add Ingress Rules để lưu thay đổi.
Mặc định, Oracle chặn toàn bộ kết nối, chỉ mở port 22 để SSH và mở giao thức ICMP. Tuy nhiên để có thể ping thuận lợi đến các VPS, người dùng nên chỉnh sửa Type and Code của rule ICMP thành All.
Để chặn kết nối đến một port, người dùng đơn giản chỉ cần xóa rule đã mở port đó.
Cấu hình firewall trên VPS
- Với VPS chạy hệ điều hành Windows, người dùng có thể làm theo hướng dẫn tại https://kb.pavietnam.vn/cau-hinh-firewall-tren-windows-server-2016-2012-2008.html
- Với các VPS chạy hệ điều hành nhân Linux như Oracle Linux, CentOS, Ubuntu... một số ứng dụng firewall mặc định đã được cài trên hệ điều hành như ufw, firewalld. Tuy nhiên ufw hoạt động rất tệ trên các VPS của Oracle, do đó mình khuyến khích nên gỡ ufw và sử dụng firewalld
- Để gỡ ufw, cần sử dụng 2 lệnh:
sudo apt-get remove ufw (gỡ cài đặt ufw)
sudo apt-get purge ufw (xóa ufw khỏi bộ nhớ)
- Để cài đặt firewalld, người dùng sử dụng các lệnh:
sudo apt install firewalld (cài đặt firewalld)
sudo systemctl enable firewalld (cho phép firewalld tự khởi động khi boot máy)
- Một số câu lệnh thông dụng để cấu hình firewalld:
firewall-cmd --permanent --add-port=5555/tcp (cho phép các thiết bị kết nối tới port 5555)
firewall-cmd --permanent --remove-port=5555/tcp (xóa rule cho phép các thiết bị kết nối tới port 5555)
firewall-cmd --zone=public --add-service=http (mở các port cần thiết cho service http)
firewall-cmd --list-ports (hiển thị danh sách các port)
Đặc biệt sau khi thực hiện các thay đổi về rule, người dùng nhập lệnh: firewall-cmd --reload để lưu thay đổi
Như vậy sau khi mở rule trên đồng thời firewall Oracle và firewall của VPS, người dùng có đã có thể cho phép các thiết bị kết nối tới port chỉ định của VPS.