Hướng dẫn cấu hình căn bản cho máy ảo Oracle Cloud sau khi thiết lập

Tiếp tục với loạt bài viết về Oracle Cloud Free Tier, bài viết này mình sẽ hướng dẫn cách cấu hình căn bản máy ảo chạy Ubuntu sau khi vừa thiết lập xong. Việc này nhằm giúp bạn kết nối và sử dụng máy ảo dễ dàng hơn.

I. Cấu hình mạng cho máy ảo

Việc đầu tiên bạn cần làm sau khi thiết lập máy ảo trên Oracle Cloud là cấu hình mạng cho nó. Mặc định Oracle sẽ chặn hết tất cả kết nối đến máy ảo, ngoại trừ port 22 dành cho kết nối SSH. Chúng ta cần phải cấu hình lại để có thể sử dụng máy ảo cho các ứng dụng cài đặt sau này: Web server, DNS server,…

Từ trang quản lý máy ảo, bạn bấm vào mục Subnet: subnet-2021…
Bấm vào mục Default Security List for …
Bấm chọn Add Ingress Rules

Nhập vào nội dung:

  • Source Type: giữ nguyên CIDR
  • Souce CIDR: 0.0.0.0/0
  • IP Protocol: chọn TCP / UDP hay giao thức nào đó bạn cần. Nếu không chắc thì chọn All Protocol
  • Source Port Range: để trống
  • Destination Port Range: nhập vào port bạn cần mở, ví dụ: 80, 443, 51820
  • Description: chú thích, ghi gì cũng được.
Tạo Rule để mở cổng 80 . Bấm Add Ingress Rules

Vậy là xong. Máy ảo đã được mở kết nối cho cổng 80 – TCP.

Bạn thao tác tương tự khi cần mở kết nối cho các cổng khác.

II. Cho phép kết nối SSH bằng mật khẩu

Việc mình thường làm đầu tiên sau khi tạo máy ảo mới là là chỉnh sửa lại cấu hình Open-SSH Server để cho phép kết nối SSH bằng mật khẩu. Không cần phải dùng SSH key nữa.

Đăng nhập bằng mật khẩu sẽ không thể bảo mật bằng cách sử dụng SSH Key, nhưng sẽ tiện lợi hơn nhiều nếu bạn sử dụng nhiều máy tính để kết nối đến máy ảo. Đỡ mất thời gian copy Private Key qua lại giữa các máy. Chỉ cần chú ý tạo mật khẩu đủ dài và phức tạp là yên tâm khó mà bị hack.

Để cho phép kết nối SSH vào máy ảo bằng mật khẩu, cần phải chỉnh sửa lại thông số trong file sshd_config

sudo nano /etc/ssh/sshd_config

Tìm đến dòng PasswordAuthentication và đổi thành yes. Bạn có thể dùng phím tắt Ctrl+W để tìm cho nhanh.

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes

Lưu lại bằng lệnh Ctrl+O, chọn Yes và bấm Ctrl+X để thoát ra. Giờ khởi động lại dịch vụ ssh bằng lệnh

sudo service ssh restart

III. Tạo tài khoản sudo

Tiếp theo, mình sẽ tạo thêm 1 tài khoản sudo trên máy ảo dùng để đăng nhập và quản lý.

Tạo tài khoản mới với tên đăng nhập thuanbui. Bạn nhớ thay thế bằng bất kỳ tên đăng nhập nào khác tuỳ thích.

sudo adduser thuanbui

Hệ thống sẽ yêu cầu tạo mật khẩu và cung cấp thông tin cá nhân cho tài khoản mới. Nhớ tạo mật khẩu phức tạp (đừng dùng 123456 hay abcdef). Phần thông tin Full Name, Room Number,… bạn có thể để trống và Enter nhiều lần, sau đó chọn Y để xác nhận là xong

Adding user `thuanbui' ...
Adding new group `thuanbui' (1002) ...
Adding new user `thuanbui' (1002) with group `thuanbui' ...
Creating home directory `/home/thuanbui' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for thuanbui
Enter the new value, or press ENTER for the default
        Full Name []: Thuan Bui
        Room Number []:
        Work Phone []:
        Home Phone []:

Thêm tài khoản mới này vào group sudo. Group sudo là group có quyền quản trị trên Linux.

sudo usermod -aG sudo thuanbui

Để kiểm tra lại quyền sudo của tài khoản mới, đầu tiên cần chuyển qua dùng tài khoản mới này

su - thuanbui

Tiếp theo, gõ thử lệnh sau

sudo ls -la /root

Nhập mật khẩu của tài khoản mà bạn đã tạo lúc nãy

[sudo] password for thuanbui:

Kết quả nhận được như sau có nghĩa là tài khoản mới đã có quyền sudo, có thể cài đặt, cấu hình máy ảo thoải mái.

thuanbui@instance-20210822-1516:~$ sudo ls -la /root
total 28
drwx------  5 root root 4096 Aug 22 09:59 .
drwxr-xr-x 19 root root 4096 Aug 22 08:23 ..
-rw-r--r--  1 root root 3106 Dec  5  2019 .bashrc
drwxr-xr-x  3 root root 4096 Aug 22 09:59 .local
-rw-r--r--  1 root root  161 Dec  5  2019 .profile
drwx------  2 root root 4096 Aug 22 08:23 .ssh
drwxr-xr-x  4 root root 4096 Aug 22 08:23 snap

Giờ bạn có thể tắt Putty và đăng nhập lại vào máy ảo bằng tài khoản và mật khẩu vừa mới thiết lập.

IV. Cấu hình tường lửa

Ngoài việc cấu hình mạng subnet trên trang quản trị của Oracle Cloud. Bạn còn phải cấu hình thêm cấu hình mạng trên Ubuntu thì mới kết nối được đến các dịch vụ trên máy ảo.

Mặc đinh, hệ điều hành Ubuntu trên Oracle sẽ chặn hết tất cả các port. Bạn cần phải cấu hình tường lửa bằng iptables để truy cập đến máy ảo thông qua Internet.

Ví dụ nếu muốn truy cập webserver (port 80 TCP) đến máy ảo, bạn cần gõ lệnh sau

sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo netfilter-persistent save

Thay thế port 80 và giao thức tcp bằng port hay giao thức nào khác bạn cần sử dụng.

Cách đơn giản hơn là cài đặt UFW để quản lý tường lửa.

Vậy là xong. Bạn đã có 1 máy ảo miễn phí để tha hồ nghiên cứu, làm quen với Linux / Web Server /…

Bạn cũng có thể cài đặt AdGuard Home lên máy ảo này để dùng làm DNS Server chặn quảng cáo cho mạng ở nhà.

Hoặc thiết lập VPN Server trên máy ảo bằng WireHole-UI để truy cập mạng bảo mật hơn.

Leave a Reply