Kinh nghiệm về việc 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
.
Post a Comment