Khi bạn tạo ra một Server Debian 10 mới, có một số bước cấu hình ban đầu bạn cần thực hiện nhằm tăng cường bảo mật và cải thiện khả năng sử dụng của máy chủ, đồng thời tạo nền tảng vững chắc cho các thao tác sau này.
Trong bài hướng dẫn này, chúng ta sẽ cùng nhau tìm hiểu cách đăng nhập vào máy chủ với tư cách root, tạo một tài khoản người dùng mới với quyền quản trị (admin), và thiết lập một firewall cơ bản trên Server Debian 10.
Bước 1 — Đăng Nhập với quyền Root Server Debian 10
Để đă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ủ. Ngoài ra, bạn cũng cần mật khẩu hoặc, nếu đã cài đặt SSH key để xác thực, thì private key của tài khoản root.
Nếu bạn chưa kết nối, hãy đăng nhập với tư cách root bằng lệnh sau (hãy thay phần được đánh dấu bằng địa chỉ IP công cộng của máy chủ của bạn):
ssh root@your_server_ip
Chấp nhận cảnh báo về tính xác thực của host nếu có xuất hiện. Nếu bạn sử dụng xác thực bằng mật khẩu, hãy nhập mật khẩu root để đăng nhập. Nếu bạn sử dụng SSH key được bảo vệ bởi passphrase, bạn có thể được yêu cầu nhập passphrase lần đầu trong mỗi phiên làm việc. Nếu đây là lần đầu bạn đăng nhập bằng mật khẩu, bạn cũng có thể được yêu cầu thay đổi mật khẩu root.
Về Tài Khoản Root
Tài khoản root là tài khoản quản trị trong môi trường Linux với quyền hạn rất rộng. Vì quyền hạn vượt trội của tài khoản root cho phép thực hiện các thay đổi cực kỳ nguy hiểm – ngay cả vô tình – nên bạn nên hạn chế sử dụng tài khoản này trong công việc hàng ngày.
Bước tiếp theo là thiết lập 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ông việc thường nhật. Sau đó, chúng ta sẽ tìm hiểu cách nâng quyền khi cần thiết.
Bước 2 — Tạo Tài Khoản Người Dùng Mới trên Server Debian 10
Sau khi đã đăng nhập với tư cách root, chúng ta sẽ thêm tài khoản người dùng mới để sử dụng cho các phiên đăng nhập sau này.
Ví dụ dưới đây tạo một người dùng mới có tên sammy. Bạn nên thay thế bằng tên người dùng mà bạn mong muốn:
adduser sammy
Bạn sẽ được hỏi một vài câu hỏi, bắt đầu với mật khẩu tài khoản.
- Nhập mật khẩu mạnh.
- (Tùy chọn) Điền thêm thông tin nếu bạn muốn; bạn có thể nhấn ENTER để bỏ qua bất kỳ trường nào.
Sau đó, chúng ta sẽ cấu hình tài khoản người dùng mới này với quyền quản trị.
Bước 3 — Cấp Quyền Quản Trị (Admin) Cho Người Dùng trên Server Debian 10
Hiện tại, bạn đã tạo thành công 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 cần thực hiện các tác vụ quản trị (ví dụ: quản lý máy chủ, chỉnh sửa file cấu hình, khởi động lại dịch vụ).
Để tránh phải đăng xuất tài khoản thông thường và đăng nhập lại với tư cách root, bạn có thể cấp quyền “superuser” cho tài khoản người dùng của mình. Đ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 trước mỗi lệnh.
Trên Debian 10, người dùng thuộc nhóm sudo được phép sử dụng lệnh sudo.
Với tư cách root, hãy chạy lệnh sau để thêm người dùng mới (ví dụ: sammy) vào nhóm sudo (hãy thay thế “sammy” bằng tên tài khoản của bạn):
usermod -aG sudo sammy
Bây giờ, khi đăng nhập bằng tài khoản người dùng thông thường, bạn có thể sử dụng sudo để thực hiện các lệnh quản trị.
Bước 4 — Thiết Lập Firewall Cơ Bản
Máy chủ Debian có thể sử dụng firewall để đảm bảo chỉ những kết nối đến các dịch vụ cụ thể mới được phép truy cập. Trong bài hướng dẫn này, chúng ta sẽ cài đặt và sử dụng firewall UFW (Uncomplicated Firewall) để thiết lập chính sách và quản lý các ngoại lệ.
Chúng ta sẽ sử dụng công cụ quản lý gói apt để cài đặt UFW. Đầu tiên, cập nhật chỉ mục gói cục bộ để lấy thông tin mới nhất, sau đó cài đặt UFW:
apt update apt install ufw
Lưu ý: Nếu máy chủ của bạn đang chạy trên DataOnline, bạn có thể thay thế UFW bằng DataOnline Cloud VPS. Tuy nhiên, khuyến nghị là chỉ sử dụng một firewall tại một thời điểm để tránh xung đột các quy tắc khó gỡ lỗi.
Firewall có thể quản lý các bộ quy tắc được đặt tên cho từng ứng dụng. Một số phần mềm phổ biến đã có sẵn các hồ sơ này khi cài đặt. Ví dụ, OpenSSH – dịch vụ cho phép bạn kết nối vào máy chủ – đã được đăng ký hồ sơ với UFW.
Để liệt kê các hồ sơ ứng dụng có sẵn, chạy lệnh:
ufw app list
output
Available applications: . . . OpenSSH . . .
Bạn cần đảm bảo firewall cho phép kết nối SSH để bạn có thể đăng nhập lại lần sau. Cho phép kết nối SSH bằng lệnh:
ufw allow OpenSSH
Sau đó, kích hoạt firewall bằng lệnh:
ufw enable
Nhập “y” và nhấn ENTER để xác nhận. Kiểm tra lại trạng thái firewall:
ufw status
output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)
Hiện tại, firewall đang chặn tất cả các kết nối ngoại trừ SSH. Nếu bạn cài đặt và cấu hình thêm dịch vụ khác, bạn sẽ cần điều chỉnh firewall để cho phép lưu lượng phù hợp, bạn có thể tìm hiểu một số thao tác UFW phổ biến trong hướng dẫn cơ bản về UFW của chúng tôi.
Bước 5 — Cho Phép Truy Cập Bên Ngoài Cho Tài Khoản Người Dùng Thông Thường trên Server Debian 10
Bây giờ, khi bạn đã có tài khoản người dùng thông thường để sử dụng hàng ngày, bạn cần đảm bảo rằng bạn có thể SSH trực tiếp vào tài khoản đó.
Lưu ý: Cho đến khi bạn xác nhận rằng có thể đăng nhập và sử dụng sudo với tài khoản người dùng mới, hãy giữ nguyên phiên làm việc với tài khoản root. Như vậy, nếu gặp sự cố, bạn có thể dễ dàng khắc phục và thực hiện thay đổi cần thiết. Nếu bạn sử dụng Droplet của DataOnline và gặp vấn đề với kết nối SSH root, bạn cũng có thể đăng nhập qua DataOnline Console.
Quy trình cấu hình truy cập SSH cho tài khoản người dùng mới phụ thuộc vào cách tài khoản root của bạn được xác thực: bằng mật khẩu hay bằng SSH keys.
Nếu Tài Khoản Root Sử Dụng Xác Thực Bằng Mật Khẩu
Nếu bạn đã đăng nhập tài khoản root bằng mật khẩu, điều đó có nghĩa là xác thực bằng mật khẩu đang được bật cho SSH. Bạn có thể đăng nhập vào tài khoản người dùng mới bằng cách mở một phiên terminal mới và sử dụng lệnh:
ssh sammy@your_server_ip
Sau khi nhập mật khẩu của tài khoản người dùng thông thường, bạn sẽ được đăng nhập. Lưu ý: Nếu cần chạy lệnh với quyền quản trị, hãy thêm sudo trước lệnh, ví dụ:
sudo command_to_run
Bạn sẽ được yêu cầu nhập mật khẩu của tài khoản người dùng khi sử dụng sudo lần đầu mỗi phiên (và định kỳ sau đó).
Để tăng cường bảo mật, chúng tôi khuyến nghị mạnh mẽ việc thiết lập SSH keys thay vì sử dụng xác thực bằng mật khẩu. Hãy tham khảo bài hướng dẫn “Cách Thiết Lập SSH Keys trên Debian 10” để biết cách cấu hình xác thực bằng key.
Nếu Tài Khoản Root Sử Dụng Xác Thực Bằng SSH Keys
Nếu bạn đã đăng nhập tài khoản root bằng SSH keys, điều đó có nghĩa là xác thực bằng mật khẩu đã bị vô hiệu hóa cho SSH. Bạn sẽ cần thêm bản sao của public key cục bộ vào file ~/.ssh/authorized_keys
của tài khoản người dùng mới để đăng nhập thành công.
Vì public key của bạn đã có sẵn trong file ~/.ssh/authorized_keys
của tài khoản root trên máy chủ, bạn có thể sao chép file và cấu trúc thư mục đó sang tài khoản người dùng mới trong phiên làm việc hiện tại bằng lệnh cp. Sau đó, điều chỉnh quyền sở hữu của các file bằng lệnh chown.
Hãy đảm bảo thay thế các phần được đánh dấu bằng tên tài khoản người dùng của bạn:
cp -r ~/.ssh /home/sammy chown -R sammy:sammy /home/sammy/.ssh
Lệnh cp -r
sẽ sao chép toàn bộ thư mục .ssh vào thư mục home của người dùng mới, và lệnh chown -R
thay đổi quyền sở hữu của thư mục đó (và tất cả nội dung bên trong) thành sammy:sammy
(trên Debian, nhóm có cùng tên với tài khoản được tạo mặc định).
Mở một phiên terminal mới và đăng nhập qua SSH với tài khoản mới:
ssh sammy@your_server_ip
Bạn sẽ được đăng nhập vào tài khoản người dùng mới mà không cần nhập mật khẩu SSH từ xa. Nếu SSH key của bạn được thiết lập với passphrase, bạn có thể được yêu cầu nhập passphrase lần đầu mỗi phiên.
Nhớ rằng, nếu cần chạy lệnh với quyền quản trị, hãy thêm sudo trước lệnh:
sudo command_to_run
Bạn sẽ được yêu cầu nhập mật khẩu của tài khoản người dùng khi sử dụng sudo lần đầu mỗi phiên (và định kỳ sau đó).
Hướng Đi Tiếp Theo?
Tại thời điểm này, bạn đã xây dựng được một nền tảng vững chắc cho máy chủ của mình. Bạn có thể cài đặt bất kỳ phần mềm nào cần thiết trên máy chủ ngay bây giờ.