Giới thiệu
Khi lần đầu tạo mới một máy chủ Ubuntu 18.04 thì bạn cần phải cấu hình và thiết lập một số phần cơ bản trên máy chủ. Nó sẽ giúp tăng tính bảo mật, khả năng sử dụng máy chủ và cung cấp cho bạn một nền tảng vững chắc. Ở bài viết này mình sẽ hướng dẫn bạn cấu hình và thiết lập những phần cơ bản trên máy chủ Ubuntu 18.04.
Bước 1 – Đăng nhập với quyền Root
Để đăng nhập vào máy chủ của bạn, bạn cần có địa chỉ IP Public của máy chủ, mật khẩu hoặc nếu bạn đã cài khoá SSH để xác thực thì bạn cần phải có key cho tài khoản người dùng root.
Nếu bạn dùng bảng điều khiển (Console) của VPS, nhà cung cấp dịch vụ máy chủ thì bạn có thể sử dụng lệnh sau để đăng nhập:
1 |
ssh root@your_server_ip |
Lưu ý: Nếu xuất hiện cảnh báo thì hãy chấp nhận cảnh báo về tính xác thực này. Nếu bạn sử dụng mật khẩu thì hãy nhập mật khẩu gốc để đăng nhập. Tuỳ vào nhà cung cấp dịch vụ máy chủ, nếu bạn đăng nhập lần đầu có thể bạn bị nhắc thay đổi mật khẩu gốc.
Ngoài ra để đăng nhập vào máy chủ, bạn có thể sử dụng phần mềm Putty. Mình hay sử dụng phần mềm này để đăng nhập vào máy chủ. Bạn có thể tải phần mềm Putty miễn phí tại đây.
Giới thiệu Root
Người dùng root là người dùng quản trị trong môi trường Linux có các đặc quyền rất rộng. Do các đặc quyền “tối cao” của tài khoản root, bạn không nên sử dụng nó thường xuyên. Sức mạnh và quyền năng của tài khoản root được xem là tối cao vì nó có thể thực hiện các thay đổi mang tính hủy diệt, thậm chí là vô tình.
Bước kế tiếp là mình hướng dẫn thiết lập một tài khoản người dùng thay thế với phạm vi ảnh hưởng giới hạn cho công việc hàng ngày, vừa phải. Và mình sẽ hướng dẫn bạn làm thế nào để có được các đặc quyền khác khi bạn cần.
Bước 2 – Tạo người dùng mới
Khi bạn đã đăng nhập bằng tài khoản root, bạn có thể tạo tài khoản người dùng mới để sử dụng đăng nhập từ bây giờ.
Ở ví dụ này mình tạo một người dùng mới tên là sammy, bạn có thể đặt tên theo ý thích của mình.
1 |
adduser sammy |
Bạn sẽ được hệ thống hỏi vài câu hỏi. Bắt đầu là mật khẩu của tài khoản.
Bạn hãy nhập một mật khẩu mạnh tuỳ ý và dễ nhớ. Và những thông tin khác bạn có thể điền vào tuỳ ý nếu bạn muốn. Nó không bắt buộc, bạn có thể bỏ qua bằng cách nhấn ENTER.
Lưu ý: hãy thay thế tên người dùng trong hướng dẫn này thành tên người dùng của bạn.
Bước 3 – Cấp quyền quản trị cho tài khoản
Bây giờ mình đã có một tài khoản người dùng mới với các đặc quyền bình thường. Tuy nhiên, để thực hiện được những tác vụ quản trị thì bạn cần phải có thêm những đặc quyền khác.
Để tránh khỏi tình trạng đăng xuất khỏi tài khoản thông thường và đăng nhập lại với tư cách là tài khoản root. Chúng ta sẽ thiết lập tài khoản được gọi là “superuser” hoặc đặt quyền root cho tài khoản người dùng. Nó cho phép tài khoản thường chạy những câu lệnh với các đặc quyền quản trị bằng cách đặt từ sudo trước mỗi câu lệnh.
Để thêm những đặt quyền này cho người dùng mới, chúng ta cần thêm người dùng mới vào nhóm sudo. The mặc định, trên Ubuntu 18.04, người dùng thuộc nhóm sudo được phép sử dụng lệnh sudo.
Với quyền root, hãy chạy lệnh này để thêm người dùng mới của bạn vào nhóm sudo:
1 |
usermod -aG sudo sammy |
Bây giờ, khi đăng nhập với tư cách là người dùng thông thường, bạn có thể nhập sudo trước các lệnh để thực hiện các hành động với các đặt quyền của supperuser.
Bước 4 – Cài đặt tường lửa cơ bản
Máy chủ Ubuntu 18.04 có thể sử dụng tường lửa UFW để đảm bảo chỉ cho phép kết nối với một số dịch vụ nhất định. Chúng ta có thể thiết lập một tường lửa cơ bản rất dễ dàng bằng ứng dụng này.
Lưu ý: Nếu bạn sử dụng dịch VPS, CDN, bạn có thể sử dụng dịch vụ tường lửa và chống tấn công DDoS của nhà cung cấp để bổ xung, thay thế và tăng cường an ninh và bảo mật cho máy chủ.
Những ứng dụng khác có thể đăng ký profile của nó khi cài đặt. Cấu hình này cho phép UFW quản lý các ứng dụng theo tên. OpenSSH là dịch vụ cho phép chúng ta kết nối với máy chủ ngay tức thì, và có một hồ sơ được đăng ký với UFW.
Bạn có thể làm điều này bằng cách gõ dòng lệnh sau:
1 |
ufw app list |
Kết quả hiện ra:
1 2 |
Available applications: OpenSSH |
Chúng ta cần đảm bảo tường lửa sẽ cho phép kết nối SSH để chúng ta có thể đăng nhập lại vào lần sau. Để cho phép, bạn cần gõ dòng lệnh sau:
1 |
ufw allow OpenSSH |
Sau đó, chúng ta có thể kích hoạt tường lửa bằng cách gõ:
1 |
ufw enable |
Nhập chữ “ y ” và nhấn ENTER để tiếp tục. Bạn có thể thấy kết nối SSH vẫn được cho phép bằng cách nhập:
1 |
ufw status |
Kết quả hiển thị là:
1 2 3 4 5 6 |
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) |
Tường lửa hiện đang chặn tất cả các kết nối trừ SSH, nếu bạn cài đặt và cấu hình dịch vụ bổ xung khác, bạn cần điều chỉnh cài đặt tường lửa để cho phép truy cập. Bạn có thể tham khảo thêm về UFW tại đây.
Bước 5 – Kích hoạt quyền truy cập ngoài cho tài khoản người dùng thường
Ở bước này mình hướng dẫn bạn kích hoạt quyền truy cập ngoài cho tài khoản người dùng thưởng. Bạn có thể truy cập SSH trực tiếp vào tài khoản.
Quá trình định cấu hình quyền truy cập SSH cho người dùng mới của bạn tuỳ thuộc vào việc tài khoản root của máy chủ của bạn sử dụng mật khẩu hay khóa SSH để xác thực.
Nếu tài khoản root sử dụng mật khẩu để xác thực
Nếu bạn đăng nhập vào tài khoản root bằng mật khẩu, thì xác thực mật khẩu sẽ được bật cho SSH. Bạn có thể SSH vào tài khoản người dùng mới của mình bằng cách mở một phiên mới cuối và sử dụng SSH với tên người dùng mới của bạn:
1 |
ssh sammy@ip_may_chu_cua_ban |
Sau khi nhập mật khẩu người dùng thông thường, bạn sẽ đăng nhập. Lưu ý, nếu bạn cần chạy một lệnh với đặc quyền quản trị thì hãy nhập sudo trước, ví dụ như sau:
1 |
sudo command_to_run |
Bạn sẽ được nhắc sử dụng mật khẩu của người dùng thường khi sử dụng sudo lần đầu tiên mỗi phiên (và định kỳ sau đó).
Để tăng cường bảo mật cho máy chủ, mình khuyên bạn nên thiết lập khoá SSH thay vì sử dụng xác thực bằng mật khẩu. Ở những bài viết sau mình sẽ hướng dẫn bạn cách thiết lập khoá SSH trên Ubuntu 18.04.
Nếu tài khoản root sử dụng xác thực khoá SSH
Nếu bạn đã đăng nhập vào tài khoản root bằng các khóa SSH, thì xác thực mật khẩu sẽ bị vô hiệu hóa, không có tác dụng đối với SSH. Bạn copy khóa công khai cục bộ của mình vào ~/.ssh/authorized_keys của người dùng mới để đăng nhập.
Vì khóa công khai của bạn ~/.ssh/authorized_keys nằm trong tài khoản root trên máy chủ, nên bạn có thể sao chép cấu trúc file và thư mục đó vào tài khoản người dùng mới trong phiên hiện tại của bạn.
Cách đơn giản nhất để copy những file có quyền correct ownership và permissions là sử dụng lệnh rsync. Nó sẽ sao chép thư mục .ssh của người dùng root, giữ quyền và đổi chủ sở hữu file, tất cả chỉ trong một lệnh.
1 |
rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy |
Bây giờ hãy mở một terminal mới và sử dụng SSH với tên người dùng mới của bạn.
1 |
ssh sammy@ip_may_chu_cua_ban |
Bạn có thể đăng nhập vào tài khoản người dùng mới mà không cần mật khẩu. Lưu ý, nếu bạn cần chạy một lệnh với quyền quản trị, hãy nhập sudo trước câu lệnh, ví dụ như sau:
1 |
sudo lenh_de_chay |
Lúc này bạn sẽ được nhắc nhập mật khẩu người dùng thông thường khi sử dụng sudo lần đâu tiên của mỗi phiên.