Header Ads

Kinh nghiệm về việc sử dụng máy chủ VPS

Kinh nghiệm sử dụng máy chủ VPS

Nguồn Miêu from Voz

Miêu chia sẻ thêm 1 ít kinh nghiệm về việc sử dụng máy chủ VPS. Việc đầu tiên khi các fence đăng kí xong dịch vụ VPS thì nên bật 2FA trên clientarea của nhà cung cấp.

Điều này giúp giảm khả năng VPS của các fence bị truy cập trái phép trong trường hợp mail + pass của các fence bị lộ.

Sau đó nên tạo 1 user có quyền sudo và không sử dụng cũng như tắt login bằng user root đi. Thông thường thì Miêu sẽ không sử dụng user root và chặn login với user root trên SSH. Nếu các fence không muốn làm điều này có thể bỏ qua.

Tiếp đó là tắt việc login ssh bằng mật khẩu và chỉ cho phép sài publickey để login.

Đổi thêm port ssh (Này tùy các fen thích thì đổi không thích chả sao. Cài fail2ban để ban hết bọn bruteforce đi là được).

Làm xong các bước trên thì việc VPS của các fence bị tấn công và login được là gần như = 0. Đừng để lộ privatekey và passphrase của privatekey là được. Yêu khoa học thì mỗi ngày vào đọc log tại /var/log.

Tạo 1 user khác và không sử dụng user root

Gõ lệnh sau vào terminal để tạo 1 user mới:

sudo useradd -m mieugia

Trên đoạn mã trên các fence có thể thay mieugia bằng tên tài khoản sử dụng của các fence.

Sau đó chúng ta thêm tài khoản mới tạo vào nhóm sudo hoặc admin:

sudo usermod -aG sudo mieugia

Mục đích của việc này là chúng ta cấp quyền cho tài khoản vừa tạo ở trên có quyền sudo. Sau này nếu vẫn muốn login với root từ user này thì cứ gõ lệnh sudo su là được.

Tạo SSH Key và sử dụng Public Key để truy cập vào VPS

Cài đặt nano để chỉnh sửa tập tin dễ hơn gõ lệnh sau:

sudo apt install nano -y

Lệnh trên sẽ giúp cài đặt nano, một phần mềm chỉnh sửa text đơn giản trên terminal.

1. Tạo SSH Private Key - Public Key

Chúng ta tận dụng VPS để tạo sẵn key cho SSH bằng lệnh:

ssh-keygen -t ed25519 -b 4096 -o -a 100

Lúc này hệ thống sẽ hỏi các fence tên và vị trí của private key muốn lưu. Thông thường nó sẽ được lưu trong thư mục .ssh. Đặt lại tên và vị trí hoặc nhấn Enter.

Tiếp theo hệ thống sẽ hỏi các fence mật khẩu của private key. Các fence đặt mật khẩu theo ý thích. Dễ nhớ ngắn gọn đừng quên mật khẩu này là được. Xong thì nhấn Enter.

Nhập lại mật khẩu ở trên rồi nhấn Enter.

Gõ lệnh:

sudo cat ~/.ssh/id_ed25519

Copy hết nội dung bắt đầu bằng -----BEGIN OPENSSH PRIVATE KEY----- và kết thúc bằng -----END OPENSSH PRIVATE KEY----- cất sang máy tính của bạn.

Gõ lệnh:

sudo cat ~/.ssh/id_ed25519.pub

Copy hết nội dung hiện lên màn hình. Nó sẽ có dạng: ssh-ed25519 AAAA...

Chú ý: Nếu ở bước trên các bạn đặt lại tên cho file private key thì bước này các bạn thay id_ed25519 thành "tên private key".

2. Chèn Public Key vào authorized_keys

Gõ tiếp lệnh:

nano ~/.ssh/authorized_keys

Màn hình terminal hiện ra trống trơn không có nội dung. Paste public key vừa copy vào trong này xong rồi bấm tổ hợp phím Ctrl+X.

Hiện lên 1 dòng thông báo có muốn lưu không? Bấm 'Y'.

Kiểm tra lại xem thử nội dung file authorized_keys đã có public key chưa bằng lệnh:

sudo cat ~/.ssh/authorized_keys

Hiện lên nội dung file có public key là ok rồi.

Nếu ở trên bạn có tạo user mới thì làm tiếp bước này gõ lệnh:

sudo su 

Lệnh này giúp các bạn login vào tài khoản đã tạo ở trên gõ lệnh:

mkdir ~/.ssh

Lệnh này giúp tạo thư mục .ssh. Lập lại bước 2 để chèn public key vào file authorized_keys của user.

Ok bây giờ bạn đã có thể kết nối đến VPS mà không cần mật khẩu rồi.

Các file private key và public key trên có thể copy lại để sài trên VPS khác mà không cần tạo lại key mới.

Cái này tùy fence muốn để trứng 1 rổ hay không.

Nhưng nếu fence tự tin vào việc máy cá nhân không thể lộ private key + passphrase thì để 1 key cũng chả sao.

3. Chỉnh sửa cấu hình SSH để đổi port, chỉ cho phép login với public key, tắt login với root

Gõ lệnh:

sudo nano /etc/ssh/sshd_config

Bấm Ctrl+W để bật hộp thoại tìm kiếm.

Tìm Port. Sửa số 22 thành 1 số khác vd: 2020 cho dễ nhớ. Bước này thích làm cũng được không thì cũng chẳng sao.

Tìm PubkeyAuthentication. Nếu no thì sửa thành yes.

Tìm PermitRootLogin sửa thành PermitRootLogin no.

Tìm MaxAuthTries sửa thành MaxAuthTries 3.

Tìm PasswordAuthentication sửa thành PasswordAuthentication no.

Các phần chỉnh sửa nếu có dấu # ở đầu thì bỏ đi. Bấm Ctrl+X -> 'Y' để save lại.

Nếu đổi port ở trên thì cấu hình lại firewall:

Nếu sài ufw gõ lệnh:

sudo ufw allow 2020/tcp

Nếu sài firewalld gõ lệnh:

sudo firewall-cmd --zone=public --add-port=2020/tcp --permanent && sudo firewall-cmd --reload

Để mở port.

Chú ý thay đổi port cho phù hợp với port thay đổi ở trên. Không muốn đổi port có thể bỏ qua bước này. Gõ lệnh:

sudo systemctl restart ssh

Để cấu hình có tác dụng.

Chú ý:

Phải kiểm tra public key đã kết nối được chưa trước tắt kết nối bằng mật khẩu để tránh việc không thể truy cập bằng SSH được nữa.

Nếu vẫn muốn login với root thì phần PermitRootLogin không cần sửa hoặc nếu no thì cho thành yes.

Bài viết gốc: https://nobrain-private.pikapod.net/?7dc9d714a689b96a#CqvhkJdME39pmgxgMeFoZBnv6eyyQR6GAR2v1YGadTZd

No comments

Powered by Blogger.