Khi bắt đầu thiết lập một máy chủ Ubuntu 14.04 mới, có một số bước cấu hình cơ bản rất quan trọng mà bạn cần thực hiện ngay từ đầu. Những bước này giúp không chỉ bảo vệ máy chủ khỏi các mối đe dọa bảo mật mà còn tối ưu hóa hiệu suất và đảm bảo tính ổn định của hệ thống trong suốt quá trình vận hành. Việc cấu hình ban đầu đúng cách sẽ tạo ra nền tảng vững chắc để thực hiện các bước tiếp theo, như cài đặt phần mềm, triển khai ứng dụng, và quản lý hệ thống. Những thao tác này không chỉ giúp bạn đảm bảo rằng máy chủ sẽ chạy hiệu quả và an toàn mà còn tạo điều kiện thuận lợi cho các nhiệm vụ quản trị và bảo trì về sau.
Nếu bạn đang tìm kiếm giải pháp VPS giá rẻ để triển khai máy chủ Ubuntu, hãy khám phá các gói VPS hiệu năng cao với chi phí hợp lý từ các nhà cung cấp uy tín. Việc lựa chọn đúng dịch vụ VPS sẽ giúp bạn tiết kiệm chi phí mà vẫn đảm bảo hiệu suất và độ ổn định cho hệ thống của mình.
Bước 1 – Đăng Nhập Root
Để đăng nhập vào máy chủ, bạn cần biết địa chỉ IP công cộng của máy chủ và mật khẩu của tài khoản “root”. Nếu bạn chưa đăng nhập vào máy chủ, bạn có thể tham khảo bài hướng dẫn đầu tiên trong chuỗi này, cách kết nối vào Droplet của bạn qua SSH hướng dẫn chi tiết quy trình này.
Nếu bạn chưa kết nối tới máy chủ, hãy đăng nhập với tư cách người dùng root bằng lệnh sau (thay thế từ được đánh dấu bằng địa chỉ IP công cộng của máy chủ):
ssh root@SERVER_IP_ADDRESS
Hoàn tất quá trình đăng nhập bằng cách chấp nhận cảnh báo về tính xác thực của máy chủ (nếu xuất hiện), sau đó cung cấp thông tin xác thực của root . Nếu đây là lần đầu tiên bạn đăng nhập bằng mật khẩu, bạn cũng sẽ được yêu cầu thay đổi mật khẩu root.
Về tài khoản Root
Người dùng root là tài khoản quản trị trong môi trường Linux với những đặc quyền rất rộng. Do quyền hạn vượt trội của tài khoản root, bạn nên hạn chế sử dụng nó trong công việc hàng ngày, bởi vì sức mạnh của tài khoản này có thể gây ra những thay đổi phá hủy rất lớn, kể cả khi vô tình xảy ra.
Bước tiếp theo là tạo một tài khoản người dùng thay thế với phạm vi quyền hạn hạn chế hơn cho các công việc thường ngày. Chúng tôi sẽ hướng dẫn cách nâng cao quyền hạn khi cần thiết.
Bước 2 – Tạo người dùng mới
Khi đã đăng nhập bằng tài khoản root, chúng ta sẽ tiến hành tạo tài khoản người dùng mới mà bạn sẽ sử dụng để đăng nhập từ giờ trở đi.
Ví dụ dưới đây tạo một người dùng tên “demo”, tuy nhiên bạn nên thay thế bằng tên người dùng mà bạn ưa thích:
adduser demo
Bạn sẽ được hỏi một vài câu hỏi, bắt đầu với việc nhập mật khẩu cho tài khoản.
Hãy nhập một mật khẩu mạnh và, nếu muốn, điền thêm thông tin cá nhân. Các trường không bắt buộc có thể bỏ qua bằng cách nhấn “ENTER”.
Bước 3 – Quyền hạn Root
Hiện tại, bạn đã có tài khoản người dùng mới với quyền hạn thông thường. Tuy nhiên, đôi khi bạn sẽ cần thực hiện các tác vụ quản trị.
Để tránh phải đăng xuất khỏi tài khoản thường và đăng nhập lại bằng tài khoản root, chúng ta có thể thiết lập quyền “super user” (quyền root) cho tài khoản thường này. Điều này cho phép bạn chạy các lệnh với quyền quản trị bằng cách thêm từ sudo
vào trước mỗi lệnh.
Để cấp quyền này cho người dùng mới, bạn cần thêm người dùng vào nhóm “sudo”. Theo mặc định, trên Ubuntu 14.04, những người dùng thuộc nhóm “sudo” được phép sử dụng lệnh sudo
.
Với tư cách root
, chạy lệnh sau để thêm người dùng mới vào nhóm sudo (thay thế từ được đánh dấu bằng tên người dùng mới của bạn):
gpasswd -a demo sudo
Giờ đây, người dùng của bạn có thể chạy các lệnh với quyền quản trị! Để biết thêm thông tin về cách hoạt động của sudo, hãy xem hướng dẫn về sudoers.
Bước 4 – Thêm xác thực Public Key
Bước tiếp theo trong việc tăng cường bảo mật cho máy chủ của bạn là thiết lập xác thực public key cho người dùng mới.
Việc này sẽ giúp bảo vệ máy chủ của bạn tốt hơn bằng cách yêu cầu có private SSH key để đăng nhập.
Tạo Cặp Key
Nếu bạn chưa có cặp SSH key (bao gồm public key và private key), bạn cần tạo một cặp mới. Nếu bạn đã có sẵn key và muốn sử dụng, hãy bỏ qua bước tạo key mới và chuyển ngay sang bước Sao chép Public Key.
Để tạo cặp key mới, nhập lệnh sau tại terminal của máy tính cá nhân (local machine):
ssh-keygen
Giả sử tên người dùng cục bộ của bạn là “localuser”, bạn sẽ thấy đầu ra như sau:
ssh-keygen output Generating public/private rsa key pair. Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):
Nhấn Enter để chấp nhận tên tệp và đường dẫn này (hoặc nhập một tên mới).
Tiếp theo, bạn sẽ được yêu cầu nhập một passphrase để bảo mật key. Bạn có thể nhập passphrase hoặc để trống.
Lưu ý: Nếu bạn để trống passphrase, bạn có thể sử dụng private key để xác thực mà không cần nhập passphrase. Nếu bạn nhập passphrase, bạn sẽ cần cả private key và passphrase để đăng nhập. Việc bảo vệ key bằng passphrase giúp tăng cường bảo mật, nhưng cả hai phương pháp này đều an toàn hơn so với xác thực bằng mật khẩu thông thường.
Quá trình này sẽ tạo ra một private key (id_rsa
) và một public key (id_rsa.pub
) trong thư mục .ssh
của thư mục home của người dùng cục bộ. Hãy nhớ rằng private key không nên được chia sẻ với bất kỳ ai không có quyền truy cập vào máy chủ của bạn!
Sau khi tạo cặp SSH key, bạn sẽ cần sao chép public key của mình lên máy chủ mới. Chúng tôi sẽ hướng dẫn hai cách đơn giản để thực hiện việc này.
Lưu ý: Phương pháp
ssh-copy-id
sẽ không hoạt động trên DataOnline nếu bạn đã chọn SSH key khi tạo Droplet. Điều này là do DataOnline vô hiệu hóa xác thực bằng mật khẩu khi có SSH key, vàssh-copy-id
phụ thuộc vào xác thực bằng mật khẩu để sao chép key.Nếu bạn sử dụng DataOnline và đã chọn SSH key khi tạo Droplet, hãy sử dụng phương án 2.
Phương án 1: Sử dụng ssh-copy-id
Nếu máy tính cục bộ của bạn đã cài sẵn script ssh-copy-id
, bạn có thể dùng nó để cài đặt public key cho bất kỳ người dùng nào mà bạn có thông tin đăng nhập.
Chạy script ssh-copy-id
bằng cách chỉ định người dùng và địa chỉ IP của máy chủ mà bạn muốn cài đặt key, như sau:
ssh-copy-id demo@SERVER_IP_ADDRESS
Sau khi nhập mật khẩu khi được yêu cầu, public key của bạn sẽ được thêm vào file .ssh/authorized_keys
của người dùng trên máy chủ. Private key tương ứng giờ đây có thể được dùng để đăng nhập vào máy chủ.
Phương án 2: Cài đặt Key thủ công
Giả sử bạn đã tạo cặp SSH key theo bước trước, sử dụng lệnh sau tại terminal của máy tính cục bộ để in public key (id_rsa.pub):
cat ~/.ssh/id_rsa.pub
Kết quả của lệnh sẽ in ra public SSH key, có dạng như sau:
id_rsa.pub contents ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local
Chọn public key và sao chép nó vào clipboard của bạn.
Để cho phép sử dụng SSH key xác thực cho người dùng remote mới, bạn cần thêm public key vào một file đặc biệt trong thư mục home của người dùng.
Trên máy chủ, với tư cách root, nhập lệnh sau để chuyển sang người dùng mới (thay thế bằng tên người dùng của bạn):
su - demo
Giờ bạn đã ở trong thư mục home của người dùng mới. Tạo một thư mục mới có tên .ssh
và thiết lập quyền hạn cho nó bằng các lệnh sau:
mkdir .ssh chmod 700 .ssh
Sau đó, mở một file trong thư mục .ssh
có tên authorized_keys
bằng trình soạn thảo văn bản. Ví dụ, sử dụng nano:
nano .ssh/authorized_keys
Dán public key mà bạn đã sao chép vào trong trình soạn thảo. Nhấn CTRL-X
để thoát, sau đó nhấn Y
để lưu thay đổi, và nhấn ENTER
để xác nhận tên file.
Tiếp theo, hạn chế quyền truy cập cho file authorized_keys
bằng lệnh:
chmod 600 .ssh/authorized_keys
Để quay lại tài khoản root, gõ:
exit
Bây giờ, bạn có thể đăng nhập SSH với tư cách người dùng mới, sử dụng private key để xác thực.
Bước 5 – Cấu hình SSH Daemon
Sau khi đã tạo tài khoản mới, chúng ta có thể tăng cường bảo mật cho máy chủ bằng cách chỉnh sửa file cấu hình SSH daemon (chương trình cho phép đăng nhập từ xa) để vô hiệu hóa đăng nhập SSH từ xa bằng tài khoản root.
Bắt đầu bằng cách mở file cấu hình với trình soạn thảo dưới quyền root:
nano /etc/ssh/sshd_config
Tiếp theo, tìm dòng có dạng sau:
/etc/ssh/sshd_config (before) PermitRootLogin yes
Dòng này cho phép đăng nhập root qua SSH. Để tăng cường bảo mật, chúng ta sẽ thay đổi thành “no” để vô hiệu hóa đăng nhập root:
/etc/ssh/sshd_config (after) PermitRootLogin no
Việc vô hiệu hóa đăng nhập root từ xa được khuyến nghị cho mọi máy chủ!
Sau khi chỉnh sửa xong, lưu và đóng file bằng cách nhấn CTRL-X
, sau đó nhấn Y
, và cuối cùng nhấn ENTER
.
Bước 6 – Tải lại SSH
Sau khi đã thay đổi cấu hình, bạn cần khởi động lại dịch vụ SSH để áp dụng cấu hình mới.
Nhập lệnh sau để khởi động lại SSH:
service ssh restart
Trước khi đăng xuất khỏi máy chủ, hãy kiểm tra cấu hình mới. Bạn không muốn bị ngắt kết nối cho đến khi xác nhận rằng kết nối mới có thể được thiết lập thành công.
Mở một cửa sổ terminal mới trên máy tính cục bộ. Trong cửa sổ mới, thiết lập kết nối tới máy chủ. Lần này, thay vì sử dụng tài khoản root, hãy dùng tài khoản người dùng mới mà bạn vừa tạo.
Ví dụ, với máy chủ được cấu hình như trên, bạn sẽ kết nối bằng lệnh sau (thay thế tên người dùng và địa chỉ IP tương ứng):
ssh demo@SERVER_IP_ADDRESS
Lưu ý: Nếu bạn sử dụng PuTTY để kết nối, hãy cập nhật số hiệu cổng của phiên làm việc cho phù hợp với cấu hình hiện tại của máy chủ.
Bạn sẽ được yêu cầu nhập mật khẩu của người dùng mới mà bạn đã cấu hình. Sau đó, bạn sẽ đăng nhập thành công với tư cách người dùng mới.
Nhớ rằng, nếu cần chạy lệnh với quyền root, hãy gõ “sudo” trước lệnh, như sau:
sudo command_to_run
Nếu mọi thứ đều ổn, bạn có thể thoát phiên làm việc bằng cách nhập:
exit